第一章信息收集
渗透测试之信息收集
1、常见 Web 渗透测试信息收集方式
1.1、域名信息收集
1、全球 whois 查询
相关信息:
部分注册信息、域名所有人姓名和邮箱、域名注册商、注册时间、域名ID、域名状态、网页主机IP地址、注册局whois主机的域名等
工具:
2、SEO综合查询
SEO(Search Engine Optimization,搜索引擎优化):指利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名,可以查到网站在各搜索引擎中的信息,包括网站权重、预估流量、收录、反链及关键词排名等信息,可以与收集到的其他信息进行对比完善
工具:
3、域名信息反查-whois查询
利用域名、邮箱、练习电话等进行域名反查
工具:
1.2、敏感信息和目录收集
1、敏感目录和目录扫描工具
2、搜索引擎
浏览器搜索:
- site:指定域名
- inurl:URL中存在关键字的网页
- intext:网页正文中的关键字
- filetype:指定文件类型
- intitle:网页标题中的关键字
- info:查找指定网站的一些基本信息
- cache:搜索Google里关于某些内容的缓存
3、GitHub搜索技巧
手动:
in:name
|
in:name security 查出仓库中含有security关键字的项目
|
in:description
|
in:name,description security 查出仓库名或项目描述中有security关键字的项目
|
in:readme
|
in:readme security 查出readme.md文件里有security关键字的项目
|
repo:owner/name
|
repo:mqlsy/security 查出mqlsy中有security关键字的项目
|
stars:n
|
stars:>=100 查出star数大于等于100个的项目(只能确定范围)
|
pushed:YYYY-MM-DD
|
security pushed:>2022-09-10 查出仓库中包含security关键字,并在2022年9月10日之后更新过的项目
|
created:YYYY-MM-DD
|
security created:<2022-09-10 查出仓库中包含security关键字,并在2022年9月10日之前创建的项目
|
size:n
|
size:1000 查出仓库大小等于1MB的项目。size:>=30000
|
license:LICENSE_KEYWORD
|
license:apaceh-2.0 查出仓库的开源协议时apache2.0的项目
|
filename:database
|
寻址文件名位database的项目文件
|
language:java
|
寻找用Java语言编写的项目文件
|
filename:database language:java password
|
过滤出用Java编写的、项目名为database的、文件中含有password关键字的所有项目文件
|
自动搜索工具:
1.3、子域名信息收集
1、工具
2、网站配置文件
某些域名下可能存在存储与其相关子域名信息的文件
- 跨域策略文件:crossdomain.xml
- 网站信息文件:sitemap
- 并不是所有网站都会存在这两个文件,有的会隐藏或不用这两类文件进行跨域访问导向和网站信息导向
3、搜索引擎
如:site: baidu.com
4、DNS 应用服务反查子域名
5、证书透明度公开日志搜集
证书透明度:Certificate Transparency,CT
证书授权机构会将每个 SSL/TLS 证书发布到公共日志,一个 SSL/TLS 证书通常包含域名、子域名和邮件地址
在线工具:
1.4、旁站和C段
1、旁站检测
在线工具:
工具:Ip2domain
2、C段检测
1.普通搜索引擎语法:site: xx.xx.xx.*
2.网络资产搜索引擎FOFA/Shodan语法:ip="xx.xx.xx.0/24"
3.自动化扫描工具Nmap、Masscan等端口扫描工具
4.在线查询网站
1.5、端口信息收集
1、常见端口及攻击方向
文件共享服务端口
21/22/69
|
FTP/TFTP文件传输协议
|
允许匿名的上传、下载、爆破和嗅探操作
|
2049
|
NFS服务
|
配置不当
|
139
|
Samba服务
|
爆破、未授权访问、远程代码执行
|
389
|
LDAP目录访问协议
|
注入、允许匿名访问、弱口令
|
远程连接服务端口
22
|
SSH远程连接
|
爆破、SSH隧道及内网代理转发、文件传输
|
23
|
Telnet远程连接
|
爆破、嗅探、弱口令
|
3389
|
RDP远程桌面连接
|
Shift后面(Windows Server 2003以下的系统)、爆破
|
5900
|
VNC
|
弱口令爆破
|
5632
|
PyAnywhere服务
|
抓密码、代码执行
|
web应用服务端口
80/443/8080
|
常见的Web服务端口
|
信息泄露、用户名和密码爆破、Web服务器中间件漏洞
|
7001/7002
|
WebLogic控制台
|
Java反序列化、弱口令
|
8080/8089
|
JBoss/Resin/Jetty/Jenkins
|
反序列化、控制台弱口令
|
9060
|
WebSphere控制台
|
Java反序列化、弱口令
|
4848
|
GlassFish控制台
|
弱口令
|
1352
|
Lotus Domino邮件服务
|
弱口令、信息泄露、爆破
|
10000
|
Webmin-Web控制面板
|
弱口令
|
数据库服务端口
3306
|
MySQL
|
注入、提权、爆破
|
1433
|
MSSQL
|
注入、提权、SA弱口令、爆破
|
1521
|
Oracle
|
TNS爆破、注入、反弹Shell
|
5432
|
PostgreSQL
|
爆破、注入、弱口令
|
27017/27018
|
MongoDB
|
爆破、未授权访问
|
6379
|
Redis
|
未授权访问、弱口令爆破
|
5000
|
Sybase/DB2
|
爆破、注入
|
25
|
SMTP邮件服务
|
邮件伪造
|
110
|
POP3协议
|
爆破、嗅探
|
143
|
IMAP协议
|
爆破
|
53
|
DNS域名系统
|
允许区域传送、DNS劫持、缓存投毒、欺骗
|
67/68
|
DHCP
|
劫持、欺骗
|
161
|
SNMP
|
爆破、搜集目标内网信息
|
特殊服务端口
2181
|
ZooKeeper服务
|
未授权访问
|
8069
|
Zabbix服务
|
远程执行、SQL注入
|
9200/9300
|
Elastic search服务
|
远程执行
|
11211
|
Memcache服务
|
未授权访问
|
512/513/514
|
Linux Rexec服务
|
爆破、Rlogin 登录
|
873
|
Rsync服务
|
匿名访问、文件上传
|
3690
|
SVN服务
|
SVN泄露、未授权访问
|
50000
|
SAP Management Console 服务
|
远程执行
|
2、端口扫描工具
1.6、指纹识别
1、CMS
CMS:Content Management System,内容管理系统
常见CMS:dedeCMS、Discuz、PHPWeb、PHPWind、PHPCMS、ECShop、Dvbbs、SiteWeaver、ASPCMS、帝国、Z-Blog、WordPress等
2、CMS指纹识别
1.7、绕过目标域名 CDN 进行信息收集
1、CDN(Content Delivery Network,内容分发网络)
将网站的内容发布到最接近用户的网络“边缘”的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度
主要解决由于网络带宽小、用户访问量大、网点分布不均等原因导致的用户访问网站的响应速度慢的问题
2、判断目标是否使用了 CDN
手动ping查询:在ping主域名时,请求自动转到了CDN代理上
3、绕过 CDN ,找真实 IP 地址
- 内部邮箱源:公司内部的邮件系统通常部署在企业内部,没有经过CDN的解析(注意:必须是目标自己的邮件服务器,第三方或公共邮件服务器是没用的)
- 扫描网站测试文件,如:.phpinfo、.test等
- 分站域名:很多网站主站的访问量比较大,所有主站都是挂CDN,分站可能没有。可以ping二级域名获取分站IP地址
- 国外访问:国内的CDN往往只对国内用户的访问加速,国外的CDN就不一定了
- 查询域名的解析记录:如果目标网站之前没用使用过CDN,则可以通过网站Netcraft查询域名的IP地址历史记录
- 如果目标网站有自己的APP,则可以常识利用Fiddler或BP抓取APP的请求,从里面找到真实IP
- 绕过“Cloudflare CDN”查找:在确定目标网站CDN后,可以现场时通过网站“CloudflareWatch”对目标网站进行真实IP查询
4、验证获取的 IP 地址
- 如果是web网站:直接尝试使用IP地址访问,看响应页面是不是和域名返回的一样
- 在目标段比较大的情况下借助端口扫描工具批量扫描对应IP地址段中所有开了80、443、8080端口的IP地址,然后逐个尝试IP地址访问。如果目标绑定了域名,那么直接访问是不行的,需要在BP中修改header头Host: 192.xx.xx.xx,或使用其他方法指定Host进行访问
1.8、WAF 信息收集
1、常见的 WAF 的特征进程和特征服务判断其类型
安全狗:
- 服务名:
- SafeDogCloudHelper
- SafeDogUpdateCenter
- SafeDogGuardCenter
- 进程名:
- SafeDogSiteApache.exe
- SafeDogSiteIIS.exe
- SafeDogTray.exe
D盾:
- 服务名:d_safe
- 进程名:
- D_Safe_Manage.exe
- d_manage.exe
云锁:
- 服务名:
- YunSuoAgent/JtAgent
- YunSuoDaemon/JtDaemon
- 进程名:
- yunsuo_agent_service.exe
- yunsuo_agent_daemon.exe
- PC.exe
2、自动化 WAF 识别和检测工具
2、社会工程学
2.1、直接索取信息
可以理解为某些公开信息是可以直接问客服索要的
2.2、网络钓鱼(Phishing)
鱼叉式网络钓鱼:锁定的对象并非个人,而是特定公司或组织成员
语音网络钓鱼(Voice Phishing,Vishing):网络钓鱼的电话版,涉及如自动语音模拟技术
鲸钓攻击(Whaling Attack):指针对高层管理人员的欺诈和商业电子邮件骗局。此类攻击的潜伏期及准备期更漫长
2.3、水坑攻击
在受害者的必经之路设置一个“水坑(陷阱)”
常见做法:黑客分析目标的上网规律,寻找攻击目标经常访问的网站弱点,先将此网站“攻破”并植入攻击代码,一旦目标访问该网站就会“中招”,这种攻击手段可以归为APT攻击
2.4、冒充攻击
通常指攻击者伪造成你的同事或扮成某个技术顾问甚至你的上司
通常会伪装三类角色:
- 重要人物冒充:假装是部门的高级主管,要求工作人员提供信息
- 求助职员冒充:假装是需要帮助的职员,请求工作人员帮助解决网络问题
- 技术支持冒充:假装是正在处理网络问题的技术支持人员,要求获取所需信息以解决问题
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤