Parent : [[INDEX-CYBERSECU]]
OPSEC communication - Forensics Telegram tdata, proxifier, et extraction OPSEC
Problème
L'archive Ygg contient les données de communication d'un opérateur : cache Telegram (tdata), configuration Proxifier (VPN/proxy chaining), et des logs de réunion (Reunion201117_fra.json). Ces données montrent l'infrastructure de communication et les erreurs OPSEC commises.
Contexte archive Ygg
- Dossier :
08_COMMUNICATION/ - Fichiers :
telegram_tdata/(cache local Telegram Desktop),telegram_cache_strings.txt,telegram_tdata_decrypted.json - Fichier :
proxifier/Default.ppx(configuration Proxifier) - Fichier :
Reunion201117_fra.json(log de réunion)
Données extraites
1. Telegram tdata
Le dossier telegram_tdata/ contient :
- account_configs : configurations des comptes
- account_maps : mapping des comptes
- key_datas : clés de chiffrement locales
- log.txt : logs de connexion
- Multiple .s files : données chiffrées des chats, médias, settings
Problème : Le cache Telegram Desktop stocke localement TOUTES les conversations, contacts, et médias téléchargés. Extraction = accès complet à l'historique.
2. Proxifier Default.ppx
<!-- proxifier/Default.ppx -->
<ProxifierProfile version="1.0">
<Options>
<ResolveViaProxy enabled="true"/>
<ProxificationEngine mode="Automatic"/>
</Options>
<ProxyList>
<Proxy id="1">
<Address>X.X.X.X</Address>
<Port>9050</Port>
<Protocol>SOCKS5</Protocol>
<Authentication enabled="false"/>
</Proxy>
<Proxy id="2">
<Address>127.0.0.1</Address>
<Port>9050</Port>
<Protocol>SOCKS5</Protocol>
<Authentication enabled="false"/>
</Proxy>
</ProxyList>
<RuleList>
<Rule enabled="true">
<Name>Telegram</Name>
<Targets>telegram.org;tdesktop.com</Targets>
<Action>Proxy</Action>
<ProxyId>1</ProxyId>
</Rule>
</RuleList>
</ProxifierProfile>
Observation : Configuration de proxy chaining (SOCKS5 → Tor 127.0.0.1:9050 + proxy externe X.X.X.X:9050). Telegram routé via proxy. Proxy sans authentification.
Solution protectif — OPSEC communication hardené
1. Telegram OPSEC
## Règles d'or pour Telegram OPSEC
### Ne JAMAIS
- ❌ Utiliser Telegram Desktop sur une machine liée à son identité réelle
- ❌ Activer la synchro cloud (messages stockés sur les serveurs Telegram)
- ❌ Utiliser son numéro de téléphone réel (SIM virtuelle/anonyme)
- ❌ Laisser les notifications visibles sur l'écran
- ❌ Activer les previews de médias auto
- ❌ Garder le cache local (tdata) sur le disque
### TOUJOURS
- ✅ Utiliser Telegram sur une VM dédiée (snapshots, isolation)
- ✅ Numéro de téléphone anonyme (SMS service, SIM prépayée)
- ✅ Secret Chats (E2EE, pas de cloud) pour les conversations sensibles
- ✅ Auto-destruct timer sur les messages (1h max)
- ✅ Pas de backup cloud
- ✅ Chiffrer le disque de la VM (LUKS/BitLocker)
- ✅ RAM disk pour le cache Telegram (effacé au reboot)
- ✅ VPN → Tor → Telegram (jamais direct)
### Configuration Telegram Desktop sécurisée
Settings → Privacy and Security:
- Phone Number: Nobody
- Last Seen: Nobody
- Profile Photo: My Contacts
- Forwarded Messages: Nobody
- Calls: Peer-to-Peer: Never
- Groups: My Contacts
Settings → Advanced:
- Accept Secret Chats: ON
- Accept Calls: OFF (ou Never P2P)
Settings → Data and Storage:
- Storage Usage: Clear cache every exit
- Automatic Media Download: OFF for all
2. Isolation Telegram avec RAM disk
#!/bin/bash
# telegram_ramdisk.sh — Isolation Telegram avec RAM disk
# Créer un RAM disk de 512MB
mkdir -p ~/telegram_ramdisk
sudo mount -t tmpfs -o size=512M tmpfs ~/telegram_ramdisk
# Lier le cache Telegram au RAM disk
mkdir -p ~/telegram_ramdisk/tdata
ln -sf ~/telegram_ramdisk/tdata ~/.local/share/TelegramDesktop/tdata
# Au démarrage de Telegram, le cache est en RAM
# Au reboot, TOUT est effacé automatiquement
echo "tmpfs /home/user/telegram_ramdisk tmpfs size=512M,mode=700 0 0" | sudo tee -a /etc/fstab
3. Proxifier avec authentification
<!-- proxifier_secure.ppx -->
<ProxifierProfile version="1.0">
<Options>
<ResolveViaProxy enabled="true"/>
<ProxificationEngine mode="Manual"/>
</Options>
<ProxyList>
<Proxy id="1">
<Address>127.0.0.1</Address>
<Port>9050</Port>
<Protocol>SOCKS5</Protocol>
<Authentication enabled="true">
<Username>user</Username>
<Password>strong_password</Password>
</Authentication>
</Proxy>
</ProxyList>
<RuleList>
<!-- Whitelist uniquement -->
<Rule enabled="true">
<Name>Allow-Telegram</Name>
<Targets>telegram.org;tdesktop.com;telegra.ph</Targets>
<Action>Proxy</Action>
<ProxyId>1</ProxyId>
</Rule>
<Rule enabled="true">
<Name>Block-All-Other</Name>
<Targets>*</Targets>
<Action>Block</Action>
</Rule>
</RuleList>
</ProxifierProfile>
4. Détection d'extraction Telegram
# detect_telegram_extraction.py
import os
import psutil
import hashlib
def detect_telegram_forensics():
alerts = []
# Chemins sensibles Telegram Desktop
telegram_paths = [
os.path.expandvars(r'%APPDATA%\Telegram Desktop\tdata'),
os.path.expandvars(r'%LOCALAPPDATA%\TelegramDesktop\tdata'),
os.path.expanduser('~/.local/share/TelegramDesktop/tdata'),
]
# Vérifier l'accès aux fichiers
for path in telegram_paths:
if os.path.exists(path):
# Vérifier les accès récents
stat = os.stat(path)
# Si accès dans les 5 dernières minutes par un processus inconnu
alerts.append(f"Telegram tdata accessible: {path}")
# Vérifier les processus suspects
suspicious_processes = [
'telegram_backup', 'tdata_extractor', 'telegram_export',
'mimikatz', 'procdump', 'memory_dumper'
]
for proc in psutil.process_iter(['pid', 'name', 'cmdline']):
for suspicious in suspicious_processes:
if suspicious.lower() in proc.info['name'].lower():
alerts.append(f"Processus suspect: {proc.info['name']} (PID: {proc.info['pid']})")
return alerts
5. Communication OPSEC générale
## Checklist OPSEC Communication
- [ ] Machine dédiée (VM ou hardware) pour les communications sensibles
- [ ] Chiffrement disque complet (LUKS/BitLocker)
- [ ] RAM disk pour les applications de messagerie
- [ ] VPN payé en crypto/anonymement (pas de carte bancaire)
- [ ] Tor pour toutes les communications (pas de DNS du FAI)
- [ ] Numéro de téléphone anonyme (pas lié à l'identité)
- [ ] Secret Chats uniquement (pas de cloud sync)
- [ ] Auto-destruct des messages (1h max)
- [ ] Pas de screenshots / enregistrements d'écran
- [ ] Pas de notifications visibles / sonores
- [ ] Pas de backup dans le cloud
- [ ] Pas de sync entre devices
- [ ] Pas d'identifiant / pseudo lié à l'identité réelle
- [ ] Pas de photo de profil réelle
- [ ] Pas de géolocalisation activée
- [ ] Pas de partage de fichiers via la messagerie (virus scanning)
Checklist de validation
- Telegram sur VM isolée avec snapshot
- Cache Telegram en RAM disk (pas sur disque)
- Numéro anonyme (pas de SIM réelle)
- Secret Chats avec auto-destruct
- Pas de cloud sync
- Proxy SOCKS5 avec authentification
- Whitelist uniquement dans Proxifier (pas de wildcard allow)
- Chiffrement disque (LUKS/BitLocker)
- Pas de notifications visibles
- Auto-clear cache à la fermeture
- Détection d'extraction (monitoring fichiers/processus)
- Pas de backup local (tdata chiffré ou RAM-only)
Références
- Archive Ygg :
08_COMMUNICATION/ - Telegram Security : https://core.telegram.org/techfaq
- EFF : Surveillance Self-Defense