滲透技巧:Windows平台運行Masscan和Nmap
0x00 前言
在內網滲透中,信息搜集尤為重要。
面對內網的複雜環境,雖說網路掃描容易暴露自己,但通過掃描可以發現內網的存活主機、開放埠,運行服務、操作系統等信息,為進一步滲透奠定基礎。
掃描工具的選取,不僅要考慮功能,更要考慮工具的適用性。
現實中的跳板通常並不是一台Linux伺服器,沒有合適的環境安裝Nmap、Zmap和Masscan。
換句話說,可在Windows下直接使用的命令行掃描工具有哪些呢? 知名的開源掃描工具Nmap、Zmap和Masscan,三款工具在功能上各有特色。 在適用性上,Zmap在Windows下使用需要安裝Cygwin,因此不在考慮範圍內。 Masscan支持Windows平台的編譯,Nmap提供命令行版本,看起來Masscan和Nmap符合要求。 但是,Masscan和Nmap的使用均需要WinPcap的支持,也就是說,使用前均需要安裝WinPcap。
那麼,能否通過命令行安裝WinPcap呢?
0x01 簡介
本文將要要解決以上問題,介紹內容如下:
1. Windows平台編譯Masscan
2. Windows命令行安裝WinPcap
3. Masscan使用介紹
4. Nmap配置和使用介紹
0x02 Windows平台編譯Masscan
Masscan下載地址:
解決方法:
位於misc-string_s.h,添加代碼如下:
編譯成功,執行masscan.exe,提示Packet.dll: not found
如下圖
Packet.dll獲取方法:
安裝WinPcap後在System32下獲得
WinPcap下載地址:
在另一系統安裝WinPcap,在System32下找到Packet.dll和Wpcap.dll,複製到測試系統下masscan.exe的同級目錄,再次運行
程序正常啟動,但是無法掃描,報錯如下:
FAIL: Error opening adapter: 系統找不到指定的設備。 (20)
adapter[DeviceNPF_].init: failed
疑問:測試系統也需要安裝WinPcap才能使用?
經實際測試,確實如此
0x03 Windows命令行安裝WinPcap
測試32位系統:
使用ProcessMonitor監控WinPcap安裝過程(32位系統),獲得如下信息:
1. 在system32文件夾下釋放packet.dll和wpcap.dll
2. 在system32drivers釋放npf.sys
3. 安裝服務npf
通過sc命令獲得安裝服務npf的配置信息:
sc qc npf
獲取信息如下:
[SC] QueryServiceConfig 成功
SERVICE_NAME: npf
TYPE : 1 KERNEL_DRIVER
START_TYPE : 3 DEMAND_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : system32driversnpf.sys
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : NetGroup Packet Filter Driver
DEPENDENCIES : SERVICE_START_NAME :
如下圖
查看運行狀態:
sc query npf
獲取信息如下:
SERVICE_NAME: npf
TYPE : 1 KERNEL_DRIVER
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
如下圖
對應的註冊表會創建鍵值,表示服務配置信息,位置如下:
HKEY_LOCAL_MACHINESYSTEMControlSet001Servicesnpf
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesnpf
如下圖
如下圖
猜測,只要能夠模擬上述安裝操作,就能夠實現WinPcap在命令行下的安裝
模擬安裝操作如下:
1、釋放文件
copy packet.dll %SystemRoot%system32
copy wpcap.dll %SystemRoot%system32
copy npf.sys %SystemRoot%system32drivers
2、創建服務
sc create npf binPath= system32driversnpf.sys type= kernel start= demand error= normal tag= no DisplayName= "NetGroup Packet Filter Driver"
3、啟動服務
sc start npf
測試命令如下:
masscan.exe -p80 192.168.81.143
成功執行masscan.exe,如下圖
測試64位系統:
使用ProcessMonitor監控WinPcap安裝過程(32位系統),獲得如下信息:
1.在system32文件夾下釋放64位packet.dll和wpcap.dll
2.在system32drivers釋放64位npf.sys
3.在syswow64文件夾下釋放32位packet.dll、wpcap.dll和pthreadVC.dll
4.安裝服務npf
經實際測試和優化,在64位環境下執行32位的masscan.exe,不需要64位的packet.dll和wpcap.dll,不需要32位的pthreadVC.dll,僅需要安裝64位驅動npf.sys
也就是說,針對32位和64位系統,只需要向system32drivers文件夾複製不同版本的npf.sys即可
接著創建服務npf並安裝,整個流程結束
將以上過程通過批處理自動實現,一鍵安裝腳本代碼如下:
@echo off
cd %~dp0
if "%PROCESSOR_ARCHITECTURE%"=="x86" move npf_x86.sys %SystemRoot%system32driversnpf.sys
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" move npf_x64.sys %SystemRoot%system32driversnpf.sys
if exist %SystemRoot%system32driversnpf.sys (echo move success!) else (echo move error!)
sc create npf binPath= system32driversnpf.sys type= kernel start= demand error= normal tag= no DisplayName= "NetGroup Packet Filter Driver"
sc start npf
相關代碼和所需dll文件已上傳至github,地址如下:
0x04 Masscan使用介紹
掃描指定網段和埠:
masscan.exe -p80 192.168.81.1/24
找到一台開啟80埠的伺服器,回顯如下:
掃描指定主機所有開放的埠:
masscan.exe -p0-65535 192.168.81.143
如下圖
掃描指定主機的特定埠:
masscan.exe -p80,443 192.168.81.143
獲取banner:
masscan.exe -p80,443,3306 192.168.81.143 --banners
通過配置文件啟動掃描:
將配置信息保存在1.conf:
masscan.exe -p80,443,3306 192.168.81.143 --banners --echo>1.conf
讀取配置信息1.conf,啟動掃描:
masscan.exe -c 1.conf
修改掃描速度為100,000包/秒(Windos下最大為 300,000包/秒),默認100包/秒:
--rate 100000
輸出格式:
-oX (XML)
-oB (Binary)
-oG (Grep)
-oJ (Json)
-oL (List)
-oU (Unicornscan format)
補充,默認情況,masscan開啟如下配置:
-sS: this does SYN scan only (currently, will change in the future)
-Pn: doesn t ping hosts first, which is fundamental to the async operation
-n: no DNS resolution happens
--randomize-hosts: scan completely randomized
--send-eth: sends using raw libpcap
0x05 Nmap配置和使用介紹
NmapZip版下載地址:
使用Nmap也要在命令行提前安裝WinPcap
去掉不相關文件,精簡nmap,最終需要的支持文件列表如下:
掃描指定網段和埠:
nmap.exe -p80 192.168.81.1-255
或者
nmap.exe -p80 192.168.81.1/24
掃描IP地址列表:
nmap.exe iL IP.txt
掃描指定主機所有開放的埠:
nmap.exe 192.168.81.143
掃描指定主機的特定埠:
nmap.exe -p80,443 192.168.81.143
操作系統探測(-O):
nmap.exe -O 192.168.81.143
埠上運行的服務版本探測(-sV):
nmap.exe -sV 192.168.81.143
埠掃描如下圖
版本檢測如下圖
通過對比可知版本檢測能夠識別埠上的服務版本
註:
恢復版本檢測(-sV)需要添加以下文件:
nse_main.lua
nmap-service-probes
nselib文件夾及文件夾內的文件
scripts文件夾及文件夾內的文件
路由信息探測(–traceroute)
nmap.exe --traceroute 192.168.81.143
綜合探測(-A)
包括操作系統、服務版本和路由信息,也就是以上三者的集合
nmap.exe -A 192.168.81.143
掃描方式支持如下參數:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
-sU: UDP Scan
-sN/sF/sX: TCP Null, FIN, and Xmas scans
--scanflags : Customize TCP scan flags
-sI : Idle scan
-sY/sZ: SCTP INIT/COOKIE-ECHO scans
-sO: IP protocol scan -b : FTP bounce scan
常用掃描方式介紹:
TCP SYN Scan(-sS)
·半開放掃描(half-open scanning),沒有建立三次握手連接,速度很快
·nmap默認掃描方式
TCP connect scan(-sT)
·完成三次握手過程(SYN,SYN/ACK,ACK),當然,速度會降低
·容易被檢測
Udp scan(-sU)
·掃描UDP埠
·用來判斷埠是否開放
·能夠繞過一些無狀態防火牆
Null scan (-sN)
·不設置任何標誌位(tcp標誌頭是0)
FIN scan (-sF)
·只設置TCP FIN標誌位
Xmas scan (-sX)
·設置FIN,PSH,和URG標誌位
TCP ACK scan(-sA)
·不用於確定埠是否開放
·用於發現防火牆規則,確定防火牆規則是有狀態的還是無狀態的,哪些埠是被過濾的
·只設置ACK標誌位
Custom TCP scan(–scanflags)
·手動指定任意TCP標誌位來設計自定義掃描
·可用於繞過入侵檢測系統
·需要對通信協議有深入的理解
Idle scan(-sI)
·偽造掃描源地址
註:
該源地址主機必須在線
也可偽造源埠,默認為80埠
偽造源埠格式如下:
實例:
nmap.exe -sI 192.168.81.1:1234 192.168.81.143PING Scan(-sP)
·使用ping來掃描主機是否在線
No PING Scan(-PN)
·不用ping進行掃描
註:
PN兩個字母大寫
輸出格式:
-oN (標準)
-oX (XML)
-oS (ScRipT KIdd|3 oUTpuT)
nmap默認輸出均為大寫格式,使用-oS會隨機改寫字母大小寫
-oG (Grep)
-oA (輸出至所有格式)
設置文件名稱,一次性輸出標準(.nmap)、XML(.xml)和Grep(.gnmap)三種格式的文件
註:
0x06 小結
本文介紹了Windows平台下命令行使用Masscan和Nmap的方法,同時站在防禦的角度提醒大家,內網安全同樣重要,要謹慎對待。
點擊展開全文


※介紹幾種常見的提權方法,你用過幾個?
※部署1433蜜罐,成功抓取兩例木馬
※我有3個理由參加這個論壇,你呢?
※Katyusha掃描器:基於Telegram的全自動SQL注入工具
※Adwind惡意軟體已攻擊了1500多個企業,有什麼獨特的技術?
TAG:嘶吼RoarTalk |
※小技巧:Windows 10 Mobile中啟用Microsoft Edge PWA服務
※npj Computational Materials:快速準確預測晶格熱導率的「小技巧」
※滲透技巧——獲取Windows系統下DPAPI中的MasterKey
※比拼脫褲技巧,節奏VR遊戲《Pants Pants Revolution》已推出
※Skimming技巧
※Jupyter Notebook數據科學高效技巧!
※toString 小技巧
※Python 中查詢 sqlite3 的一些小技巧
※【Photoshop的小技巧】
※PDF與office office 技巧
※滲透技巧——利用Masterkey離線導出Chrome瀏覽器中保存的密碼
※Photoshop:摳圖技巧分享
※iPhone X的使用技巧
※Spring Cloud實戰小技巧必殺技
※使用chrome的小技巧
※Green Path HR 求職技巧研討會
※數據科學家效率提升必備技巧之Jupyter Notebook篇
※ps的rgb,cmky,調色的一些基本技巧
※看pony大神傳授化妝技巧,歐美妝容don't care
※滲透技巧——Windows下的剪貼板