“发现 Linux exploit(漏洞利用)”通常有两层含义:作为安全研究人员/白帽如何挖掘 Linux 系统或应用漏洞,以及作为运维/防守方如何发现系统是否被 exploit(已被攻击利用)。下面分别说明。
一、作为研究者:如何“发现”Linux 漏洞 / Exploit
1. 明确目标
- Linux 内核(kernel)
- 系统服务(sshd、sudo、systemd 等)
- 常见软件(nginx、redis、bash 等)
- 驱动 / 模块
2. 信息收集
uname -a 查看内核版本
- 收集软件版本:
dpkg -l / rpm -qa
- 阅读源码(内核、目标程序)
- 关注 CVE / 安全公告:
- https://cve.mitre.org
- https://nvd.nist.gov
- https://www.exploit-db.com
3. 常见漏洞类型
- 缓冲区溢出
- 权限提升(提权)
- 条件竞争(race condition)
- 整数溢出
- 逻辑漏洞
- 内核 UAF / 野指针
4. 挖掘方法
- 模糊测试(Fuzzing)
- 静态分析
- 动态调试
- gdb / pwndbg
- strace / ltrace
- 内核调试
- qemu + gdb
- ftrace / kprobe
5. 验证 Exploit
- 编写 PoC
- 本地提权测试
- 在隔离环境中验证(虚拟机)
二、作为防守方:如何“发现”系统被 Exploit
1. 检查异常进程
ps aux
top
关注:
- 未知进程
- 高 CPU / 内存占用
- 以 root 运行的奇怪程序
2. 检查网络连接
netstat -antp
ss -antp
异常:
3. 检查登录与权限
last
who
cat /etc/passwd
4. 检查系统日志
/var/log/auth.log
/var/log/syslog
journalctl
关注:
5. 使用安全工具
lynis(系统审计)
rkhunter(rootkit 检测)
chkrootkit
clamav(病毒扫描)
6. 检查内核漏洞利用迹象
- 突然提权
/tmp 下异常文件
- 隐藏进程(ps 看不到但存在)
三、常见 Linux Exploit 示例(学习用)
-脏牛(Dirty COW, CVE-2016-5195)
- Dirty Pipe(CVE-2022-0847)
- Sudo 提权(CVE-2021-4034)
⚠️ 仅限合法授权环境学习使用。
四、合法与道德提醒
- 未经授权测试他人系统 = 违法
- 仅可在:
- 自己机器
- 授权靶场(VulnHub / HTB)
- 公司内授权渗透
如果你愿意,我可以:
- 教你搭建 Linux 漏洞实验环境
- 带你分析一个真实 CVE
- 教你写简单 PoC
你想从哪方面深入?