轉載自FreeBuf.COMcss
Impacket是一個Python類庫,用於對SMB1-3或IPv4 / IPv6 上的TCP、UDP、ICMP、IGMP,ARP,IPv4,IPv6,SMB,MSRPC,NTLM,Kerberos,WMI,LDAP等協議進行低級編程訪問。 python
在本文的實驗場景中,咱們須要準備如下兩個系統:ios
1.配置域控的Windows服務器;git
2. Kali Linuxgithub
系統相關設置以下:sql
域: SERVERshell
用戶: Administrator編程
密碼: T00r安全
IP地址: 192.168.1.140bash
Kali Linux: 192.168.1.135
在正式開始使用Impacket工具以前,讓咱們先對目標Windows服務器執行Nmap版本掃描,以獲取當前Windows Server上運行的有關服務信息。
nmap -sV 192.168.1.140
正如你在上面的截圖中看到的,目標系統當前運行的服務有域服務,Kerberos服務,Netbios服務,LDAP服務和Windows RPC服務。
如今讓咱們從GitHub安裝Impacket工具。你能夠在這裏獲取到。
首先,咱們經過git clone命令克隆存儲庫,而後按如下截圖所示安裝Impacket。
git clone https://github.com/CoreSecurity/impacket.git cd impacket/ python setup.py install
這將在你的Kali Linux上安裝Impacket。安裝完成後,咱們來查看下Impacket中都有哪些工具。
cd impacket/examples
能夠看到其中包含了許多的python腳本工具,讓咱們來嘗試使用其中的一些工具:
一個簡單的ICMP ping腳本,使用ICMP echo和echo-reply數據包檢查主機狀態。
./ping.py
語法: ./ping.py [Source IP] [Destination IP]
./ping.py 192.168.1.135 192.168.1.140
如下是我從192.168.1.140(Windows Server)得到的ICMP響應
經過[MS-LSAT] MSRPC接口的Windows SID bruteforcer示例,旨在查找遠程用戶/組。
./lookupsid.py
語法: ./lookupsid.py [[domain/] username [: password] @] [Target IP Address]
./lookupsid.py SERVER/Administrator: T00r@192.168.1.140
以下所示,lookupsid.py已成功爲我提取到了目標服務器的用戶和組信息
Psexec.py容許你在遠程Windows系統上執行進程,複製文件,並返回處理輸出結果。此外,它還容許你直接使用完整的交互式控制檯執行遠程shell命令(不須要安裝任何客戶端軟件)。
./psexec.py
語法: ./psexec.py [[domain/] username [: password] @] [Target IP Address]
./psexec.py SERVER/Administrator: T00r@192.168.1.140
以下所示,我獲取到了目標服務器的遠程shell
該腳本將轉儲在目標上註冊的RPC端點和字符串bindings列表。它也會嘗試將它們與一些知名的端點進行匹配。
./rpcdump.py
語法: ./rpcdump.py [[domain/] username [: password] @] [Target IP Address]
./rpcdump.py SERVER/Administrator: T00r@192.168.1.140
以下所示,我成功獲取到了目標RPC列表
Samrdump.py
與MSRPC套件中的安全賬戶管理器遠程接口通訊的應用程序。它將爲咱們列出目標系統上的用戶賬戶,可用資源共享以及經過此服務導出的其餘敏感信息
./samrdump.py
語法: ./samrdump.py [[domain/] username [: password] @] [Target IP Address]
./samrdump.py SERVER/Administrator: T00r@192.168.1.140
以下所示,我從目標服務器提取了SAM信息
一個簡單的數據包嗅探腳本。使用pcapy庫來偵聽經過指定接口傳輸的數據包
. /sniff.py
選擇正確的網卡,並開始嗅探
一個簡單的數據包嗅探腳本,使用原始套接字來偵聽與指定協議相對應的傳輸數據包。
. /sniffer.py
sniffer開始監聽icmp, tcp和udp數據包
它會生成一個使用Windows Management Instrumentation的半交互式shell,並以管理員身份運行。你不須要在目標服務器上安裝任何的服務/代理,所以它很是的隱蔽。
./wmiexec.py
語法: ./wmiexec.py [[domain/] username [: password] @] [Target IP Address]
./wmiexec.py SERVER/Administrator: T00r@192.168.1.140
以下所示,我獲取到了目標服務器的shell
它容許發出WQL查詢並獲取目標系統WMI對象的描述信息。
./wmiquery.py
語法: ./wmiquery.py [[domain/] username [: password] @] [Target IP Address]
./wmiquery.py SERVER/Administrator: T00r@192.168.1.140
這將打開一個shell,你能夠在其中執行WQL查詢
SELECT * FROM Win32_LogicalDisk WHERE FreeSpace < 209152
經過Task Scheduler服務在目標系統上執行命令,並返回輸出結果。
./atexec.py
語法: /atexec.py [[domain/] username [: password] @] [Target IP Address] [Command]
./atexec.py SERVER/Administrator: T00r@192.168.1.140 systeminfo
以下所示,我與目標服務器創建了遠程鏈接,並執行了systeminfo命令,輸出結果顯示在了個人Kali終端上。
該腳本將鏈接目標(或目標列表上的)計算機,並使用已記錄的MSRPC特徵收集由(ab)安裝的操做系統架構類型。
./getArch.py
語法: ./getArch.py -target [IP Address]
命令: ./getArch.py -target 192.168.1.140
所下所示,目標系統架構爲64-bit
該腳本將綁定到目標的MGMT接口,以獲取接口ID列表。它將在另外一個接口UUID列表的頂部使用該列表,並報告該接口是否被列出和/或處於偵聽狀態。
語法: ./ifmap.py [Host IP Address] [Port]
./ifmap.py 192.168.1.140 135 ./ifmap.py 192.168.1.140 49154
*參考來源:hackingarticles,FB小編 secist 編譯,轉載自FreeBuf.COM