mcpField
C
ctf-osint

ctf-osint

github.com/ljagiello安全3.6k9.3k 次安装2 天前更新
代码仓库

关于 ctf-osint

ctf-osint 是面向 CTF 选手的 OSINT 速查技能,用于调查人物、地点、账号和网络基础设施。内容涵盖社交媒体、地理定位、图像、网页研究与 DNS,并提供可选的 Playwright MCP 用法。

主要功能

  1. 01社交媒体与用户名调查
  2. 02图像分析与反向图片搜索
  3. 03地理定位与地图技术
  4. 04网页、DNS 和 WHOIS 侦察
  5. 05面向 CTF 的命令参考

适用场景

  1. 01追踪同一账号的跨平台线索
  2. 02根据图像或路牌定位地点
  3. 03调查域名与 DNS 记录

MCP 相关

该技能介绍了可选的 Playwright MCP,用于浏览器驱动的 OSINT,包括读取 JavaScript 渲染页面及执行交互式图片或地图搜索。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ljagiello/ctf-skills --skill ctf-osint

安装后在 Claude Code 中输入/ctf-osint确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

geolocation-and-media.md
social-media.md
tools-mcp.md
web-and-dns.md

详细介绍

CTF OSINT

OSINT CTF 挑战速查。此处为每种技术提供一行简介;详情请参阅配套文件。

先决条件

Python 软件包(所有平台):

pip install shodan Pillow

Linux(apt):

apt install whois dnsutils nmap libimage-exiftool-perl imagemagick curl

macOS(Homebrew):

brew install whois bind nmap exiftool imagemagick curl

MCP 服务(可选): 用于浏览器驱动的 OSINT(JS 渲染页面、反向图片搜索/地图工作流)的 Playwright MCP(microsoft/playwright-mcp)——请参阅 tools-mcp.md。

补充资源

  • social-media.md - Twitter/X(用户 ID、Snowflake 时间戳、联合发布 API、memory.lol、Wayback CDX)、Tumblr(博客检查、帖子 JSON、头像)、BlueSky 搜索与 API、Unicode 同形异义字符隐写、Discord API、用户名 OSINT(namechk、whatsmyname、Osint Industries)、用户名元数据挖掘(邮政编码)、平台误报、多平台关联链、Strava 健身路线 OSINT
  • geolocation-and-media.md - 图像分析、反向图片搜索(包括中国的百度)、Google Lens 裁剪区域搜索、反射/镜像文本读取、地理定位技术(铁路标志、基础设施地图、MGRS)、Google Plus Codes、EXIF/元数据、硬件识别、报纸档案、IP 地理定位、Google Street View 全景匹配、What3Words 微型地标匹配、Google Maps 众包照片验证、Overpass Turbo 空间查询、通过密钥编码进行音乐主题地标定位
  • web-and-dns.md - Google dork 搜索(包括 TBS 图片过滤器)、Google Docs/Sheets 枚举、DNS 侦察(TXT、区域传送)、Wayback Machine、FEC 研究、Tor 中继查询、GitHub 仓库分析、Telegram 机器人调查、WHOIS 调查(反向 WHOIS、历史 WHOIS、IP/ASN 查询)、通过 nmap 指纹识别检测虚假服务横幅
  • tools-mcp.md - 用于 OSINT 的 Playwright MCP:读取 JS 渲染页面、截图、交互式反向图片与地图/Street View 搜索工作流、社交媒体与 Wayback 快照、通过 browser_network_requests(列表)和 browser_network_request part="response-body"(载荷)挖掘配置文件 API

何时切换方向

  • 如果文件或数据包已在本地,现在需要提取或雕刻,请切换到 /ctf-forensics。
  • 如果任务转为对在线 HTTP 服务进行主动利用,请切换到 /ctf-web。
  • 如果在归因过程中发现恶意软件样本、信标或可疑二进制文件,请切换到 /ctf-malware。

快速入门命令

# DNS recon
dig +short -t txt target.com
dig +short -t cname target.com
dig +short -t mx target.com
dig -t txt target.com
dig axfr @ns.target.com target.com
whois target.com

# Image metadata
exiftool image.jpg
identify -verbose image.jpg | head -30

# Web archive
curl "https://web.archive.org/web/20230101*/target.com"

# Username lookup (site is browser-only — no JSON API; curl returns 403)
git clone https://github.com/WebBreacher/WhatsMyName
cd WhatsMyName/scripts/checker && python3 wmn_check.py --help  # needs requests + playwright

# Shodan
shodan search "hostname:target.com"
shodan host <ip>

字符串识别

  • 40 个十六进制字符 -> SHA-1(Tor 指纹)
  • 64 个十六进制字符 -> SHA-256
  • 32 个十六进制字符 -> MD5

Twitter/X 账号追踪

  • 持久数字用户 ID:即使更名,https://x.com/i/user/<id> 仍可使用。
  • Snowflake 时间戳:(id >> 22) + 1288834974657 = Unix 毫秒。
  • 可使用 Wayback CDX、联合发布 API、memory.lol 获取历史数据(Nitter 已失效——请勿使用)。请参阅 social-media.md。

Tumblr 调查

  • 博客检查:使用 curl -sI 查看 x-tumblr-user 标头。头像位于 /avatar/512。请参阅 social-media.md。

用户名 OSINT

图像分析与反向图像搜索

  • 使用 Google Lens(裁剪到感兴趣区域)、Google 图片、TinEye、Yandex(人脸)。检查角落是否有视觉隐写。Twitter 会剥离 EXIF。参见 geolocation-and-media.md。
  • 裁剪区域搜索: 截取有辨识度的元素(商店招牌、建筑立面),并通过 Google Lens 搜索,相比搜索完整场景能获得更好的结果。参见 geolocation-and-media.md。
  • 反射文字: 将镜像或倒影中的文字(水面、玻璃)水平翻转;使用带引号的字符串搜索部分文字。参见 geolocation-and-media.md。

地理定位

  • 铁路标志、基础设施地图(OpenRailwayMap、OpenInfraMap)、排除法。参见 geolocation-and-media.md。
  • 街景全景匹配: 提取特征,并根据多项图像相似度指标对候选全景进行排序。当挑战图片是街景照片的裁剪图时,此方法很有用。参见 geolocation-and-media.md。
  • 路标 OCR: 从方向标志(城镇名称、路线编号)中提取文字,以确定道路走廊。行车方向、标志样式和文字系统可用于识别国家。参见 geolocation-and-media.md。
  • 建筑风格与品牌识别: 后苏联混凝土建筑 = 俄罗斯/独联体;查找有名称的商家及其地点/分店,再与海岸线/地形交叉比对。参见 geolocation-and-media.md。
  • 音乐主题地标地理定位: 世界各地有多张与音乐相关的地标图片;每张图片对应一个钢琴琴键编号,编码一个旗帜字符。先识别所有地点,再解码琴键序列。参见 geolocation-and-media.md。

MGRS 坐标

  • 网格格式 "4V FH 246 677" -> 在线转换器 -> 纬度/经度 -> Google 地图。参见 geolocation-and-media.md。

Google Plus Codes

  • 格式为 XXXX+XXX(字符:23456789CFGHJMPQRVWX)。在 Google 地图上放置图钉 → Plus Code 会显示在详情中。免费,无需 API 密钥。参见 geolocation-and-media.md。

元数据提取

exiftool image.jpg           # EXIF data
pdfinfo document.pdf         # PDF metadata
mediainfo video.mp4          # Video metadata

Google Dorking

site:example.com filetype:pdf
intitle:"index of" password

图像 TBS 过滤器: 在 Google 图片网址后附加 &tbs=itp:face,即可只筛选人脸(排除标志/横幅)。参见 web-and-dns.md。

Google Docs/Sheets

  • 尝试 /export?format=csv、/pub、/gviz/tq?tqx=out:csv、/htmlview。参见 web-and-dns.md。

DNS 侦察

dig -t txt subdomain.ctf.domain.com
dig axfr @ns.domain.com domain.com  # Zone transfer

务必检查 CTF 域名的 TXT、CNAME、MX 记录。参见 web-and-dns.md。

Tor 中继查询

  • https://metrics.torproject.org/rs.html#simple/<FINGERPRINT> -- 检查 family,并按 "first seen" 排序。参见 web-and-dns.md。

GitHub 仓库分析

  • 通过 gh api 检查议题评论、PR 评审、提交消息和 wiki 编辑记录。参见 web-and-dns.md。

Telegram 机器人调查

  • 在浏览器历史记录中查找机器人引用,通过 /start 与机器人交互,并回答验证问题。参见 web-and-dns.md。

FEC 政治捐款调查

  • 使用 FEC.gov 查询委员会收款记录;501(c)(4) 组织会掩盖最初的资助者。参见 web-and-dns.md。

IP 地理定位

curl "http://ip-api.com/json/103.150.68.150"

参见 geolocation-and-media.md。

Unicode 同形字隐写术

模式: 社交媒体帖子中来自不同区块(西里尔文、希腊文、数学符号)的 Unicode 字符视觉上完全相同,可用于编码二进制数据。ASCII = 0,同形字 = 1。将比特分组为字节即可得到 flag。参见 social-media.md。

BlueSky 公共 API

无需身份验证。端点:public.api.bsky.app/xrpc/app.bsky.feed.searchPosts?q=...、app.bsky.actor.searchActors、app.bsky.feed.getAuthorFeed。检查官方帖子的所有回复。参见 social-media.md。

伪造服务横幅检测

模式: 端口显示在标准服务端口(22/SSH、80/HTTP)上处于开放状态,但实际运行的是伪造服务。使用 nmap -sV 或 nc host port 可在横幅中找到标志。切勿仅凭端口号判断——务必对服务进行指纹识别。参见 web-and-dns.md。

Shodan SSH 指纹查询

通过 SSH 主机密钥指纹在 Shodan 上搜索,以识别服务器:shodan search "fingerprint:AA:BB:CC:..."。参见 web-and-dns.md。

游戏平台 OSINT

在各类游戏平台(Steam、Xbox、PSN、MMO)上查询用户名,查找角色资料、活动和关联账号。参见 social-media.md。

资源

  • Shodan - 接入互联网的设备
  • Censys - 证书和主机搜索
  • VirusTotal - 文件/URL 信誉
  • WHOIS - 域名注册信息
  • Wayback Machine - 历史快照

评论

支持 Markdown