渗透测试---信息收集(细!)
字数 1156 2025-08-05 00:15:18
渗透测试信息收集详细指南
前言
在进行渗透测试时,网站主站信息往往较少,需要通过系统化的信息收集技术来扩大攻击面。本指南将详细介绍各种信息收集工具和技术,包括路径爆破、子域名枚举、敏感文件查找和数据爬取等方法。
一、路径爆破工具与技术
常用爆破工具列表
- gxfr.py
- subDomainsBrute.py
- wydomain.py
- sublist3r.py
- dirsearch - GitHub地址
- OneForAll - GitHub地址
- Virustotal - 官网
- 子域名自动化搜索 - 网址
- dnsdumpster - 网址
- FeeiCN - GitHub地址
- 御剑、DirBuster、intellitamper、dirmap、椰树、dirb等
OneForAll工具详解
功能:强大的子域收集工具
安装步骤:
git clone https://github.com/shmilylty/OneForAll.git
cd OneForALL
pip install -r requirements.txt
使用方法:
./oneforall.py --target http://xxx.cn run
输出结果:
- 存放在
/OneForALL/results目录下 - 生成CSV格式文件,包含域名、URL、IP、状态码、banner、ISP等信息
Dirsearch工具详解
功能:命令行工具,用于暴力破解web服务器中的目录和文件
安装:
git clone https://github.com/maurosoria/dirsearch.git
cd dirsearch
基本用法:
python3 dirsearch.py -u <URL> -e <EXTENSION>
高级用法:
./dirsearch.py -u http://10.10.10.1/510cms -e php --plain-text-report=/su.txt
字典位置:
/dirsearch/db/目录下存放暴力破解字典
Virustotal工具
功能:
- 可疑文件和URL分析服务
- 使用多种反病毒引擎检测恶意软件
- 提供Whois查询和DNS复制功能
使用场景:
- 文件扫描:上传可疑文件检测
- URL检测:分析目标网站安全性
- 子域名发现:通过DNS解析历史记录
二、子域名枚举技术
1. 搜索引擎技术
Google语法:
site:xxx.cn
2. Sublist3r工具
安装:
git clone https://github.com/aboul3la/Sublist3r.git
cd Sbulist3r
sudo pip install -r requirements.txt
使用:
python sublist3r.py -d 目标域名
高级选项:
./sublist3r.py -d xxx.cn -p 80,443 -o su.txt
3. 证书透明度查询
工具:
4. Dnsdumpster
功能:免费域研究工具,可发现大量潜在子域名
5. FeeiCN工具
优势:
- 支持泛解析域名
- 基于RSC(响应相似度对比)技术
- 异步协程技术,速度快
安装:
pip install esd
pip install esd --upgrade # 升级
使用:
esd -d xxx.com
三、敏感路径查找技术
1. 简易枚举脚本
import requests
url = 'http://www.xxx.cn/'
with open("web.txt","r") as web:
webs=web.readlines()
for web in webs:
web=web.strip()
u = url+web
r = requests.get(u)
print("url为:"+u+' '+"状态为:%d"%r.status_code)
2. 常见敏感文件后缀
.mdb.zip.rar.txt.git.svn
3. 常见工具
- 御剑后台扫描器
- intellitamper
- 椰树
四、敏感数据爬取技术
1. 爬取OA系统日志数据
import requests
heade = {
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0',
'Cookie':'csa=19; my_expand_3=2%2C1%2C0%2C; my_expand_all_3=; PO_auth=MQlkMjM4N2YwYjMyZjIzM2RjYzg5OWZmNGE0ODU0OWE4NA%3D%3D'
}
postdata = {
'username':'phpoa',
'password':'12345678'
}
for i in range(1,20):
posturl = ("http://10.10.10.1/oa/admin.php?ac=log&fileurl=member&page=%d"%i)
res = requests.post(url=posturl, data=postdata, headers=heade)
# 解析响应内容...
2. 爬取CMS后台留言板
import requests
heade = {
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0',
'Cookie':'username=admin; userid=1; PO_auth=MQkyODExZmI4ZjQ5MTllOGMxMmMyMjc4NDlkMzNmMjFlMg%3D%3D; PHPSESSID=5d26475d72a9c879b007642b29764cf2'
}
postdata = {
'username':'admin',
'password':'123456'
}
posturl = "http://10.10.10.1/cms/admin/message.php"
res = requests.post(url=posturl, data=postdata, headers=heade)
# 解析响应内容...
总结
信息收集是渗透测试的关键第一步,通过系统化的路径爆破、子域名枚举、敏感文件查找和数据爬取等技术,可以大大扩展攻击面,为后续渗透测试提供更多突破口。在实际操作中,应根据目标特点选择合适的工具组合,并注意工具的更新和维护。