信息搜集是指通过各种方式获取所需要的信息,以便我们在后续的渗透过程更好的进行。最简单的比如说目标站点的IP、中间件、脚本语言、端口、邮箱等等。我觉得信息搜集在我们渗透测试的过程当中,是最重要的一环,这一环节没做好,没搜集到足够多的可利用的信息,我们很难进行下一步的操作。
一、信息搜集的内容
在划定了测试范围之后,就需要进入信息搜集阶段。在这个阶段,渗透人员需要使用各种公开资源尽可能地获取测试目标的相关信息。他们搜集信息的互联网渠道主要有:论坛/公告板/新闻组/媒体文章/博客/社交网络/github/其他商业或非商业性的网站。此外,他们也可以借助各种搜索引擎中获取相关数据,如谷歌、雅虎、MSN必应、百度等。
搜集的信息 主要包括:
DNS 服务器信息(域名注册信息,包括个人信息,电话号码、电子邮件地址)
子域名信息
路由关系(目标网站系统)
whois 数据库
用户账户
搜集的信息越多,渗透测试成功的概率越高。
在信息搜集中,最主要的就是搜集服务器的配置信息和网站的敏感信息,其中包括域名及子域名信息、目标网站系统、CMS指纹、目标网站真实IP 、开放的端口等。换句话说,只要是与目标网站相关的信息,我们都应该去尽量搜集。
二、信息搜集的方法
1、whois信息
很多网站上都可以搜集到whois信息,比如说
国外的who.is:https://who.is/
站长之家:http://whois.chinaz.com/
爱站:https://whois.aizhan.com/
微步:https://x.threatbook.cn/
这些网站都可以搜集whois信息,而且还很全面,我主要关注:注册商、注册人、邮件、DNS解析服务器、注册人联系电话。
有需要的还可以查企业的备案信息,主要有三种方式
天眼查:https://www.tianyancha.com/
ICP备案查询网:http://www.beianbeian.com/
国家企业信用信息公示系统:http://www.gsxt.gov.cn/index.html
注意:国外的服务器一般来说是查不到的,因为他们不需要备案。国内的基本上都可以查到。
2. 域名信息
(1)端口
一个网站可能会开放多个不同的端口,而我们可以通过同一网站的不同端口进行测试,扫描开放端口的方法有很多,这里我分为两种:第一种在线端口扫描,第二种利用工具扫描端口。比较常见的在线端口扫描网站有:在线端口扫描,IP/服务器端口在线扫描 - TooL.cc、在线端口检测,端口扫描,端口开放检查-在线工具-postjson等;端口扫描工具有nmap,goby等。
(2)子域名
目标的子域是一个重要的测试点,你搜集到的可用的子域名越多,意味着你的机会也就越多,所以说要尽可能的搜集目标的子域名。子域名的搜集方法有很多,这里我分为两种:第一种在线子域名搜集。第二种利用工具进行子域名搜集。比较常见的在线子域名搜索(爆破)的网站有:在线子域名爆破-子成君提供、在线子域名查询等;子域名扫描工具有oneforall、layer子域名挖掘机、SubDomainsBrute等。
1)Google语法
可以利用Google和Bing这样的搜索引擎进行搜索查询(site:www.xxx.com)
Google还支持额外的减号运算符,以排除我们对“网站:wikimedia.org -www -store ”不感兴趣的子域名。
2)有许多第三方服务聚合了大量的DNS数据集,并通过它们来检索给定域名的子域名。
(1)VirusTotal:https://www.virustotal.com/#/home/search
(2)DNSdumpster:DNSdumpster.com - dns recon and research, find and lookup dns records
3)基于SSL证书查询
查找一个域名证书的最简单方法是使用搜索引擎来搜集计算机的CT日志,并让任何搜索引擎搜索它们。前两种比较常用。
(1)https://crt.sh/
(2)https://censys.io/
(3)https://developers.facebook.com/tools/ct/
(4)https://google.com/transparencyreport/https/ct/
4)简单的在线子域名搜集(不推荐)
(1)https://phpinfo.me/domain/
(2)http://i.links.cn/subdomain/
5)爆破枚举
比较常见的够工具是:
(1)layer子域名挖掘机
(2)subDomainsBrute
(3)K8
(4)orangescan
(5)DNSRecon
这里重点推荐 layaer 和 subDomainsBrute 工具,可以从子域名入侵到主站。
(3)URL请求
URL请求分为get与post,辨别的办法可以使用抓包(流量监控)软件或者插件。
子域名是在顶级域名下的域名,搜集的子域名越多,我们测试的目标就越多,渗透的成功率也越大。往往在主站找不到突破口的时候,我们就可以从子域名入手。
3、IP段的搜集
一般IP的话,我们在搜集子域名的时候,就大概知道目标网站的IP段了。
也可以通过whois命令获取。即通过中国互联网信息中心 http://ipwhois.cnnic.net.cn/ 进行查询
4、开放端口探测
很多时候,网站都会开启CDN加速,导致我们查询到的IP不是真实的IP,所以得先查询到真实的IP地址。
(1)通过让服务器给你发邮件(看邮箱头源 ip )找真实 ip(最可靠)。
(2)通过 zmpap 全网爆破查询真实 ip(可靠)。
(3)通过查询域名历史 ip,http://toolbar.netcraft.com (借鉴)。
(4)通过国外冷门的 DNS 的查询:nslookup xxx.com 国外冷门 DNS 地址 (借鉴)。
搜集到大量IP,那就要进行端口扫描了,看看有什么常见的漏洞。
最常用的就是Nmap了。命令:nmap -T4 -sT -p- -sV ip
常见端口漏洞:
端口 服务 说明
21 FTP 主要看是否支持匿名,也可跑弱口令
22 SSH 弱口令爆破
23 telnet 弱口令爆破
80-90 WEB 常见WEB漏洞以及一些为管理后台
161 snmp public弱口令
389 ldap 是否为匿名访问
443 openssl 心脏出血以及一些WEB漏洞测试
445 smb 跑弱口令,检测是否有ms_08067等溢出
873 rsync 是否为匿名访问,也可以跑弱口令
1025 RPC NFS匿名访问
1099 java rmi 远程命令执行漏洞
1433 mssql 弱口令爆破
1521 oracle 弱口令爆破
2082/2083 cpanel主机管理系统登陆 弱口令爆破
2222 DA虚拟主机管理系统登陆 弱口令爆破
2601,2604 zebra路由器 默认密码zebra
3128 squid代理默认端口 如果没设置口令很可能 就直接漫游内网
3306 mysql 弱口令爆破
3312/3311 kangle主机管理系统登陆 说明
3389 RDP 弱口令爆破,SHIFT后门,放大镜,输入法漏洞
4440 rundeck web
4848 GlassFish web中间件 弱口令admin/adminadmin
5432 postgres 弱口令爆破
5560,7778 iSqlPlus
5900,5901,5902 vnc 弱口令爆破
5984 CouchDB http://xxx:5984/_utils/
6082 varnish
6379 redis 一般无验证,直接访问
7001,7002 weblogic 弱口令爆破
7778 Kloxo主机控制面板登录
8080 tomcatjboss 弱口令爆破,jboss后台可能不验证
8649 ganglia
8080-8090 常见WEB端口
8083 Vestacp主机管理系统 (国外用较多)
8649 ganglia
8888 amh/LuManager 主机管理系统默认端口 说明
9000 fcgi fcgi php命令执行漏洞
9200 elasticsearch 代码执行
9043 websphere 弱口令爆破
10000 Virtualmin/Webmin 服务器虚拟主机管理系统
11211 memcache 内存泄露
27017,28017 mongodb 未授权访问
50000 Upnp SAP命令执行
50060,50030 hadoop WEB 未授权访问
5、网站架构探测
当我们探测目标站点网站架构时,比如说:操作系统,中间件,脚本语言,数据库,服务器,web容器等等,可以使用以下方法查询。
(1)wappalyzer插件 ——火狐插件
(2)云悉:http://www.yunsee.cn/info.html
(3)查看数据包响应头
(4)CMS指纹识别:http://whatweb.bugscaner.com/look/
CMS指纹识别又有很多方法,比如说御剑指纹识别、Webrobot工具、whatweb工具、还有在线查询的网站等等。
6、敏感文件、敏感目录探测
通常我们所说的敏感文件、敏感目录大概有以下几种:
(1)Git
(2)hg/Mercurial
(3)svn/Subversion
(4)bzr/Bazaar
(5)Cvs
(6)WEB-INF泄露
(7)备份文件泄露、配置文件泄露
7、目标域名邮箱搜集
一定要养成搜集站点邮箱账号搜集的习惯(因为好多官方后台都是用内部邮箱账号登录)。
(1)通过说明文档以及网站页面搜集,或者网站发表者以及留言板信息处搜集账号
(2)通过 teemo,metago,burpusit,awvs,netspker 或者 google 语法搜集
(3)搜索相关 QQ 群搜集相关企业员工的社交账号
用途: 可用来进行爆破或者弱口令登录以及撞裤攻击。
8、WAF探测
WAF也叫Web应用防火墙,是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。
常用的两种方式:
(1)手工(提交恶意数据,简单粗暴)
(2)Kaili工具(WAFW00F、Nmap)
Nmap探测WAF有两种脚本,
一种是http-waf-detect,命令:nmap -p80,443 --script=http-waf-detect ip
一种是http-waf-fingerprint。命令:nmap -p80,443 --script=http-waf-fingerprint ip
WAFW00F探测WAF 命令:wafw00f -a 域名
9、旁站、C段
旁站:是和目标网站在同一台服务器上的其它的网站。
C端:是和目标服务器ip处在同一个C段的其它服务器。
旁站和C段的查询方式:
(1)利用Bing.com,语法为:http://cn.bing.com/search?q=ip:111.111.111.111
(2)站长之家:http://s.tool.chinaz.com/same
(3)利用Google,语法:site:125.125.125.*
(4)利用Nmap,语法:nmap -p 80,8080 --open ip/24
(5)K8工具、御剑、北极熊扫描器等
(6)在线:http://www.webscan.cc/
三、信息搜集的工具
(1)御剑
(2)爬虫(AWVS、Burpsuite等)
(3)搜索引擎(Google、Github等)
(4)wwwscan
(5)BBscan(一位巨佬写的python脚本:https://github.com/lijiejie/BBScan )
(6)GSIL(也是一位巨佬写的python脚本:https://github.com/FeeiCN/GSIL )
(7)社交平台
四、信息搜集结果的利用
1、比如利用whois查询到注册人的电话或者邮箱可以进行反查找到更多的注册域名或者是通过制作社工字典,利用字典进行爆破
2、在社工库查询邮箱和手机号,若查到,可尝试登陆服务器商或域名商。
3、DNS解析记录可以查ip,查NS、mx邮件交换记录。
MX记录是邮件服务交换记录,邮件服务经常搭建在目标办公网络,可以让快速我们定位目标核心区域并展开渗透。



