第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")
总结:侦察工程师的自我修养
校园到职场技能映射
校园实践 | 企业应用 |
---|---|
查宿舍网络问题 | 企业内网故障排查 |
找教授课件 | 供应链风险情报收集 |
扫描实验室设备 | 甲方资产测绘 |
四大黄金法则
- 合法授权优先
if target == "自家系统":
scan()
else:
get_written_permission()# 务必获取书面授权!
- 数据关联为王
graph LR
A[子域名] --> B(真实IP)
B --> C(物理位置)
C --> D(管理员信息)
D --> E(弱密码线索)
- 工具不是魔法
# 所有工具本质是:
# 发送请求 + 解析响应
curl -I http://target# 手工验证永远必要
- 持续学习迭代
- 每月更新指纹库
- 关注GHDB最新规则
- 参与众测平台实战
随堂工具包已上传GitHub(搜 Campus-Recon-Toolkit),包含:
- 教育网专属IP库
- 高校WAF特征库
- 自动化侦察脚本
记住:优秀的侦察兵不制造漏洞,而是提前发现漏洞 —— 这才是网络安全的最高境界 (•̀ω•́)✧
感谢浏览和学习,作者:鱼油YOU,转载请注明原文链接:https://www.cnblogs.com/OmegaYOU3/p/19021369,或者可以➕主播WX:OmegaAnimeman_desu;QQ:3819054512