渗透测试笔记——信息收集篇

渗透测试笔记系列文章目录

信息收集篇
漏洞扫描篇
漏洞利用篇
权限维持篇
内网渗透篇

前言

渗透测试的第一步和本质均为信息收集,本篇将围绕一下几个问题展开:
希望收集到的信息有那些?
这些信息都会有什么用处?
如何收集到这些信息?
然后会进行信息收集实战,分析信息收集时的思路
渗透测试中的核心目标是全面识别目标系统的攻击面,为后续漏洞利用和提权提供线索。我们要明确授权的范围是什么?是仅限web应用还是包含内外主机?我们目标的资产类型是什么?是web服务器、数据库、API接口、内网主机还是移动设备?此外,目标企业的业务内容最好也搞清楚。


收集的信息详解(网络层、应用层、系统层、社工层)

1.基础网络信息-网络层

目标资产清单

  • IP地址:主站IP、子网范围、内网IP段(如192.168.1.0/24)。
    作用:可以分析网络边界和潜在横向移动路径。
  • 域名与子域名:主域名、子域名、域名注册信息(whois记录、注册商、过期时间)。
    作用:发现隐藏服务(如admin.example.com指向后台管理系统)子域名可以增加攻击面
  • 端口与服务:开放端口(如80HTTP、443HTTPS、3306MYSQL)、服务版本(如Apache2.4.51)。
    作用:识别暴露的服务(如22SSH、3306MYSQL)判断是否存在未授权访问或弱密码漏洞,而暴露服务版本(如Apache2.4.51)可以直接匹配CVE漏洞(如CVE-2021-41773)
  • CDN与负载均衡:检测是否使用Cloudflare、AWS CloudFront等CDN
    作用:判断是否需要CDN绕过获取真实IP

网络拓扑与架构

  • 路由器:路由器型号
    作用:路由器型号(如华为AR-HWv2、思科CiscoIOS15.6)直接关联公开的CVE漏洞库。许多路由器型号(如TP-Link WR1043N)默认使用admin/admin凭据,或未启用WPA2-PSK加密。还能根据路由器型号(如企业级路由器华为USG)可推测内网规模和架构。
  • 防火墙:防火墙规则
    作用:可帮助攻击者过滤无效流量,避免触发WAF或IDS警告。还能分析防火墙放行的非标准端口来发现隐蔽服务。
  • 内网划分:VLAN分布、子网隔离情况(如192.168.1.0为办公网,192.168.2.0为DMZ)。
    作用:优先定位高价值资产(如财务数据库)。进入内网后规划横向移动路径。
  • DNS解析:DNS服务器IP、MX记录(邮件服务器)、TXT记录(SPK/DKIM配置)。
    作用:DNXS记录(如MX、A、TXT)可揭示目标隐藏资产。DNS解析发现未公开的子域名。

2.web应用层信息-应用层

应用指纹与版本

  • HTTP头部:Server字段(如Apache/NGINX版本)、X-Powered-By(如PHP/Python版本)、
    Content-Type(如JSON/XML响应头)。
    作用:用于匹配已知漏洞
  • CMS与框架:WordPress、Drupal、Joomla版本
    *作用:直接利用公开漏洞POC

API与接口

  • API端点:/api/user、/login 等路径。
    作用:发现未授权的API端点(如/api/user/list)测试越权访问或注入漏洞
  • 参数类型:GET/POST参数、请求头(如Authoriation Bearer Token)。
    作用:构造恶意Payload(如SQL注入)
  • 速率限制:API调用速率限制。
    作用:确保不会触发防御机制

漏洞与历史记录

  • CVE漏洞:查询目标资产关联的CVE编号。用作攻击
  • 历史漏洞扫描结果:使用Vulners或Exploit-DB检索已知漏洞。用作攻击

敏感数据泄露

  • 数据库暴露:通过Shodan搜索mysql://example.com探测开放数据库端口。
  • 文件泄露:使用Google Hacking语法(如site:example.com"config.php")查找配置文件。
    作用:可能包含敏感文件(数据库密码、各种密钥)。

3.操作系统与内网信息-系统层

主机配置

  • 操作系统类型与版本:Linux或windows
    作用:以选择对应提权攻击(如Linux内核漏洞CVE-2021-4034)
  • 内核版本:uname-r
    作用:可验证是否存在本地提权漏洞。

运行服务与进程

  • 服务列表:systemctl list-units (如nginx、dockerd)。
  • 进程监控:ps aux 或top命令输出(如检测sqlmap进程)。
  • 敏感服务:Redis(未授权访问)、SHH(弱密码)、RDP(端口3389开放)。
    作用:直接利用进行RCE或数据窃取。发现sqlmap进程表面目标可能已经遭受攻击。

内网渗透线索

  • 共享文件夹:SMB协议共享目录。
    作用:可能获得敏感数据(如备份数据库)。
  • 组策略漏洞:windows域控制器组策略配置(如允许匿名访问)。
    作用:内网横向移动时使用。
  • 日志文件:/var/log/auth.log(Luinx登录日志)、Event Viewer(Windows安全日志)。
    作用:用于清除攻击痕迹。

4.社会工程学信息-物理层

  • 员工信息:姓名、邮箱、职位、联系方式
  • 组织架构:部门划分、管理层邮箱。
  • 会议记录:内部会议视频、文档(如Zoom会议链接、Google Docs共享链接)分析目标设计钓鱼针对性话术和分析会存在什么敏感数据。
  • 钓鱼测试结果:模拟钓鱼邮件点击率、密码重置频率。
  • 弱密码统计:通过John the Ripper 破解哈希后的常见密码(如password123)。
  • 云服务:AWS S3储存权限(如公开可读写)、Azure VM暴露的端口
  • 邮件服务:使用smtp-user-enum测试邮箱是否存在。检测SPF/DKIM/DMARC配置(如未配置DMARC易遭受钓鱼攻击)。

简单总结

信息类型攻击阶段典型利用场景
IP与子网信息收集网络扫描、内网横向移动
CMS版本漏洞探测自动化攻击(如WorldPress漏洞利用)
Redis未授权访问漏洞利用直接获取数据库凭据
邮箱社会工程钓鱼攻击
内核漏洞提取阶段本地提权至root

如上表所示不同的信息用于不同攻击阶段,在进行信息收集时步骤也基本遵循上表从上至下顺序


信息收集实战

落实到信息收集实战时,我们根据是否与目标直接接触而分为被动信息收集和主动信息收集。

被动信息收集

被动信息收集通过公开渠道非侵入式获取目标信息,利用搜索引擎(如Google高级语法)定位技术文档、配置文件等敏感信息;通过Shodan等网络空间引擎探测设备服务及架构;结合Whois和ICP备案查询解析域名归属及注册者信息;挖掘社交媒体(LinkedIn/微博)获取员工账号及组织架构,从而构建目标画像。

whois查询和ICP备案信息查询

whois是用来查询域名的IP以及所有者等信息的传输协议。以及注册域名的详细信息的数据库(如域名所有人,域名注册商)。
通过whois查询可以获得域名注册者邮箱地址等信息。一股情况下对于中小型网站域名注册者就是网站管理员。利用搜索引擎对whois查询到的信息进行搜索,获取更多域名注册者的个人信息。
https://www.whoiscx.com/
https://www.whoiscx.com/
能够拿到站点信息如下表
在这里插入图片描述
whois反查
先通过whois获取注册人和邮箱,再通过注册人和邮箱反查域名。缺点是很多公司都是DNS解析的运营商注册的,查到的是运营商代替个人和公司注册的网站信息。

因为ICP备案是中国政府要求的,即网站运营者需要向工信部备案,获取备案号。查询ICP备案可以获取主办单位、负责人、联系方式等信息,这对渗透测试中的信息收集同样重要,尤其是在国内目标的情况下。
在这里插入图片描述

网络安全空间测绘-FOFA

在这里插入图片描述
完全的语法规则在首页“查询语法”点击就可以看到。
通过公司名称定位域名/IP

domain="公司名称拼音或英文" || title="公司名称" || cert.org="公司名称"

发现公司官网、子公司域名或国际域名

通过公司名称搜索证书信息

cert.org="公司名称" || cert.subject="CN=.*公司名称.*"

找到使用公司名称签名的 SSL 证书,可能暴露内网服务或测试环境。

结合通用子域名字典发现子域名

domain="公司主域名" && subdomains.yes

可以列出所有子域名

定位业务系统与端口

domain="公司主域名" && (port="80" || port="443" || port="3389")

发现可能的远程桌面服务(RDP)、Web 服务或 API 接口

domain="公司主域名" && protocol="https" && title="后台管理"

定位管理后台、登录页面等敏感入口

Google Hacking

Google 会爬取并索引全球网页内容,而 Google Hacking 利用其高级搜索运算符(如 intitle, inurl, filetype 等)结合特定关键词(如漏洞名称、配置文件、日志文件等),从公开网页中筛选出高价值信息。
在这里插入图片描述
假设仅知道目标公司名称为“启明星科技”​

​通过公司名称定位主域名、子域名或相关资产。
搜索语法:

# 1. 搜索主域名(常见拼写或英文名)
"启明星科技" inurl:www OR "Qimingxing Tech" inurl:www
# 2. 通过证书信息查找域名(如 SSL 证书中的 Organization 字段)
cert.org:"启明星科技" OR cert.subject:"CN=Qimingxing Tech*"
# 3. 搜索员工邮箱或联系方式(可能暴露域名后缀)
"contact@qimingxing" OR "support@qimingxing" filetype:txt

预期结果:
发现主域名:qimingxing.com 或 starlighttech.cn。
找到员工邮箱:security@qimingxing.com,用于后续社工攻击。

​枚举子域名与开放服务
发现目标公司所有可能的子域名及开放端口。
搜索语法:

# 1. 基础子域名发现(需结合工具二次验证)
site:qimingxing.com -www
# 2. 查找未授权管理页面(如后台目录)
intitle:"index of" "/admin" site:qimingxing.com
# 3. 搜索特定服务(如 RDP、SSH)
inurl:"/3389" site:qimingxing.com OR inurl:"/ssh" site:qimingxing.com

预期结果:
子域名列表:dev.qimingxing.com, api.qimingxing.com。
发现暴露的 RDP 服务:rdp.qimingxing.com:3389

​敏感文件泄露探测
查找配置文件、备份文件、日志等可能泄露敏感信息的文件。
搜索语法:

# 1. 搜索 .env 文件(含 API 密钥、数据库凭证)
filetype:env "QIMINGXING" site:qimingxing.com
# 2. 查找 Git 目录泄露(源码可能包含漏洞)
intitle:"index of" .git site:qimingxing.com
# 3. 搜索日志文件(含内部 IP 或密码)
filetype:log "error" site:qimingxing.com

预期结果:
泄露的 .env 文件内容:DB_PASSWORD=admin123。
发现未删除的 Git 仓库:git.qimingxing.com/.git,可下载源码分析。

​漏洞关联与验证
利用 Google Hacking 快速定位已知漏洞的利用代码或受影响资产。
搜索语法:

# 1. 搜索特定 CMS 漏洞(如 DedeCMS 反序列化漏洞)
"启明星科技" inurl:dede/index.php AND vuln:CVE-2023-1234
# 2. 查找 WebLogic 反序列化漏洞利用代码
filetype:php "ysoserial.php" site:qimingxing.com
# 3. 搜索 SQL 注入漏洞页面(含特征参数)
inurl:"id=1" "warning" site:qimingxing.com

预期结果:
发现某子站使用旧版 DedeCMS,存在 CVE-2023-1234 反序列化漏洞。
找到可利用的 ysoserial.php 文件,可直接构造 POC。

​攻击面扩展
通过已发现的信息横向扩展攻击面。
搜索语法:

# 1. 搜索与目标相关的其他域名或IP
related:qimingxing.com OR net:"qimingxing.com/24"
# 2. 查找内网暴露的设备(如摄像头、路由器)
intitle:"Netgear Router Login" net:"qimingxing.com/24"
# 3. 搜索企业使用的第三方服务(如阿里云、腾讯云)
site:qimingxing.com "Powered by 阿里云"

主动信息收集

主动信息收集是指通过直接与目标系统交互来获取信息,这种方式可能会留下痕迹,需要谨慎操作。主要包括端口扫描和抓包分析。

Nmap端口扫描服务识别

1:主机存活确认
目标:确认目标 IP 是否在线,避免扫描无效地址。
命令:
nmap -sn 192.168.1.10
参数说明:

-sn:跳过端口扫描,仅进行主机存活探测(ICMP Echo、TCP SYN、ARP 请求)。
输出示例:
Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-01 10:00 UTC  
Nmap scan report for 192.168.1.10  
Host is up (0.0010s latency).  
MAC Address: 00:11:22:33:44:55 (Unknown)  
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

​2:全端口扫描与服务识别
目标:发现所有开放端口及对应服务版本。
命令:
nmap -sV -p- -T4 192.168.1.10
参数说明:

-sV:探测服务版本。
-p-:扫描全部 65535 个端口。
-T4:快速扫描模式(平衡速度与准确性)。
输出示例:
PORT      STATE SERVICE       VERSION  
22/tcp    open  ssh           OpenSSH 8.4 (Ubuntu Linux; protocol 2.0)  
80/tcp    open  http          Apache httpd 2.4.41 ((Ubuntu))  
443/tcp   open  ssl/http      Apache httpd 2.4.41 ((Ubuntu))  
3389/tcp  open  ms-wbt-server Microsoft Terminal Services  
3306/tcp  open  mysql         MySQL 8.0.26  

​3:操作系统与网络指纹识别
目标:判断目标 OS 类型及网络设备信息。
命令:
nmap -O --osscan-guess 192.168.1.10
参数说明:

-O:启用操作系统检测。
--osscan-guess:猜测非标准响应的 OS(提高检测率)。
输出示例:
OS details: Linux 4.15 - 5.6 (kernel 5.4.0-42-generic)  
Network Distance: 1 hop  
Service Info: Host: example.com; OS: Linux; CPE: cpe:/o:linux:linux_kernel

Wireshark抓包分析

如果发现了目标网站或服务使用未加密的协议(如 HTTP、FTP、Telnet)传输数据。我们可以尝试
捕获明文传输的密码、API 密钥、会话令牌或用户数据。
检查是否存在敏感信息泄露(如数据库查询、内部服务器路径等)。

总结

在渗透测试信息收集阶段,一定要完成的是对目标的画像要全面,为后续步骤做好铺垫。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值