YGGleak : quand le plus gros tracker torrent français se fait autopsier
3 mars 2026. Un hacker publie 11 Go de données internes d'YGGTorrent. Le site ferme dans la foulée. Et là, on découvre que derrière la belle vitrine du "partage libre et communautaire", il y avait en fait une véritable mafia numérique brassant près de 10 millions d'euros et siphonnant des cartes bancaires.
C'est le genre de dossier qui te donne envie de vider ton cache et de faire opposition sur ta carte bleue. Si t'as jamais mis un pied sur YGG — et soyons honnêtes, une bonne partie des devs francophones l'ont fait —, cet article est pour toi. Pas pour te juger, mais pour décortiquer les dessous techniques d'une opération qui est, à bien des égards, un cas d'école en cybersécurité.
La scène de crime en deux phrases
Un hacker se faisant appeler Gr0lum a compromis l'intégralité de l'infrastructure d'YGGTorrent, exfiltré les données, puis détruit les serveurs. Dans la foulée, il publie un dossier explosif baptisé YGGtorrent — Fin de partie sur le site yggleak.top, avec en bonus une archive de 11 Go disponible en torrent.
👉 YGGTorrent, pour ceux qui ne suivent pas : c'était le plus gros tracker de torrents francophone. Depuis sa création en 2017 dans le sillage de la chute de T411, il s'était imposé comme la référence du partage en France. 6,6 millions de comptes, des milliers de partageurs bénévoles, et une place au chaud parmi les 35 sites les plus visités du pays.
Et maintenant, il est mort. Alors, qu'est-ce qui s'est passé vraiment ?
La fissure : le "Turbo Mode" qui a tout fait péter
Tout commence fin 2025 avec une décision commerciale particulièrement mal dosée, dictée par l'avidité.
Le fameux "Turbo Mode", déployé le 21 décembre 2025 en pleine période de fêtes, limitait les comptes gratuits à cinq téléchargements par jour avec une attente obligatoire de 30 secondes. Le déblocage coûtait 14,99 euros par mois, ou 85,99 euros à vie.
La communauté explose. Les équipes d'uploadeurs — ceux qui font tourner le site bénévolement — protestent. Résultat, la direction purge sans sommation :
❌ La Team QTZ (3 300 torrents publiés) — bannie. ❌ La Team Forward (35 000 torrents) — bannie. ❌ La shoutbox — désactivée pour couper court aux rébellions.
D'après les bases de données exfiltrées, le chiffre d'affaires a carrément triplé en janvier 2026 pour atteindre ~490 000 euros sur ce seul mois. C'est exactement là que la tension est devenue intenable. Et c'est là que Gr0lum a décidé d'appuyer sur le gros bouton rouge.
Un détail qui illustre bien le mépris de la hiérarchie pour sa communauté : le code source de l'API révèle que les admins, modérateurs et comptes premium n'étaient jamais soumis au timer de 30 secondes ni à la limite des 5 téléchargements. Le Turbo Mode, c'était pour les autres.
Le vecteur d'entrée : un favicon sur Shodan et un port oublié
Techniquement, par où est-ce qu'on entre sur un site de cette taille ? Pas par une faille exotique. Par de la reconnaissance basique et de la négligence d'infra.
Tout commence avec le favicon hash. Chaque icône de site a une empreinte numérique unique. Gr0lum calcule le hash du favicon d'YGG et le cherche dans Shodan :
http.favicon.hash:456260082
Résultat immédiat : 188.253.108.198, le serveur de pré-production sous Windows Server 2019. Un scan Nmap révèle 13 ports ouverts, dont plusieurs qui n'auraient jamais dû être exposés sur Internet : SMB (445), RDP (3389), Redis sans authentification (6379), et surtout — SphinxQL sur le port 9306.
Sphinx Search est un moteur de recherche full-text qui utilise un protocole compatible MySQL. Sur ce serveur, il est accessible depuis Internet sans aucune authentification :
mysql -h 188.253.108.198 -P 9306
# Connexion immédiate, aucun identifiant requis
Jusque-là, on a juste un moteur de recherche ouvert. Mais SphinxQL supporte nativement CALL SNIPPETS avec le paramètre load_files=1 — une fonctionnalité prévue pour l'indexation de fichiers locaux. Quand le service tourne avec des privilèges élevés et qu'il est exposé à Internet sans restriction, ça revient à donner un accès en lecture sur tout le disque à n'importe qui :
CALL SNIPPETS( 'C:/chemin/vers/fichier.txt', 'users', 'mot_cle', 1 AS load_files, 50000 AS around, 0 AS limit );
En quelques minutes, 12 fichiers de configuration sont extraits : .env avec les clés en clair, database.php avec les credentials MySQL (root, pas de mot de passe), config.php avec la clé de chiffrement CodeIgniter, les clés SMTP, hCaptcha, et la clé de signature des announces. Le code source complet de l'API future d'YGG était aussi exposé via un directory listing actif sur le port 443, .env inclus.
Mais le fichier le plus dévastateur était ailleurs.
Le sysprep qui a tout fait péter
Sur les serveurs Windows déployés automatiquement, le fichier sysprep_unattend.xml contient les paramètres d'installation, y compris parfois le mot de passe administrateur. Ce fichier aurait dû être supprimé après le déploiement :
CALL SNIPPETS(
'C:/Windows/Panther/Unattend/sysprep_unattend.xml',
'users',
'password',
1 AS load_files,
50000 AS around,
0 AS limit
);
Résultat :
<AutoLogon> <Username>Administrator</Username> <Password> <Value>&)d(5Hj46B7h5^fQF^c(yKYRP</Value> <PlainText>true</PlainText> </Password> </AutoLogon>
Le mot de passe administrateur Windows. En clair. Dans un fichier lisible sans authentification. À noter : Windows Defender était aussi désactivé (DisableAntiSpyware=true). La partie "entrée" est terminée. Tout ce qui suit, c'est de la post-exploitation.
La chaîne de compromission complète
Avec le mot de passe admin en main, Gr0lum accède au partage SMB C$ du serveur Windows — lecture et écriture sur l'intégralité du disque. C'est là que tout s'enchaîne. Le navigateur Chrome de Destroy (l'admin dev) était installé sur cette machine qu'il utilisait comme son PC de bureau perso. Les mots de passe Chrome sont chiffrés avec AES-256-GCM via DPAPI, mais avec les credentials Administrator récupérés, le déchiffrement est direct : des centaines de mots de passe en clair, des tokens de session actifs pour PayPal, Protonmail, le registrar Njalla, des forums cybercrime, et le service de DDoS stresscat.ru.
Plus utile encore : FileZilla avec ses credentials SFTP stockés en clair dans recentservers.xml. Ce fichier était la carte vers toute l'infrastructure :
62.112.11.32— le serveur tracker XBT (accès obtenu, groupe root/wheel,sudoavec le même mot de passe SSH)185.132.134.125— le serveur web et la boutique WooCommerce (accès obtenu)212.8.249.144— le serveur MySQL de production, accessible uniquement en interne, atteint en pivot depuis le tracker
Depuis le tracker, un fichier /root/.my.cnf contenait les credentials MySQL de production. Une seule commande :
mysql -h 212.8.249.144 -u root -p'Ay4SDNwDvrd83qz2zVa5uCr' -e "SELECT COUNT(*) FROM yggis.users;"
# 6 629 484
La totalité de la base de données de la plateforme. En résumé, la chaîne complète ressemble à ça :
favicon hash dans Shodan
→ SphinxQL sans auth (port 9306)
→ lecture fichiers arbitraires
→ sysprep_unattend.xml = mot de passe admin Windows
→ SMB C$ = accès disque complet
→ Chrome DPAPI = coffre-fort de credentials
→ FileZilla XML = carte de l'infrastructure
→ tracker XBT (root) → pivot MySQL → 6,6M comptes
→ serveur web → boutiques WooCommerce → 89K clients
Quatre serveurs compromis, sept bases de données détruites, ~19 Go exfiltrés. Durée totale : environ 3 jours.
Ce que le dossier révèle : pas un projet communautaire, un cartel
C'est là que ça devient vraiment intéressant d'un point de vue OPSEC et investigation financière.
💰 Le braquage financier
Le leak révèle les vrais chiffres : plus de 249 000 commandes, près de 100 000 payeurs uniques et entre 5 et 8,5 millions d'euros de chiffre d'affaires estimés sur la période 2024-2025. Face à ça ? Des coûts serveurs estimés à seulement 50 000 euros par an. Marge bénéficiaire indécente.
🏦 La lessiveuse à 36 domaines
Pour blanchir l'argent, les paiements par carte transitaient par CardsShield — un plugin WooCommerce vendu 800 dollars par mois par un vendeur vietnamien sur Telegram. Ce système automatise la rotation entre 36+ domaines proxy déguisés en boutiques e-commerce. Sur les relevés PayPal et Stripe, ton abonnement torrent apparaissait comme un achat de t-shirt sur calcilux.shop ou pocarilux.shop. Un cron WordPress tournait toutes les minutes pour basculer automatiquement vers un nouveau domaine en cas de blocage.
Huit processeurs de paiement coexistaient en parallèle : CardsShield, PayGate.to ("all high risk business models accepted"), OxaPay, NowPayments, Sellix, et d'autres. La passerelle CB centrale enigmastocks.com était enregistrée à Charlestown, Saint-Kitts-et-Nevis — paradis fiscal. Les fonds étaient ensuite convertis en crypto, passés par Tornado Cash pour couper la trace on-chain, puis transformés en Monero via ChangeNOW — la crypto intraçable par design. Des notes de dépôt Tornado Cash retrouvées sur le serveur de pré-prod confirment ~22 ETH (~42 000 dollars) déjà blanchis via le mixer, pour les seules traces retrouvées.
🕵️ Le fingerprinting massif
Un fichier CSV de 259 Mo, 4 173 645 lignes, couvrant 12 mois de collecte (septembre 2024 à septembre 2025). Chaque ligne enregistrait un événement de navigation : user_id, timezone, langues du navigateur, timestamp. 543 448 utilisateurs distincts étaient trackés.
Ce n'était pas pour améliorer l'UX. La liste Accept-Language complète du navigateur — par exemple fr-FR,es-CO,es,en-GB,fr,en-US,en — combinée au fuseau horaire crée une empreinte quasi unique par utilisateur. C'était du fingerprinting systématique pour identifier les gens même derrière un VPN.
🔍 Le scan de wallets crypto que personne n'avait vu venir
Ce point est moins connu mais particulièrement retors. Un script JavaScript baptisé sci.js s'exécutait dans ton navigateur à chaque visite. Déguisé en ImageCarouselManager (une classe carousel factice de 213 lignes, jamais instanciée), il scannait silencieusement la présence de wallets crypto : Phantom (Solana), MetaMask (Ethereum), Trust Wallet, Coinbase Wallet, WalletConnect.
Si un wallet était détecté, les données partaient vers Web3stats.php (clé d'accès d3ShGIbbX3). Le script ne volait rien directement — mais il constituait une liste de qui, parmi les 6,6 millions d'utilisateurs, possède un wallet crypto et lequel. Le genre d'info qui intéresse beaucoup dans certains milieux.
Le skimmer de cartes : le truc qui fout vraiment les jetons
C'est la révélation la plus grave du dossier.
Un controller CodeIgniter de 1,6 Ko nommé Security.php, bien présent dans le code de production, recevait le numéro de carte complet (PAN), le CVV, la date d'expiration et le nom du titulaire via POST. Les données transitaient d'abord en clair par le serveur YGG avant d'être relayées vers le processeur de paiement via un formulaire caché auto-soumis. Détail révélateur : quand le token de commande était invalide, le script redirigait silencieusement vers google.com — une technique classique d'anti-analyse.
Gr0lum avance le chiffre de 54 776 cartes bancaires ainsi interceptées. Les témoignages Reddit ne manquaient pas :
"Après avoir payé du free leech la semaine dernière par PayPal, aujourd'hui 4000€ de matériel de son ont été commandés chez Thomann et livrés à une boutique inexistante du 93 sous le nom de Kevin. Ce PayPal n'avait pas été utilisé depuis plus d'un an sauf pour YGG." — u/TatonTatonne, octobre 2024
Tu vois le problème ici ? Les processeurs de paiement légitimes fournissent tous des checkouts hébergés (le modèle Stripe.js, Braintree Drop-in UI, etc.) précisément pour éviter que les données bancaires ne touchent tes serveurs. Le fait qu'YGG ait choisi de faire passer les données par sa propre machine n'est pas une maladresse technique : c'est un choix délibéré de siphonnage.
Le honeypot anti-bypass : banni sans le savoir
Ce chapitre est moins connu mais parfaitement documenté dans le leak.
Après le déploiement du Turbo Mode, un développeur a publié YGGMollo, une extension Chrome qui ajoutait un bouton pour contourner la limite des 5 téléchargements par jour. Elle a été massivement adoptée le 24 décembre 2025.
Dès le lendemain, les bans tombaient. Voilà pourquoi : un script nommé modal.min.js était chargé sur toutes les pages. Son nom était inoffensif — l'historique PowerShell du serveur révèle le renommage explicite :
Rename-Item -Path "assets\js\security.min.js" -NewName "modal.min.js"
Le contenu était obfusqué en base64. Décodé, le script attendait 2,5 secondes, cherchait la classe .yggsearch-api-btn injectée par l'extension dans la page, et si elle était détectée, soumettait silencieusement un formulaire caché vers /engine/gm. Côté serveur : log du user ID, du pseudo et de l'IP dans extension_users.txt, puis ban définitivement le compte sans avertissement. L'utilisateur découvrait son ban après coup, sans explication.
"YGG banit les comptes qui utilisent l'extension. Supprimez-la directement !!!! Désolé si vous avez été banni" — u/amottier, créateur de YGGMollo, 25 décembre 2025
YGG avait préparé le piège avant même que l'extension existe.
Les DDoS contre la concurrence
YGG ne se contentait pas d'exploiter ses utilisateurs. Un script generate-tracker-url.js retrouvé dans le code utilisait l'API du service de DDoS-for-hire russe stresscat.ru pour attaquer directement la-cale.space et sharewood.tv — deux trackers francophones présentés comme alternatives à YGG. Deux clés API documentées, des attaques de 1 800 secondes lancées via un cron toutes les 2 minutes, un fichier de 46 Mo d'URLs d'attaque générées. L'historique PowerShell confirme trois exécutions.
Technique utilisée : des URLs d'announce BitTorrent pointant vers la cible — une méthode d'amplification qui multiplie le volume d'attaque en mobilisant les clients torrent de milliers d'utilisateurs à leur insu.
Les acteurs démasqués (sans dox)
Gr0lum identifie les figures centrales sans révéler leurs identités civiles complètes, mais l'organigramme est clair :
- Oracle : l'administrateur principal. Opère exclusivement via VPN (Mullvad, M247, LeaseWeb). Une IP résidentielle marocaine (Maroc Telecom) retrouvée sur des connexions datant de 2019 le localise au Maroc à l'époque. Aucun modérateur n'a jamais échangé un message direct avec lui — son seul interlocuteur dans le staff était YggFlop.
- YggFlop / Destroy (Vladimir) : responsable du développement et de l'administration serveur, basé en France (IPs Free et SFR retrouvées). C'est lui qui utilisait le serveur de pré-prod comme son PC perso, avec son Chrome plein de credentials.
La structure était un silo parfait. Chaque modérateur recevait à son recrutement une liste de règles dont la troisième était explicite : ne pas poser de questions sur Oracle. Les modérateurs géraient des centaines de milliers d'actions de modération — gratuitement. Le top 5 du staff assurait 73% de toutes les actions de modération, pendant que les millions s'accumulaient.
Ce que contenait réellement l'archive de 11 Go
Décompressée, l'archive fait environ 30 Go et contient 12 231 fichiers dans 1 045 dossiers. Ce qui est dedans :
- ✅ Code source complet de la plateforme (PHP CodeIgniter 3, XBT Tracker C++ 2,9 Go, API Express.js)
- ✅ Bases de données du tracker, du forum XenForo, de la boutique WooCommerce
- ✅ Logs serveur et configurations
- ✅ Plus de 25 000 échanges privés internes au staff
- ✅ Projets en développement trouvés sur la pré-prod (7 projets actifs)
- ✅ Clés API de 13+ processeurs de paiement
Ce qui en a été retiré par Gr0lum (par éthique) :
- 👉 Adresses IP des utilisateurs
- 👉 Emails des membres
- 👉 Mots de passe hashés
⚠️ Attention : "retiré de la publication" ≠ "définitivement protégé". L'archive est publique, et les pseudos sont présents avec l'historique complet des téléchargements associés. Avec suffisamment d'infos croisées, la ré-identification de ton profil reste possible. Le pirate précise d'ailleurs que la moitié des mots de passe étaient encore hashés en vieux MD5 sans sel. Une aberration pour un site brassant des millions.
Le projet n'était pas en train de mourir — c'est pire
Un des éléments contre-intuitifs du dossier concerne les intentions des admins. Sur le serveur de pré-production, Gr0lum a trouvé 7 projets en dev actif : une réécriture intégrale de la plateforme YGG en SvelteKit, une autre en CodeIgniter 4 (TheRock, avec 170+ cycles de build jusqu'au 23 janvier 2026), un débrideur auto-hébergé (CloudTorrent), un nouveau tracker (RageTorrent), un forum Warez (warezfr.com, domaine acheté en ETH sur Njalla le 27 décembre 2025), un service d'IPTV (CocoTV) et une instance Mastodon privée (yeeti.io). L'historique Chrome du serveur révèle même leurs outils de développement : claude.ai, chatgpt.com, cursor.com, deepseek.com — deux réécritures en parallèle à coups de vibecoding.
Autrement dit, ils ne préparaient pas un exit scam. Ils diversifiaient leur empire. Le Turbo Mode n'était qu'une optimisation de revenus. Ils avaient un plan long terme, des millions en banque, et ils ont quand même choisi de faire transiter des numéros de CB en clair sur leurs serveurs.
La suite : ygg.gratis et le cycle des mega-trackers
Le catalogue est sauvé. L'équipe du projet U2P (Utopeer) a récupéré l'intégralité des torrents d'Ygg et les a relancés sous ygg.gratis. Les géants tombent mais renaissent rapidement — après T411, Zone-Téléchargement et Bato.to, c'est la même mécanique qui se répète.
Gr0lum a fait en sorte que les utilisateurs qui seedaient déjà les fichiers sur YGG puissent continuer à le faire via la nouvelle adresse sans modifier leur client torrent. Le site business est mort ; le contenu, non.
Ce que tu dois faire si t'étais sur YGG
Pas de panique, mais pas de passivité non plus :
1. Change tes mots de passe Si tu utilisais le même pass sur YGG que sur d'autres services (statistiquement probable), change-les maintenant. Les vieux hashes MD5 tombent en quelques secondes sur une machine moderne.
2. Vérifie HaveIBeenPwned haveibeenpwned.com — balance ton email et regarde si ça a fuité par ricochet.
3. Surveille tes relevés bancaires Si t'as un jour payé sur le site, surveille tes débits ou fais carrément opposition à ta carte. C'est le moment d'être paranoïaque.
4. Ton pseudo reste associable Même sans ton IP, ton pseudo et tes patterns de DL sont dans l'archive. Prends-en note si tu utilises le même pseudo sur GitHub ou ailleurs.
La leçon technique à retenir
Ce dossier est un audit de sécurité gratuit et sanglant. Si tu es dev et que tu touches à de l'infra, note bien ça :
Sur la sécurité serveur :
SphinxQL exposé sur Internet sans auth, directory listing actif, sysprep_unattend.xml non nettoyé, Windows Firewall désactivé, Windows Defender désactivé, Redis sans mot de passe — chaque item de cette liste est une faute de base. YGG brassait des millions et ne faisait pas le minimum. Et CloudPanel non patché + PHP-FPM exposé sans ACL sur les serveurs Ubuntu = mouvement latéral immédiat. La CVE-2024-44765 date de 2024.
Sur la gestion des paiements :
Ne fais JAMAIS transiter des données bancaires brutes par tes propres serveurs. Stripe, Mollie, Braintree font des checkouts hébergés pour que tu ne touches jamais au PAN. Une carte qui passe par ton backend, c'est un red flag architectural absolu. Et si tu vois une redirection silencieuse vers google.com quand un paramètre est invalide dans ton flow de paiement, pose-toi des questions.
Sur le tracking comportemental : 543 000 utilisateurs fingerprintés sur 12 mois via timezone + langues navigateur. Ce n'est pas de l'analytics. Et un script JS déguisé en carousel qui scanne tes wallets crypto en arrière-plan, c'est de la collecte de données délibérément masquée. La distinction entre "analytics" et "surveillance" est souvent une question d'intention. Là, l'intention est documentée dans le code source.
Sur les honeypots :
Renommer security.min.js en modal.min.js pour pièger les utilisateurs qui contournent tes restrictions, c'est de la tromperie caractérisée. Pas une pratique de défense légitime.
Sur la confiance communautaire : Tu ne peux pas bâtir un empire financier sur le dos d'uploadeurs et de modos bénévoles que tu méprises. Quand la confiance s'effondre, elle s'effondre vite et totalement.
Verdict
YGGleak, ce n'est pas juste l'histoire d'un hack. C'est l'histoire d'une infra sous-patchée qui se croyait intouchable, d'un cartel qui dissimulait son business derrière le mot "communauté", et d'admins qui avaient l'argent pour faire les choses proprement mais ont choisi de racketter leurs utilisateurs.
Gr0lum a exposé tout ça. La méthode est violente — la publication d'une archive même partiellement anonymisée impacte des utilisateurs qui n'avaient rien demandé. Mais la documentation technique du leak est rigoureuse, les preuves sont dans le code source, et les pratiques exposées étaient réelles.
Pour toi, dev qui maintient ou construit une plateforme avec de l'auth et du paiement : relis ce writeup comme un manuel de tout ce qu'il ne faut absolument pas faire en prod. C'est gratuit, c'est complet, et c'est en ligne depuis 48 heures.
- Sources : yggleak.top — dossier complet
