0x01 前言

事先声明: 方法可能存在漏报(嗯, 在人品差的情况下) 
在这里我们使用某云作为案例。
首先从某云服务多次被Ddos时所显示出的522错误页面可以看出, 某云使用了百度的cdn服务, 此时我们可以大胆假设某云服务器的的公网IP在中国境内。

0x02 获取 CN IP

从apnic获取亚洲区域所分配到的IP, 过滤出 CN 的 IP. 
wget ftp://ftp.apnic.net/public/apnic/stats/apnic/delegated-apnic-latest

0x03 端口扫描 

使用 zmap 对全 CN 的 IP 的 80 端口进行扫描. 
./zmap -w cn.txt -p 80 -o 80.txt
当然实际情况不一定在80端口,看人品喽!
CN端口扫描
嗯, 在我的 vps 上大概需要 20 min, 所以还是先出去喝杯咖啡 : ) 

0x04 获取 banner 

使用 zmap 的 banner-grab 对扫描出来80端口开放的主机进行 banner 抓取 
修改
嗯, 在 http-req 中的 Host 写某云的URL, 并且使用 ulimit 将最大文件描述符数修改为一个较大的值, 
直接开扫:
./banner-grab-tcp -c 1500 -d http-req -f ascii -p 80 -t 30 -r 30 > oip.txt
banner
在这里, 考虑到某云打开挺慢的, 所以将连接超时和读超时都设置为30s, 这段时间可以出去看电影. 

0x05 数据处理

使用关键字

80sec
对获取的数据进行简单过滤
过滤
这 400+ 的服务器, 一般可以分为三种: 
  • baidu cdn server 
  • http proxy server 
  • dark clouds server 
    可以对这400+服务器再进行一次 banner 获取, 不设置 Host, 过滤掉 baidu cdn 错误页面, 空页面, 超时等乱七八糟的页面, 然后就可以得到结果了, 我去问了一下相关负责人某云的真实 IP, 果不其然 : ) 

    总耗时大概两个多小时。 

    0x06 猜想

    一些公司的测试服务器是放在外网的, 一般只有绑定了 Host 才能进行访问, 所以...