一、渗透信息收集流程
渗透测试过程前期,需要大量的完善的网站业务信息收集工作,大致信息收集流程为
1、网站域名信息探测
2、网站子域信息探测
3、网站敏感信息收集
4、网站安全工具核实
5、网站旁站利用情况
6、网站业务资产梳理
二、网站域名信息探测
当需要对一个站点进行渗透测试之前,一般渗透测试人员常见的方法是直接通过漏洞扫描器来对指定的目标站点进行渗透扫描
当指定的目标站点无漏洞情况,渗透测试员就需要进行信息收集的工作来完成后期的渗透
目前一般的域名扫描工具分为web扫描器与系统扫描器:
-
网站扫描器:AWVS、APPSCAN、Netspark、WVSS 、WebInspect;
-
系统扫描器:Nmap、Nessus、天镜、明鉴、RSAS等;
三、网站子域信息探测
一般渗透测试过程中,可以根据主域名信息,获取到二级域名、三级域名等信息
主要的子域信息获取方法有:
子域信息探测实践01:DNS域传送漏洞
若企业网站域名系统存在此漏洞情况,不仅能搜集子域名信息,还能轻松找到一个网站漏洞信息,这样好事百试不厌。
如果SRC一级域名不多,直接在kali下 dnsenum oldboyedu.com
即可获取子域信息:
获取到网站服务CDN域名信息:
可以利用ping域名方式,查看对应域名解析后是否可以获得对应IP地址,还是获得CNAME信息,从而判断网站真实地址
子域信息探测实践02:DNS备案号查询
使用此方式获取网站的子域信息算是奇招吧,通过查询系统域名备案号,再反查备案号相关的域名,即可收获颇丰。
网站备案查询地址:
https://beian.miit.gov.cn/#/Integrated/index
http://www.beianbeian.com
http://icp.bugscaner.com/
天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统
icp备案查询_网站备案查询_域名备案查询_APP备案查询_小程序备案查询_快应用备案查询_爱站网
域名工具_IP查询_备案域名查询_域名备案_域名助手
利用网站底部备案号信息和网站主域名信息,或者公司名称信息,进行子域信息或其他主域信息查询:
子域信息探测实践03:网站证书信息获取
通过查询SSL证书信息,获取的域名存活率很高,这应该也是不错的思路。
查询证书信息网址:
SSL状态检测
SSL证书在线检测工具-中国数字证书CHINASSL
利用已知网站域名信息,通过获取证书信息,从而获取其他域名的相关信息:
子域信息探测实践04:编译工具提取域名
反编译APP进行提取相关IP地址,此外在APP上挖洞的时候,可以发现前面招式找不到的域名,在APP里面有大量的接口IP和内网 IP,
同时可获取不少安全漏洞。
利用反编译 AndroidKiller 工具可以对移动端客户端app软件进行反编译,从而获取网站的域名信息;
常用app小程序下载链接:Discuz! 应用中心 - 为您提供Discuz! 插件、Discuz! 模板、Discuz! 技术支持等全方位服务 - 贰道网络
说明:利用此方式收集网站域名和地址信息时,需要网站服务提供相关app小程序包信息,利用小程序包反编译获取服务端信息
运行AndroidKiller_v1.3.1反编译软件,可以对安卓的app小程序的apk软件包进行反编译;
运行启动软件程序后,可以将需要反编译的apk软件包拖拽到软件中,进行反编译处理;
对于网安人员搜索信息,可以选择【Android】-【字符串】信息,然后搜索http或https开头字符串信息,即在源码中检索网站url;
子域信息探测实践05:微信公众号提取域名
可以利用burp app抓取访问微信公众号的流量数据包,从而获取相关企业的域名信息:
实践步骤01:手机端进行配置
让安卓手机和电脑连入同一个WIFI,即是在同一个无线局域网环境下。
设置手机代理IP,这里以oppo系统为例:
代理设置为“手动”,设置主机名为电脑无线局域网IP地址,端口可以随便设置,其他的设置可以默认。
实践步骤02:电脑端进行配置
打开Burpsuite,设置Burp suite代理服务器,点击“Proxy”然后“Options”
点击“add”添加和手机一样的IP地址和端口,要跟手机上设置的那个端口一致。记得勾上前面的括号。
设置好了后,在“Proxy”-〉“Intercept”下开启“Intercept is on”就可以对安卓APP的网络数据进行抓包了。
实践步骤03:证书信息安装过程
抓取HTTPS包需要导入Burp的证书;
特别注意:一个Burp对应一个证书,就是用哪个Burp抓包就导出哪个的证书,并将该证书在手机上安装。
非常重要,因为以前抓包安过证书,但是用的不是同一个Burp导致抓包失败,浪费了很多时间。
导出Burp证书步骤为: Proxy---Options----import\export CA
选择保存的CA路径,文件后缀命名为.cer,非常重要,因为手机只能安装.cer的证书类型,默认的der格式是不能被识别安装的
将证书发送到手机,我是直接微信发送的,然后在微信中下载,并记住下载的目录。
找到下载的目录,将证书文件复制到手机存储的根目录。
打开手机设置--其它设置--安全和隐私--更多安全设置--从SD卡安装
到根目录下,找到.cer文件,安装.cer证书,重命名个名字
成功安装后,可以在手机----设置----安全和隐私----更多安全设置----受信任的凭据----用户----看到PortSwigger文件 至此,安装完成。全部工作完成,可以打开burp,准备抓包了。
说明:如果微信软件阻止了bp抓取通讯的数据包,可以降低微信程序版本或者利用手机模拟器安装微信程序实现通讯抓包;
子域信息探测实践06:暴力破解方式获取域名
利用二级域名爆破工具(Demon v1.2),进行二级域名信息暴力破解,从而获得相关子域名信息:
在音速启动软件中,选择【旁注与C段】-找到【二级域名暴破工具】软件工具;
说明:若企业网站配置了泛域名解析功能,会造成任意子域名信息均可解析到对应主机,导致域名暴力破解工具失效;
也可以使用在线二级域名暴力破解网站,获取企业的子域名信息:
子域信息探测实践07:域名信息历史解析记录
利用指定域名解析网站(www.dnsdb.io),获得企业的历史域名的解析记录信息;
子域信息探测实践08:搜索引擎进行查找
利用搜索引擎获取主域名对应的子域信息,常用的搜索引擎应用: google、百度收集、fofa
-
利用百度收集企业子域:
在搜索引擎中,输入以下字段信息,获取网站的相关的子域信息:
site:oldboyedu.com title:老男孩教育
子域信息探测实践09:运行脚本提取域名
利用jsfinder工具,可以运行js脚本文件,从而提取二级域名及ip地址信息
工具官方下载链接:GitHub - Threezh1/JSFinder: JSFinder is a tool for quickly extracting URLs and subdomains from JS files on a website.
扫描程序部署应用过程:
1)将下载好的程序上传到kali系统;
将jsfinder工具的py代码文件上传到kali系统的root目录中;
2)运行程序脚本文件实现爬取url域名信息:
# 简单爬取命令
python JSFinder.py -u http://www.jd.com
-- 这个命令会爬取 http://www.mi.com 这单个页面的所有的js链接,并在其中发现url和子域名
# 深度爬取命令
python JSFinder.py -u http://www.jd.com -d -ou mi_url.txt -os mi_subdomain.txt
-- 深入一层页面爬取JS,时间会消耗的更长。建议使用-ou 和 -os来指定保存URL和子域名的文件名
子域信息探测实践10:威胁情报方式收集
可以利用网上的威胁情况信息的线上收集平台,进行网站域名信息收集;
华为安全情报收集平台:https://isecurity.huawei.com
奇安信安全情报收集平台:奇安信威胁情报中心
微步在线安全情报收集平台:微步在线X情报社区-威胁情报查询_威胁分析平台_开放社区
360安全情报收集平台:360安全大脑