利用Zgrab绕CDN找真实IP
作者:admin | 时间:2018-8-1 19:38:21 | 分类:黑客工具 隐藏侧边栏展开侧边栏
1. 安装Zmap
1
|
yum install zmap git wget
|
如果提示找不到zmap请自行添加最新的源
CentOS6:
1
|
yum install https: //dl .fedoraproject.org /pub/epel/epel-release-latest-6 .noarch.rpm
|
CentOS7:
1
|
yum install https: //dl .fedoraproject.org /pub/epel/epel-release-latest-7 .noarch.rpm
|
2. 安装Go
因为yum install不一定能下到最新的go,所以建议手动安装。
1
2
3
4
|
wget https: //storage .googleapis.com /golang/go1 .8.1.linux-amd64. tar .gz
tar -C /usr/local -xzf go1.8.1.linux-amd64. tar .gz
export PATH=$PATH: /usr/local/go/bin
export GOPATH= /usr/local/go/bin/
|
3. 安装Zgrab
1
2
3
|
go get github.com /zmap/zgrab
cd $GOPATH /src/github .com /zmap/zgrab
go build
|
4. Zgrab使用
Zgrab配和Zmap在200M带宽的机器上扫遍国区所有80端口大概是4小时以内(I7+16G+240G SSD RAID 0),网速和硬盘性能比较影响最终速度。至于扫全球的请准备好1T以上的SSD
1
|
. /zgrab --help
|
以下扫描操作一般不为一般VPS运营商所允许,你可能会受到警告,可能会被封机器,甚至注销账户,本教程仅提供操作方法的学习,由此引起一切后果概不负责。
以抓取www.abc.com为例子:
1
|
cd /usr/local/go/bin/src/github .com /zmap/zgrab
|
修改http请求头
1
|
vi http-req
|
Http请求头的格式一般为:
1
2
3
|
GET / HTTP /1 .1
Host: www.abc.com
(空行)
|
(此处记得留着一个空行,后面Zgrab还有useragent,keep-alive等可以自己填,如有疑惑可参考 RFC 2616)
如果要抓取具体页面,比如www.abc.com/abc/
那么:
1
2
3
|
GET /abc/ HTTP /1 .1
Host: www.abc.com
(空行)
|
下载目标地区的ip地址列表:
1
|
wget http: //www .ipdeny.com /ipblocks/data/countries/cn .zone
|
zmap批量扫描目标地区80端口
1
|
zmap -w cn.zone -p 80 -B 200M -o cn.80
|
其中-B限制速度,防止ssh连接丢失。当然也可以nohub &,不赘述。 如果提示找不到网卡 -i interface
如果你要扫全球
1
2
3
|
wget http: //www .ipdeny.com /ipblocks/data/countries/all-zones . tar .gz
tar zxvf all-zones. tar .gz
cat *.zone | zmap -p 80 -B 200M -o world.80
|
扫完的80端口保留在-o的输出文件中,然后我们用Zgrab批量抓取网站
1
|
cat cn.80 | . /zgrab --port 80 -http-user-agent= "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36" -timeout=30 -senders=2000 -data= "./http-req" --output- file =cnresult.txt
|
timeout应该不用解释了 senders作为参考 一般设置500-3000
你也可以模拟手机用户
1
|
cat cn.80 | . /zgrab --port 80 -http-user-agent= "Mozilla/5.0 (iPhone; CPU iPhone OS 9_3 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13E233 MicroMessenger/6.3.15 NetType/WIFI Language/zh_CN" -timeout=30 -senders=2000 -data= "./http-req" --output- file =cnresult.txt
|
如果目标是443端口(zmap里-p也请设置443)
1
|
cat cn.443 | . /zgrab --port 443 --tls -http-user-agent= "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36" -timeout=30 -senders=100 -data= "./http-req" --output- file =cnresult.txt
|
扫完以后筛选(目标网页chrome下F12查看源代码,挑个只有这个网站有的关键词)
1
|
cat cnresult.txt | grep -E "关键词" > cnpr.txt
|
去掉阿里云高防ip,CF代理ip
1
2
|
sed -e '/aliyungf/d' cnpr.txt > cn.target
sed -e '/cfduid/d' cnpr.txt > cn.target
|
一体式:
1
2
3
|
wget http: //www .ipdeny.com /ipblocks/data/countries/hk .zone
zmap -w hk.zone -p 80 -B 100M -o hk.res
. /zgrab -input- file =hk.res -senders=2000 -data= "./http-req" | grep -E 'memberlogin' >> x.txt
|
当然Zgrab还有各种玩法~欢迎各位探讨