🎯 Contexte

Article publié le 2 octobre 2026 sur le blog personnel de Frank Wiles, fondateur de REVSYS et membre du Django Steering Council. Il relate une tentative d’attaque ciblée dont il a été la cible, vraisemblablement dans le but d’accéder à ses comptes GitHub et aux accès clients de REVSYS.

🕵️ Déroulement de l’attaque

L’attaque s’est déroulée en plusieurs étapes :

  • Ingénierie sociale initiale : envoi d’une demande de projet fictif dans le secteur EdTech, suffisamment crédible pour susciter l’intérêt
  • Prétexte de réunion : proposition d’un appel via Calendly et demande de signature d’un NDA
  • Partage d’un dossier Dropbox : contenant des fichiers Markdown décrivant un cahier des charges d’application web
  • Vecteur malveillant : un dossier .git dissimulé dans le dossier Dropbox, contenant un hook post-checkout malveillant
  • Instruction piège : la victime était invitée à « switcher sur la branche NDA » pour récupérer le document, ce qui aurait déclenché le hook

⚙️ Mécanisme technique

Le hook post-checkout contenait un script qui :

  1. Contactait une application Vercel utilisée comme serveur de commande et contrôle (C2)
  2. Téléchargeait un binaire spécifique à l’OS de la victime
  3. Rendait ce binaire exécutable
  4. L’exécutait
  5. Se supprimait lui-même pour effacer les traces

👤 Usurpation d’identité

Les attaquants usurpaient l’identité d’un propriétaire de société de développement réel et innocent pour renforcer la crédibilité de l’approche.

📢 Réponse

Frank Wiles a alerté les équipes de sécurité de Dropbox et de Vercel afin de faire supprimer les comptes malveillants.

📋 Type d’article

Post-mortem personnel / rapport d’incident, dont le but principal est de documenter une tentative d’attaque ciblée et d’alerter la communauté des développeurs sur ce vecteur d’attaque via les hooks Git.

🧠 TTPs et IOCs détectés

TTP

  • T1566.003 — Phishing: Spearphishing via Service (Initial Access)
  • T1204.002 — User Execution: Malicious File (Execution)
  • T1059 — Command and Scripting Interpreter (Execution)
  • T1105 — Ingress Tool Transfer (Command and Control)
  • T1102 — Web Service (Command and Control)
  • T1070.004 — Indicator Removal: File Deletion (Defense Evasion)
  • T1036 — Masquerading (Defense Evasion)
  • T1078 — Valid Accounts (Credential Access)

IOC

  • Fichiers : post-checkout
  • Chemins : .git/hooks/post-checkout

⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 4 octobre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.

Malware / Outils

  • Custom OS-specific binary (unknown) (other)

🟡 Indice de vérification factuelle : 44/100 (moyenne)

  • ⬜ frankwiles.com — source non référencée (0pts)
  • ✅ 2962 chars — texte partiel (fulltext extrait) (13pts)
  • ✅ 2 IOC(s) (6pts)
  • ⬜ pas d’IOC vérifié (0pts)
  • ✅ 8 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ⬜ aucun acteur de menace nommé (0pts)
  • ⬜ pas de CVE à vérifier (0pts)

🔗 Source originale : https://frankwiles.com/posts/i-got-targeted/