PluginBench
Skill
Fail
Audit score 45

ctf-osint

ljagiello/ctf-skills

Open source intelligence techniques for CTF challenges: OSINT lookups, social media tracking, geolocation, DNS recon, and data identification.

What is ctf-osint?

Provides reference techniques and quick commands for gathering intelligence from public sources during CTF challenges. Use when you need to investigate social media accounts, perform geolocation analysis, conduct DNS reconnaissance, enumerate usernames, reverse-search images, or identify unknown data like hashes and coordinates.

  • Social media OSINT: Twitter/X user tracking, Tumblr investigation, BlueSky API queries, Discord API lookups, and username enumeration across 741+ platforms
  • Geolocation and media analysis: reverse image search, EXIF extraction, Street View panorama matching, road sign OCR, and landmark identification
  • DNS and web reconnaissance: zone transfers, TXT record enumeration, Wayback Machine queries, Google dorking, and GitHub repository analysis
  • Data identification: hash type detection (MD5, SHA-1, SHA-256), MGRS coordinate conversion, Google Plus Code lookup, and Unicode homoglyph steganography
  • IP and infrastructure lookups: Shodan queries, Tor relay fingerprint tracking, WHOIS investigation, and IP geolocation
  • FEC political donation research and Telegram bot investigation

How to install ctf-osint

npx skills add https://github.com/ljagiello/ctf-skills --skill ctf-osint
Prerequisites
  • Python 3 with packages: shodan, Pillow
  • Linux (apt): whois, dnsutils, nmap, libimage-exiftool-perl, imagemagick, curl
  • macOS (Homebrew): whois, bind, nmap, exiftool, imagemagick, curl
  • Filesystem-based agent (Claude Code or similar) with bash and internet access
Claude Code
Cursor
Windsurf
Cline

How to use ctf-osint

  1. 1.Install prerequisites using pip and your system package manager (apt or Homebrew)
  2. 2.Identify the type of data or challenge: social media account, image, DNS record, IP address, or hash
  3. 3.Select the appropriate technique from the quick reference (e.g., dig for DNS, exiftool for EXIF, whatsmyname for usernames)
  4. 4.Execute the one-liner command or multi-step process documented in the relevant supporting file
  5. 5.Cross-reference results across multiple sources (Wayback Machine, social media archives, geolocation tools) to verify findings
  6. 6.If investigation reveals files/packets, switch to ctf-forensics; if active HTTP exploitation needed, switch to ctf-web; if malware found, switch to ctf-malware

Use cases

Good for
  • Tracking a Twitter account across username changes using persistent numeric User IDs and Wayback Machine archives
  • Identifying a location from a photo by extracting EXIF data, performing reverse image search, and matching Street View panoramas
  • Discovering hidden information in DNS TXT records or performing zone transfers on CTF challenge domains
  • Enumerating usernames across multiple platforms to find associated accounts and metadata
  • Decoding steganographic data hidden in Unicode homoglyphs within social media posts
Who it's for
  • CTF competitors and security researchers
  • OSINT investigators and threat intelligence analysts
  • Incident responders gathering attribution data
  • Geolocation and image analysis specialists

ctf-osint FAQ

What hash type is a 40-character hex string?

SHA-1 (commonly used for Tor fingerprints). 32 hex chars = MD5; 64 hex chars = SHA-256.

How do I track a Twitter account that changed its username?

Use the persistent numeric User ID via https://x.com/i/user/<id>, which works even after renames. Check Wayback Machine CDX, Nitter, or memory.lol for historical data.

What should I do if I find a photo but don't know where it was taken?

Extract EXIF metadata with exiftool, perform reverse image search via Google Lens (crop to distinctive elements), check for reflected/mirrored text, and use geolocation techniques like railroad signs, infrastructure maps, or Street View panorama matching.

How do I enumerate usernames across multiple platforms?

Use whatsmyname.app (741+ sites) or namechk.com. Be aware of platform false positives and cross-reference results across multiple sources.

When should I switch to a different skill?

Switch to ctf-forensics if you have local files/packets needing extraction; ctf-web for active HTTP service exploitation; ctf-malware if you discover malware samples or suspicious binaries.

Full instructions (SKILL.md)

Source of truth, from ljagiello/ctf-skills.


name: ctf-osint description: Provides open source intelligence techniques for CTF challenges. Use when gathering information from public sources, social media, geolocation, DNS records, username enumeration, reverse image search, Google dorking, Wayback Machine, Tor relays, FEC filings, or identifying unknown data like hashes and coordinates. license: MIT compatibility: Requires filesystem-based agent (Claude Code or similar) with bash, Python 3, and internet access for OSINT lookups. allowed-tools: Bash Read Write Edit Glob Grep Task WebFetch WebSearch metadata: user-invocable: "false"

CTF OSINT

Quick reference for OSINT CTF challenges. Each technique has a one-liner here; see supporting files for full details.

Prerequisites

Python packages (all platforms):

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

Additional Resources

  • social-media.md - Twitter/X (user IDs, Snowflake timestamps, Nitter, memory.lol, Wayback CDX), Tumblr (blog checks, post JSON, avatars), BlueSky search + API, Unicode homoglyph steganography, Discord API, username OSINT (namechk, whatsmyname, Osint Industries), username metadata mining (postal codes), platform false positives, multi-platform chains, Strava fitness route OSINT
  • geolocation-and-media.md - Image analysis, reverse image search (including Baidu for China), Google Lens cropped region search, reflected/mirrored text reading, geolocation techniques (railroad signs, infrastructure maps, MGRS), Google Plus Codes, EXIF/metadata, hardware identification, newspaper archives, IP geolocation, Google Street View panorama matching, What3Words micro-landmark matching, Google Maps crowd-sourced photo verification, Overpass Turbo spatial queries, music-themed landmark geolocation with key encoding
  • web-and-dns.md - Google dorking (including TBS image filters), Google Docs/Sheets enumeration, DNS recon (TXT, zone transfers), Wayback Machine, FEC research, Tor relay lookups, GitHub repository analysis, Telegram bot investigation, WHOIS investigation (reverse WHOIS, historical WHOIS, IP/ASN lookup), fake service banner detection via nmap fingerprinting

When to Pivot

  • If you already have the files or packets locally and now need extraction or carving, switch to /ctf-forensics.
  • If the task becomes active exploitation of a live HTTP service, switch to /ctf-web.
  • If you uncover malware samples, beacons, or suspicious binaries during attribution, switch to /ctf-malware.

Quick Start Commands

# DNS recon
dig -t any 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
curl -s "https://whatsmyname.app/api/lookup?username=<user>"

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

String Identification

  • 40 hex chars -> SHA-1 (Tor fingerprint)
  • 64 hex chars -> SHA-256
  • 32 hex chars -> MD5

Twitter/X Account Tracking

  • Persistent numeric User ID: https://x.com/i/user/<id> works even after renames.
  • Snowflake timestamps: (id >> 22) + 1288834974657 = Unix ms.
  • Wayback CDX, Nitter, memory.lol for historical data. See social-media.md.

Tumblr Investigation

  • Blog check: curl -sI for x-tumblr-user header. Avatar at /avatar/512. See social-media.md.

Username OSINT

Image Analysis & Reverse Image Search

  • Google Lens (crop to region of interest), Google Images, TinEye, Yandex (faces). Check corners for visual stego. Twitter strips EXIF. See geolocation-and-media.md.
  • Cropped region search: Isolate distinctive elements (shop signs, building facades) and search via Google Lens for better results than full-scene search. See geolocation-and-media.md.
  • Reflected text: Flip mirrored/reflected text (water, glass) horizontally; search partial text with quoted strings. See geolocation-and-media.md.

Geolocation

  • Railroad signs, infrastructure maps (OpenRailwayMap, OpenInfraMap), process of elimination. See geolocation-and-media.md.
  • Street View panorama matching: Feature extraction + multi-metric image similarity ranking against candidate panoramas. Useful when challenge image is a crop of a Street View photo. See geolocation-and-media.md.
  • Road sign OCR: Extract text from directional signs (town names, route numbers) to pinpoint road corridors. Driving side + sign style + script identify the country. See geolocation-and-media.md.
  • Architecture + brand identification: Post-Soviet concrete = Russia/CIS; named businesses → search locations/branches → cross-reference with coastline/terrain. See geolocation-and-media.md.
  • Music-themed landmark geolocation: Multiple images of music-related landmarks worldwide; each yields a piano key number encoding one flag character. Identify all locations first, then decode the key sequence. See geolocation-and-media.md.

MGRS Coordinates

Google Plus Codes

  • Format XXXX+XXX (chars: 23456789CFGHJMPQRVWX). Drop a pin on Google Maps → Plus Code appears in details. Free, no API key needed. See geolocation-and-media.md.

Metadata Extraction

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

Image TBS filters: Append &tbs=itp:face to Google Image URLs to filter for faces only (strips logos/banners). See web-and-dns.md.

Google Docs/Sheets

  • Try /export?format=csv, /pub, /gviz/tq?tqx=out:csv, /htmlview. See web-and-dns.md.

DNS Reconnaissance

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

Always check TXT, CNAME, MX for CTF domains. See web-and-dns.md.

Tor Relay Lookups

  • https://metrics.torproject.org/rs.html#simple/<FINGERPRINT> -- check family, sort by "first seen". See web-and-dns.md.

GitHub Repository Analysis

  • Check issue comments, PR reviews, commit messages, wiki edits via gh api. See web-and-dns.md.

Telegram Bot Investigation

  • Find bot references in browser history, interact via /start, answer verification questions. See web-and-dns.md.

FEC Political Donation Research

  • FEC.gov for committee receipts; 501(c)(4) orgs obscure original funders. See web-and-dns.md.

IP Geolocation

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

See geolocation-and-media.md.

Unicode Homoglyph Steganography

Pattern: Visually-identical Unicode characters from different blocks (Cyrillic, Greek, Math) encode binary data in social media posts. ASCII = 0, homoglyph = 1. Group bits into bytes for flag. See social-media.md.

BlueSky Public API

No auth needed. Endpoints: public.api.bsky.app/xrpc/app.bsky.feed.searchPosts?q=..., app.bsky.actor.searchActors, app.bsky.feed.getAuthorFeed. Check all replies to official posts. See social-media.md.

Fake Service Banner Detection

Pattern: Port appears open on a standard service port (22/SSH, 80/HTTP) but runs a fake service. nmap -sV or nc host port reveals the flag in the banner. Never trust port numbers alone -- always fingerprint the service. See web-and-dns.md.

Shodan SSH Fingerprint Lookup

Search Shodan by SSH host key fingerprint to identify servers: shodan search "fingerprint:AA:BB:CC:...". See web-and-dns.md.

Gaming Platform OSINT

Lookup usernames across gaming platforms (Steam, Xbox, PSN, MMOs) for character profiles, activity, and linked accounts. See social-media.md.

Resources

  • Shodan - Internet-connected devices
  • Censys - Certificate and host search
  • VirusTotal - File/URL reputation
  • WHOIS - Domain registration
  • Wayback Machine - Historical snapshots