渗透测试备忘之信息收集

渗透测试备忘之信息收集

整理收集一下渗透测试中信息收集的各种方式方法。

个人把信息手机简单分类为域名相关、IP相关、敏感信息泄露相关三大类,但其实信息收集是一个错综复杂的过程,并不能真正的做分类,仅是为了便于文章书写整理,也不应该局限思维,很多方式方法都可以自由组合使用。

其实社工应当也是很大的一类,但本文不过多讨论社工。

IP相关

绕过CDN获取真实IP

现在大部分大站都使用CDN来快速响应大量用户的请求,在渗透大型网站过程中,拿到真实IP也是必须的,所以先来讨论一下获取真实IP的姿势。

判断是否开启CDN

http://ping.chinaz.com/ 站长之家
https://ping.aizhan.com/ 爱站网
利用一些各地服务器ping同名域名,看各地解析IP是否一致即可判断是否开启CDN

http://ipwhois.cnnic.net.cn/ 使用网信中心可以通过IP查到CNNIC及中国大陆的IP地址分配信息,可以确认公司的IP段,并且可以通过公司信息反查IP。

利用国外冷门DNS或子域名

很多网站为了节省资源使用并不会给国外的冷门DNS或者一些多级子域名做CDN,所以在这两方面可能可以直接获取真实IP。

大部分国内网站的CDN都是对内使用的,如果使用国外冷门DNS服务器解析可能可以直接解析到真实IP,下附命令及国外一些DNS服务器:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
nslookup http://foo.com 8.8.8.8

/*
Google Public DNS:8.8.8.8、8.8.4.4

Norton DNS:198.153.192.1、198.153.194.1

OpenDNS:208.67.222.222、208.67.220.220

OpenDNS Family:208.67.222.123、208.67.220.123

Comodo Secure DNS:156.154.70.22、156.156.71.22

ScrubIt DNS:67.138.54.100、207.225.209.66

DNS Advantage:156.154.70.1、156.154.71.1
*/

RSS订阅、邮件订阅等

很多网站提供了RSS或者邮件订阅等服务,服务器向我们发送RSS或者邮件的时候就可以获取到真实的IP,或者同一网段的IP。

利用网络空间搜索器

https://fofa.so/ fofa比zoomeye和shodan好的地方就是可以搜索title语法,利用网站title信息来进行查询,成功率很高。

域名解析历史记录查询

https://www.virustotal.com/#/domain/foo.com

https://toolbar.netcraft.com/site_report?url=foo.com

https://x.threatbook.cn/ 微步也可以查到但是部分需要付费

有些网站在使用CDN之前的IP解析也会被历史解析记录到可以试试。

网站自身漏洞泄露

像探针页面、phpinfo页面、或者利用诸如ssrf等漏洞远程访问自己的服务器。

C段扫描

C段扫描即因为通常情况下机房给予企业的外网IP都是在同一C段下连续的IP,所以可以对IP进行C段扫描看看是否有该目标的其他可突破IP。

可以利用各种搜索引擎(IP为举例):
google的site:192.168.1.*
shodan的net:192.168.1.0/24
zoomeyed的cidr:192.168.1.0/24

也可以利用一些在线服务:
https://www.5kik.com/c/
http://www.webscan.cc/

或者一些工具:
http://www.91ri.org/7915.html
http://www.7kb.org/817.html

利用Nmap的(比较耗时且使用的是ping方式)
namp -sP ip/24 -oN c:\ip.txt
扫描网站服务器c段,并且生成报告

还有很多别的方式这里只是简单举例

获得IP之后的端口扫描

中小型企业直接用神器nmap扫描就好,这里主要介绍一下对大型企业大量IP的端口扫描方案:
masscan+nmap,利用masscan号称6分钟扫遍全网端口的效率来简单扫描开放的端口,然后利用nmap再进行识别端口的详细扫描。
相应的命令为masscan XX.XXX.XX.XXX -p1-65535 --rate 1000-sV -Pn --version-all -v -T4其中-sV是端口识别;-Pn是跳过发现IP端口的过程,因为这个过程在之前由masscan完成了;–version-all是提高端口识别的准确度,保证对每个端口尝试每个探测报文;-v是使用细节模式提高详细度,可以输出扫描过程的更多信息;-T4,如果用于有足够的带宽或以太网连接,建议使用-T4选项,相对默认扫描能更快。
接下来就是对端口扫描出来的结果分析利用了。

域名相关

whois

https://whois.icann.org/en

https://www.whois.net/ whois.net

https://x.threatbook.cn/ 微步威胁情报查询

http://whois.chinaz.com/ 站长之家

可查询到注册人姓名、邮箱、注册地、电话、DNS服务器、注册公司信息等

利用姿势:

  1. 对注册人姓名、邮箱、电话进行反查旁站及域名和IP的历史信息
  2. 对注册信息进行社工
  3. 针对以上信息制作弱口令 猜密码用于猜解密码

网站备案号

http://icp.chinaz.com/ 站长之家

http://www.miibeian.gov.cn/publish/query/indexFirst.action 工信部备案查询

利用姿势:大中型企业的网络资产中,肯定远不止一个主域名,利用备案反查可以发现同一备案号下很多隐藏的域名。

SSL证书查询

https://censys.io/

https://crt.sh/

https://myssl.com/

https://www.chinassl.net/ssltools/ssl-checker.html

利用姿势:一样是利用反查来查询隐藏的主域名。

子域名、目录挖掘

子域名枚举备忘录

爬虫式扫描

使用爬虫逐级遍历目录例如awvs的目录扫描以及burp的spider等工具

字典扫描

字典扫描的重点还是在于字典

目录扫描工具:
https://github.com/Strikersb/webdirscan 王松写的目录扫描器
御剑

子域名扫描工具
https://github.com/lijiejie/subDomainsBrute 高并发的DNS暴力枚举 优势在于速度快
https://www.waitalone.cn/seay-layer-42.html Layer子域名挖掘机 优势在于可以探测端口、服务器信息、服务器状态
https://phpinfo.me/domain/ 某大佬的在线子域名爆破|Domain fuzz

利用搜索引擎:

常用google、bing,扫子域名的常用语法 site:,其中bing提供了API,很多子域名扫描机也是基于bing的API实现的,详情请见:bing-web-search-api

旁站查询

旁站即同一IP下服务器搭载的不同web应用,一般的旁站查询工具都是使用bing的API,其实直接用google,bing使用ip:语法查询也可,这里分享几个在线查询站。
http://www.webscan.cc/
http://s.tool.chinaz.com/same

WEB应用及容器识别

非常第一网站是修改过的wordpress可以使用wpscan或者尝试/wp-admin /wp-content /readme.html等目录

一般是从HTTP头部、Banner、网站目录、使用的js文件等暴露出来的信息来进行识别

https://builtwith.com/ 找出网站是用什么创建的

http://www.yunsee.cn/ 云悉 适合国内各种CMS识别

https://www.wappalyzer.com/ 有浏览器插件版本

https://www.zoomeye.org/ 钟馗之眼偏向WEB应用

https://www.shodan.io/ 撒旦之眼偏向网络设备(路由、摄像头等)和服务器

这两个搜索引擎在针对性渗透测试中常用的语法
site:,hostname:,CIDR:(指定网段),port:,keyword:,ip:

然后可以搜索cve、expdb、乌云镜像等之类的vuldb网站来查询是否有历史遗留的版本漏洞

敏感信息泄露

现在越来越多安全问题突破口是通过“人”的方式了,敏感信息泄露就是其中很大的一部分,最近很热门的就是华住的程序员把SQL带明文密码的config文件暴露在github导致了几亿数据的泄露。还有的敏感目录扫描会暴露管理后台、使用的CMS或editor等信息,从而找到exp进行突破。

google hacking

google在安全方面的利用方式已经自成一派,详情可见:
https://www.exploit-db.com/google-hacking-database/

这里只说一下有关敏感信息的常见姿势

敏感文件(.mdb,.excel,.word,.zip,.rar),查看是否存在源代码泄露。常见有.git文件泄露,.svn文件泄露,.DB_store文件泄露,WEB-INF/web.xml泄露。

#举例几个常见的语法

#git文件泄露
inurl:"/.git/head"        # https://github.com/lijiejie/GitHack git泄露的利用
#敏感文件泄露
filetype:sql intitle:"index of"
filetype:mdb intitle:"index of"
intitle:"index of" etc
inurl:service.pwd
site:xxx.com filetype:xls,conf intext:pass
#管理后台
site:xxx.com 管理/后台/admin/login

googlehack也是一个可以很灵活运用的方式,比如当你收集到网站应用目录或者参数的大致命名规律或者指纹信息,就可以用googlehack利用起来试试。

另外推荐一个https://github.com/laramies/theHarvester 利用搜索引擎社工神器

JS文件敏感信息泄露

参考:http://wooyun.jozxing.cc/static/drops/web-6710.html
大致分为三类:

  1. 泄露后台管理敏感路径或API(参数)
  2. 泄露http-only保护的cookie
  3. 泄露用户敏感信息

github信息泄露

一个github敏感信息挖掘机供参考:
https://github.com/UnkL4b/GitMiner GitMiner

github敏感信息的搜寻方式大致思路就是利用域名,员工,IP等方式搜索相关源码或配置文件。