內(nèi)網(wǎng)滲透(十四) | 工具的使用|Impacket的使用
作者:謝公子
CSDN安全博客專家,擅長滲透測試、Web安全攻防、紅藍(lán)對抗。其自有公眾號:謝公子學(xué)安全
免責(zé)聲明:本公眾號發(fā)布的文章均轉(zhuǎn)載自互聯(lián)網(wǎng)或經(jīng)作者投稿授權(quán)的原創(chuàng),文末已注明出處,其內(nèi)容和圖片版權(quán)歸原網(wǎng)站或作者本人所有,并不代表 安世加 的觀點(diǎn),若有無意侵權(quán)或轉(zhuǎn)載不當(dāng)之處請聯(lián)系我們處理,謝謝合作!
歡迎各位添加微信號:qinchang_198231 ?
加入 安世加 交流群 和大佬們一起交流安全技術(shù)
Impacket
Impacket是用于處理網(wǎng)絡(luò)協(xié)議的Python類的集合,用于對SMB1-3或IPv4 / IPv6 上的TCP、UDP、ICMP、IGMP,ARP,IPv4,IPv6,SMB,MSRPC,NTLM,Kerberos,WMI,LDAP等協(xié)議進(jìn)行低級編程訪問。數(shù)據(jù)包可以從頭開始構(gòu)建,也可以從原始數(shù)據(jù)中解析,而面向?qū)ο蟮腁PI使處理協(xié)議的深層次結(jié)構(gòu)變得簡單。
項(xiàng)目地址:https://github.com/SecureAuthCorp/impacket
關(guān)于工具的說明:https://www.secureauth.com/labs/open-source-tools/impacket
Impacket的安裝
git clone https://github.com/CoreSecurity/impacket.gitcd impacket/python setup.py install

安裝完成后,進(jìn)入examples目錄,查看有哪些腳本
cd impacket/examples
Impacket中包含以下協(xié)議
以太網(wǎng),Linux “Cooked” 數(shù)據(jù)包捕獲
IP,TCP,UDP,ICMP,IGMP,ARP
支持IPv4和IPv6
NMB和SMB1,SMB2和SMB3(高級實(shí)現(xiàn))
MSRPC版本5,通過不同的傳輸協(xié)議:TCP,SMB / TCP,SMB/NetBIOS 和 HTTP
使用 密碼/哈希/票據(jù)/密鑰 進(jìn)行簡單的 NTLM 和 Kerberos 身份驗(yàn)證
部分或完全實(shí)現(xiàn)以下MSRPC接口:EPM,DTYPES,LSAD,LSAT,NRPC,RRP,SAMR,SRVS,WKST,SCMR,BKRP,DHCPM,EVEN6,MGMT,SASEC,TSCH,DCOM,WMI
部分TDS(MSSQL)和LDAP協(xié)議實(shí)現(xiàn)。
Impacket中的腳本
遠(yuǎn)程執(zhí)行
psexec.py:類似psexec的功能示例,使用remcomsvc(https://github.com/kavika13/remcom)
smbexec.py:與使用remcomsvc的psexec類似的方法。這里描述了該技術(shù)。我們的實(shí)現(xiàn)更進(jìn)一步,實(shí)例化本地smbserver以接收命令的輸出。這在目標(biāo)計(jì)算機(jī)沒有可寫共享可用的情況下很有用。
atexec.py:此示例通過Task Scheduler服務(wù)在目標(biāo)計(jì)算機(jī)上執(zhí)行命令,并返回已執(zhí)行命令的輸出。
wmiexec.py:通過Windows Management Instrumentation使用的半交互式shell,它不需要在目標(biāo)服務(wù)器上安裝任何服務(wù)/代理,以管理員身份運(yùn)行,非常隱蔽。
dcomexec.py:類似于wmiexec.py的半交互式shell,但使用不同的DCOM端點(diǎn)。目前支持MMC20.Application,ShellWindows和ShellBrowserWindow對象。
GetTGT.py:指定密碼,哈希或aesKey,此腳本將請求TGT并將其保存為ccache
GetST.py:指定ccache中的密碼,哈希,aesKey或TGT,此腳本將請求服務(wù)票證并將其保存為ccache。如果該帳戶具有約束委派(具有協(xié)議轉(zhuǎn)換)權(quán)限,您將能夠使用-impersonate參數(shù)代表另一個用戶請求該票證。
GetPac.py:此腳本將獲得指定目標(biāo)用戶的PAC(權(quán)限屬性證書)結(jié)構(gòu),該結(jié)構(gòu)僅具有正常的經(jīng)過身份驗(yàn)證的用戶憑據(jù)。它通過混合使用[MS-SFU]的S4USelf +用戶到用戶Kerberos身份驗(yàn)證組合來實(shí)現(xiàn)的。
GetUserSPNs.py:此示例將嘗試查找和獲取與普通用戶帳戶關(guān)聯(lián)的服務(wù)主體名稱。
GetNPUsers.py:此示例將嘗試為那些設(shè)置了屬性“不需要Kerberos預(yù)身份驗(yàn)證”的用戶獲取TGT(UF_DONT_REQUIRE_PREAUTH).輸出與JTR兼容?
ticketer.py:此腳本將從頭開始或基于模板(根據(jù)KDC的合法請求)創(chuàng)建金/銀票據(jù),允許您在PAC_LOGON_INFO結(jié)構(gòu)中自定義設(shè)置的一些參數(shù),特別是組、外接程序、持續(xù)時間等。?
raiseChild.py:此腳本通過(ab)使用Golden Tickets和ExtraSids的基礎(chǔ)來實(shí)現(xiàn)子域到林權(quán)限的升級。
Windows?Secrets
secretsdump.py:執(zhí)行各種技術(shù)從遠(yuǎn)程機(jī)器轉(zhuǎn)儲Secrets,而不在那里執(zhí)行任何代理。對于SAM和LSA Secrets(包括緩存的憑據(jù)),然后將hives保存在目標(biāo)系統(tǒng)(%SYSTEMROOT%\ Temp目錄)中,并從中讀取其余數(shù)據(jù)。對于DIT文件,我們使用dl_drsgetncchanges()方法轉(zhuǎn)儲NTLM哈希值、純文本憑據(jù)(如果可用)和Kerberos密鑰。它還可以通過使用smbexec/wmiexec方法執(zhí)行的vssadmin來轉(zhuǎn)儲NTDS.dit.如果腳本不可用,腳本將啟動其運(yùn)行所需的服務(wù)(例如,遠(yuǎn)程注冊表,即使它已被禁用)。運(yùn)行完成后,將恢復(fù)到原始狀態(tài)。
mimikatz.py:用于控制@gentilkiwi開發(fā)的遠(yuǎn)程mimikatz RPC服務(wù)器的迷你shell
服務(wù)器工具/ MiTM攻擊
ntlmrelayx.py:此腳本執(zhí)行NTLM中繼攻擊,設(shè)置SMB和HTTP服務(wù)器并將憑據(jù)中繼到許多不同的協(xié)議(SMB,HTTP,MSSQL,LDAP,IMAP,POP3等)。該腳本可以與預(yù)定義的攻擊一起使用,這些攻擊可以在中繼連接時觸發(fā)(例如,通過LDAP創(chuàng)建用戶),也可以在SOCKS模式下執(zhí)行。在此模式下,對于每個中繼的連接,稍后可以通過SOCKS代理多次使用它
karmaSMB.py:無論指定的SMB共享和路徑名如何,都會響應(yīng)特定文件內(nèi)容的SMB服務(wù)器
smbserver.py:SMB服務(wù)器的Python實(shí)現(xiàn),允許快速設(shè)置共享和用戶帳戶。
WMI
wmiquery.py:它允許發(fā)出WQL查詢并在目標(biāo)系統(tǒng)上獲取WMI對象的描述(例如,從win32_account中選擇名稱)
wmipersist.py:此腳本創(chuàng)建、刪除WMI事件使用者、篩選器,并在兩者之間建立鏈接,以基于指定的wql篩選器或計(jì)時器執(zhí)行Visual Basic
已知的漏洞
goldenPac.py:?利用MS14-068。保存Golden Ticket并在目標(biāo)位置啟動PSExec會話
sambaPipe.py:該腳本將利用CVE-2017-7494,通過-so參數(shù)上傳和執(zhí)行用戶指定的共享庫。?
smbrelayx.py:利用SMB中繼攻擊漏洞CVE-2015-0005。如果目標(biāo)系統(tǒng)正在執(zhí)行簽名并且提供了計(jì)算機(jī)帳戶,則模塊將嘗試通過NETLOGON收集SMB會話密鑰。?利用SMB中繼攻擊漏洞CVE-2015-0005
SMB / MSRPC
smbclient.py:一個通用的SMB客戶端,可以允許您列出共享和文件名,重命名,上傳和下載文件,以及創(chuàng)建和刪除目錄,所有這些都是使用用戶名和密碼或用戶名和哈希組合。這是一個很好的例子,可以了解到如何在實(shí)際中使用impacket.smb
getArch.py:此腳本將與目標(biāo)主機(jī)連接,并使用文檔化的msrpc功能收集由(ab)安裝的操作系統(tǒng)體系結(jié)構(gòu)類型。?
rpcdump.py:此腳本將轉(zhuǎn)儲目標(biāo)上注冊的RPC端點(diǎn)和字符串綁定列表。它還將嘗試將它們與已知端點(diǎn)列表進(jìn)行匹配。
ifmap.py:此腳本將綁定到目標(biāo)的管理接口,以獲取接口ID列表。它將在另一個界面UUID列表上使用這個列表,嘗試綁定到每個接口并報(bào)告接口是否已列出或正在偵聽
opdump.py:這將綁定到給定的hostname:port和msrpc接口。然后,它嘗試依次調(diào)用前256個操作號中的每一個,并報(bào)告每個調(diào)用的結(jié)果。?
samrdump.py:從MSRPC套件與安全帳戶管理器遠(yuǎn)程接口通信的應(yīng)用程序中。它列出了通過此服務(wù)導(dǎo)出的系統(tǒng)用戶帳戶、可用資源共享和其他敏感信息
services.py:此腳本可用于通過[MS-SCMR] MSRPC接口操作Windows服務(wù)。它支持啟動,停止,刪除,狀態(tài),配置,列表,創(chuàng)建和更改。?
netview.py:獲取在遠(yuǎn)程主機(jī)上打開的會話列表,并跟蹤這些會話在找到的主機(jī)上循環(huán),并跟蹤從遠(yuǎn)程服務(wù)器登錄/退出的用戶?
reg.py:通過[ms-rrp]msrpc接口遠(yuǎn)程注冊表操作工具。其想法是提供與reg.exe Windows實(shí)用程序類似的功能。=
lookupsid.py:通過[MS-LSAT] MSRPC接口的Windows SID暴力破解程序示例,旨在查找遠(yuǎn)程用戶和組
MSSQL / TDS
mssqlinstance.py:從目標(biāo)主機(jī)中檢索MSSQL實(shí)例名稱。?
mssqlclient.py:MSSQL客戶端,支持SQL和Windows身份驗(yàn)證(哈希)。它還支持TLS。
文件格式
esentutl.py:Extensibe存儲引擎格式實(shí)現(xiàn)。它允許轉(zhuǎn)儲ESE數(shù)據(jù)庫的目錄,頁面和表(例如NTDS.dit)?
ntfs-read.py:NTFS格式實(shí)現(xiàn)。此腳本提供了一個用于瀏覽和提取NTFS卷的功能小的反彈shell,包括隱藏/鎖定的內(nèi)容
registry-read.py:Windows注冊表文件格式實(shí)現(xiàn)。它允許解析脫機(jī)注冊表配置單元
其他
GetADUsers.py:此腳本將收集有關(guān)域用戶及其相應(yīng)電子郵件地址的數(shù)據(jù)。它還將包括有關(guān)上次登錄和上次密碼設(shè)置屬性的一些額外信息。??
mqtt_check.py:簡單的MQTT示例,旨在使用不同的登錄選項(xiàng)。可以很容易地轉(zhuǎn)換成帳戶/密碼暴力工具。?
rdp_check.py:[MS-RDPBCGR ]和[MS-CREDSSP]部分實(shí)現(xiàn)只是為了達(dá)到CredSSP身份驗(yàn)證。此示例測試帳戶在目標(biāo)主機(jī)上是否有效。
sniff.py:簡單的數(shù)據(jù)包嗅探器,使用pcapy庫來監(jiān)聽在指定接口上傳輸?shù)陌?/p>
sniffer.py:簡單的數(shù)據(jù)包嗅探器,它使用原始套接字來偵聽與指定協(xié)議相對應(yīng)的傳輸中的數(shù)據(jù)包。
ping.py:簡單的ICMP ping,它使用ICMP echo和echo-reply數(shù)據(jù)包來檢查主機(jī)的狀態(tài)。如果遠(yuǎn)程主機(jī)已啟動,則應(yīng)使用echo-reply數(shù)據(jù)包響應(yīng)echo探針。?
ping6.py:簡單的IPv6 ICMP ping,它使用ICMP echo和echo-reply數(shù)據(jù)包來檢查主機(jī)的狀態(tài)。

內(nèi)網(wǎng)滲透(十三) | WinRM遠(yuǎn)程管理工具的使用
內(nèi)網(wǎng)滲透(十二) | 利用委派打造隱蔽后門(權(quán)限維持)
內(nèi)網(wǎng)滲透(十一) | 哈希傳遞攻擊(Pass-the-Hash,PtH)
技術(shù)干貨 | 工具:Social engineering tookit 釣魚網(wǎng)站
技術(shù)干貨 | 工具的使用:CobaltStrike上線Linux主機(jī)(CrossC2)
內(nèi)網(wǎng)滲透(十) | 票據(jù)傳遞攻擊
內(nèi)網(wǎng)滲透(九) | Windows域的管理
內(nèi)網(wǎng)滲透(八) | 內(nèi)網(wǎng)轉(zhuǎn)發(fā)工具的使用
內(nèi)網(wǎng)滲透(六) | 工作組和域的區(qū)別
內(nèi)網(wǎng)滲透(五) | AS-REP Roasting攻擊



