信息收集之寻找真实ip
一、找到没有挂在CDN子域名
当找到子域名的真实ip时,将ip反查,主站很大几率是在这个ip或ip段内
子域名查找的原理是基于字典去跑和基于dns服务器去寻找
寻找子域的方法
1. 通过谷歌语法:site:baidu.com -www -baike 一个个收集子域
2. 利用在线网站:微步社区、云悉
3. 利用工具收集:fierce、Sublist3r、OneForAll、Layer子域名挖掘机
4. 基于https证书寻找子域:证书透明度(Certificate Transparency)是证书授权机构的一个项目,证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名、子域名和邮件地址。查找某个域名所属证书的最简单的方法就是使用搜索引擎搜索一些公开的CT日志。在线网站:https://crt.sh
5. 基于dns历史记录寻找子域:通过查询DNS服务器,查询该域下的解析记录。dns 的工作原理,就是它以前有给这个ip做过域名解析,现在我们通过他的输入目标域名,来获取历史的解析记录。他会帮我们将这个域名所对应的ip(还解析过其他的域名对应这个ip)下的所有其他域名解析出来, 获取这个ip的(旁站,可能包含目标的子域名),如果找到的是cdn的ip,凉了,换个方式
6.-----分割线----下面是基于真实ip查找子域
7. 真实ip反查子域
8.利用网络空间引擎寻找子域:FOFA、钟馗之眼
二、ping检测查找真实ip
多地ping目标站点,如果ping到多个ip就是挂载了CDN
-
ping主域名:
ping bai.com
和ping www.baiu.com
查找的ip是不一样的,以前用CDN的时候有个习惯,只让WWW域名使用cdn,秃域名不使用,为的是在维护网站时更方便,不用等cdn缓存。所以试着把目标网站的www去掉,ping一下看ip是不是变了 -
国外ping:大部分 CDN 厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,此时我们使用国外的DNS查询,很可能获取到真实IP
三、通过DNS历史解析记录寻找真实ip
如果该网站以前没有用过CDN近些时期才用,并且没有换ip和没有删除DNS历史域名对应ip的记录,那就可以通过域名对应ip来历史解析查询,查最早的域名对应ip解析,如果是同一个ip就很有可能就是目标的真实ip
四、网站邮件头信息寻找真实ip
通过注册、找回密码还有订阅他的内部邮箱(非第三方邮箱系统),让目标发送邮件给我们。查看邮件头信息(html信息),获取到网站的真实IP
限制:只有当他的邮件服务系统和目标站点在同一个ip下在有用
五、用 Zmap 扫全网:通过扫描所有IP,根据目标网站的特征回应,找出其IP地址
通过扫描全网开放80端口的ip,过滤出开放80端口的ip,抓取这些ip的banner信息。然后将banner信息与目标网站host和关键字进行对应来确认目标网站的真实ip
六、利用脚本全网扫描绕过CDN获取真实ip:w8fuckcdn
w8fuckcdn
使用:
w8fuckcdn使用:
第一步安装:~# git clone https://github.com/boy-hack/w8fuckcdn
cat README.MD查看帮助信息:提示需要安装两个模块,根据里边的环境提示安装
第二步安装模块:~# pip install gevent dnspython或(pip install gevent 以及 pip install dnspython)
第三步:扫描子域名
~# python get_ips.py -d baidu.com(先扫描他的子域名,得到他的ip段)
或者你不像用他的子域名扫描,也可以自己收集别的子域名写到target.txt里面,
然后运行:~# python get_ips.py -f target.txt --ips ,同样能得到子域名的ip段
这个扫描会在完成之后将ip段保存到target.log里面,方便后面扫描用
第四步:对config.py配置目标信息,用leafpad打开 confng.py
通过找目标的关键字可以有目的性的找真实ip,
比如查看源码title里面的关键字等
第五步:扫描
~# python fuckcdn.py
这个工具会有一定的误差,所以真实ip需要自己进一步验证,一些比较大的网站,找不到也是正常的
详细使用方法可以看文件里面的README.md文档
可能出现的问题:
1)如果运行是报错缺少模块,缺少哪个就装哪个,步骤参考上面的
2)如果报错:sh: 1: /root/w8fuckcdn-master/bin/linux_64/masscan: Permission denied
是因为masscan,没有执行权限
cd /root/w8fuckcdn-master/bin/linux_64/,到这个目录下面,运行:chmod 777 * (赋予所有文件的权限,看自己所在目录配置)
3)如果报错:/root/tools/w8fuckcdn-master/bin/linux_64/masscan: error while loading shared libraries: libpcap.so.1: cannot open shared object file: No such file or directory
No valid IP address found
参考这个文章:https://www.jianshu.com/p/a6eaa947256c(kali里面不用yum,用apt-get)
(注意:Windows需要安装WinPcap,可以在这个winpcap的官网下载)
未理解 >利用SSL证书寻找真实原始IP >文章地址
使用给定的域名
假如你在xyz123boot.com上托管了一个服务,原始服务器IP是136.23.63.44。
而CloudFlare则会为你提供DDoS保护,Web应用程序防火墙和其他一些安全服务,以保护你的服务免受攻击。为此,你的Web服务器就必须支持SSL并具有证书,此时CloudFlare与你的服务器之间的通信,就像你和CloudFlare之间的通信一样,会被加密(即没有灵活的SSL存在)。这看起来很安全,但问题是,当你在端口443(https://136.23.63.44:443)上直接连接到IP时,SSL证书就会被暴露。此时,如果攻击者扫描0.0.0.0/0,即整个互联网,他们就可以在端口443上获取在xyz123boot.com上的有效证书,进而获取提供给你的Web服务器IP。
目前Censys工具就能实现对整个互联网的扫描,Censys是一款用以搜索联网设备信息的新型搜索引擎,安全专家可以使用它来评估他们实现方案的安全性,而黑客则可以使用它作为前期侦查攻击目标、收集目标信息的强大利器。Censys搜索引擎能够扫描整个互联网,Censys每天都会扫描IPv4地址空间,以搜索所有联网设备并收集相关的信息,并返回一份有关资源(如设备、网站和证书)配置和部署信息的总体报告。
而攻击者唯一需要做的就是把上面用文字描述的搜索词翻译成实际的搜索查询参数。
xyz123boot.com证书的搜索查询参数为:parsed.names:xyz123boot.com
只显示有效证书的查询参数为:tags.raw:trusted
攻击者可以在Censys上实现多个参数的组合,这可以通过使用简单的布尔逻辑来完成。
组合后的搜索参数为:parsed.names: xyz123boot.com and tags.raw: trusted
Censys将向你显示符合上述搜索条件的所有标准证书,以上这些证书是在扫描中找到的。
要逐个查看这些搜索结果,攻击者可以通过单击右侧的“Explore”,打开包含多个工具的下拉菜单。What’s using this
certificate? > IPv4 Hosts此时,攻击者将看到一个使用特定证书的IPv4主机列表,而真实原始 IP就藏在其中。
你可以通过导航到端口443上的IP来验证,看它是否重定向到xyz123boot.com?或它是否直接在IP上显示网站?
使用给定的SSL证书
如果你是执法部门的人员,想要找出一个隐藏在cheesecp5vaogohv.onion下的儿童色情网站。做好的办法,就是找到其原始IP,这样你就可以追踪到其托管的服务器,甚至查到背后的运营商以及金融线索。
隐藏服务具有SSL证书,要查找它使用的IPv4主机,只需将"SHA1 fingerprint"(签名证书的sha1值)粘贴到Censys
IPv4主机搜索中,即可找到证书,使用此方法可以轻松找到配置错误的Web服务器。