这篇文章介绍外网打点的信息收集手法。
1. 简介
渗透的本质是信息收集
信息收集也叫做资产收集
信息收集是渗透测试的前期主要工作,是非常重要的环节,收集足够多的信息才能方便接下来的测试,信息收集主要是收集网站的域名信息、子域名信息、目标网站信息、目标网站真实IP、敏感/目录文件、开放端口和中间件信息等等。通过各种渠道和手段尽可能收集到多的关于这个站点的信息,有助于我们更多的去找到渗透点,突破口。这里先给出两张思维导图:
1.
2. 信息收集的分类
1、 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等)
2、 网站指纹识别(包括,cms,cdn,证书等) dns记录
3、 whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)
4、 子域名收集,旁站,C段等
5、 google hacking针对化搜索,word/电子表格/pdf文件,中间件版本,弱口令扫描等
6、 扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等
7、 传输协议,通用漏洞,exp,github源码等
3. 常见的方法
\1. whois查询
域名在注册的时候,需要填入个人或者企业信息,如果没有设置隐藏属性可以查询出来,通过备案号查询个人或者企业信息,也可以whois反查注册人邮箱、电话、机构、反查更多得域名和需要的信息。
\2. 收集子域名
域名分为根域名和子域名
moonsec.com 根域名顶级域名
www.wiki.moonsec.com 子域名也叫三级域名四级如此类推
\3. 端口扫描
服务器需要开放服务,就必须开启端口,常见的端口是tcp 和udp两种类型
范围 0-65535 通过扫得到的端口,访问服务规划下一步渗透。
\4. 查找真实ip
企业的网站,为了提高访问速度,或者避免黑客攻击,用了cdn服务,用了cdn之后真实服务器ip会被隐藏。
\5. 探测旁站及C段
旁站:一个服务器上有多个网站通过ip查询服务器上的网站
c段:查找同一个段服务器上的网站。可以找到同样网站的类型和服务器,也可以获取同段服务器进行下一步渗透。
6.网络空间搜索引擎
通过这些引擎查找网站或者服务器的信息,进行下一步渗透。
7.扫描敏感目录/文件
通过扫描目录和文件,大致了解网站的结构,获取突破点,比如后台,文件备份,上传点。
\8. 指纹识别
获取网站的版本,属于哪些cms管理系统,查找漏洞exp,下载cms进行代码审计等。
4. 在线whois查询
通过whois来对域名信息进行查询,可以查到注册商、注册人、邮箱、DNS解析服务器、注册人联系电话等,因为有些网站信息查得到,有些网站信息查不到,所以推荐以下信息比较全的查询网站,直接输入目标站点即可查询到相关信息。(可能有些目标做了whois信息保护,导致看不到想要的信息,这时可以选择使用国外的查询网站接口,很有可能就没有做保护!!)
站长之家域名WHOIS信息查询地址 http://whois.chinaz.com/
爱站网域名WHOIS信息查询地址 https://whois.aizhan.com/
腾讯云域名WHOIS信息查询地址 https://whois.cloud.tencent.com/
美橙互联域名WHOIS信息查询地址 https://whois.cndns.com/
爱名网域名WHOIS信息查询地址 https://www.22.cn/domain/
易名网域名WHOIS信息查询地址 https://whois.ename.net/
中国万网域名WHOIS信息查询地址https://whois.aliyun.com/
西部数码域名WHOIS信息查询地址 https://whois.west.cn/
新网域名WHOIS信息查询地址 http://whois.xinnet.com/domain/whois/index.jsp
纳网域名WHOIS信息查询地址 http://whois.nawang.cn/
中资源域名WHOIS信息查询地址 https://www.zzy.cn/domain/whois.html
三五互联域名WHOIS信息查询地址 https://cp.35.com/chinese/whois.php
新网互联域名WHOIS信息查询地址 http://www.dns.com.cn/show/domain/whois/index.do
国外WHOIS信息查询地址 https://who.is/
4.1. 在线网站备案查询
网站备案信息是根据国家法律法规规定,由网站所有者向国家有关部门申请的备案,如果需要查询企业备案信息(单位名称、备案编号、网站负责人、电子邮箱、联系电话、法人等),推荐以下网站查询
\1. 天眼查https://www.tianyancha.com/
\2. ICP备案查询网http://www.beianbeian.com/
\3. 爱站备案查询 https://icp.aizhan.com/
\4. 域名助手备案信息查询http://cha.fute.com/index
5. 收集子域名
域名:相当于网站的名字,维基百科对域名的解释是:互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。
网域名称系统:(Domain Name System)有时也简称为域名(DNS),是互联网的一项核心服务,它作为可以将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的 IP 地址数据串。
域名分级:
1.顶级域名:又叫一级域名,一串字符串中间一个点隔开,例如baidu.com。顶级域名是互联网DNS等级之中的最高级的域,它保存于DNS根域的名字空间中。
2.二级域名:实际上就是一个一级域名以下的主机名,一串字符串中间两个“.”隔开,例如www.baidu.com。二级域名就是最靠近顶级域名左侧的字段。
3.三级域名:二级域名的子域名,特征是包含三个“.”,例如___.___.baidu.com…
作用:收集子域名可以扩大测试范围,同一域名下的二级域名都属于目标范围。
5.1. 域名的类型
A记录、别名记录(CNAME)、MX记录、TXT记录、NS记录:
5.1.1. A (Address) 记录:
用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的二级域名。
5.1.2. 别名(CNAME)记录:
也被称为规范名字。这种记录允许您将多个名字映射到同一台计算机。通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为“host.mydomain.com”(A记录)。它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL。这两个别名的全称就是“www.mydomain.com”和“mail.mydomain.com”。实际上他们都指向“host.mydomain.com”。同样的方法可以用于当您拥有多个域名需要指向同一服务器IP,此时您就可以将一个域名做A记录指向服务器IP然后将其他的域名做别名到之前做A记录的域名上,那么当您的服务器IP地址变更时您就可以不必麻烦的一个一个域名更改指向了只需要更改做A记录的那个域名其他做别名的那些域名的指向也将自动更改到新的IP地址上了。
5.1.3. 如何检测CNAME记录?
1、输入命令” nslookup -q=cname 对应的域名或二级域名”,查看返回的结果与设置的是否一致即可。
5.1.4. MX(Mail Exchanger)记录
是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在,用户计算机就将邮件发送到MX记录所指定的邮件服务器上。
5.1.5. 什么是TXT记录?
TXT记录一般指为某个主机名或域名设置的说明,如:
1)admin IN TXT “jack, mobile:13800138000”;
2)mail IN TXT “邮件主机, 存放在xxx ,管理人:AAA”,Jim IN TXT “contact: abc@mailserver.com“
也就是您可以设置 TXT ,以便使别人联系到您。
如何检测TXT记录?
1、输入命令” nslookup -q=txt 这里填写对应的域名或二级域名”,查看返回的结果与设置的是否一致即可。
5.1.6. 什么是NS记录?
ns记录全称为Name Server 是一种域名服务器记录,用来明确当前你的域名是由哪个DNS服务器来进行解析的。
5.1.7. 隐藏域名hosts碰撞
很多时候访问目标资产IP响应多为:401、403、404、500,但是用域名请求却能返回正常的业务系统(禁止IP直接访问),因为这大多数都是需要绑定host才能正常请求访问的(目前互联网公司基本的做法)(域名删除了A记录,但是反代的配置未更新),那么我们就可以通过收集到的目标的域名和目标资产的IP段组合起来,以 IP段+域名的形式进行捆绑碰撞,就能发现很多有意思的东西。
在发送http请求的时候,对域名和IP列表进行配对,然后遍历发送请求(就相当于修改了本地的hosts文件一样),并把相应的title和响应包大小拿回来做对比,即可快速发现一些隐蔽的资产。
进行hosts碰撞需要目标的域名和目标的相关IP作为字典
相关IP来源有:
目标域名历史解析IP
ip正则
5.2. 常用方式
子域名中的常见资产类型一般包括办公系统,邮箱系统,论坛,商城,其他管理系统,网站管理后台也有可能出现子域名中。
首先找到目标站点,在官网中可能会找到相关资产(多为办公系统,邮箱系统等),关注一下页面底部,也许有管理后台等收获。
查找目标域名信息的方法有:
FOFA https://fofa.info/
Google http://google.com/
鹰图平台(奇安信 )https://hunter.qianxin.com/
…….
5.2.1.子域名在线查询方式
2、https://www.t1h2ua.cn/tools/
3、https://site.ip138.com/moonsec.com/domain.htm —IP38查询子域名
4、https://fofa.info/ —fofa域名查询(语法:domain=”baidu.com”)
5、https://hackertarget.com/find-dns-host-records/ —通过该方法查询子域名可以得到一个目标大概的ip段,接下来可以通过ip来收集信息。
6、https://quake.360.cn/ —360测绘空间(domain:”*.freebuf.com”)
…….
5.2.2. 子域名挖掘工具
1、 Layer子域名挖掘机
2、SubDomainBrute(python3) –pip install aiodns
运行命令subDomainsBrute.py freebuf.com
subDomainsBrute.py freebuf.com –full -o freebuf2.txt
3、Sublist3r(python2) https://github.com/aboul3la/Sublist3r
pip install -r requirements.txt
提示:以上方法为爆破子域名,由于字典比较强大,所以效率较高。
-h :帮助
-d :指定主域名枚举子域名
-b :调用subbrute暴力枚举子域名
-p :指定tcp端口扫描子域名
-v :显示实时详细信息结果
-t :指定线程
-e :指定搜索引擎
-o :将结果保存到文本
-n :输出不带颜色
默认参数扫描子域名
python sublist3r.py -d baidu.com
使用暴力枚举子域名
python sublist3r -b -d baidu.com
4、OneForALL
pip3 install –user -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python3 oneforall.py –target baidu.com run /收集/
爆破子域名
1 | Example: |
5、Wydomain
dnsburte.py -d aliyun.com -f dnspod.csv -o aliyun.log
wydomain.py -d aliyun.com
6、 FuzzDomain(java写的工具,依托于字典的枚举)
5.2.3. DNS侦测
域名系统(Domain Name System,DNS)是Internet上解决网上机器命名的一种系统。 就像拜访朋友要先知道别人家怎么走一样,Internet上当一台主机要访问另外一台主机时,必须首先获知其地址,TCP/IP中的IP地址是由四段以“.”分开的数字组成(此处以IPv4的地址为例,IPv6的地址同理),记起来总是不如名字那么方便,所以,就采用了域名系统来管理名字和IP的对应关系。
https://dnsdumpster.com/ —在线侦测网站
6.CDN相关(查找真实ip)
6.1.什么是cdn?有什么影响?
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。但在安全测试过程中,若目标存在CDN服务,将会影响到后续的安全测试过程,因此需要绕过CDN后去找真实IP地址。
影响:
cdn会隐藏服务器真实的ip地址,无法对目标网站的操作系统进行渗透,但cdn站点又可以理解为是目标站点的镜像站点(大多数都是静态cdn加速),拥有相同的网站架构,且cdn服务器可与站点服务器进行交互,因此sql注入,xss等漏洞的挖掘并不受太大影响。
注意:很多时候,主站虽然是用了CDN,但子域名可能没有使用CDN,如果主站和子域名在一个ip段中,那么找到子域名的真实ip也是一种途径。
6.2.CDN绕过(查找真实ip)
cdn会有隐藏目标真实ip的效果,因此对cdn的绕过是渗透测试信息收集环节我们必须要做的事情
6.2.1.如何判断目标是否使用CDN?
- 利用多节点技术进行请求返回判断
http://ping.aizhan.com/
如果ping的结果只有一个那么就没有CDN、要是不止一个则可以判断为有CDN
- nslookup默认解析
若解析结果有多个,很有可能存在CDN,相反,若解析结果只有一个,可能不存在CDN(不能肯定)
6.2.2.绕过方法(方法 总结可以参考:https://www.cnblogs.com/qiudabai/p/9763739.html)
1. ico图标查找真实IP
https://www.t00ls.net/favicon.ico下载图标放到fofa识别
通过fofa搜图标或者通过zoomeye搜图标
2. 国外请求
很多时候国内的CDN对国外得覆盖面并不是很广,故此可以利用此特点进行探测。通过国外代理访问就能查看 真实IP了,或者通过国外的DNS解析,可能就能得到真实的IP。
3. 服务端邮箱
一般的邮件系统都在内部,没有经过CDN的解析,通过利用目标网站的邮箱注册、找回密码或者RSS订阅等功能,查看邮件、寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器的域名,就可以获得目标的真实IP。
注意:必须是目标自己的邮件服务器,第三方或公共邮件服务器是没有用的。
4. 国外DNS解析
世界各地DNS服务器地址大全
http://www.ab173.com/dns/dns_world.php
5. 子域名&C段查询
很多网站主站的访问量会比较大,所以主站都是挂CDN的,但是分站可能没有挂CDN,可以通过ping二级域名获取分站IP, 可能会出现分站和主站不是同一个IP但在同一个C段下面的情况,从而能判断出目标的真实IP段。
6. 查询域名解析记录
一般网站从部署开始到使用cdn都有一个过程,周期如果较长的话 则可以通过这类历史解析记录查询等方式获取源站ip,查看IP与域名绑定的历史记录,可能会存在使用CDN前的记录。
7. 目标网站APP应用
如果目标网站有自己的App,可以尝试利用Fiddler或Burp Suite抓取App的请求,从里面找到目标的真实IP。
8. 通过censys找真实ip
Censys工具就能实现对整个互联网的扫描,Censys是一款用以搜索联网设备信息的新型搜索引擎,能够扫描整个互联网,Censys会将互联网所有的ip进行扫面和连接,以及证书探测。
若目标站点有https证书,并且默认虚拟主机配了https证书,我们就可以找所有目标站点是该https证书的站点。
通过协议查询
https://censys.io/ipv4?q=((www.t00ls.net) AND protocols: “443/https”) AND tags.raw: “https”&
443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names:moonsec.com
9. 配置不当泄露真实IP
在配置CDN的时候,需要指定域名、端口等信息,有时候小小的配置细节就容易导致CDN防护被绕过。
案例1:为了方便用户访问,我们常常将www.test.com 和 test.com 解析到同一个站点,而CDN只配置了www.test.com,通过访问test.com,就可以绕过 CDN 了。
案例2:站点同时支持http和https访问,CDN只配置 https协议,那么这时访问http就可以轻易绕过。
10. 360空间测绘
11. 微步在线
12. ipip.net
https://tools.ipip.net/cdn.php
13. viewdens
14. 敏感文件泄露真实ip
文件探针、 phpinfo、 网站源代码、 信息泄露、GitHub信息泄露、 js文件等
15. F5LTM解码方法
当服务器使用F5 LTM做负载均衡时,通过对set-cookie关键字的解码真实ip也可被获取,
例如:Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小
节的十进制数即487098378取出来,然后将其转为十六进制数1d08880a,接着从后至前,
以此取四位数出来,也就是0a.88.08.1d,最后依次把他们转为十进制数10.136.8.29,也就
是最后的真实ip。
rverpool-cas01=3255675072.20480.0000; path=/
3255675072 转十六进制 c20da8c0 从右向左取 c0a80dc2 转10进制 192 168 13 194
16. banner信息
获取目标站点的banner,在全网搜索引擎搜索,也可以使用AQUATONE,在Shodan上搜索相同指纹站点。
可以通过互联网络信息中心的IP数据,筛选目标地区IP,遍历Web服务的banner用来对比CDN站的banner,可以确定源IP。
欧洲:
http://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-latest
北美:
https://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest
亚洲:
ftp://ftp.apnic.net/public/apnic/stats/apnic/delegated-apnic-latest
非洲:
ftp://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest
拉美:
ftp://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-extended-latest
获取CN的IP
http://www.ipdeny.com/ipblocks/data/countries/cn.zone
例如:
找到目标服务器 IP 段后,可以直接进行暴力匹配,使用zmap、masscan 扫描 HTTP banner,然后匹配到目标域名的相同 banner
zmap -p 80 -w bbs.txt -o 80.txt
使用zmap的banner-grab对扫描出来80端口开放的主机进行banner抓取。
cat /root/bbs.txt |./banner-grab-tcp -p 80 -c 100 -d http-req -f ascii > http-banners.out
根据网站返回包特征,进行特征过滤
location: plugin.php?id=info:index
title=”T00LS | 低调求发展 - 潜心习安全 - T00ls.Net”
title:”T00LS | 低调求发展 -潜心习安全 -T00ls.Net”
response:”T00LS | 低调求发展 - 潜心习安全 - T00ls.Net”
1、ZMap号称是最快的互联网扫描工具,能够在45分钟扫遍全网。https://github.com/zmap/zmap
2、Masscan号称是最快的互联网端口扫描器,最快可以在六分钟内扫遍互联网。
https://github.com/robertdavidgraham/masscan
17. 利用SSL证书
SSL/TLS证书通常包含域名、子域名和邮件地址等信息,结合证书中的信息,可以更快速地定位到目标资产,获取到更多目标资产的相关信息。
证书颁发机构(CA)必须将他们发布的每个SSL/TLS证书发布到公共日志中,SSL/TLS证书通常包含域名、子域名和电子邮件地址。因此SSL/TLS证书成为了攻击者的切入点。
获取网站SSL证书的HASH再结合Censys
利用Censys搜索网站的SSL证书及HASH,在https://crt.sh上查找目标网站SSL证书的HASH
再用Censys搜索该HASH即可得到真实IP地址
https://developers.facebook.com/tools/ct/
https://google.com/transparencyreport/https/ct/
SSL证书搜索引擎:
https://certdb.com/domain/github.com
https://crt.sh/?Identity=%.moonsec.com
GetDomainsBySSL.py
18. 查找厂商ip段
http://ipwhois.cnnic.net.cn/index.jsp
19. APP获取真实ip(小程序)
模拟器开app,然后burp抓包,放包,寻找host,去ping 他的host,可能得到真实IP
20. 流量攻击
发包机可以一下子发送很大的流量。这个方法是很笨,但是在特定的目标下渗透,建议采用。
cdn除了能隐藏ip,可能还考虑到分配流量,不设防的cdn 量大就会挂,高防cdn 要大流量访问。经受不住大流量冲击的时候可能会显示真实ip。
站长->业务不正常->cdn不使用->更换服务器。
21. XSS、ssrf攻击等进行被动获取
被动获取就是让服务器或网站主动连接我们的服务器,从而获取服务器的真实IP
1、如果网站有编辑器可以填写远程url图片,即可获取真实IP
2、如果存在ssrf漏洞或者xss 让服务器主动连接我们的服务器均可获取真实IP。
22. 扫全网获取真实ip
https://github.com/superfish9/hackcdn
https://github.com/boy-hack/w8fuckcdn
23. 非常规操作
a. 如果找到了目标的一处资产,但是对目标其他资产的收集无处下手时,可以查看一下该站点的body里是否有目标的特征,然后利用网络空间搜索引擎(如fofa等)对该特征进行搜索,如:body=”XX公司”或body=”baidu”等。该方式一般适用于特征明显,资产数量较多的目标,并且很多时候效果拔群。
b. 当通过上述方式的找到test.com的特征后,再进行body的搜索,然后再搜索到test.com的时候,此时fofa上显示的ip大概率为test.com的真实IP。
c. 如果需要对政府网站作为目标,那么在批量获取网站首页的时候,可以用上
之后可以结合上一步的方法进行进一步的信息收集。
7. 端口扫描
当确定了目标大概的ip段后,可以先对ip的开放端口进行探测,一些特定服务可能开起在默认端口上,探测开放端口有利于快速收集目标资产,找到目标网站的其他功能站点。
7.0. 常见端口及对应服务
- 常用端口合计详情
21 | ftp |
---|---|
22 | SSH |
23 | Telnet |
80 | web |
80-89 | web |
161 | SNMP |
389 | LDAP |
443 | SSL心脏滴血以及一些web漏洞测试 |
445 | SMB |
512,513,514 | Rexec |
873 | Rsync未授权 |
1025,111 | NFS |
1433 | MSSQL |
1521 | Oracle:(iSqlPlus Port:5560,7778) |
2082/2083 | cpanel主机管理系统登陆(国外用较多) |
2222 | DA虚拟主机管理系统登陆(国外用较多) |
2601,2604 | zebra路由,默认密码zebra |
3128 | squid代理默认端口,如果没设置口令很可能就直接漫游内网了 |
3306 | MySQL |
3312/3311 | kangle主机管理系统登陆 |
3389 | 远程桌面 |
4440 | rundeck 参考WooYun: 借用新浪某服务成功漫游新浪内网 |
5432 | PostgreSQL |
5900 | vnc |
5984 | CouchDB http://xxx:5984/_utils/ |
6082 | varnish 参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网 |
6379 | redis未授权 |
7001,7002 | WebLogic默认弱口令,反序列 |
7778 | Kloxo主机控制面板登录 |
8000-9090 | 都是一些常见的web端口,有些运维喜欢把管理后台开在这些非80的端口上 |
8080 | tomcat/WDCP主机管理系统,默认弱口令 |
8080,8089,9090 | JBOSS |
8083 | Vestacp主机管理系统(国外用较多) |
8649 | ganglia |
8888 | amh/LuManager 主机管理系统默认端口 |
9200,9300 | elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞 |
10000 | Virtualmin/Webmin 服务器虚拟主机管理系统 |
11211 | memcache未授权访问 |
27017,27018 | Mongodb未授权访问 |
28017 | mongodb统计页面 |
50000 | SAP命令执行 |
50070,50030 | hadoop默认端口未授权访问 |
附图:
7.1. msscan端口扫描工具
msscan -p 1-65535 ip –rate=1000
https://gitee.com/youshusoft/GoScanner/
7.2. 御剑端口扫描工具
7.3. nmap扫描端口和探测端口信息
常用参数,如:
nmap -sV 192.168.0.2 ()
nmap -sT 92.168.0.2
nmap -Pn -A -sC 192.168.0.2
nmap -sU -sT -p0-65535 192.168.122.1
用于扫描目标主机服务版本号与开放的端口
如果需要扫描多个ip或ip段,可以将他们保存到一个txt文件中
nmap -iL ip.txt
来扫描列表中所有的ip。
Nmap为端口探测最常用的方法,操作方便,输出结果非常直观。
7.4. 在线端口检测
旁站往往存在业务功能站点,建议先收集已有IP的旁站,再探测C段,确认C段目标后,再在C段的基础上再收集一次旁站。
旁站是和已知目标站点在同一服务器但不同端口的站点,通过以下方法搜索到旁站后,先访问一下确定是不是自己需要的站点信息。
8.旁站与C段查询
8.1.旁站
1、站长之家
2、 google hacking
https://blog.csdn.net/qq_36119192/article/details/84029809
3、网络空间搜索引擎
如FOFA搜索旁站和C段
该方法效率较高,并能够直观地看到站点标题,但也有不常见端口未收录的情况,虽然这种情况很少,但之后补充资产的时候可以用下面的方法nmap扫描再收集一遍。
8.2. c段
1、在线c段webscan.cc
注意:探测C段时一定要确认ip是否归属于目标,因为一个C段中的所有ip不一定全部属于目标。
2、c段利用脚本
1 | #coding:utf-8 |
3、网络空间搜索引擎
如果想要在短时间内快速收集资产,那么利用网络空间搜索引擎是不错的选择,可以直观地看到旁站,端口,站点标题,IP等信息,点击列举出站点可以直接访问,以此来判断是否为自己需要的站点信息。FOFA的常用语法
1、同IP旁站:ip=”192.168.0.1”
2、C段:ip=”192.168.0.0/24”
3、子域名:domain=”baidu.com”
4、标题/关键字:title=”百度”
5、如果需要将结果缩小到某个城市的范围,那么可以拼接语句
title=”百度”&& region=”Beijing”
6、特征:body=”百度”或header=”baidu”
9. 扫描敏感目录/文件
扫描敏感目录需要强大的字典,需要平时积累,拥有强大的字典能够更高效地找出网站的管理后台,敏感文件常见的如.git文件泄露,.svn文件泄露,phpinfo泄露等,这一步一般交给各类扫描器就可以了,将目标站点输入到域名中,选择对应字典类型,就可以开始扫描了,十分方便。
9.0.网站常见敏感文件
1 | 1. robots.txt |
9.1.御剑
https://www.fujieace.com/hacker/tools/yujian.html
9.2.7kbstorm
https://github.com/7kbstorm/7kbscan-WebPathBrute
9.3.bbscan
https://github.com/lijiejie/BBScan
在pip已经安装的前提下,可以直接:
pip install -r requirements.txt
使用示例:
\1. 扫描单个web服务 www.target.com
python BBScan.py –host www.target.com
\2. 扫描www.target.com和www.target.com/28下的其他主机
python BBScan.py –host www.target.com –network 28
\3. 扫描txt文件中的所有主机
python BBScan.py -f wandoujia.com.txt
\4. 从文件夹中导入所有的主机并扫描
python BBScan.py -d targets/
–network 参数用于设置子网掩码,小公司设为2830,中等规模公司设置2628,大公司设为24~26 ,当然,尽量避免设为24,扫描过于耗时,除非是想在各SRC多刷几个漏洞。
如果你有非常有用的规则,请找几个网站验证测试后,再 pull request
脚本还会优化,接下来的事:
增加有用规则,将规则更好地分类,细化,后续可以直接从 rules\request 文件夹中导入HTTP_request 优化扫描逻辑
9.4.dirmap
https://github.com/H4ckForJob/dirmap
pip install -r requirement.txt
单个目标
python3 dirmap.py -i https://target.com -lcf
多个目标
python3 dirmap.py -iF urls.txt -lcf
9.5.dirsearch
https://gitee.com/Abaomianguan/dirsearch.git
python3 dirsearch.py -u http://m.scabjd.com/ -e *
9.6.gobuster
sudo apt-get install gobuster
gobuster dir -u https://www.servyou.com.cn/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php -t 50
dir -u 网址 w字典 -x 指定后缀 -t 线程数量
dir -u https://www.servyou.com.cn/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x “php,html,rar,zip” -d –wildcard -o servyou.log | grep ^”3402”
10. 敏感信息收集
10.1.网站头信息收集
1、中间件:web服务【Web Servers】 apache iis7 iis7.5 iis8 nginx WebLogic tomcat
2.、网站组件: js组件jquery、vue 页面的布局bootstrap
a. 在线识别网站:http://whatweb.bugscaner.com/look/
b. 通过浏览器获取
c. 火狐的插件Wappalyzer
d. curl命令查询头信息
eg. curl https://www.moonsec.com -i
10.2 敏感文件搜索
10.2.1. GitHub搜索
- github信息泄露监控
https://github.com/0xbug/Hawkeye
https://github.com/MiSecurity/x-patrol
https://github.com/VKSRC/Github-Monitor
- github搜索
in:name test #仓库标题搜索含有关键字test
in:descripton test #仓库描述搜索含有关键字
in:readme test #Readme文件搜素含有关键字
搜索某些系统的密码
https://github.com/search?q=smtp+58.com+password+3306&type=Code
github 关键词监控
https://www.codercto.com/a/46640.html
谷歌搜索
site:Github.com sa password
site:Github.com root password
site:Github.com User ID=’sa’;Password
site:Github.com inurl:sql
SVN 信息收集
site:Github.com svn
site:Github.com svn username
site:Github.com svn password
site:Github.com svn username password
综合信息收集
site:Github.com password
site:Github.com ftp ftppassword
site:Github.com 密码
site:Github.com 内部
https://blog.csdn.net/qq_36119192/article/details/99690742
http://www.361way.com/github-hack/6284.html
https://docs.github.com/cn/github/searching-for-information-on-github/searching-code
https://github.com/search?q=smtp+bilibili.com&type=code
10.2.2. Google-hacking
site:域名
inurl: url中存在的关键字网页
intext:网页正文中的关键词
filetype:指定文件类型
10.3.wooyun漏洞库
10.4. 网盘搜索
凌云搜索 https://www.lingfengyun.com/
10.5. 社工库
名字/常用id/邮箱/密码/电话登录网盘网站邮箱找敏感信息, tg机器人(https://www.ff98sha.me/archives/147**)**
10.6. 网站注册信息
www.reg007.com查询网站注册信息
一般是配合社工库一起来使用。
10.7. js敏感信息
1.网站的url连接写到js里面
2.js的api接口里面包含用户信息比如账号和密码
工具:
https://github.com/m4ll0k/SecretFinder
https://github.com/Threezh1/JSFinder
https://github.com/rtcatc/Packer-Fuzzer
10.7.1. jsfinder
https://gitee.com/kn1fes/JSFinder
python3 JSFinder.py -u http://www.mi.com
python3 JSFinder.py -u http://www.mi.com -d
python3 JSFinder.py -u http://www.mi.com -d -ou mi_url.txt -os mi_subdomain.txt
当你想获取更多信息的时候,可以使用-d进行深度爬取来获得更多内容,并使用命令 -ou, -os来指定URL和子域名所保存的文件名
批量指定URL和JS链接来获取里面的URL。
指定URL:
python JSFinder.py -f text.txt
指定JS:
python JSFinder.py -f text.txt -j
10.7.2. Packer-Fuzzer
寻找网站交互接口授权key
随着WEB前端打包工具的流行,您在日常渗透测试、安全服务中是否遇到越来越多以Webpack打包器为代表的网站?这类打包器会将整站的API和API参数打包在一起供Web集中调用,这也便于我们快速发现网站的功能和API清单,但往往这些打包器所生成的JS文件数量异常之多并且总JS代码量异常庞大(多达上万行),这给我们的手工测试带来了极大的不便,Packer Fuzzer软件应运而生。
本工具支持自动模糊提取对应目标站点的API以及API对应的参数内容,并支持对:未授权访问、敏感信息泄露、CORS、SQL注入、水平越权、弱口令、任意文件上传七大漏洞进行模糊高效的快速检测。在扫描结束之后,本工具还支持自动生成扫描报告,您可以选择便于分析的HTML版本以及较为正规的doc、pdf、txt版本。
sudo apt-get install nodejs && sudo apt-get install npm
git clone https://gitee.com/keyboxdzd/Packer-Fuzzer.git
pip3 install -r requirements.txt
python3 PackerFuzzer.py -u https://www.liaoxuefeng.com
10.7.3. SecretFinder
一款基于Python脚本的JavaScript敏感信息搜索工具
https://gitee.com/mucn/SecretFinder
python3 SecretFinder.py -i https://www.moonsec.com/ -e
11. cms识别
收集好网站信息之后,应该对网站进行指纹识别,通过识别指纹,确定目标的cms及版本,方便制定下一步的测试计划,可以用公开的poc或自己累积的对应手法等进行正式的渗透测试。
1、云悉平台
2、潮汐指纹
3、鹰图平台(奇安信)
4、CMS指纹识别
http://whatweb.bugscaner.com/look/
https://github.com/search?q=cms识别
5、whatcms(whatweb)
kali中集成的工具
6、御剑cms识别
https://github.com/ldbfpiaoran/cmscan
https://github.com/theLSA/cmsIdentification/
12. 社工相关
1、社交信息收集
QQ群 、QQ、手机号、微信群、领英(https://www.linkedin.com/)、脉脉招聘、boss招聘等
2、plan_A
微信或者QQ 混入内部群,蹲点观测。加客服小姐姐发一些连接。进一步获取敏感信息。测试产品,购买服务器,拿去测试账号和密码。
3、plan_B 物理接触
到企业办公层连接wifi,连同内网。丢一些带有后门的usb 开放免费的wifi截取账号和密码。
4、社工库
在tg找社工机器人查找密码信息 或本地的社工库查找邮箱或者用户的密码或密文。组合密码在进行猜解登录。
(https://www.ff98sha.me/archives/147)
13. 武器库丰富
13.1.资产收集神器
- ARL(Asset Reconnaissance Lighthouse)资产侦察灯塔系统
https://github.com/TophantTechnology/ARL
- AssetsHunter
https://github.com/rabbitmask/AssetsHunter
- 一款用于src资产信息收集的工具
https://github.com/sp4rkw/Reaper
- domain_hunter_pro
https://github.com/bit4woo/domain_hunter_pro
- LangSrcCurise
https://github.com/shellsec/LangSrcCurise
- 网段资产
https://github.com/colodoo/midscan
13.2. Good的工具
1、Fuzz字典推荐:https://github.com/TheKingOfDuck/fuzzDicts
**2、BurpCollector(BurpSuite参数收集插件)**:https://github.com/TEag1e/BurpCollector
3、Wfuzz:https://github.com/xmendez/wfuzz
4、LinkFinder:https://github.com/GerbenJavado/LinkFinder
5、PoCBox:https://github.com/Acmesec/PoCBox