信息收集之主機發現:masscan



信息收集之主機發現:nmap


Masscan號稱是最快的互聯網端口掃描器,最快能夠在六分鐘內掃遍互聯網。
python

https://github.com/robertdavidgraham/masscanlinux

安裝masscan

在 Debian/Ubuntu 上編譯 masscan:git

$ sudo apt-get install git gcc make libpcap-dev
$ git clone https://github.com/robertdavidgraham/masscan
$ cd masscan
$ make
$ cp bin/masscan /bin/

masscan

經過 masscan -h 能夠看到 masscan的具體用法,其中 masscan與上文講到的nmap是部分兼容的,經過masscan --nmap方式,列舉出兼容的參數,能夠與nmap無縫銜接。github

usage:
masscan -p80,8000-8100 10.0.0.0/8 --rate=10000
 scan some web ports on 10.x.x.x at 10kpps
masscan --nmap
 list those options that are compatible with nmap
masscan -p80 10.0.0.0/8 --banners -oB <filename>
 save results of scan in binary format to <filename>
masscan --open --banners --readscan <filename> -oX <savefile>
 read binary scan results in <filename> and save them as xml in <savefile>

masscan相對於nmap沒有這麼大而全,可是依然是比較流行的端口掃描工具。它比nmap這些掃描器更快,並且masscan更加靈活,它容許自定義任意的地址範圍和端口範圍。web

masscan的發包速度很是快,在windows中,它的發包速度能夠達到每秒30萬包;在Linux中,速度能夠達到每秒160萬。masscan在掃描時會隨機選擇目標IP,因此不會對遠程的主機形成壓力。默認狀況下,masscan的發包速度爲每秒100包,爲了提升速度,能夠設置爲 --rate 100000shell

詳細參數

與nmap兼容的參數再也不贅述,接下來說解一下masscan獨有的使用方法。json

  • IP地址範圍,有三種有效格式,一、單獨的IPv4地址 二、相似"10.0.0.1-10.0.0.233"的範圍地址 三、CIDR地址 相似於"0.0.0.0/0",多個目標能夠用都好隔開windows

  • -p <ports,--ports <ports>> 指定端口進行掃描安全

  • --banners 獲取banner信息,支持少許的協議微信

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

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

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

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

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

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

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

  • --router-mac <mac address> 指定網關的MAC地址

  • --exclude <ip/range> IP地址範圍黑名單,防止masscan掃描

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

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

  • --ping 掃描應該包含ICMP迴應請求

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

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

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

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

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

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

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

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

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

  • --ttl <num> 指定傳出數據包的TTL值,默認爲255

  • --wait <seconds> 指定發送完包以後的等待時間,默認爲10秒

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

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

  • --readscan <binary-files> 讀取從-oB生成的二進制文件,能夠轉化爲XML或者JSON格式.

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

示例

1.掃描指定網段範圍的指定端口
使用方法相似於nmap,掃描指定網段範圍的指定端口

masscan -p80,8080-8100 10.0.0.0/8

這條命令將完成以下工做:

  • 掃描10.x.x.x子網,大約有1600萬個地址

  • 掃描端口80和8000-8100範圍的端口段

  • 打印結果到標準輸出,也能夠重定向到一個文件

可使用 --echo 將當前的配置輸出到一個配置文件,利用 -c 來制定配置文件進行掃描:

masscan -p80,8000-8100 10.0.0.0/8 --echo > scan.conf

masscan -c scan.conf --rate 1000

2.獲取Banner

masscan不只僅只是測試端口是否開放,它還能在完成TCP鏈接的同時獲取目標應用程序的Banner信息。

masscan 10.0.0.0/8 -p80 --banners --source-ip x.x.x.x

含義是掃描10.x.x.x網段80端口的開放信息,而且獲取banner信息。--source-ip 是指定源IP,這個ip必須指定獨立有效的IP地址。

3.全網掃描 (輕易不要玩,容易被請去喝茶)

能夠對整個互聯網發起掃描,使用的命令以下

masscan 0.0.0.0/0 -p0-65535

咱們能夠經過設置--excludefile作爲黑名單,來讓掃描器掃描時忽略一些網段,並將掃描的結果輸出到指定文件中。語法以下:

masscan 0.0.0.0/0 -p0-65535 --excludefile exclude.txt -oX scan.xml

掃描器使用的是默認的速率100包/秒,若是是掃描全網的話,須要提升速度。這條命令將以每秒10萬包的速率進行掃描:

masscan 0.0.0.0/0 -p0-65535 --rate 100000

若是不想輸入命令,能夠經過建立配置文件,而後用加載配置文件的方式運行。配置文件的內容以下所示:

rate = 100000
output-format = xml
output-status = all
output-filename = scan.xml
ports = 0-65535
range = 0.0.0.0-255.255.255.255
excludefile = exclude.txt

掃描時,用 -c 加載配置文件 便可完成掃描。

結果輸出

默認狀況下,masscan會生成至關大的文本文件,可是很容易將它們轉換爲任何其餘格式。支持五種輸出格式:

  • xml:只需使用參數-oX 。或者,使用參數--output-format xml和--output-filename <filename>

  • 二進制:這是masscan內置格式。它產生的文件要小得多,所以,當我掃描Internet時,磁盤不會填滿。可是,它們須要解析。命令行選項--readscan將讀取二進制掃描文件。--readscan與該-oX選項一塊兒使用將生成結果文件的XML版本。

  • grepable:這是Nmap -oG輸出的實現,能夠經過命令行工具輕鬆地對其進行解析。只需使用參數-oG 。或者,使用參數--output-format grepable和 --output-filename <filename>

  • json:這會將結果保存爲JSON格式。只需使用參數-oJ 。或者,使用參數--output-format json和 --output-filename <filename>

  • list:這是一個簡單的列表,每行一個主機和端口對。只需使用參數-oL 。或者,使用參數 --output-format list和--output-filename <filename> 。格式爲:

<port state> <protocol> <port number> <IP address> <POSIX timestamp>  
open tcp 80 XXX.XXX.XXX.XXX 1390380064



最後

最近有朋友說在後臺和七夜交流技術不是很方便,下面是七夜的微信號,想進行技術交流的能夠加他,備註公衆號,賣貨的,伸手黨不要加,謝謝。

推薦閱讀

從沙盒逃逸看Python黑科技(下篇)

從沙盒逃逸看Python黑科技(上篇)

不同的 "反彈Shell" 系統剖析

HW : Cobalt Strike 應該這樣學

WebShell通用免殺的思考

WebShell "幹掉" RASP

無文件執行:一切皆是shellcode (中)

無文件執行:一切皆是shellcode (上)

linux無文件執行— fexecve 揭祕

沙盒syscall監控組件:strace and wtrace

無"命令"反彈shell-逃逸基於execve的命令監控(上)

APT組織武器:MuddyC3泄露代碼分析

Python RASP 工程化:一次入侵的思考



若是你們喜歡這篇文章的話,請不要吝嗇分享到朋友圈,並置頂公衆號。

關注公衆號:七夜安全博客

回覆【11】:領取Sandboxie源碼

  • 回覆【1】:領取 Python數據分析 教程大禮包

  • 回覆【2】:領取 Python Flask 全套教程

  • 回覆【3】:領取 某學院 機器學習 教程

  • 回覆【4】:領取 爬蟲 教程

  • 回覆【5】:領取編譯原理 教程

  • 回覆【6】:領取滲透測試教程

  • 回覆【7】:領取人工智能數學基礎

  • 回覆【8】:領取 python神經網絡 教程 

  • 回覆【9】:領取 安卓逆向 教程  


喜歡
分享
or

本文分享自微信公衆號 - 七夜安全博客(qiye_safe)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索