基于zmap 的應(yīng)用層掃描器 zgrab (一)

基于zmap 的應(yīng)用層掃描器 zgrab (一)

[toc]

介紹

zgrab 是基于zmap無狀態(tài)掃描的應(yīng)用層掃描器,可以自定義數(shù)據(jù)包,以及ip,domain之間的關(guān)聯(lián)??捎糜诳焖僦讣y識別爆破等場景。

安裝

  • go環(huán)境

  • zgrab

go get github.com/zmap/zgrab
cd $GOPATH/src/github.com/zmap/zgrab
go build

使用

參數(shù)

zgrab -help

參數(shù) 注釋 示范
port 端口 --port 80
data 發(fā)送數(shù)據(jù)包并且返回響應(yīng) --data http-req-domain

輸入

zmap 掃描結(jié)果

輸入流可以使用zmap 的掃描結(jié)果,例如項目主頁的例子

zmap -p 443 --output-fields=* | ztee results.csv | zgrab --port 443 --tls --data=./http-req --output-file=banners.json

其中 http-req 為自定義的數(shù)據(jù)包

[root@pw_node_1 zgrab]# cat  http-req
GET / HTTP/1.1
Host: %s

域名列表

ip,domain 的文件,例如

[root@pw_node_1 zgrab]# cat  2.csv
36.51.255.148,tinyjun.com
36.51.255.148,i6618.com
36.51.255.148,www.linwen.com
36.51.255.148,lujunda.cn
36.51.255.148,haohaomai.com
36.51.255.148,it1208.com
36.51.255.148,www.lijinmao.com
36.51.255.148,lushao.cn
36.51.255.148,i6618.com
36.51.255.148,www.it-case.com
36.51.255.148,zhihub.com
36.51.255.148,wwww.yaseng.org

cat 2.csv | ./zgrab –port 80 --data http-req-domain

輸出

默認(rèn)輸出為json ,可以使用jq 工具解析

示范

掃描 127.0.0.1,localhost
效果如圖


命令行

[root@pw_node_1 zgrab]# cat  3.csv
127.0.0.1,localhost
[root@pw_node_1 zgrab]# cat  /tmp/3.csv  |   ./zgrab  --port  80  --data  http-req-domain  |  jq  "."
{
  "data": {
    "write": "GET / HTTP/1.1\r\nHost: localhost\r\n\r\n",
    "read": "HTTP/1.1 200 OK\r\nDate: Sun, 27 Dec 2015 17:33:43 GMT\r\nServer: Apache/2.2.15 (CentOS)\r\nLast-Modified: Fri, 11 Dec 2015 14:51:21 GMT\r\nETag: \"82db1-e-526a074ea5571\"\r\nAccept-Ranges: bytes\r\nContent-Length: 14\r\nConnection: close\r\nContent-Type: text/html; charset=UTF-8\r\n\r\nhello  yaseng\n"
  },
  "timestamp": "2015-12-28T01:33:43+08:00",
  "domain": "localhost",
  "ip": "127.0.0.1"
}
{
  "sni_support": true,
  "ca_file_name": null,
  "mail_type": null,
  "tls_version": null,
  "timeout": 10,
  "port": 80,
  "success_count": 1,
  "failure_count": 0,
  "total": 1,
  "start_time": "2015-12-28T01:33:43+08:00",
  "end_time": "2015-12-28T01:33:43+08:00",
  "duration": 0,
  "senders": 1000
}
[root@pw_node_1 zgrab]# curl  localhost
hello  yaseng
[root@pw_node_1 zgrab]#

自定義數(shù)據(jù)包

可以自定義http 數(shù)據(jù)包,例如

[root@pw_node_1 zgrab]# cat   http-req-domain
GET /1.php HTTP/1.1
Host: %d

實例:快速指紋識別

例如需要在一大批域名列表里面快速識別wordpress,并且輸出域名。
首先從header 里面找出wp 的指紋以

[root@pw_node_1 zgrab]# curl  -I  yaseng.org
HTTP/1.1 200 OK
Server: nginx/1.2.6
Date: Sun, 27 Dec 2015 17:59:25 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
X-Pingback: http://yaseng.org/xmlrpc.php
Via: 10.17.21.22
Set-Cookie: saeut=11111151239164757346; path=/; max-age=311040000
Set-Cookie: PHPSESSID=86483bb31b614b6f5a9513854a27e321; path=/; HttpOnly

使用 字符串 X-Pingback 來做識別指紋
識別命令為

cat domain.log     |  ./zgrab  --port  80  --data  http-req-domain   | grep   'X-Pingback'  |   jq  '.domain' |    awk -F '"'  '{print $2}'

其中 domain.log 為 1w ip 到域名 ip,domain 映射
分分鐘即可識別完,示范如圖


參考

1: https://github.com/zmap/zgrab

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容