🧹 De LNK Ă  RAT : comment un raccourci peut ruiner ta journĂ©e (et ton SI)

Un .LNK, un ZIP, un faux PDF, et hop — bienvenue dans le club des machines qui parlent à des inconnus.

🔎 Contexte et mise en scùne

Un fichier .LNK soyeusement dĂ©guisĂ© en offre d’emploi ou en CV arrive via Discord (oui, Discord — lĂ  oĂč on partage des memes et des fichiers dangereux). Quand la victime clique, le raccourci extrait Moq.zip dans C:\Users\Public\Nuget\, ouvre un faux PDF (pour jouer la comĂ©die) et invoque la DLL Moq.dll via le binaire lĂ©gitime odbcconf.exe /a {regsvr "...\moq.dll"}. RĂ©sultat : une RAT multi-fonction s’installe, dĂ©sactive les protections, rĂ©colte des infos, prend des screenshots et bavarde avec ses maĂźtres (C2). Simple, Ă©lĂ©gant, vicieux.

🐍 Pourquoi c’est vicieux (techniquement)

  • Le vecteur .LNK : les raccourcis sont des petits chevaux de Troie non suspects. Tu vois offre.pdf.lnk et tu cliques. Pourquoi se mĂ©fier d’un fichier qui n’est pas un .exe ?
  • LOLBin + living-off-the-land : exĂ©cuter une DLL avec odbcconf.exe (un binaire Windows « propre ») Ă©vite pas mal d’alertes basiques. Les dĂ©fenses regardent moins quand c’est Windows qui s’appelle lui-mĂȘme.
  • AMSI et ETW mis KO : en neutralisant ces gardiens, le code malveillant passe sous le radar des antivirus et des solutions de tĂ©lĂ©mĂ©trie. C’est comme dĂ©sactiver les dĂ©tecteurs de fumĂ©e avant d’allumer un feu d’artifice.
  • Persistance Winlogon Shell : modifier HKCU\...\Winlogon\Shell pour relancer le bazar Ă  chaque connexion. Pas subtil, mais efficace — et souvent ignorĂ©.

đŸ§Ÿ Ce que fait le RAT (en clair)

  • collecte d’informations systĂšme et Ă©tat des antivirus;
  • captures d’écran rĂ©guliĂšres;
  • exfiltration de fichiers (Dropbox, tokens, etc.);
  • exĂ©cution de commandes Ă  distance et tĂ©lĂ©chargement de modules complĂ©mentaires;
  • modification des APIs de sĂ©curitĂ© (patch AMSI/ETW);
  • persistance au dĂ©marrage via la clĂ© Shell.

🚹 Signes d’infection (indices à surveiller)

  • ExĂ©cution d’odbcconf.exe avec des arguments Ă©tranges de type /a + regsvr.
  • DLLs rĂ©centes sous C:\Users\Public\Nuget\ ou %TEMP%.
  • Valeur Shell dans le registre HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon qui n’est pas explorer.exe.
  • Processus lançant PowerShell avec des commandes encodĂ©es aprĂšs ouverture d’un .LNK.

đŸ› ïž DĂ©tections et rĂšgles pratiques (exemples rapides)

  • Sysmon : alerte sur Image: odbcconf.exe et CommandLine contenant regsvr ou chemins publics (Public\Nuget).
  • SIEM : corrĂ©ler crĂ©ation de fichiers .zip dans Public + exĂ©cutions de binaires systĂšme + modifications de clĂ© Winlogon.
  • EDR : crĂ©er une rĂšgle d’intĂ©gritĂ© mĂ©moire pour dĂ©tecter les patches sur AmsiScanBuffer et EtwEventWrite.

🧯 Mesures immĂ©diates (si tu suspectes un poste)

  1. Isole la machine du réseau (oui, de suite).
  2. Dump mémoire + récupérer les DLL suspectes et les logs de création de processus.
  3. Vérifie la clé Winlogon et supprime toute valeur suspecte.
  4. Scanne pour exfiltration (comptes Dropbox/credentials) et change les identifiants sensibles.
  5. Remets le poste en Ă©tat propre (rĂ©installation si nĂ©cessaire) — ne fais pas confiance Ă  une simple suppression de fichier quand AMSI a Ă©tĂ© contournĂ©.

đŸ§± PrĂ©vention — parce que prĂ©venir c’est moins chiant que guĂ©rir

  • DĂ©sactive l’exĂ©cution automatique des .LNK reçus par des canaux non approuvĂ©s.
  • Bloque/filtre les extensions .lnk dans la messagerie et sur les points d’entrĂ©e externes.
  • Restreins les droits utilisateur : pas d’admin local, pas d’écriture libre dans C:\Users\Public.
  • Application Control (AppLocker / WDAC) : n’autorise que les binaires et DLL signĂ©s ou approuvĂ©s.
  • Formation : un micro-briefing pour l’équipe — « si c’est via Discord et que c’est un CV, c’est probablement pas un CV ». RĂ©pĂšte-le souvent.

🎯 Conclusion

Ce qui commence par un petit raccourci se termine souvent par une belle pagaille : DLLs injectĂ©es, protections neutralisĂ©es, comptes potentiellement compromis. L’attaque n’est pas ultra-sophistiquĂ©e — elle est simplement maligneparce qu’elle combine ingĂ©nierie sociale, abus de binaires Windows lĂ©gitimes et contournement des protections.


đŸ§± Voici la liste IOCs pour votre SIEM/EDR

voilĂ  la liste d’IOCs (copiable/collable) extraite de l’analyse (format CSV simple : type,indicator,description). J’ai tirĂ© ces IOCs de l’analyse publiĂ©e le 24 sept. 2025 (K7 / mirror Malware.news). Malware Analysis, News and Indicators

type,indicator,description
filename,cyber security.lnk,Nom du .LNK malveillant (vecteur initial / decoy)
filename,Cyber security.pdf,Decoy PDF extrait et ouvert pour distraire la victime
filename,Moq.zip,Archive ZIP embarquée extraite par le .LNK
filepath,C:\Users\Public\Nuget\moq.dll,Chemin complet de la DLL malveillante exécutée
filename,moq.dll,DLL principale (COM DLL avec export DllRegisterServer) utilisée comme RAT
filename,Dapper.dll,Lib .NET supporting chargée dynamiquement par Moq.dll
filename,Newtonsoft.dll,Lib .NET supporting chargée dynamiquement par Moq.dll
filename,Nunit,Payload/support file (~645KB) décodé et exécuté
commandline,odbcconf.exe /a {regsvr "C:\Users\Public\Nuget\moq.dll"},Commande utilisée pour enregistrer/exécuter la DLL via LOLBin
registry,HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell,Modification de la valeur Shell pour persistance (append du PowerShell)
filepath,%TEMP%/qwer.txt,Fichier local contenant l'ID machine unique (ou créé si absent)
domain,hotchichenfly.info,Serveur C2 hardcodé / URL de commande et contrÎle
behavior,AMSI patch (AmsiScanBuffer patché),Patch mémoire appliqué à AmsiScanBuffer pour bypass AMSI
behavior,ETW patch (EtwEventWrite patché),Patch mémoire appliqué à EtwEventWrite pour désactiver ETW
filepath,%TEMP%,$Global:sacpath,temp path utilisé pour stocker commandes encodées du C2
protocol,HTTP(S) to C2,Canal de communication périodique vers C2 (encodé/base64)
filetype,.lnk,Vecteur de livraison (shortcut files) distribué via Discord

Notes rapides :

  • Le nom exact du .LNK observĂ© dans l’analyse est cyber security.lnk et la decoy PDF Cyber security.pdf. Le payload ZIP s’appelle Moq.zip et est extrait dans C:\Users\Public\Nuget\ avant d’exĂ©cuter moq.dll.
  • Le C2 mentionnĂ© dans l’analyse est hotchichenfly.info (hard-coded fallback).
  • L’exĂ©cution se fait via un LOLBin : odbcconf.exe /a {regsvr "C:\Users\Public\Nuget\moq.dll"} — bonne rĂšgle de dĂ©tection Ă  crĂ©er. 

🔑 Allez et ça c’est cadeau

  1. un snippet Sysmon XML (à insérer dans ton Sysmon config sous <EventFiltering>), qui déclenche uniquement quand odbcconf.exe est lancé avec regsvr ET contient un chemin Public\Nuget (donc peu de faux positifs) ;
  2. un exemple JSON + un exemple CEF prĂȘt Ă  envoyer/ingĂ©rer dans ton SIEM/EDR pour enrichir / normaliser l’alerte.

Copie-colle direct. 👇


1) RĂšgle Sysmon (XML) — coller dans ta config Sysmon sous <EventFiltering>

<!-- Detect odbcconf.exe used to regsvr a DLL in Public\Nuget -->
<ProcessCreate onmatch="include">
  <RuleGroup name="Detect odbcconf regsvr Public\Nuget" groupRelation="and">
    <!-- image must be odbcconf.exe (end with to handle system32 path) -->
    <Image condition="end with">\odbcconf.exe</Image>

    <!-- commandline must contain the regsvr flag (LOLBIN usage) -->
    <CommandLine condition="contains">regsvr</CommandLine>

    <!-- commandline must reference Public\Nuget (extraction path used by this campaign) -->
    <CommandLine condition="contains">Public\Nuget</CommandLine>
  </RuleGroup>
</ProcessCreate>

Notes d’implĂ©mentation

  • groupRelation="and" oblige les 3 conditions simultanĂ©es (image + regsvr + Public\Nuget) → rĂ©duit les faux positifs.
  • Si tu veux ĂȘtre plus strict, remplace contains Public\Nuget par contains C:\Users\Public\Nuget pour matcher le chemin complet.
  • AprĂšs modification, recharge la config Sysmon : sysmon -c <config.xml> (ou via ton outil d’orchestration).
  • ComplĂšte cette dĂ©tection par une rĂšgle de FileCreate si tu veux surveiller l’apparition de *.dll sous C:\Users\Public\Nuget\.

2) Exemple JSON (format d’évĂ©nement riche) — prĂȘt Ă  ingĂ©rer dans un SIEM/EDR

{
  "vendor": "SecuSlice",
  "product": "Sysmon",
  "event_id": "1001",
  "title": "Suspicious odbcconf.exe regsvr execution (Public\\Nuget)",
  "severity": 8,
  "host": {
    "hostname": "HOSTNAME_HERE",
    "ip": "HOST_IP_HERE",
    "user": "USERNAME_HERE"
  },
  "process": {
    "process_name": "odbcconf.exe",
    "process_path": "C:\\Windows\\System32\\odbcconf.exe",
    "command_line": "odbcconf.exe /a {regsvr \"C:\\Users\\Public\\Nuget\\moq.dll\"}",
    "pid": 1234
  },
  "file": {
    "path": "C:\\Users\\Public\\Nuget\\moq.dll",
    "name": "moq.dll",
    "sha256": "SHA256_PLACEHOLDER"
  },
  "registry": {
    "key": "HKCU\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\Shell",
    "value": "explorer.exe; powershell -EncodedCommand ..."
  },
  "network": {
    "c2_domain": "hotchichenfly.info",
    "protocols": ["HTTP","HTTPS"]
  },
  "ioc_tags": ["lnk","lolbin","regsvr","public\\nuget","amsi_bypass","etw_bypass"],
  "timestamp": "2025-09-24T17:44:38Z",
  "notes": "Detection rule: ProcessCreate where Image ends with \\odbcconf.exe AND CommandLine contains 'regsvr' AND 'Public\\Nuget'."
}

Conseils : mappe process.command_line vers le champ cs1 / CommandLine dans ton parser SIEM pour pouvoir rechercher plus tard sur l’argument exact. Remplis sha256 si tu as le hash de la DLL.


3) Exemple CEF (une seule ligne) — pour SIEMs qui acceptent CEF

Remplace les placeholders (HOSTNAME_HERE, IP, PID, SHA256) par les valeurs réelles.

CEF:0|SecuSlice|Sysmon|1.0|1001|Suspicious odbcconf regsvr execution|8|dvchost=HOSTNAME_HERE src=HOST_IP_HERE suser=USERNAME_HERE msg=odbcconf.exe /a {regsvr "C:\\Users\\Public\\Nuget\\moq.dll"} file=C:\\Users\\Public\\Nuget\\moq.dll dvc=HOSTNAME_HERE cn1=hotchichenfly.info cs1Label=CommandLine cs1=odbcconf.exe /a {regsvr "C:\\Users\\Public\\Nuget\\moq.dll"} flexString1=SHA256_PLACEHOLDER

Astuce : cn1 contient le C2 domain, cs1 la command line, flexString1 le hash. Adapte le mapping CEF → ton schĂ©ma SIEM.


4) Recommandations d’opĂ©rations / tuning (rapide)

  • Test en labo : pousse la rĂšgle sur un petit pĂ©rimĂštre d’essai et vĂ©rifie les alertes pendant 24–48h avant dĂ©ploi total.
  • Enrichissement : automatique lookup du hash (VirusTotal), rĂ©solution DNS du domaine hotchichenfly.info, et rĂ©cupĂ©ration de comportement rĂ©seau (URL, user-agent).
  • RĂ©tention : conservez les CommandLine complets (au moins 30 jours) pour traçabilitĂ©.
  • CorrĂ©lation : alerte si odbcconf + regsvr ET crĂ©ation de .dll dans Public ET modification de Winlogon Shell → passage automatique au niveau incident.
🧹 De LNK Ă  RAT : comment un raccourci peut ruiner ta journĂ©e (et ton SI)
Partager cet article : Twitter LinkedIn WhatsApp

đŸ–‹ïž PubliĂ© sur SecuSlice.com

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut