ScamIntelLogs
Open-Source Intelligence Guide

Investigation Wiki

Tools, techniques, and methodology for investigating crypto scam networks using open-source intelligence

Telegram OSINT Blockchain Analysis Infrastructure Mapping Passive Recon Scammer Mistakes

01 Why Open-Source Investigation Works

Scammers operate under the assumption that their internal communications and infrastructure are invisible. They're wrong. Here's why:

Early Stage Visibility

When scam groups form, all members are visible. Before they learn OPSEC, real Telegram accounts are used — personal profiles, phone numbers, mutual contacts. This window is where most intelligence is harvested.

Text Reveals Data

In internal chats, scammers share wallet addresses, victim IPs, domains, payment amounts, screenshots with metadata. Every message is potential evidence — they just don't think anyone is watching.

Infrastructure Leaves Traces

Phishing domains need DNS, hosting, SSL certs. Payment flows need wallets. Every piece of infrastructure is registered somewhere, and most of it is queryable through public tools.

Blockchain Is Public

Every transaction on-chain is permanent and visible. Stolen funds can be traced from victim wallet through mixers, bridges, and eventually to exchanges where KYC exists. The ledger never forgets.

02 Common Scammer Mistakes

These are the operational security failures we exploit over and over:

01
Using personal Telegram accounts

Scammers join work chats from their real accounts — the ones linked to personal phone numbers, with real profile photos, mutual friends, and years of history. They create "work" accounts later, but by then we already have their personal IDs from the early group member list.

02
Early group formation = visible members

When a Telegram group is created, all initial members are visible to any member. Before the group grows and settings are locked, the complete member list — admins, workers, developers — is exposed. This is the gold mine of any investigation.

03
Sharing victim data in plain text

IP addresses, wallet addresses, stolen amounts, victim names, bank details — all shared openly in group chats. Screenshots of admin panels with victim databases visible. Every message becomes evidence that can be cross-referenced with blockchain data and victim reports.

04
Reusing infrastructure across operations

Same hosting provider, same registrar, same wallet for receiving funds, same Telegram bots. When one operation is exposed, the shared infrastructure links it to every other operation the same actors run. One domain leads to twenty.

05
Screenshots with metadata

Admin panel screenshots showing URLs in the address bar, OS language settings, timezone, browser bookmarks, notification pop-ups from personal apps. Desktop screenshots that reveal usernames, file paths, installed software. Every pixel is intelligence.

06
Posting payment proof & wallet balances

Scammers love to flex — posting wallet balances, payment screenshots, exchange withdrawal confirmations. Each one is a traceable financial artifact that links their identity to specific wallets and transactions on the public blockchain.

07
Not encrypting bot tokens & API keys

Telegram bot tokens, API keys for payment processors, admin panel credentials — shared in plain text in group chats. A single leaked bot token reveals the entire command infrastructure, all users who interacted with it, and the message history.

03 Telegram OSINT

Telegram is the primary communication platform for CIS-region scam operations. Here's how to extract intelligence from it:

Group Member Extraction

When you have access to a scam group (through leaks, infiltration, or public invite links), the member list is the first priority:

  • Export full member list: user_id, username, first_name, last_name, phone
  • Check admin list separately — admins are the operators
  • Cross-reference user IDs across multiple groups to map networks
  • Early members (by join date) are usually the core team
  • Check if personal accounts have profile photos, bios, linked channels
# Telethon — extract group members
from telethon.sync import TelegramClient
from telethon.tl.functions.channels import GetParticipantsRequest
from telethon.tl.types import ChannelParticipantsSearch

async with TelegramClient('session', api_id, api_hash) as client:
    participants = await client.get_participants(group)
    for user in participants:
        print(f"{user.id} | @{user.username} | {user.first_name} {user.last_name} | {user.phone}")
Chat Export & Analysis

Full chat history contains the most valuable intelligence:

  • Wallet addresses — regex extract all crypto addresses from messages
  • Domains — extract all URLs, map phishing infrastructure
  • IP addresses — victim IPs shared in logs, admin panel IPs in screenshots
  • Financial amounts — stolen sums, payment shares, affiliate percentages
  • Bot tokens123456:ABC-DEF... format reveals entire bot infrastructure
  • Timestamps — activity patterns reveal timezone and working hours
# Export chat to JSON with Telethon
import json, re

messages = []
async for msg in client.iter_messages(group, limit=None):
    messages.append({
        "id": msg.id, "date": str(msg.date),
        "from_id": msg.sender_id,
        "text": msg.text or "",
        "media": bool(msg.media)
    })

# Extract IOCs from text
wallets = set()
domains = set()
for m in messages:
    wallets.update(re.findall(r'\b(0x[a-fA-F0-9]{40})\b', m["text"]))  # ETH
    wallets.update(re.findall(r'\b(T[A-Za-z1-9]{33})\b', m["text"]))    # TRX
    domains.update(re.findall(r'https?://([^\s/]+)', m["text"]))
User ID Lookup & Cross-Reference

Telegram user IDs are permanent. Even when usernames change, the numeric ID stays. Use it to:

  • Track the same person across multiple scam groups
  • Find their activity in public groups and channels
  • Use @username_to_id_bot for quick lookups
  • Build a graph of relationships between user IDs across groups

04 Blockchain Analysis

Follow the money. Every on-chain transaction is permanent evidence:

Victim Wallet → Scammer Wallet

Trace the initial theft transaction. The receiving wallet is the first node in the money flow graph.

Scammer Wallet → Exchange

Track funds to CEX deposit addresses. Exchanges have KYC — this is where pseudonymous meets identity.

Drainer Contract Analysis

Decompile drainer smart contracts to find fee addresses, admin wallets, and the drainer-as-a-service operator.

Wallet Clustering

Group related wallets by shared transaction patterns, common funding sources, or sequential creation timestamps.

05 Infrastructure Reconnaissance

Map the technical infrastructure behind scam operations:

Domain Intelligence
WHOIS & History

Registration dates, registrant data (if not private), nameserver changes, historical ownership

whois.domaintools.com
DNS Records

A, CNAME, MX, TXT records. IP addresses behind domains. Shared hosting = shared actors.

securitytrails.com
SSL Certificates

Certificate transparency logs. Find all domains on the same cert, discover related infrastructure.

crt.sh
Reverse IP & Hosting

When you have one IP from a phishing domain, you can find every other domain hosted on it:

# Reverse IP lookup — find all domains on same server
curl "https://api.hackertarget.com/reverseiplookup/?q=1.2.3.4"

# Shodan — find open ports, services, banners
shodan host 1.2.3.4

# Censys — TLS certificates on IP
censys search "ip:1.2.3.4"
Keitaro TDS Detection

Scam operations frequently use Keitaro TDS to cloak phishing pages from moderators. Our tools detect it:

06 Tools & Open-Source Scripts

Everything listed here is free and open-source:

TELEGRAM Telethon

Python Telegram API client. Extract members, messages, media, bot interactions. The core tool for Telegram OSINT.

pip install telethon
TELEGRAM Pyrogram

Alternative Telegram MTProto library. Async, modern API. Good for high-volume data extraction.

pip install pyrogram
OSINT Sherlock

Find usernames across 400+ social networks. When you have a scammer's username, check if they reuse it.

sherlock username123
OSINT Maigret

Advanced username OSINT. 3000+ sites, profile parsing, report generation. Fork of Sherlock with deeper analysis.

maigret username123 --html
RECON theHarvester

Domain reconnaissance: subdomains, emails, IPs, employee names from public sources (Shodan, VirusTotal, etc.).

theHarvester -d domain.com -b all
RECON Sublist3r

Subdomain enumeration. Find hidden admin panels, staging sites, API endpoints on scam domains.

sublist3r -d domain.com
SCAN httpx

Fast HTTP toolkit. Probe domains in bulk, extract titles, status codes, tech stack, redirects. Pairs well with mass domain lists.

cat domains.txt | httpx -title -sc -tech
SCAN Nuclei

Template-based vulnerability scanner. Custom templates can detect specific phishing kits, panels, and drainers.

nuclei -u domain.com -t phishing/
DETECT Keitaro Hunter

Our Python script for mass Keitaro TDS detection. 7 evidence checks, multi-threaded, proxy support. Finds cloaking infrastructure.

python keitaro_hunter_4.py -f domains.txt
BLOCKLIST DestroyList

70,000+ malicious domains blocklist maintained by PhishDestroy. Updated regularly. Use for threat feeds or cross-referencing.

curl destroylist/domains.txt

07 Investigation Workflow

A typical scam network investigation follows this flow:

1
Entry Point

Victim report, leaked chat dump, public Telegram group link, phishing domain from blocklist, or blockchain transaction alert. Any single data point is enough to start.

2
Telegram Extraction

Export full member list and chat history. Extract all IOCs: wallets, domains, IPs, bot tokens. Map the group structure — who are admins, developers, workers.

3
Identity Pivot

From Telegram user IDs, pivot to usernames. Run Sherlock/Maigret to find same username across platforms. Check if personal accounts reveal real identities, locations, social connections.

4
Infrastructure Mapping

From domains, resolve IPs. Reverse IP to find co-hosted domains. Check SSL certs on crt.sh. Query WHOIS history. Identify hosting provider, registrar, CDN. Detect Keitaro TDS.

5
Financial Trail

Trace wallet transactions. Map the flow: victim → collector → consolidation → mixer/bridge → exchange. Identify the exchange endpoint where KYC can unmask the actor.

6
Cross-Reference & Archive

Connect the dots. Same user ID in multiple groups? Same wallet receiving from different drainers? Same registrar for 50 domains? Build the complete picture and archive everything permanently.

7
Report & Publish

Submit to ScamIntelLogs, report to law enforcement, share IOCs with the community, submit domains to blocklists, report phishing to Google Safe Browsing and registrars.

08 What You Actually Find

Real examples of data types extracted from scam network investigations:

IPs
Victim IPs from admin panel logs, scammer IPs from screenshot metadata, server IPs from DNS
Wallets
ETH, TRX, BTC, SOL addresses. Drainer contracts. Exchange deposit addresses. Affiliate payout wallets.
$$$
Stolen amounts per victim, total operation volume, affiliate share percentages, payment proofs
Domains
Phishing URLs, landing pages, API endpoints, admin panel paths, TDS redirector chains
IDs
Telegram user IDs, bot tokens, API keys, panel credentials, email addresses
Patterns
Activity timezones, language patterns, infrastructure reuse, shared wallet networks, recurring actors
PhishDestroy · GitHub · Report Scam · Scammers delete evidence. We preserve it.