當前位置:
首頁 > 新聞 > 滲透技巧:Windows平台運行Masscan和Nmap

滲透技巧: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的方法,同時站在防禦的角度提醒大家,內網安全同樣重要,要謹慎對待。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

介紹幾種常見的提權方法,你用過幾個?
部署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下的剪貼板