| name | socmint-dark-social-groups |
| description | SOCMINT — groupes privés, communautés fermées, forums clandestins, dark social, Telegram privé, Discord verrouillé, clubs VIP. |
| category | cybersecurite |
| author | EVA |
| version | 1 |
| tags | ["socmint","dark-social","private-groups","closed-communities","telegram-private","discord","forums"] |
SOCMINT : Groupes Privés et Dark Social
🎯 Description
Investigation dans les espaces sociaux non publics : groupes Telegram privés, serveurs Discord verrouillés, forums sur invitation, communautés VIP, salons Signal, groupes WhatsApp privés, sous-reddits privés, et tout espace social nécessitant une invitation ou une approbation pour y accéder.
Le dark social représente 80%+ des conversations numériques — ce qui est invisible aux moteurs de recherche et aux outils OSINT standards.
📋 Taxonomie des Espaces Dark Social
| Type | Visibilité | Accès | Exemples |
|---|
| Public indexé | Moteurs de recherche | Aucune barrière | Reddit public, Twitter, forums ouverts |
| Public non indexé | Pas dans Google | URL publique | Discord invites publiques, Telegram searchable |
| Semi-privé | Existe mais caché | Lien d'invitation | Groupes Telegram "searchable", Discord "lurking" |
| Privé sur approbation | Invisible | Demande + admin approve | Facebook groups, sous-reddits privés, Discord locked |
| Secret | Inexistant | Invitation directe | Telegram "private", Signal groups, WhatsApp encrypted |
| Clandestin | Délibérément caché | Cooptation + vetting | Marchés noirs, forums de hacking, leaks |
📱 Telegram — Groupes Privés
Découverte de Groupes Privés
| Technique | Méthode | Taux de succès |
|---|
| Cross-reference de membres | Trouver un membre dans un groupe public → explorer ses autres groupes | Moyen |
| Invitation via bot | Bot d'invitation automatique si lien connu | Faible (dépend du groupe) |
| TGStat leaks | TGStat indexe certains groupes privés via leurs posts publics | Faible |
| Forward tracking | Un post d'un groupe privé forwardé vers un groupe public → traçage | Possible |
| Metadata dans les forwards | Le forward reveal "Forwarded from [groupe]" même si privé | Élevé |
Analyse de Groupes Privés (Sans y Être Membre)
import requests
import re
def analyze_private_group_metadata(group_username):
"""Analyse d'un groupe Telegram privé via son @username public"""
url = f"https://t.me/{group_username}"
headers = {"User-Agent": "Mozilla/5.0"}
r = requests.get(url, headers=headers)
if "tgme_page_title" in r.text:
title = re.search(r'tgme_page_title[^>]*>([^<]+)', r.text)
print(f"Titre: {title.group(1) if title else 'N/A'}")
if "tgme_page_description" in r.text:
desc = re.search(r'tgme_page_description[^>]*>([^<]+)', r.text)
print(f"Description: {desc.group(1) if desc else 'N/A'}")
members = re.search(r'tgme_page_extra[^>]*>([^<]+)', r.text)
print(f"Membres: {members.group(1) if members else 'N/A'}")
photo = re.search(r'tgme_page_photo_image[^>]+src="([^"]+)"', r.text)
print(f"Photo URL: {photo.group() photo }")
():
url =
r = requests.get(url)
r.status_code == r.text
Outils pour Telegram Privé
🎮 Discord — Serveurs Verrouillés
Découverte de Serveurs
Analyse d'un Serveur sans y Être
def analyze_discord_widget(server_id):
url = f"https://discord.com/api/guilds/{server_id}/widget.json"
r = requests.get(url)
if r.status_code == 200:
data = r.json()
print(f"Serveur: {data['name']}")
print(f"Membres en ligne: {data['presence_count']}")
print(f"Channels: {len(data.get('channels', []))}")
for m in data.get('members', [])[:10]:
print(f" Membre: {m.get('username')}#{m.get('discriminator')}")
else:
print("Widget désactivé ou serveur introuvable")
def get_discord_invite_info(invite_code):
url = f"https://discord.com/api/v10/invites/{invite_code}?with_counts=true"
r = requests.get(url)
if r.status_code == 200:
data = r.json()
print(f"Serveur: {data['guild']['name']}")
print(f"Membres: ")
()
data[]:
()
Discord OSINT Tools
🔐 Forums Privés et Communautés Fermées
Découverte
| Technique | Source | Description |
|---|
| Wayback Machine | https://web.archive.org | Versions archivées de forums fermés |
| Google Cache | cache:forum.example.com | Cache de pages de forums privés |
| Cross-posting | Le même contenu posté sur un forum public | Trace d'activité |
| User mentions | "comme je l'ai dit sur [forum]" | Référence indirecte |
| Social media | "invitation link in bio" | Lien visible sur profil |
| RSS feeds | Certains forums privés ont des RSS publics | Flux de contenu |
| Git leaks | Configuration leak (base de données, backups) | Fuite technique |
Analyse de Forums
def assess_forum_accessibility(url):
r = requests.get(url, headers={"User-Agent": "Mozilla/5.0"})
if r.status_code == 200:
if "login" in r.url.lower():
return "REDIRECT_LOGIN"
if "register" in r.text.lower()[:2000]:
return "PUBLIC_WITH_REGISTER"
if "invite" in r.text.lower()[:2000] or "invitation" in r.text.lower()[:2000]:
return "INVITE_ONLY"
return "PUBLIC_ACCESSIBLE"
elif r.status_code == 403:
return "FORBIDDEN"
elif r.status_code == 404:
return "NOT_FOUND"
else:
return f"OTHER_{r.status_code}"
def search_forum_leaks(forum_name):
queries = [
f'"{forum_name}" leak dump pastebin',
,
,
,
,
]
👁️ Dark Social — Méthodes d'Analyse Indirecte
Signaux Indirects de Dark Social
| Signal | Source | Interprétation |
|---|
| Référal traffic | Analytics (quand accessible) | "direct" ou "dark" social incoming |
| URL shortener clicks | Bit.ly, etc. | Clics sans referrer = partage privé |
| QR codes | Codes scannés | Distribution hors-ligne de contenu privé |
| Screenshots | Fuite de contenu privé | Capture d'écran d'un groupe privé reposté |
| Coded language | Argot, jargon interne | Preuve d'appartenance à un groupe fermé |
| Insider references | "comme disait X dans le groupe" | Mention indirecte |
| Cross-platform handles | Même pseudo sur Telegram privé + Twitter | Fuite d'identité |
Détection de Communautés Privées par Analyse de Graphe
def detect_private_clusters(interaction_graph, min_cluster_size=5):
communities = nx.community.louvain_communities(interaction_graph)
for i, comm in enumerate(communities):
if len(comm) >= min_cluster_size:
subgraph = interaction_graph.subgraph(comm)
density = nx.density(subgraph)
if density > 0.3:
print(f"Cluster privé potentiel #{i}: {len(comm)} membres, densité {density:.2f}")
🛡️ Techniques d'Infiltration Légitimes
⚠️ Avertissement éthique : ces techniques ne doivent être utilisées que dans un cadre légal et éthique (recherche académique, journalisme d'investigation, sécurité nationale).
| Technique | Description | Risque |
|---|
| Observation passive | Rejoindre un groupe public et observer sans interagir | Faible |
| Profil de recherche | Créer un profil neutre pour accéder à du contenu semi-public | Moyen (ToS violation) |
| Analyse de fuite | Analyser les fuites existantes (breaches, leaks) | Variable |
| Snowball sampling | Demander à des contacts légitimes de partager des invitations | Faible |
| OSINT croisé | Déduire l'appartenance à un groupe via les signaux indirects | Très faible |
| Archive analysis | Analyser les archives Wayback de contenu supprimé | Faible |
📊 Exemple de Rapport Dark Social
ENQUÊTE : Groupe Privé "Cercle Alpha"
───────────────────────────────────────
Type: Telegram privé + Discord verrouillé
Taille estimée: 45-60 membres
Secteur: Finance/Crypto
Niveau d'accès: INVITATION SEULEMENT (cooptation)
Signaux d'existence:
✓ 12 mentions publiques sur Twitter par 8 comptes différents
✓ 3 forwards détectés vers des groupes publics
✓ 1 screenshot leaké sur Reddit (r/cryptocurrency)
✓ Références croisées: 4 membres identifiés dans 2 autres groupes
Membres identifiés:
1. @trader_a — Confirmé (screenname visible sur screenshot)
2. @crypto_b — Probable (même cluster d'interaction)
3. @finance_c — Possible (mentionné par @trader_a)
Canaux d'accès:
- Aucun lien d'invitation public trouvé
- 2 membres sont des followers de la cible → possible intermédiaire
- Un bot d'invitation existait sur Disboard (supprimé en oct. 2025)
Infiltration possible: NON RECOMMANDÉE (risque élevé, groupe sensibilisé à la sécurité)
⚠️ Pitfalls
- Légalité : accéder à un espace privé sans autorisation peut violer les lois sur l'accès non autorisé (CFAA, LPM)
- Piège à infiltration : certains groupes privés sont des honeypots opérés par les forces de l'ordre
- Doxing : l'analyse de groupes privés peut révéler des identités qui souhaitent rester anonymes
- Mesure de confiance : sans accès direct, 30-50% des déductions sur les groupes privés peuvent être fausses
- Évolution rapide : les groupes privés changent de nom, migrent, ou se dissolvent rapidement
- Chiffrement : WhatsApp et Signal ont un chiffrement de bout en bout → contenu inaccessible
- Sources fermées : les invites publiques expirent, les groupes deviennent secrets