03.04 黑客手中大殺器,號稱最快掃描器

0x00 前言


Masscan號稱最快的互聯網端口掃描器,本文來探測一下Masscan在Windows下的安裝和使用。


masscan的掃描結果類似於nmap,在內部,它更像scanrand, unicornscan, and ZMap,採用了異步傳輸的方式。它和這些掃描器最主要的區別是,它比這些掃描器更快。而且,masscan更加靈活,它允許自定義任意的地址範和端口範圍。



0x01 Windows下編譯Masscan


Masscan需要經過編譯才能生成exe文件在Windows下使用。


Masscan下載地址:


https://github.com/robertdavidgraham/masscan/


編譯工具:vs2012


編譯選項中未添加vs2012的編譯配置,所以直接編譯會報錯



解決方法:


在string_s.h中添加vs2012配置信息


位於misc-string_s.h,添加代碼如下:

#if defined(_MSC_VER) && (_MSC_VER == 1700)

/*Visual Studio 2012*/

# include <stdio.h>

# include <string.h>

# define strcasecmp _stricmp

# define memcasecmp _memicmp

# ifndef PRIu64

# define PRIu64 "llu"

# define PRId64 "lld"

# define PRIx64 "llx"

# endif

編譯成功,執行masscan.exe,提示Packet.dll: not found
如下圖


黑客手中大殺器,號稱最快掃描器

Packet.dll獲取方法:


安裝WinPcap後在System32下獲得


WinPcap下載地址:


https://www.winpcap.org/install/default.htm


在另一系統安裝WinPcap,在System32下找到Packet.dll和Wpcap.dll,複製到測試系統下masscan.exe的同級目錄,再次運行


程序正常啟動,但是無法掃描,報錯如下:


FAIL: Error opening adapter: 系統找不到指定的設備。 (20) adapter[\\Device\\NPF_{71D19B82-0818-4685-A8E7-A6C7C812F2EA}].init: failed

0x02 安裝WinPcap
官網下載安裝即可。


https://www.winpcap.org/install/default.htm

0x03 Masscan使用


掃描指定網段和端口:


masscan.exe -p80 192.168.81.1/24
找到一臺開啟80端口的服務器,回顯如下:


Discovered open port 80/tcp on 192.168.81.143
掃描指定主機所有開放的端口:


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
掃描結果可以以不同的格式輸出:(XML是默認格式)


-oX <filespec> (XML)/<filespec>

-oB <filespec> (Binary)/<filespec>

-oG <filespec> (Grep)/<filespec>

-oJ <filespec> (Json)/<filespec>

-oL <filespec> (List)/<filespec>

-oU <filespec> (Unicornscan format)/<filespec>

默認情況,masscan開啟如下配置:


-sS: 半開放掃描,不完成完整的TCP/IP連接


-Pn: 跳過主機發現


-n: 跳過DNS解析


--randomize-hosts:隨機化掃描


--send-eth:使用libpcap數據包傳輸詳細參數



IP地址範圍,有三種有效格式:1、單獨的IPv4地址 2、類似"10.0.0.1-10.0.0.233"的範圍地址 3、CIDR地址 類似於"0.0.0.0/0",多個目標可以用都好隔開


-p <ports>> 指定端口進行掃描/<ports>

--banners 獲取banner信息,支持少量的協議

--rate <packets-per-second> 指定發包的速率/<packets-per-second>

-c <filename>, --conf <filename> 讀取配置文件進行掃描/<filename>/<filename>

--echo 將當前的配置重定向到一個配置文件中

-e <ifname> , --adapter <ifname> 指定用來發包的網卡接口名稱/<ifname>/<ifname>

--adapter-ip <ip-address> 指定發包的IP地址/<ip-address>

--adapter-port <port> 指定發包的源端口/<port>

--adapter-mac <mac-address> 指定發包的源MAC地址/<mac-address>

--router-mac

指定網關的MAC地址

--exclude IP地址範圍黑名單,防止masscan掃描

--excludefile <filename> 指定IP地址範圍黑名單文件/<filename>

--includefile,-iL <filename> 讀取一個範圍列表進行掃描/<filename>

--ping 掃描應該包含ICMP回應請求

--append-output 以附加的形式輸出到文件

--iflist 列出可用的網絡接口,然後退出

--retries 發送重試的次數,以1秒為間隔

--nmap 打印與nmap兼容的相關信息

--http-user-agent <user-agent> 設置user-agent字段的值/<user-agent>

--show [open,close] 告訴要顯示的端口狀態,默認是顯示開放端口

--noshow [open,close] 禁用端口狀態顯示

--pcap <filename> 將接收到的數據包以libpcap格式存儲/<filename>

--regress 運行迴歸測試,測試掃描器是否正常運行

--ttl 指定傳出數據包的TTL值,默認為255

--wait <seconds> 指定發送完包之後的等待時間,默認為10秒/<seconds>

--offline 沒有實際的發包,主要用來測試開銷

-sL 不執行掃描,主要是生成一個隨機地址列表

--readscan <binary-files> 讀取從-oB生成的二進制文件,可以轉化為XML或者JSON格式./<binary-files>

--connection-timeout <secs> 抓取banners時指定保持TCP連接的最大秒數,默認是30秒。/<secs>


Nmap功能


Masscan可以像nmap許多安全人員一樣工作。這裡有一些其他類似nmap的選項:


通過傳遞–nmap開關可以看到類似nmap的功能。


1. -iL filename:從文件讀取輸入。

2. ‐‐exclude filename:在命令行中排除網絡。

3. ‐‐excludefile:從文件中排除網絡。

4. -S:欺騙源IP。

5. -v interface:詳細輸出。

6. -vv interface:非常冗長的輸出。

7. -e interface:使用指定的接口。

8. -e interface:使用指定的接口。

已經編譯後的exe文件:

  • masscan.zip

上述內容不知道大家學習到了嗎?網絡世界的安全漏洞每天都會出現,安全知識和安全意識每個公民都應該瞭解和學習,有想學習網絡安全技能的小夥伴可以隨時私信我哦!


分享到:


相關文章: