🌀 鱼油のB10g

✦ 不定期更新技术随想

✦ 分享奇妙发现

📌 近期动态:

探索AI和工具使用...

第5章 第41-42-43课

信息搜集实战指南:从校园到职场的侦察艺术


模块解读:网络安全的"情报基石"

作为参加过多次护网行动的学长,我深刻体会到:信息搜集就是网络攻防的望远镜。这门实战课的目标很明确:

  • ✅ 掌握10大核心侦察技能
  • ✅ 培养网络空间测绘思维
  • ✅ 衔接企业安全工作岗位
# 校园场景映射:
# 查学生会网站的子域名 → 发现未授权的测试后台
# 定位实验室服务器IP → 意外暴露的数据库端口
# 这将是贯穿全课的实战主线 (•̀ω•́)✧

实战十步走:校园侦察手册

1. 常用命令操作:网络侦察的"瑞士军刀"

场景:快速排查宿舍网络故障

# 基础四件套(Windows/Linux通用)
ipconfig / ifconfig# 查看本机IP → 确认是否获取到172.18.x.x
ping 202.119.32.1# 测试到学校DNS连通性
tracert www.edu.cn# 追踪教育网访问路径
netstat -ano | findstr :80 # 检查谁在占用80端口(查舍友开私服)

# 信息关联技巧:
nslookup lib.xx.edu.cn# 图书馆域名→IP映射
whois xx.edu.cn# 查学校域名注册信息(管理员邮箱+电话)

2. 域名子域名搜集:发现隐藏的校园系统

场景:为毕业论文收集数据源

# 使用Sublist3r(Python工具)
from sublist3r import sublist3r

subdomains = sublist3r.detect(
'xx.edu.cn',
threads=10,
savefile='subs.txt'
)
# 输出:
# - vpn.xx.edu.cn(VPN入口)
# - exam.xx.edu.cn(考试系统,论文数据源)
# - dev.xx.edu.cn(未上线的开发环境!)

3. 查找网站真实IP:穿透CDN的迷雾

场景:学校官网遇到DDoS攻击,需要定位真实服务器

import dns.resolver

def bypass_cdn(domain):
# 方法1:查历史DNS记录
historical_ips = dns.resolver.resolve(domain, 'A', lifetime=10)

# 方法2:查邮件服务器MX记录
mx_records = dns.resolver.resolve(domain, 'MX')

# 方法3:全球Ping测试
# 使用全球17个节点ping检测(需要API)
return list(set(historical_ips + mx_records))

real_ips = bypass_cdn("www.xx.edu.cn")
print(f"真实IP可能是:{real_ips[0]}")

4. 通过IP查经纬度:定位实验室服务器

场景:机房漏水需快速定位物理位置

# 使用MaxMind数据库(需提前下载)
import geoip2.database

reader = geoip2.database.Reader('GeoLite2-City.mmdb')
response = reader.city('202.119.32.6')# 实验室IP

print(f"""
纬度: {response.location.latitude}
经度: {response.location.longitude}
位置: {response.city.name}, {response.country.name}
""")
# 输出:纬度:32.058经度:118.777位置:南京,中国 → 对应仙林校区3号楼

5. 网站信息搜集:分析教务系统

场景:评估选课系统安全性

# 使用BuiltWith库识别技术栈
import builtwith

tech_stack = builtwith.parse('http://jwxt.xx.edu.cn')
print(tech_stack)

# 输出:
{
'web-servers': ['Nginx'],
'programming-languages': ['Java'],
'frameworks': ['Struts2'],# 已知漏洞框架!
'javascript-frameworks': ['jQuery']
}

6. 企业信息搜集:调研校企合作公司

场景:为就业做准备

# 天眼查/企查查命令行版(需API)
curl "https://api.tianyancha.com/company/base?name=奇安信" \
-H "Authorization: YOUR_TOKEN"

# 返回:
{
"name": "奇安信科技集团",
"regStatus": "存续",
"score": 90,
"riskCount": 3,# 法律风险提示
"patentCount": 152# 技术实力指标
}

7. 指纹识别:检测实验室设备

场景:盘点网络实验室资产

# 使用Nmap指纹扫描
nmap -O -sV 172.16.108.0/24

# 关键输出:
Host: 172.16.108.9
OS: Cisco IOS 15.4 (猜测: 路由器)
Host: 172.16.108.12
Service: Apache/2.4.29 (Ubuntu)# 过期版本有漏洞!

8. 网盘搜索:找回丢失的课件

场景:教授删除了课程资料

# 百度网盘搜索自动化(伪代码)
def search_pan(keywords):
driver.get(f"https://pan.baidu.com/search?word={keywords}")
files = driver.find_elements_by_css_selector(".file-item")
return [f.text for f in files]

results = search_pan("计算机网络 实验指导")
# 返回:
# - 《南大计网实验手册.pdf》
# - 《思科路由器配置实验.docx》

9. C段查询:发现关联系统

场景:图书馆系统IP是202.119.32.8,查找相邻服务器

# 使用Masscan快速扫描C段
masscan 202.119.32.0/24 -p0-65535 --rate 1000 -oL c_scan.txt

# 关键发现:
202.119.32.6 开放3306 → 数据库服务器
202.119.32.12 开放3389 → 运维主机

10. WAF探测:绕过防护扫描

场景:对学校官网做安全评估

# 使用WafW00F检测
wafw00f https://www.xx.edu.cn

# 输出:
检测到WAF: Cloudflare
绕过方案建议:
1. 使用--scrape参数隐藏爬虫特征
2. 降低扫描速率:--throttle 500

职场衔接:企业安全工程师日常

典型工作流

graph TB A[新业务上线] --> B(域名子域名搜集) B --> C{WAF检测} C -->|有防护| D[绕过方案] C -->|无防护| E[直接扫描] D & E --> F[指纹识别] F --> G[生成风险评估]

自动化侦察脚本

# 企业资产侦察自动化
def enterprise_recon(domain):
# 步骤1:子域名搜集
subs = sublist3r(domain)

# 步骤2:IP定位
ips = [bypass_cdn(sub) for sub in subs]

# 步骤3:端口扫描
open_ports = scan_ports(ips)

# 步骤4:生成报告
generate_report(subs, ips, open_ports)

# 调用示例
enterprise_recon("xcompany.com")

总结:侦察工程师的自我修养

校园到职场技能映射

校园实践 企业应用
查宿舍网络问题 企业内网故障排查
找教授课件 供应链风险情报收集
扫描实验室设备 甲方资产测绘

四大黄金法则

  1. 合法授权优先
if target == "自家系统":
scan()
else:
get_written_permission()# 务必获取书面授权!
  1. 数据关联为王
graph LR A[子域名] --> B(真实IP) B --> C(物理位置) C --> D(管理员信息) D --> E(弱密码线索)
  1. 工具不是魔法
# 所有工具本质是:
# 发送请求 + 解析响应
curl -I http://target# 手工验证永远必要
  1. 持续学习迭代
- 每月更新指纹库
- 关注GHDB最新规则
- 参与众测平台实战

随堂工具包已上传GitHub(搜 Campus-Recon-Toolkit),包含:

  • 教育网专属IP库
  • 高校WAF特征库
  • 自动化侦察脚本

记住:优秀的侦察兵不制造漏洞,而是提前发现漏洞 —— 这才是网络安全的最高境界 (•̀ω•́)✧

posted on 2025-08-04 13:43  鱼油YOU  阅读(30)  评论(0)    收藏  举报