0x00 信息收集
信息收集也称踩点,指的是黑客为了更加有效地实施攻击而在攻击前或攻击过程中对目标的所有探测活动。信息搜集是渗透测试的最重要的阶段,根据收集的有用信息,可以大大提高我们渗透测试的成功率。
信息收集的作用:
-
了解安全架构:信息收集使攻击者能够了解组织完整的安全架构
-
缩小攻击范围:通过IP地址范围、网络、域名、远程访问点等信息,可以缩小攻击范围
-
建立信息数据库:攻击者能够建立他们自己的相关目标组织安全性弱点的信息数据库来采取下一步的入侵行动
-
描绘网络拓扑:攻击者可以描绘出目标组织的网络拓扑图,分析最容易进入的攻击路径
从方式来分类:
- 被动信息收集,被动信息收集不会与目标服务器做直接的交互,在不被目标系统察觉的情况下,通过搜索引擎、社交媒体等方式对目标外围的信息进行收集,例如:网站的whois信息、DNS信息、管理员以及工作人员的个人信息等等。
- 主动信息收集,主动收集会与目标系统有直接的交互,从而得到目标系统相关的情报信息。例如:主机开发的端口、站点的目录结构等等。
没有一种方式是最完美的,每个方式都有自己的优势,主动方式,你能获取更多的信息,但是目标主机可能会记录你的操作记录。被动方式,你收集的信息会相对较少,但是你的行动并不会被目标主机发现。一般在一个渗透项目下,你需要有多次的信息收集,同时也要运用不同的收集方式,才能保证信息收集的完整性。
从结果来分类:
- 直接可用,结果可以直接进行利用,比如:数据库配置文件泄露;
- 间接可用,结果不能直接进行利用,但是可以间接的产生产生效果,比如:后台登录地址;
- 未来可用,结果当前时间不能进行可用,但是未来某个时间点可用,比如:新系统上线公告。
0x01 域名相关信息收集
子域名收集
- 搜索引擎类:google、baidu、bing、zoomeye、shodan、fofa、censys等
- 普通搜索引擎就用google hacking语法
- 网络空间搜索引擎都有各自的语法
- 工具类:
- 枚举爆破工具(layer、subdomainbrute等)
- 爬行工具(SubDomainizer等)
- 搜索引擎工具(teemo等)
- DNS查找:、、nslookup、dig、DNS区域传送漏洞
whois信息收集
whois是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的查询。
常用站点:
- 站长工具
- 微步在线
- Bugscaner
还可以使用和等工具进行查询
集成工具
maltego,kali自带,先注册账号,用起来很容易功能也很强大。
0x02 整站相关信息收集
web服务器软件,数据库软件,动态脚本语言,操作系统,CDN,WAF
操作系统,windows,类linux
- 手工识别:TTL,大小写,物理路径,特殊端口,脚本语言,banner。。。
- 工具识别:nmap/zenmap,扫描器NESSUS
web系统的识别
服务器(中间件),数据库,动态脚本语言,cms,框架,web指纹
- 手工识别:特殊文件md5,报错信息,网站URL的标识。。。
- 工具识别:浏览器插件,扫描器AWVS,在线识别,whatweb,
旁站和C段
-
旁站指的是同一服务器上的其他网站,可以分为同域名不同目录和同域名不同端口的情况
- 不同目录,和
- 不同端口,和
有时候也可以考虑app,公众号,wap等页面。
-
C段,指的是拿下它同一C段中的其中一台服务器,也就是说是1-255中的一台服务器,然后利用工具拿下该服务器。
或者搜索引擎使用google hacking语法也可以。
CDN和WAF
-
CDN检测就很容易,用超级Ping进行检测就可以了,比如站长里面的ping检测就可以,比如返回多个独立IP一般都是部署了CDN。
-
绕过CDN查找真实IP的话有常用以下方法:
- 一级域名查找
- 边缘业务二级域名查找
- 国外DNS查找
- 邮件服务器,MX记录或者邮件订阅
- 域名历史解析记录,、
- 网站漏洞,有时会出真实服务器信息
-
WAF识别大多基于Headers头信息,可以使用Wafw00f、Sqlmap的waf脚本、Nmap的http-waf-detect和http-waf-fingerprint脚本等等。
0x03 敏感信息相关信息收集
收集敏感信息更多是找到比较精准的攻击入口或直接利用信息收集结果。