RedSnarf工具解析:Windows域滲透中的憑證竊取與橫向移動實戰
1. 項目概述為什么是RedSnarf如果你在Windows域滲透測試這個圈子里待過一段時間或者剛剛開始接觸那么“RedSnarf”這個名字你大概率不會陌生。它不像Metasploit那樣家喻戶曉也不像Cobalt Strike那樣功能全面但在針對Windows活動目錄Active Directory的橫向移動和憑證竊取方面RedSnarf絕對是一把被低估的瑞士軍刀。我第一次接觸它是在一次內部紅隊評估中當時需要快速、隱蔽地從一臺已控的域內主機上提取其他用戶的會話和憑證嘗試了幾個工具都因為各種限制比如殺軟、網絡策略失敗了直到一位前輩丟過來一個命令幾秒鐘后目標域控制器的管理員哈希就躺在了我的終端里——那個工具就是RedSnarf。簡單來說RedSnarf是一個用Perl和PowerShell編寫的工具包它的核心設計理念就是“快、準、狠”。它不追求花哨的界面或復雜的模塊而是專注于執行幾個在域滲透中最高頻、最致命的任務遠程轉儲LSASS進程內存以獲取憑證、竊取和重用用戶的Kerberos票據、執行基于IPCS$的哈希傳遞攻擊以及枚舉域內關鍵信息。它的所有操作幾乎都依賴于Windows原生協議和特性如SMB、WMI、計劃任務這使得它在許多環境下具有極佳的兼容性和隱蔽性。對于從零開始學習域滲透的新手理解RedSnarf的工作流程就等于理解了Windows認證與橫向移動的核心脈絡對于有經驗的老手它則是工具箱里一個可靠的“應急”選項。2. 核心原理與攻擊鏈拆解要精通RedSnarf不能只會敲命令必須理解它背后的Windows安全機制。它的威力全部源于對Windows域認證體系弱點的精準利用。2.1 認證基石NTLM與KerberosWindows域環境主要使用兩種認證協議較老的NTLM和較新的Kerberos。RedSnarf的攻擊大多圍繞它們展開。NTLM哈希是用戶密碼經過MD4算法加密后的值。在域中用戶的NTLM哈希存儲在域控制器DC的NTDS.dit數據庫中也會緩存在登錄過的成員計算機內存中。一旦攻擊者獲取了哈希就可以在不破解明文密碼的情況下直接使用該哈希向網絡資源證明身份這就是“哈希傳遞”Pass-the-Hash PtH。RedSnarf的-pth參數就是干這個的。Kerberos票據則像是一場精心設計的戲劇票。當你客戶端想訪問服務器如文件共享時需要先向域控制器票務中心證明身份獲取一張“票務授予票”TGT。然后用TGT去申請訪問特定服務的“服務票據”ST。RedSnarf的-k參數相關的功能就是竊取或偽造這些票據實現“票據傳遞”Pass-the-Ticket PtT。2.2 LSASS憑證的寶庫本地安全機構子系統服務LSASS進程是Windows安全的核心。它負責管理登錄會話、維護憑據包括明文密碼、NTLM哈希、Kerberos票據等。因此LSASS內存成了攻擊者的頭號目標。RedSnarf的核心功能之一就是遠程轉儲LSASS進程內存。它通常通過WMI或計劃任務在目標機器上執行一個PowerShell或二進制程序如procdump將LSASS的內存轉儲到磁盤然后通過SMB拉回攻擊機最后用Mimikatz等工具離線解析出憑證。整個過程RedSnarf幫你做了自動化封裝。2.3 橫向移動的跳板SMB與WMIRedSnarf利用兩種主要的協議進行橫向移動服務器消息塊SMB和Windows管理規范WMI。SMB是文件共享和打印機共享協議。經典的IPC$共享是空會話連接和后續攻擊的入口。RedSnarf利用SMB進行文件上傳上傳攻擊載荷、下載拉回轉儲文件以及執行基于SMB的哈希傳遞攻擊。WMI則提供了強大的遠程系統管理能力。通過WMIRedSnarf可以遠程創建進程、執行命令、查詢系統信息。相比SMBWMI的執行方式可能更隱蔽因為它走的是DCOM或WinRM協議是系統管理員的“正規”管理通道。理解了這些你就明白了RedSnarf每一條命令背后在“捅”Windows系統的哪個要害。3. 環境搭建與工具準備工欲善其事必先利其器。RedSnarf的運行環境有點“老派”但搭建起來并不復雜。3.1 攻擊機環境配置RedSnarf主要依賴Perl和部分PowerShell模塊。雖然它自稱支持Linux和Windows但在Kali Linux或Parrot OS這類滲透測試發行版上運行最為順暢。系統準備推薦使用最新版的Kali Linux作為攻擊機。確保系統已更新。sudo apt update sudo apt upgrade -y安裝Perl依賴RedSnarf的核心是Perl腳本需要一些額外的Perl模塊。sudo apt install perl libio-socket-ssl-perl libnet-ssleay-perl libssl-dev -y這里安裝的是處理SSL連接所需的Perl模塊因為部分操作如某些WMI調用可能需要加密通道。獲取RedSnarf從GitHub克隆最新代碼。git clone https://github.com/nccgroup/redsnarf.git cd redsnarf注意務必從官方或可信源獲取工具。第三方打包的版本可能被植入后門。準備輔助工具RedSnarf本身不解析憑證它需要配合其他工具。Mimikatz用于解析從LSASS轉儲文件中提取的哈希和票據。將mimikatz.exex64版放在RedSnarf目錄下的tools/文件夾中如果沒有就創建一個。Impacketsecretsdump.py雖然RedSnarf有自己的哈希抓取模塊但Impacket的secretsdump是離線解析NTDS.dit或注冊表hive文件的黃金標準。確保你的Python環境安裝了Impacket套件。pip3 install impacket3.2 目標域環境模擬實驗室搭建絕對禁止在未經授權的真實網絡中使用RedSnarf。你必須搭建自己的實驗室。 一個經典的實驗室拓撲如下一臺域控制器DC安裝Windows Server 2016/2019提升為域控制器創建測試域如lab.local。一臺域成員服務器安裝Windows Server 2016/2019或Windows 10/11加入上述域。一臺攻擊機即我們剛配置好的Kali Linux需要能與域內機器通信。確保所有機器在同一網絡段防火墻規則允許必要的流量SMB 445端口 WMI 135端口等。在域成員服務器上可以創建幾個測試用戶如user1,admin_user并分配不同的權限。3.3 RedSnarf目錄結構初探進入RedSnarf目錄你會看到幾個關鍵文件和文件夾redsnarf.pl主程序入口。redsnarf.pyPython版本的主程序功能可能略有不同建議以Perl版為主。modules/存放各種攻擊模塊的Perl腳本。tools/你應該把Mimikatz等第三方工具放在這里。logs/默認的日志輸出目錄。creds/成功獲取的憑證可能會被保存到這里。運行./redsnarf.pl -h查看幫助菜單熟悉所有參數。這是你使用任何新工具的第一步。4. 核心模塊深度解析與實戰RedSnarf的功能通過不同的模塊和參數組合實現。我們深入剖析幾個最核心的攻擊場景。4.1 哈希獲取遠程轉儲LSASS這是RedSnarf的招牌動作。假設我們已經通過某種方式比如釣魚獲取的憑據在域成員服務器WORKSTATION01上有了一個立足點一個本地管理員權限的shell現在想提取這臺機器內存中的所有域用戶哈希。命令示例./redsnarf.pl -H 192.168.1.10 -u administrator -p Pssw0rd! -d lab.local -h-H指定目標主機IP。-u/-p用于認證的本地管理員用戶名和密碼或哈希。-d域名。-h執行“哈希轉儲”操作。背后發生了什么連接與認證RedSnarf使用你提供的憑據通過SMB連接到目標主機的ADMIN$共享。上傳工具它會將內置或tools/目錄下的一個LSASS轉儲工具可能是PowerShell腳本或編譯好的可執行文件上傳到目標機的臨時目錄。遠程執行通過計劃任務或WMI在目標機上靜默執行該轉儲工具將lsass.exe進程的內存轉儲到一個文件如C:\Windows\Temp\lsass.dmp。下載文件通過SMB將轉儲文件拉回到攻擊機的logs/目錄。離線解析RedSnarf會自動或提示你使用tools/目錄下的Mimikatz來解析這個dump文件。你會看到輸出中包含NTLM哈希、Kerberos密鑰等信息。實操心得這個操作動靜較大容易被端點防護EDR檢測。在實際測試中我發現使用-dumpmethod wmi參數通過WMI調用CreateProcess有時比默認的計劃任務方式更隱蔽。另外確保你的Mimikatz版本較新能繞過一些內存掃描特征。4.2 橫向移動哈希傳遞攻擊拿到了一個域用戶的NTLM哈希比如aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0這是空用戶的哈希但原理相同如何用它登錄到另一臺主機WORKSTATION02命令示例./redsnarf.pl -H 192.168.1.11 -u administrator -HASH aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 -d lab.local -pth-HASH指定NTLM哈希值LM:NT格式。-pth執行哈希傳遞攻擊。攻擊流程解析RedSnarf使用提供的哈希而不是密碼向目標主機192.168.1.11發起SMB認證。如果目標主機的本地管理員賬戶administrator的密碼與哈希來源的密碼相同或者在域環境下該哈希屬于一個在目標機上有權限的域賬戶認證就會成功。認證成功后RedSnarf可以進一步執行命令例如添加一個后門用戶、啟動一個反向shell等。這通常需要結合-c參數來指定要執行的命令。注意事項哈希傳遞成功的關鍵在于權限。你擁有的哈希所對應的賬戶必須在目標機器上具有足夠的權限通常是本地管理員組。在域環境中域管理員賬戶的哈希可以在任何域成員機器上傳遞成功這就是它如此危險的原因。4.3 票據竊取與傳遞Kerberos攻擊如果目標環境主要使用Kerberos認證哈希傳遞可能受限。這時票據攻擊就更有效。場景你已經控制了WORKSTATION01并且當前登錄的用戶或系統內存中有域管理員的Kerberos TGT票據。命令示例簡化流程RedSnarf的Kerberos模塊可能需要手動指定。更常見的做法是先用RedSnarf或Mimikatz在目標機上導出所有票據。# 在已控的WORKSTATION01上通過RedSnarf或其他方式執行 # 使用Mimikatz導出票據 mimikatz # privilege::debug mimikatz # sekurlsa::tickets /export這會生成一系列.kirbi文件。然后在攻擊機上你可以使用RedSnarf或Impacket的ticketConverter.py將其轉換為Impacket可用的格式并用python3 psexec.py -k -no-pass domain/admindc.lab.local這樣的命令進行票據傳遞攻擊。RedSnarf可能通過-k參數集成部分功能但根據版本不同其Kerberos模塊的成熟度可能不如專門的工具。理解這個流程比記住特定命令更重要。4.4 信息枚舉偵察與定位在發動攻擊前偵察至關重要。RedSnarf提供了一些基本的枚舉功能。命令示例./redsnarf.pl -H 192.168.1.10 -u guest -p -d lab.local -e-e執行枚舉操作。這可能會嘗試空會話連接枚舉共享、用戶、組等信息。枚舉內容可能包括通過net view或SMB枚舉網絡共享。通過WMI查詢系統信息用戶、進程、服務。嘗試枚舉域內用戶和組如果權限足夠。踩坑記錄空會話-u guest -p 在現代Windows系統Server 2008以后上受到嚴格限制通常無法枚舉到有價值信息。這個模塊的成功率很大程度上取決于目標系統的安全策略RestrictAnonymous。更可靠的信息收集往往需要先獲得一個有效賬戶哪怕權限很低然后使用-u -p參數配合枚舉。5. 高級技巧與隱蔽化操作直接使用默認參數和模塊很容易被藍隊發現。以下是一些提升隱蔽性和成功率的技巧。5.1 繞過日志與檢測清理痕跡RedSnarf執行后會在目標機留下計劃任務、臨時文件、WMI事件訂閱等痕跡。成熟的腳本應在操作后自動清理。你可以手動檢查schtasks /query /tn [任務名]Get-WmiObject -Namespace root\Subscription -Class __EventFilter和__EventConsumerC:\Windows\Temp\目錄下的可疑文件。 在實戰中我通常會寫一個簡單的PowerShell腳本在RedSnarf執行完畢后作為-c參數調用專門刪除這些痕跡。對抗EDR直接使用公開的Mimikatz或Procdump會被大多數EDR瞬間攔截。自定義加載器將Mimikatz的PowerShell版本或C#版本進行混淆、編譯、或通過反射加載。使用替代工具使用Task Manager的轉儲功能、SqlDumper.exe等合法系統工具間接轉儲LSASS。RedSnarf不一定集成這些方法但你可以修改其模塊或自行上傳腳本。直接讀取進程內存通過MiniDumpWriteDumpAPI的P/Invoke調用這是更高階的技巧。你需要將相應的C#或PowerShell代碼集成到RedSnarf的攻擊流程中。5.2 流量偽裝與協議選擇加密通道盡可能使用Kerberos認證-k而非NTLM。Kerberos流量本身是加密的而NTLM認證過程可能被網絡設備嗅探到挑戰-響應消息。端口選擇SMB over TCP445端口是重災區。如果環境允許可以嘗試將SMB流量封裝在HTTP/HTTPS中例如使用WebDAV但這需要目標服務器配置支持且RedSnarf原生不支持。延遲與抖動在腳本中添加隨機延遲模擬正常用戶行為。RedSnarf本身是單線程快速攻擊容易被流量異常檢測發現。你可以分步驟手動執行或在腳本層進行控制。5.3 模塊擴展與自定義RedSnarf的模塊化結構允許你進行擴展。modules/目錄下的.pl文件就是各個功能模塊。如果你有一個新的攻擊思路比如利用某個新的服務漏洞可以參照現有模塊的寫法創建一個新的Perl腳本。例如一個簡單的模塊框架如下package RSModule; use strict; use warnings; use RSHelper; # RedSnarf的輔助模塊 sub new { my ($class, %args) _; my $self {%args}; bless $self, $class; return $self; } sub execute { my ($self) _; my $target $self-{target}; my $creds $self-{creds}; # 你的攻擊邏輯在這里 print [*] 正在對 $target 執行自定義攻擊...\n; # 調用RSHelper中的函數進行SMB/WMI連接等 my $result RSHelper::wmi_command($target, $creds, whoami); print [] 結果: $result\n; return 1; # 成功返回1 } 1;然后你需要在主程序redsnarf.pl中注冊和調用這個模塊。這需要對Perl和RedSnarf的代碼結構有一定了解。6. 防御視角如何檢測與防范RedSnarf攻擊作為一名紅隊成員了解如何攻擊的同時也必須知道藍隊如何防御這樣才能更好地規避。6.1 關鍵攻擊特征檢測網絡層面異常SMB連接模式短時間內從單一IP向多臺主機發起SMB連接并使用相同的用戶名進行認證失敗和成功嘗試。WMI異常調用來自非管理終端或非常用IP地址的Win32_ProcessCreate調用特別是創建cmd.exe、powershell.exe或未知可執行文件。計劃任務創建遠程創建名稱隨機或類似系統任務的任務計劃。主機層面LSASS進程訪問任何非系統關鍵進程如svchost.exe,lsass.exe自身對lsass.exe進程進行PROCESS_VM_READ操作都應視為高度可疑。Windows Defender ATP和SysmonEvent ID 10可以監控這一點。憑證內存讀取直接檢測Mimikatz等工具的內存簽名或行為鏈。臨時文件創建在C:\Windows\Temp\或C:\Users\Public目錄下創建.dmp文件并隨后被網絡傳輸。6.2 主動防御策略強化認證禁用NTLM在域環境中盡可能強制使用Kerberos認證并禁用NTLMv1限制NTLMv2的使用范圍。實施Credential Guard對于Windows 10/11和Server 2016啟用Credential Guard可以基于虛擬化安全VBS隔離LSASS進程使傳統的內存轉儲工具無法讀取受保護的憑據。啟用LSA保護通過設置注冊表RunAsPPL保護LSASS進程不被非受保護進程注入。最小權限原則限制本地管理員嚴格限制擁有本地管理員權限的用戶數量。使用“受限管理員”模式或“僅允許提升的應用程序”策略。網絡分段將關鍵服務器如域控制器放在獨立網段嚴格限制從工作站發起到DC的SMB、WMI連接。管理跳板機所有對服務器的管理操作必須通過經過嚴格安全加固的跳板機堡壘機進行并實施多因素認證。深度監控部署Sysmon配置精細的Sysmon策略記錄進程創建、網絡連接、文件創建、進程訪問等事件并集中收集到SIEM中。啟用命令行審計在組策略中啟用“審核進程創建”并記錄命令行參數這能捕獲攻擊者執行的命令。建立行為基線了解環境中正常的WMI、計劃任務、SMB登錄模式任何偏離基線的行為都值得警惕。7. 實戰演練從外網到域控的模擬路徑讓我們串聯起所有知識模擬一個高度簡化的攻擊鏈。再次強調僅在授權的實驗室環境中進行。階段一初始訪問假設我們通過一次成功的釣魚攻擊在域用戶Bob的工作站CLIENT01上獲得了一個反向Shell。Bob是普通用戶不是本地管理員。階段二權限提升在CLIENT01上我們利用一個本地提權漏洞例如通過getsystem或利用未修補的內核漏洞獲得了NT AUTHORITY\SYSTEM權限。階段三憑證竊取RedSnarf登場在攻擊機Kali上我們已經知道了CLIENT01的IP192.168.1.100和本地管理員密碼通過提權后的信息收集獲得或假設默認密碼。使用RedSnarf遠程轉儲LSASS./redsnarf.pl -H 192.168.1.100 -u administrator -p Admin123! -d lab.local -h -o logs/client01_dump解析dump文件幸運地發現域管理員DAlab.local的密碼哈希也緩存在這臺機器上。階段四橫向移動至域控制器域控制器IP為192.168.1.1。使用RedSnarf進行哈希傳遞并嘗試執行命令添加后門用戶./redsnarf.pl -H 192.168.1.1 -u DA -HASH [獲取到的DA用戶的NTLM哈希] -d lab.local -pth -c “net user backdooruser Pssw0rd! /add /domain net group ‘Domain Admins’ backdooruser /add /domain”這條命令使用域管理員哈希向域控制器發起認證成功后執行添加用戶并加入域管理員組的命令。階段五持久化與清理成功添加后門賬戶后可以通過該賬戶直接訪問域控制器。最后記得清理在CLIENT01上留下的RedSnarf臨時文件和計劃任務。這個鏈條展示了RedSnarf在“憑證竊取”和“橫向移動”兩個關鍵環節的核心作用。在實際復雜的網絡中步驟會更多障礙也會更大但基本原理相通。掌握RedSnarf的精髓不在于記住所有參數而在于深刻理解每一條命令背后的Windows協議和認證機制。它更像一個教學工具和概念驗證腳本將復雜的攻擊過程自動化、模塊化。當你能夠手動復現RedSnarf的每一個步驟甚至能根據環境變化修改其代碼時你才算真正“精通”了它。工具會過時但底層原理永存。在滲透測試中最強大的工具始終是測試者自己的知識體系。

相關新聞

鴻蒙NEXT聲紋識別技術實現會議錄音轉文字

鴻蒙NEXT聲紋識別技術實現會議錄音轉文字

1. 項目背景與需求解析在商務會議、學術研討等多人交流場景中,錄音轉文字功能早已成為剛需。但傳統方案存在一個明顯的痛點:轉寫后的文字往往難以區分不同發言人的內容,后期整理需要人工反復聽錄音核對,效率極低。鴻蒙NEXT針對這一…

2026/7/30 14:55:25 閱讀更多
SQL注入四種類型詳解:原理、利用與防御

SQL注入四種類型詳解:原理、利用與防御

1. 什么是 SQL 注入?SQL 注入是指攻擊者將惡意 SQL 代碼插入到輸入參數中,應用程序未進行過濾便將其拼接到 SQL 查詢語句中,導致數據庫執行了非預期的命令。一句話解釋就是你輸入的內容被直接當作代碼執行了2. 四種常見類型2.1 聯合查詢注入 …

2026/7/30 13:53:14 閱讀更多
RAG系統構建指南:檢索增強生成技術實踐

RAG系統構建指南:檢索增強生成技術實踐

1. RAGOps:檢索增強生成系統的工程化實踐檢索增強生成(Retrieval-Augmented Generation)技術正在重塑AI應用開發范式。作為從業者,我親歷了從早期POC到生產級系統的完整演進過程。RAGOps不是簡單的技術堆砌,而是融合信…

2026/7/31 4:44:56 閱讀更多
濮陽工廠目視化設計5S管理落地完整方案

濮陽工廠目視化設計5S管理落地完整方案

在當前制造業競爭日益激烈的環境下,濮陽工廠的目視化設計與 5S 管理落地方案在提升工廠效率、保障生產安全、降低成本等方面發揮著關鍵作用。系統性地了解相關產業格局,能夠幫助工廠管理者在眾多的服務商中做出更合適的選型決策。下面將從企業規模、質量…

2026/7/31 4:44:56 閱讀更多
Multisim仿真:中心抽頭式全波整流電路

Multisim仿真:中心抽頭式全波整流電路

這次搭建的是一個簡單的中心抽頭式全波整流電路。相比半波整流,它能利用交流電的兩個半周,因此輸出波形更連續。一、電路組成本次使用的元器件:交流電源:5 Vrms、50 Hz中心抽頭變壓器:10:5:5二極管:1N4007 …

2026/7/31 4:34:56 閱讀更多
HART協議詳解:05 HART現場通信實戰

HART協議詳解:05 HART現場通信實戰

第五季 HART現場通信實戰 ——從USB-HART Modem抓包到工程診斷:讓協議知識變成維修能力 各位工業現場的工程師朋友們,大家好! 經過前四季的系統學習,我們已經構建了HART協議的完整理論框架: 第一季:六層生命模型與本質認知 第二季:物理層4–20mA與FSK魔法 第三季:數…

2026/7/31 0:14:40 閱讀更多
維修工程師的示波器實戰:02 探頭地線——示波器最大的“坑”

維修工程師的示波器實戰:02 探頭地線——示波器最大的“坑”

第二篇:探頭地線——示波器最大的“坑” ——那根不起眼的小地線,可能比你測的信號還重要 很多工程師第一次用示波器時,都會經歷這樣一個“驚魂”時刻。 某食品廠包裝線,伺服偶發報警。年輕工程師判斷是編碼器信號受干擾,便拿出示波器認真測量。波形一出來,所有人都倒…

2026/7/31 0:14:40 閱讀更多