第四章:情报收集(OSINT)—— 被动信息收集、主动信息收集、社会工程学初步

各位同学,咱们今天聊聊情报收集。说白了,这就是红蓝对抗里的“踩点”阶段。你连对手是谁、门朝哪开都不知道,这仗没法打。我个人习惯把情报收集分成三块:被动、主动、还有社会工程学。这三块层层递进,缺一不可。

4.1 被动信息收集:不碰目标,先摸清底细

被动收集,就是你不直接接触目标系统。你只是在网上“看”,不留下任何痕迹。这就像侦察兵拿望远镜观察,不开枪。

核心思路:利用公开资源,把目标公司的家底翻个底朝天。

关键点:被动收集的核心是“不产生流量”。你访问的网站、查询的DNS记录,都不能是目标自己的服务器。要用第三方平台。

我常用的手段有这些:

  • 搜索引擎(Google Hacking): 别小看Google。用 site:target.com filetype:pdf 能搜出内部文档。用 intitle:"index of" target.com 可能找到目录遍历。我在项目中遇到过,用 inurl:php?= 直接找到了一个未修复的SQL注入点。
  • Shodan / Censys: 这是物联网搜索引擎。输入目标IP段,能直接看到开放了哪些端口、跑了什么服务。比如,你发现目标暴露了3389端口(远程桌面),那就可以考虑爆破。
  • Whois 查询: 查域名注册信息。能拿到注册人邮箱、电话、地址。这些信息,有时候就是社会工程学的突破口。
  • DNS 枚举: 用 dnsrecon 或 dnsenum 工具,可以暴力破解子域名。比如 mail.target.com、vpn.target.com。这些子域名往往直接暴露了内部服务。
  • GitHub / 代码泄露: 很多公司会把代码上传到公开仓库。搜索 target.com password 或 target.com api_key,经常有惊喜。我曾经在GitHub上找到过一个包含数据库连接字符串的配置文件,里面明文写着密码。

小技巧: 用 theHarvester 工具,可以一键收集邮箱、子域名、IP。省时省力。

4.2 主动信息收集:直接探测,获取实时数据

主动收集,就是你要和目标系统“打招呼”了。你会发送数据包,目标会回应。这就有风险了——你的IP可能会被记录。

核心思路: 确认目标存活、开放端口、运行服务、操作系统版本。

我建议按这个顺序来:

  1. 主机发现: 用 ping 或 nmap -sn 扫一下IP段,看看哪些机器在线。
  2. 端口扫描: 用 nmap -sS -sV -O target_ip。这能告诉你开放了哪些端口、服务版本、操作系统。比如,你看到开放了22端口(SSH),版本是OpenSSH 7.4,那就可以查查这个版本有没有已知漏洞。
  3. 服务识别: 用 nmap -sV --version-intensity 9 可以更精确地识别服务版本。有时候,版本号差一个小数点,漏洞情况就完全不同。
  4. 漏洞扫描: 用 Nessus 或 OpenVAS 做全量扫描。但注意,这会产生大量流量,很容易被蓝队发现。我一般只在授权测试或红蓝对抗的“攻击窗口期”用。

警告: 主动扫描一定要控制速率。用 nmap --min-rate 100 --max-rate 500 限制发包速度。否则,你可能会触发目标的IDS/IPS,直接暴露自己。

嗯,这里要注意。主动收集不是越全越好。你想想看,如果你扫了10000个端口,蓝队那边日志里全是你的扫描记录。所以,我建议先做被动收集,缩小范围,再针对性地做主动扫描。

4.3 社会工程学初步:人,才是最薄弱的环节

技术手段搞不定的时候,就得靠“人”了。社会工程学,说白了就是利用人的心理弱点来获取信息。这不是骗人,是“信息博弈”。

核心思路: 建立信任、利用权威、制造紧迫感。

我常用的手法:

  • 钓鱼邮件: 伪造一个看似官方的邮件。比如,冒充IT部门,说“您的密码即将过期,请点击链接更新”。链接指向一个伪造的登录页面,你就能拿到密码。
  • 电话钓鱼: 直接打电话给目标公司的前台或IT支持。用很着急的语气说:“我是XX部门的张三,我的VPN账号登不上了,能帮我重置一下吗?” 很多时候,对方不会核实身份。
  • 物理渗透: 假装成快递员、维修工,混进办公区。进去之后,找机会插一个BadUSB,或者拍一张内部网络拓扑图。

关键点: 社会工程学需要前期情报支撑。你至少要知道目标公司的组织架构、员工姓名、常用系统名称。这些信息,大部分来自被动收集阶段。

我曾经做过一次测试。我通过LinkedIn找到了目标公司的一个运维工程师,发现他经常在技术论坛发帖。我伪造了一个和他同行的身份,在论坛上私信他,请教一个技术问题。聊了几次后,我假装遇到了一个紧急故障,问他能不能远程帮我看看。他居然真的把TeamViewer的ID和密码发给了我。嗯,这就是典型的“信任滥用”。

4.4 情报收集的避坑指南

做了这么多年红队,我踩过不少坑。分享几个经验:

  • 不要过度依赖自动化工具。 工具扫出来的结果,一定要人工验证。我曾经用Nessus扫出一个“高危漏洞”,结果发现是误报——那个端口根本不是目标的服务。
  • 注意法律边界。 没有授权的情况下,主动扫描和钓鱼都是违法的。红蓝对抗一定要在授权范围内进行。
  • 保护好你的C2服务器。 主动收集时,你的IP可能会被蓝队捕获。所以,一定要用跳板机或VPN。
  • 社会工程学要“演全套”。 如果你冒充IT人员,那你的语气、用词、甚至打字速度都要像。我曾经因为回复太快,被对方怀疑“你不是IT吧?IT回消息没这么快”。

小技巧: 收集到的情报,一定要整理成表格。比如:IP、端口、服务、版本、可能的漏洞、联系人信息。这样后续攻击阶段才能快速调用。

好了,情报收集这块就讲这么多。记住,情报越详细,攻击越精准。下一章,咱们聊聊漏洞扫描和利用。到时候见。


咨询更多资料,