在渗透测试的过程中,信息收集是至关重要的第一步。有效的信息收集能够让攻击者在不被发现的情况下,获取大量有价值的数据,可以说,没有信息收集,就没有渗透测试。以下是我总结的一些常用的信息收集技巧
一、基础信息
1、web架构收集
通过识别使用的开发语言、中间件、数据库和操作系统,能够搜索已知的漏洞。
- 开发语言
- 中间件
- 数据库
- 操作系统
获取方式:
- 网页响应头:通过分析HTTP响应头,可以获取到服务器使用的技术栈信息。
- 搜索引擎:通过特定的搜索语法,如
site: target.com php
,可以查找与目标相关的网页和信息。
2、web源码收集
源码泄露是攻击者获取敏感信息的重要途径,同时还可以对源代码进行代码审计,以找出影藏的漏洞
- 开源cms
- 开发人员github/gitee
- 源码售卖网站
- 目录扫描备份文件
详见:常见的Web源码泄漏
3、域名、资产收集手段
- whois
- 注册人反查
- 邮箱反查
- 相似域名(后缀改变)
- 公司名搜索
- 旁注
- C段
- IP反查
二、系统信息
1、真实IP(CDN绕过)
通常网站会使用CDN来隐藏其真实IP,但攻击者可以通过多种方法绕过这一防护。
- 命令执行与SSRF:利用服务器上的漏洞,攻击者可以让服务器主动请求外部资源,从而泄露真实IP。
- 遗留文件:一些遗留的文件(如phpinfo.php)可能会暴露真实IP信息。
- DNS历史记录:如果网站刚上线时没有cdn,通过查询历史DNS记录可以发现之前的真实IP。
- 子域名IP查询:不同的子域名(如www.dead-sec.com与dead-sec.com)可能没有使用CDN。
- CDN服务地区:有些网站仅使用了特定地区cdn加速,使用国外IP可能可以获取真实IP。
- 主动请求:利用目标邮件服务器等功能,让目标服务器主动发送请求,从而获取其IP。
- 备案信息:通过备案信息,可以大致定位服务器的位置,结合其他信息推测出真实IP。
- 网络扫描工具:使用工具如zmap、fuckcdn等进行全网扫描,如果已定位目标可通过IP库缩小扫描范围。
- 证书泄露:当源站使用了https时,通过IP地址访问后可获取到证书信息,通过证书信息上的域名可以获取到这个IP是否是对应的域名。
找到真实IP后再进行hosts绑定,可方便后续测试
相关链接:https://zhuanlan.zhihu.com/p/33440472
2、操作系统
目前市面上的80%服务器操作系统为linux
通过ttl值判断操作系统
- WINDOWS 95/98 TTL:32
- LINUX:64
- WINDOWS NT/2000:128
- UNIX:255
数据每经过一个路由TTL就会减1,所以,我们只要判断,当前ping时,得到的TTL向上接近哪个操作系统的默认TTL值,那么,操作系统就很有可能是对应的操作系统。
通过大小写是否敏感判断
Windows对大小写不敏感,Linux对大小写敏感,可通过在URL中对文件名的大小写进行试探。
三、应用信息
1、端口扫描
识别端口对应服务,看服务有没有漏洞
- nmap(kali自带):https://github.com/nmap/nmap
- fsacn:https://github.com/shadow1ng/fscan
- masscan:https://github.com/robertdavidgraham/masscan
2、APP信息收集
外部收集:
- 抓包:还需要我解释吗?(不是)
- 封包监听:有些应用发包不完整,需要使用封包工具
- 壳查询:使用APK查壳工具(如PKID)检查使用的是哪个厂商的壳,对症下药。
- 脱壳:对于加固的APK,使用脱壳工具(如Xposed模块)进行处理,以便后续分析
- 资产搜索:获取到的域名或IP可进一步利用搜索引擎(如Fofa)进行资产搜索,通过MD5值扫描APK内的标识性文件(如图标),发现更多相关资产,并对其他资产进行安全测试
内部收集:
- AppinfoScanner:通过反编译APK文件,收集应用的各类信息
- 安卓修改大师:提取和修改APK资源
- APK资源提取:提取APK中的资源文件
- 反编译载入IDEA:将APK反编译为Java代码,使用IDEA等工具进行代码审计,识别潜在的安全漏洞。
四、防护信息
1、cdn识别
itdog.cn
zhale.me
2、负载均衡识别
lbd脚本:kali自带
3、waf识别
wadw00f:https://github.com/EnableSecurity/wafw00f
五、人员信息
略(社工)
六、工具合集
1、空间测绘系统
2、自动化收集工具
Kunyu(收费):https://github.com/knownsec/Kunyu
ARL灯塔(官方版已停止维护):https://github.com/Aabyss-Team/ARL、https://github.com/adysec/ARL
ShuiZe水泽:https://github.com/0x727/ShuiZe_0x727
3、漏洞扫描工具
- Nmap:端口扫描,主机扫描,内网扫描,轻量化
- Nessus:主机发现,协议、主机漏洞扫描
- AWVS(Acunetix Web Vulnerability Scanner)、Appscan:web漏洞扫描
- goby红队版:漏洞扫描
- nuclei
- xray
4、webshell远控工具