渗透测试信息收集心得分享
字数 1515 2025-08-18 11:38:41
渗透测试信息收集全面指南
子域名收集
常用工具与方法
- 自定义Python扫描器:
import requests
import threading
from bs4 import BeautifulSoup
import re
import time
url = input('url(如baidu.com): ')
head = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0'}
ip = 'http://site.ip138.com/{}'.format(url)
domain_url = url
domain = 'http://site.ip138.com/{}/domain.htm'.format(domain_url)
t = time.strftime("%Y-%m-%d"+'_', time.localtime())
html_file = open(url+'_'+t+'.html','w')
# ...(完整代码见原文)
- 开源工具推荐:
- https://github.com/lijiejie/subDomainsBrute
- https://github.com/chuhades/dnsbrute
- 在线网站收集:
- https://d.chinacycc.com/(快速获取结果)
- http://z.zcjun.com/
- https://phpinfo.me/domain/
端口信息收集
Nmap高级用法
- 扫描端口并标记可爆破的服务:
nmap 目标 --script=ftp-brute,imap-brute,smtp-brute,pop3-brute,mongodb-brute,redis-brute,ms-sql-brute,rlogin-brute,rsync-brute,mysql-brute,pgsql-brute,oracle-sid-brute,oracle-brute,rtsp-url-brute,snmp-brute,svn-brute,telnet-brute,vnc-brute,xmpp-brute
- 常见漏洞扫描:
nmap 目标 --script=auth,vuln
- 精确漏洞判断:
nmap 目标 --script=dns-zone-transfer,ftp-anon,ftp-proftpd-backdoor,ftp-vsftpd-backdoor,ftp-vuln-cve2010-4221,http-backup-finder,http-cisco-anyconnect,http-iis-short-name-brute,http-put,http-php-version,http-shellshock,http-robots.txt,http-svn-enum,http-webdav-scan,iis-buffer-overflow,iax2-version,memcached-info,mongodb-info,msrpc-enum,ms-sql-info,mysql-info,nrpe-enum,pptp-version,redis-info,rpcinfo,samba-vuln-cve-2012-1182,smb-vuln-ms08-067,smb-vuln-ms17-010,snmp-info,sshv1,xmpp-info,tftp-enum,teamspeak2-version
批量扫描流程
- 扫描子域名并提取域名/IP到975.txt
- 批量扫描:
nmap -iL 975.txt --script=auth,vuln,ftp-brute,imap-brute,smtp-brute,pop3-brute,mongodb-brute,redis-brute,ms-sql-brute,rlogin-brute,rsync-brute,mysql-brute,pgsql-brute,oracle-sid-brute,oracle-brute,rtsp-url-brute,snmp-brute,svn-brute,telnet-brute,vnc-brute,xmpp-brute > scan.txt
C段信息收集
使用iis put工具扫描1-255端口,重点关注:
135,139,80,8080,15672,873,8983,7001,4848,6379,2381,8161,11211,5335,5336,7809,2181,9200,50070,50075,5984,2375,7809,16992,16993
目录信息收集
推荐工具
- 7kbstorm:https://github.com/7kbstorm/7kbscan-WebPathBrute
注意事项
- 不要忽略403、404页面
- 使用大字典集合(建议合并多个工具的字典)
谷歌语法收集
敏感文件搜索
site:ooxx.com filetype:xls
site:xxx.xxx admin
site:xxx.xxx login
site:xxx.xxx system
site:xxx.xxx 管理
site:xxx.xxx 登录
site:xxx.xxx 内部
site:xxx.xxx 系统
邮箱和社交信息
site:xxx.xxx 邮件
site:xxx.xxx email
site:xxx.xxx qq
site:xxx.xxx 群
site:xxx.xxx 企鹅
site:xxx.xxx 腾讯
特定系统指纹
site:ooxx.com inurl:jmx-console # JBoss系统
云网盘搜索
使用凌风云搜索:https://www.lingfengyun.com/
- 直接输入厂商名称搜索
- 查找可能泄露的内部资料
GitHub信息收集
- 搜索所有开源项目中包含目标关键字的项目
- 推荐工具:https://sec.xiaomi.com/article/37
网站指纹识别
-
基础识别方法:
- 故意触发错误页面查看CMS信息
- 检查URL大小写敏感性判断操作系统(Windows对大小写不敏感)
- 查看HTML源代码中的注释信息
-
在线识别工具:
- http://whatweb.bugscaner.com/look/
- http://www.yunsee.cn/finger.html
-
WAF识别:
- https://github.com/EnableSecurity/wafw00f
-
WHOIS查询:
- 获取注册人、手机号、邮箱等信息(可用于密码生成)
真实IP识别
使用自定义Python脚本(xcdn.py):
# 功能:尝试获取CDN背后的真实IP
# 用法:python3 xcdn.py www.baidu.com
import time
import os
from exp10it import figlet2file
from exp10it import CLIOutput
from exp10it import get_root_domain
# ...(完整代码见原文)
服务器配置检查
-
SSH配置扫描:
- https://github.com/mozilla/ssh_scan
-
敏感文件泄露:
- SVN泄露:
http://xxx.xxx.xxx/.svn/entries - Bazaar泄露:
http://xxx.xxx.xxx/.bzr/ - 网站源码泄露:
www.zip,www.tar.gz,www.rar,web.zip等
- SVN泄露:
-
Java WEB应用:
- WEB-INF目录泄露:
/WEB-INF/config/jdbc.properties /WEB-INF/web.xml /WEB-INF/classes/ /WEB-INF/lib/ /WEB-INF/src/ /WEB-INF/database.properties
- WEB-INF目录泄露:
Shodan/FoFa高级搜索
示例:查找标题是携程并且语言是国语的站点
https://www.shodan.io/search?query=http.title:"携程" country:"CN"
思路扩展技巧
-
功能点变异:
- 后台登录
/admin-login尝试改为/admin-register - 接口
/user/GetPhone/?id=1尝试改为/user/GetPasswd/?id=1
- 后台登录
-
源代码分析:
- 搜索"hidden"查找隐藏功能
- 检查注释中可能泄露的配置信息
-
越权检测:
- 对于
http://xxx.xxx.xxx/userinfo/?uid=2018-WOIDJWOIDJ-5201314 - 使用搜索引擎查找:
site:xxx.xxx inurl=uid=20
- 对于
注意事项
- 针对不同目标采用不同策略(如腾讯相关目标避免使用QQ群搜索)
- 信息收集要全面但要有重点
- 发现的敏感信息要妥善处理,避免泄露
- 保持工具和字典的更新
通过以上全面的信息收集方法,可以为后续的渗透测试打下坚实基础,发现更多潜在的安全隐患。