【亲测免费】 Checksec.sh 项目使用教程
2026-01-23 05:39:05作者:贡沫苏Truman
1. 项目介绍
Checksec.sh 是一个用于检查可执行文件属性的 Bash 脚本,主要用于验证 Linux 系统中可执行文件的安全特性,如 PIE(Position Independent Executable)、RELRO(Relocation Read-Only)、Canaries、ASLR(Address Space Layout Randomization)和 Fortify Source。该项目最初由 Tobias Klein 编写,现由 slimm609 维护。
Checksec.sh 的主要功能包括:
- 检查可执行文件的 PIE、RELRO、Canaries、ASLR 等安全特性。
- 支持多种输出格式,如 CLI、CSV、XML 和 JSON。
- 支持内核配置和 Fortify Source 的检查。
- 提供递归目录支持,可以一次性检查多个文件。
2. 项目快速启动
2.1 安装 Checksec.sh
首先,克隆 Checksec.sh 项目到本地:
git clone https://github.com/slimm609/checksec.sh.git
cd checksec.sh
2.2 使用 Checksec.sh
Checksec.sh 提供了多种命令行选项,以下是一些常用的命令示例:
2.2.1 检查单个文件
./checksec --file=/bin/ls
输出示例:
RELRO STACK CANARY NX PIE RPATH RUNPATH FILE
Partial RELRO Canary found NX enabled No PIE No RPATH No RUNPATH /bin/ls
2.2.2 检查目录中的所有文件
./checksec --dir=/path/to/directory
2.2.3 以 CSV 格式输出结果
./checksec --output=csv --file=/bin/ls
输出示例:
Partial RELRO,Canary found,NX enabled,No PIE,No RPATH,No RUNPATH,/bin/ls
2.2.4 检查内核配置
./checksec --kernel
输出示例:
* Kernel protection information:
Description - List the status of kernel protection mechanisms.
Rather than inspect kernel mechanisms that may aid in the prevention of exploitation of userspace processes, this option lists the status of kernel configuration options that harden the kernel itself against attack.
Kernel config: /proc/config.gz
GCC stack protector support: Enabled
Strict user copy checks: Disabled
Enforce read-only kernel data: Disabled
Restrict /dev/mem access: Enabled
Restrict /dev/kmem access: Enabled
3. 应用案例和最佳实践
3.1 应用案例
Checksec.sh 广泛应用于以下场景:
- 安全审计:在安全审计过程中,检查系统中所有可执行文件的安全特性,确保系统具备足够的安全防护。
- 漏洞评估:在漏洞评估过程中,检查目标系统的可执行文件是否存在已知的安全漏洞。
- 嵌入式系统:在嵌入式系统中,检查固件和可执行文件的安全特性,确保系统在运行时具备足够的安全性。
3.2 最佳实践
- 定期检查:建议定期使用 Checksec.sh 检查系统中的可执行文件,确保系统的安全性。
- 自动化脚本:可以将 Checksec.sh 集成到自动化脚本中,定期执行并生成报告。
- 结合其他工具:结合其他安全工具(如 AFL、Valgrind 等),进行更全面的安全评估。
4. 典型生态项目
Checksec.sh 可以与其他安全工具和项目结合使用,以下是一些典型的生态项目:
- AFL (American Fuzzy Lop):用于模糊测试的工具,可以结合 Checksec.sh 检查模糊测试目标的安全特性。
- Valgrind:用于内存调试和内存泄漏检测的工具,可以结合 Checksec.sh 检查目标程序的安全性。
- GDB (GNU Debugger):用于调试程序的工具,可以结合 Checksec.sh 检查调试目标的安全特性。
通过结合这些工具,可以更全面地评估和提升系统的安全性。
登录后查看全文
热门项目推荐
相关项目推荐
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0135
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
AgentCPM-ReportAgentCPM-Report是由THUNLP、中国人民大学RUCBM和ModelBest联合开发的开源大语言模型智能体。它基于MiniCPM4.1 80亿参数基座模型构建,接收用户指令作为输入,可自主生成长篇报告。Python00
最新内容推荐
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
502
3.65 K
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
11
1
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
66
20
暂无简介
Dart
749
180
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
React Native鸿蒙化仓库
JavaScript
298
347
一个高性能、可扩展、轻量、省心的仓颉应用开发框架。IoC,Rest,宏路由,Json,中间件,参数绑定与校验,文件上传下载,OAuth2,MCP......
Cangjie
116
21
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.3 K
722
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
15
1