windows信息搜集篇(四)之內網存活主機探測的多種方式


話不多說,直接開始吧,頭已經大了!

00x01 Netbios協議探測

1.1 netbios簡介

IBM公司開發,主要用於數十台計算機的小型局域網。該協議是一種在局域網上的程序可以使用的應用程序編程接口(API),為程序提供了請求低級服務的同一的命令集,作用是為了給局域網提供網絡以及其他特殊功能。系統可以利用WINS服務、廣播及Lmhost文件等多種模式將NetBIOS名-——特指基於NETBIOS協議獲得計算機名稱——解析為相應IP地址,實現信息通訊,所以在局域網內部使用NetBIOS協議可以方便地實現消息通信及資源的共享

1.2 nmap掃描

nmap -sU --script nbstat.nse -p137 192.168.1.0/24 -T4

image-20211206160211983

1.3 msf掃描

    ┌──(root💀kali)-[~/桌面]
    └─# msfconsole 

image-20211206160348269

    msf6 > use auxiliary/scanner/netbios/nbname
    msf6 auxiliary(scanner/netbios/nbname) > show options

image-20211206160506137

msf6 auxiliary(scanner/netbios/nbname) > set RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf6 auxiliary(scanner/netbios/nbname) > run

image-20211206160927298

1.4 nbtscan掃描

項目地址

Windows:

nbtscan.exe -r 192.168.1.0/24

image-20211206161354834

nbtstat -n

image-20211206161513360

Linux:

nbtscan -r 192.168.1.0/24

image-20211206161649372

nbtscan -v -s: 192.168.1.0/24

image-20211206161816036

00x02 ICMP協議探測

2.1 ICMP簡介

它是TCP/IP協議族的一個子協議,用於在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用等網絡本身的消息。這些控制消息雖然並不傳輸用戶數據,但是對於用戶數據的傳遞起着重要的作用。

2.2 CMD下掃描

掃描內網C段存活主機

IP段改為自己想要掃描的IP段即可,視自己情況而定

命令行直顯:

for /l %i in (1,1,255) do @ ping 192.168.1.%i -w 1 -n 1|find /i "ttl="

image-20211206162603807

輸出內容導出:

@for /l %i in (1,1,255) do @ping -n 1 -w 40 192.168.1.%i & if errorlevel 1 (echo 192.168.1.%i>>c:\a.txt) else (echo 192.168.1.%i >>c:\b.txt)

因為要寫C盤,所以需要管理員權限的cmd運行。(導出其他盤符,不需要管理員權限)

image-20211206162831125

2.3 nmap掃描

nmap -sn -PE -T4 192.168.1.0/24    #(掃描一個C段下的存活主機)

image-20211206163058720

2.4 powershell掃描

powershell.exe ‐exec bypass ‐Command "Import‐Module ./Invoke‐TSPingSweep.ps1; Invoke‐TSPingSweep ‐StartAddress 192.168.1.1 ‐EndAddress 192.168.1.254 ‐ResolveHost ‐ScanPort ‐Port 445,135"

img

D:\>tcping.exe ‐n 1 192.168.1.0 80

img

00x03 UDP協議探測

3.1 UDP簡介

UDPUser Datagram Protocol)是一種無連接的協議,在第四層-傳輸層,處於IP協議的上一層。UDP有不提供數據包分組、組裝和不能對數據包進行排序的缺點,也就是說,當報文發送之后,是無法得知其是否安全完整到達的。

3.2 UDP顯著特性

1.UDP 缺乏可靠性。UDP 本身不提供確認,超時重傳等機制。UDP 數據報可能在網絡中被復制,被重新排序,也不保證每個數據報只到達一次。
2.UDP 數據報是有長度的。每個 UDP 數據報都有長度,如果一個數據報正確地到達目的地,那么該數據報的長度將隨數據一起傳遞給接收方。而 TCP 是一個字節流協議,沒有任何(協議上的)記錄邊界。
3.UDP 是無連接的。UDP 客戶和服務器之前不必存在長期的關系。大多數的UDP實現中都選擇忽略源站抑制差錯,在網絡擁塞時,目的端無法接收到大量的UDP數據報
4.UDP 支持多播和廣播。

3.3 nmap掃描

┌──(root💀kali)-[~/桌面]
└─# nmap -sU -T5 -sV --max-retries 1 192.168.1.100 -p 500

慢的令人發指,稍微等一下或者另開一個窗口進行下一條命令好了。

image-20211206163504037

3.4 msf掃描

msf6 auxiliary(scanner/netbios/nbname) > use auxiliary/scanner/discovery/udp_probe
msf6 auxiliary(scanner/discovery/udp_probe) > use auxiliary/scanner/discovery/udp_sweep

image-20211206163442339

3.5 unicornscanTCP協議掃描工具

項目地址

linux下使用推薦

┌──(root💀kali)-[~/桌面]
└─# unicornscan -mU 192.168.1.100

3.6 ScanLine掃描

推薦win下使用,以管理員身份執行。

image-20211206170607737

3.7 在線

在線基於Nmap的udp掃描

00x04 ARP協議探測

4.1 ARP簡介

ARP,通過解析網路層地址來找尋數據鏈路層地址的一個在網絡協議包中極其重要的網絡傳輸協議。根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機,並接收返回消息,以此確定目標的物理地址

4.2 nmap掃描

┌──(root💀kali)-[~/桌面]
└─# nmap -sn -PR 192.168.1.1/24

image-20211206170835529

4.3 msf掃描

msf6 auxiliary(scanner/discovery/udp_sweep) > use auxiliary/scanner/discovery/arp_sweep

4.4 netdiscover

┌──(root💀kali)-[~/桌面]
└─# ifconfig #查看本機存在的網卡
┌──(root💀kali)-[~/桌面]
└─# netdiscover -r 192.168.1.0/24 -i eth0(網卡名稱)

image-20211206171230132

image-20211206171112614

4.5 arp-scan(linux)

項目地址

新版的kali中都自帶arp-scan,如無內置則需要下載安裝:

┌──(root💀kali)-[~/桌面]
└─# apt-get install arp-scan

image-20211206171417370

4.6 arp-scan(windows)

arp-scan.exe -t 192.168.1.1/24

(非官方)項目地址

img

4.7 Powershell

c:\tmp>powershell.exe -exec bypass -Command "Import-Module .\arpscan.ps1;InvokeARPScan -CIDR 192.168.1.0/24"

img

00x05 SNMP協議探測

5.1 SNMP簡介

SNMP是一種簡單網絡管理協議,它屬於TCP/IP五層協議中的應用層協議,用於網絡管理的協議。SNMP主要用於網絡設備的管理。SNMP協議主要由兩大部分構成:SNMP管理站和SNMP代理。SNMP管理站是一個中心節點,負責收集維護各個SNMP元素的信息,並對這些信息進行處理,最后反饋給網絡管理員;而SNMP代理是運行在各個被管理的網絡節點之上,負責統計該節點的各項信息,並且負責與SNMP管理站交互,接收並執行管理站的命令,上傳各種本地的網絡信息。

5.2 nmap掃描

┌──(root💀kali)-[~/桌面]
└─# nmap -sU --script snmp-brute 192.168.1.0/24 -T4

image-20211206180125241

5.3 msf掃描

msf6 auxiliary(scanner/discovery/arp_sweep) > use auxiliary/scanner/snmp/snmp_enum
msf6 auxiliary(scanner/snmp/snmp_enum) > show options

image-20211206172933235

msf6 auxiliary(scanner/snmp/snmp_enum) > set THREADS 10
msf6 auxiliary(scanner/snmp/snmp_enum) > set RHOSTS 192.168.1.0/24

image-20211206173041858

00x06 SMB協議探測

6.1 基於msf

scanner/snmp/snmp_enum

image-20211206173236102

6.2 基於nmap

nmap ‐sU ‐sS ‐‐script smb‐enum‐shares.nse ‐p 445 192.168.1.119

image-20211206173525338

6.3 基於CMD

for /l %a in (1,1,254) do start /min /low telnet 192.168.1.%a 445

img

6.4 基於powershell的一句話掃描

單IP:

445 | %{ echo ((new‐object Net.Sockets.TcpClient).Connect("192.168.1.119",$_)) "$_ is open"} 2>$null

image-20211206173816188

多ip:

1..5 | % { $a = $_; 445 | % {echo ((new‐object Net.Sockets.TcpClient).Connect("192.168.1.$a",$_)) "Port $_ is open"} 2>$null}

image-20211206173839511

多port,多IP:

118..119 | % { $a = $_; write‐host "‐‐‐‐‐‐"; write‐host"192.168.1.$a"; 80,445 | % {echo ((new‐object Net.Sockets.TcpClient).Connect("192.168.1.$a",$*)) "Port $_ is open"} 2>$null}

img

6.5 crackmapexec

項目地址

#最方便:
apt-get install crackmapexec

image-20211206174512814

#避免有坑:
apt-get install -y libssl-dev libffi-dev python-dev build-essential
pip install --user pipenv
git clone --recursive https://github.com.cnpmjs.org/byt3bl33d3r/CrackMapExec
cd CrackMapExec && pipenv install
pipenv shell
python setup.py install

image-20211206180236994

image-20211206180905729

默認為100線程:

┌──(root💀kali)-[~/桌面]
└─# CrackMapExec smb 192.168.1.0/24

image-20211206182651696

00x07 MSF探測輔助模塊匯總

    auxiliary/scanner/discovery/arp_sweep    #基於arp協議發現內網存活主機,這不能通過代理使用
    auxiliary/scanner/portscan/ack           #基於tcp的ack回復進行端口掃描,默認掃描1-10000端口
    auxiliary/scanner/portscan/tcp           #基於tcp進行端口掃描,默認掃描1-10000端口
    auxiliary/scanner/discovery/udp_sweep    #基於udp協議發現內網存活主機
    auxiliary/scanner/discovery/udp_probe    #基於udp協議發現內網存活主機
    auxiliary/scanner/netbios/nbname         #基於netbios協議發現內網存活主機
    auxiliary/scanner/ftp/ftp_version        #發現內網ftp服務,基於默認21端口
    auxiliary/scanner/ssh/ssh_version        #發現內網ssh服務,基於默認22端口
    auxiliary/scanner/telnet/telnet_version  #發現內網telnet服務,基於默認23端口
    auxiliary/scanner/dns/dns_amp            #發現dns服務,基於默認53端口
    auxiliary/scanner/http/http_version      #發現內網http服務,基於默認80端口
    auxiliary/scanner/http/title             #探測內網http服務的標題
    auxiliary/scanner/smb/smb_version        #發現內網smb服務,基於默認的445端口   
    auxiliary/scanner/mssql/mssql_schemadump  #發現內網SQLServer服務,基於默認的1433端口
    auxiliary/scanner/oracle/oracle_hashdump  #發現內網oracle服務,基於默認的1521端口 
    auxiliary/scanner/mysql/mysql_version    #發現內網mysql服務,基於默認3306端口
    auxiliary/scanner/rdp/rdp_scanner        #發現內網RDP服務,基於默認3389端口
    auxiliary/scanner/redis/redis_server     #發現內網Redis服務,基於默認6379端口
    auxiliary/scanner/db2/db2_version        #探測內網的db2服務,基於默認的50000端口
    auxiliary/scanner/netbios/nbname         #探測內網主機的netbios名字

在實戰過程中,許多特殊環境下scannerdb_nmap不能快速符合實戰滲透訴求,尤其在域中的主機存活發現,而gather/post下的模塊,彌補了該訴求,以便快速了解域中存活主機。

windows/gather/arp_scanner
windows/gather/enum_ad_computers
windows/gather/enum_computers
windows/gather/enum_domain
windows/gather/enum_domains
windows/gather/enum_ad_user_comments
run windows/gather/arp_scanner RHOSTS=192.168.1.110‐120 THREADS=20

00x08感言

毫無話語敢言!!!

image-20211206180627809

00x09參考鏈接

總結\多種方式探測內網存活主機

域滲透之CrackMapExec


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM