自学渗透测试第14天(信息收集进阶与指纹识别)

5.4 信息收集进阶与指纹识别(第14天)

核心目标
  1. 掌握网络空间搜索引擎:熟练使用Shodan、Censys、Zoomeye、Fofa等平台,发现暴露在公网的特定资产、服务和漏洞。

  2. 掌握可视化情报收集:初步使用Maltego进行信息关联、可视化分析,挖掘目标关联的域名、IP、人员、组织等情报。

  3. 掌握自动化指纹识别 :使用EyewitnessAquatone等工具对大量目标进行截图、分类,快速识别攻击面。

模块一:网络空间搜索引擎
1.1 Shodan
  • 定位:搜索联网设备(服务器、摄像头、路由器、工控设备等)。

  • 核心语法

    • apache:搜索包含"apache"的banner。

    • city:"Shanghai":位于上海。

    • port:22:开放22端口。

    • os:"Windows":操作系统为Windows。

    • net:"192.168.1.0/24":网段搜索。

    • http.title:"login":网页标题包含login。

    • http.favicon.hash:123456:通过favicon哈希搜索。

    • product:"nginx":产品名称为nginx。

    • vuln:CVE-2014-0160:搜索心脏出血漏洞。

实战示例

  • 搜索暴露的Redis服务:port:6379 product:"Redis"

  • 搜索特定管理后台:http.title:"Dashboard" "admin"

  • API使用 :注册获取API Key,使用shodan命令行工具。

    复制代码
    shodan init YOUR_API_KEY
    shodan search apache
    shodan host 8.8.8.8
1.2 Censys
  • 类似Shodan,但数据源和语法略有不同。重点关注证书透明度日志,善于发现子域名和关联资产。

  • 语法

    • services.http.response.html_title:"Login"

    • parsed.names: example.com# 通过证书发现域名

  • 在线访问censys.io

1.3 Zoomeye / Fofa
  • 国产优秀替代:语法类似,对国内资产覆盖可能更好。

  • ZoomEye语法

  • app:"Apache"

  • country:"CN"

  • port:80

模块二:可视化情报收集 - Maltego
2.1 Maltego简介
  • 功能:开源情报(OSINT)和图形化链接分析工具。将分散的数据关联成直观的关系图。

  • 核心概念

  • 实体:如域名、IP地址、人员、组织、电话号码等。

  • 变换:对实体执行的操作,如"查找子域名"、"解析为IP"等。

2.2 基本使用流程
  1. 新建图表

  2. 添加起始实体:如将一个域名拖入图表。

  3. 右键实体,选择变换

    • To DNS Name - Subdomains(查找子域名)

    • To DNS Name - IP Address(解析A记录)

    • To Netblock(查找所属IP段)

    • To Website(获取网站信息)

  4. 分析关系图:发现关联的IP、子域名、邮件服务器、人员等。

2.3 注意事项
  • 免费版有功能限制,且查询需要API Key(如SecurityTrails, VirusTotal等)。

  • 信息需验证,可能存在过时或错误数据。

模块三:自动化指纹识别与分类
3.1 Eyewitness
  • 功能:对URL列表自动截图,生成报告,便于快速浏览大量Web界面。

  • 安装sudo apt install eyewitness

  • 使用

    复制代码
    eyewitness -f urls.txt --web
    # 生成报告在`2024-05-15_123456`目录下
3.2 Aquatone
  • 功能更强大的类似工具,可识别技术栈、获取HTTP头、截图。

  • 使用

    复制代码
    cat subdomains.txt | aquatone -out ./aquatone_report
3.3 自动化工具链示例
复制代码
# 1. 子域名枚举
amass enum -passive -d example.com -o subs.txt
# 2. 解析IP
cat subs.txt | dnsx -a -o ips.txt
# 3. 端口扫描 (naabu)
naabu -l ips.txt -top-ports 1000 -o ports.txt
#使用nmap进行端口的批量扫描
nmap -p 80,443 -iL ip.txt -o ports
# 4. HTTP探测 (httpx)
cat ports.txt | httpx -title -tech-detect -status-code -o web.txt
# 5. 截图 (aquatone)
cat web.txt | aquatone
模块四:当日达标实战任务
4.1 网络空间搜索引擎实战
  1. Shodan搜索练习:在Shodan官网(或使用CLI)完成以下搜索,记录结果数量:

    • 搜索开放3389端口(RDP)且位于中国的IP。

    • 搜索网页标题包含"Dashboard"且使用Nginx的服务器。

    • 搜索使用Apache版本2.4.49(存在CVE-2021-41773漏洞)的服务器。

  2. 资产关联发现 :在Censys中,搜索你的一个目标域名(如example.com)的证书,查看通过证书透明度日志发现了哪些子域名。

4.2 Maltego初步探索
  1. 安装与配置 :在Kali中安装Maltego(sudo apt install maltego),启动并完成初始配置(注册社区版,可跳过API设置)。

  2. 简单变换 :新建图表,添加一个你知道的域名实体(如google.com),尝试进行"查找子域名"和"解析为IP"变换,观察生成的关系图。

4.3 综合信息收集项目
  1. 针对一个虚拟目标 :假设目标为acme.com(一个虚构公司)。请设计一个完整的信息收集方案,包含以下步骤,并记录你的发现(可模拟或搜索真实类似案例):
  • 使用amasssublist3r进行子域名枚举。

  • 对发现的子域名进行解析,获取IP地址。

  • 使用naabunmap对IP列表进行快速端口扫描(前100端口)。

  • 使用httpx对开放HTTP/HTTPS服务进行探测,获取标题、状态码、技术栈。

  • 对几个关键的Web服务使用whatweb进行详细指纹识别。

  • 将所有发现整理成一份简要的资产清单报告。

模块五:常见问题与解决方案
5.1 搜索引擎使用
  • 搜索结果过多/过少:优化搜索语法,使用组合条件。参考官方文档学习高级语法。

  • API调用限制:免费API通常有速率和次数限制。合理安排查询,或购买会员。

5.2 工具集成
  • Maltego变换失败或无结果:检查网络连接,确认相关API Key是否配置正确(如果需要)。免费版功能有限。

  • 自动化流程中断 :编写脚本时加入错误处理,使用timeout命令防止某个工具卡住。

5.3 法律与道德
  • 注意 :使用Shodan等搜索引擎搜索到的资产,未经授权不得进行任何形式的攻击或入侵。这些工具仅用于授权测试前的信息收集或安全研究。

第二阶段总结与展望 :至此,您已经完成了基础技能构建信息收集深化 两个阶段,掌握了Linux/Windows操作、网络协议、Shell编程、渗透测试流程、Burp Suite使用以及全面的信息收集技术。从第15天起,我们将进入漏洞原理与利用 的核心阶段,首先从OWASP TOP 10榜首的SQL注入开始。请准备好DVWA和Burp Suite,迎接真正的漏洞攻防实战。


免责声明

本技术分享内容仅供学习和交流目的,不构成任何形式的专业建议或承诺。

分享者不对因使用或参考本内容而导致的任何直接或间接损失或损害承担责任。

网络安全技术涉及潜在风险,请在合法授权范围内谨慎操作,遵守相关法律法规。

读者应自行评估技术适用性,并在实际环境中采取必要的安全措施。

版权声明

未经许可,不得擅自修改、转载或用于商业用途。

相关推荐
xlq223224 小时前
40.线程控制
linux
TechMasterPlus5 小时前
Linux U-Boot 与内核启动流程深度解析:从上电到 Shell 的完整之旅
linux·运维·服务器
大白菜和MySQL5 小时前
Linux下dhcp服务搭建
linux·运维·服务器
大白菜和MySQL5 小时前
linux系统环境常用命令
android·linux·adb
SPC的存折5 小时前
1、MySQL故障排查与运维案例
linux·运维·服务器·数据库·mysql
Run_Teenage5 小时前
Linux:认识信号,理解信号的产生和处理
linux·运维·算法
Deitymoon5 小时前
linux——TCP服务器获取客户端IP地址
linux·服务器·tcp/ip
小贾要学习5 小时前
【Linux】应用层自定义协议与序列化
linux·服务器·c++·json
Amnesia0_05 小时前
理解Linux中的OS管理和进程属性
linux·运维·服务器