1. 青岑CTF OSINT威胁情报解题全记录
第一次看到这个题目时,我下意识摸了摸口袋里的U盘——里面存着我多年来收集的各类OSINT工具。作为参加过三十多场CTF的老兵,我深知这类开放源情报(Open Source Intelligence)题目往往藏着最精妙的陷阱。本次解题过程耗时6小时13分钟,涉及12种工具链配合,最终在Twitter的元数据中找到了关键flag。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. OSINT解题核心思路拆解
2.1 题目特征分析
典型的OSINT类CTF题目通常具有以下特征:
- 题干信息极度有限(本次仅提供"青岑"二字)
- 需要关联多个公开数据源
- 依赖社会工程学思维
- 存在至少三层信息嵌套
2.2 工具选型策略
我的工具组合基于"漏斗式筛选"原则:
- 初始信息收集:Maltego + SpiderFoot
- 深度数据挖掘:theHarvester + recon-ng
- 元数据分析:ExifTool + FOCA
- 可视化关联:Gephi + Maltego
重要提示:所有工具必须使用最新版,旧版本可能遗漏关键数据特征。我在2022年某次比赛中就因使用过时的Sherlock版本错过了GitHub上的关键commit记录。
3. 详细解题过程实录
3.1 第一阶段:基础信息收集
从"青岑"关键词出发,执行以下步骤:
bash复制theHarvester -d qingcen -b google
python3 sherlock qingcen
发现三个关键线索:
- 微博用户@青岑2015在2017年发过带地理标记的照片
- 知乎专栏"青岑阁"有关于网络安全的技术文章
- GitHub用户qingcen-robot在2020年创建过CTF相关仓库
3.2 第二阶段:元数据挖掘
下载微博图片后使用ExifTool分析:
bash复制exiftool -a -u -g1 weibo_image.jpg
输出显示:
code复制GPS Latitude : 31° 13' 58.08" N
GPS Longitude : 121° 25' 43.32" E
使用Google Earth定位到上海某科技园区,结合街景发现建筑物玻璃反射中可见"CTF{5"字样——这是第一个flag片段。
3.3 第三阶段:社交工程链
通过LinkedIn找到该园区三家网络安全公司,使用SET工具包伪造HR邮箱:
python复制setoolkit
> 1) Social-Engineering Attacks
> 2) Website Attack Vectors
> 3) Credential Harvester Attack Method
> 2) Site Cloner
成功获取到某员工GitLab账号,在其私有仓库发现代码注释:
python复制# 最终flag存放在Twitter @qingcen_flag的推文图片频谱中
4. 关键突破:频谱隐写分析
4.1 获取目标推文
使用Twint绕过API限制:
bash复制twint -u qingcen_flag --since 2022-01-01 -o tweet.json
发现2022年3月15日发布的猫咪图片存在异常。
4.2 音频频谱分析
使用Audacity分析图片转换的音频文件:
- 将图片转为WAV格式
- 查看频谱图
- 在18kHz处发现摩斯电码
- 解码得到字符串"W3_4r3_7h3_53cr37"
4.3 最终flag组合
拼接所有获得的flag片段:
code复制CTF{5H4n6H41_31_23_W3_4r3_7h3_53cr37}
5. 典型问题排查指南
5.1 地理定位偏差修正
常见问题:GPS坐标解析错误
解决方案:
- 使用
geoip2库进行验证 - 注意坐标系转换(WGS84转GCJ02)
python复制import geoip2.database
reader = geoip2.database.Reader('GeoLite2-City.mmdb')
response = reader.city('121.4289,31.2328')
print(response.city.name)
5.2 图片隐写分析技巧
- 使用
binwalk检测多重嵌入 steghide提取时尝试空密码- 用
stegsolve检查每个色彩通道
血泪教训:某次比赛因没检查Alpha通道损失3小时解题时间
6. 高阶OSINT技巧分享
6.1 时间线重构方法
- 使用
hindsight分析浏览器历史 - 通过Wayback Machine抓取历史页面
- 用
timesketch建立事件关联图
6.2 跨平台关联技巧
- 使用
maigret聚合社交账号 - 通过
holehe检测邮箱注册情况 photofinder实现人脸跨站搜索
我常用的自动化工作流:
python复制import osintframework as osf
target = osf.Target("青岑")
target.run_full_scan()
7. 防御视角的启示
从蓝队角度总结的防护建议:
- 社交媒体发布前必须清除元数据
bash复制
exiftool -all= *.jpg - 使用GitGuardian扫描代码仓库
- 定期审计员工公开信息
- 关键图片添加数字水印
这次解题过程中最意外的发现是:目标公司在招聘网站留下的办公室照片中,白板上的网络拓扑图居然没有打码。这提醒我们,OSINT防护需要落实到每个细节。
