Aller au contenu principal

Glossaire débutant

Cette page donne les mots importants avant d'entrer dans les pages techniques. Elle sert de lecture rapide quand un terme revient dans le code, dans les logs ou dans une autre page. Les définitions restent courtes. Les explications complètes sont dans Références techniques.

TermeDéfinition courteDans ce projet
KernelPartie centrale de Linux. Il gère le matériel, la mémoire, les processus, les fichiers et le réseau.wlkom.ko s'exécute dans le kernel. Une erreur peut donc bloquer toute la VM.
UserlandProgrammes classiques lancés par un utilisateur ou par le système.Flask, React, /bin/sh, tar, base64, freecloude.py et freecloude.sh sont en userland.
Module .koFichier kernel chargeable dynamiquement, sans recompiler tout Linux.wlkom.ko est compilé côté attaquant puis chargé côté victime avec insmod.
SyscallAppel système: frontière entre userland et kernel.Le module intercepte des syscalls de lecture, listing et accès par chemin.
getdentsSyscall qui renvoie les entrées d'un dossier.Le hook retire les fichiers et dossiers liés à wlkom avant que ls ou find les voient.
readSyscall qui lit des octets depuis un fichier ou un descripteur.Le hook retire certaines lignes de persistance dans les fichiers texte sensibles.
openatSyscall qui ouvre un fichier en partant d'un dossier de référence.Le hook refuse l'ouverture directe de chemins protégés comme /opt/wlkom_data.
statx / fstatatSyscalls qui lisent les métadonnées d'un fichier.Les hooks empêchent de découvrir l'existence des chemins protégés par simple test.
mmapMécanisme qui mappe un fichier directement en mémoire.Le module refuse mmap sur les fichiers de persistance pour éviter de contourner read.
ftraceInfrastructure Linux de tracing pouvant rediriger une fonction kernel.Utilisée pour détourner les syscalls sans patcher directement une table système.
kprobeMécanisme pour instrumenter temporairement une fonction kernel.Sert surtout à retrouver kallsyms_lookup_name et résoudre les symboles nécessaires.
pt_regsStructure qui contient les registres CPU au moment d'un appel.Les hooks lisent di, si, dx, r10, r8 pour récupérer les arguments des syscalls.
uaccessFamille d'API pour copier entre mémoire userland et mémoire kernel.copy_from_user, copy_to_user et clear_user évitent de toucher un pointeur userland brut.
struct fileObjet kernel représentant un fichier ouvert.fdget() permet de retrouver le fichier derrière un file descriptor.
d_pathFonction qui transforme un chemin kernel en texte lisible.Sert à savoir si un fd pointe vers /opt/wlkom_data ou vers un fichier de persistance.
vermagicChaîne de compatibilité intégrée dans un module kernel.Si vermagic ne correspond pas au noyau victime, insmod refuse le module.
call_usermodehelperAPI kernel qui lance un programme userland.Le module lance /bin/sh -c pour exécuter les commandes, transferts et screenshots.
kthreadThread créé et piloté par le kernel.wlkom_network_thread maintient la connexion reverse vers l'attaquant.
user_path_atAPI kernel qui résout un chemin userland en objet VFS.Sert à détecter les symlinks et les chemins relatifs vers les zones protégées.
GFP_KERNELMode d'allocation mémoire normal côté kernel.Utilisé par kmalloc, kzalloc, kvzalloc et __get_free_page.
Connexion reverseLa machine contrôlée initie la connexion vers le contrôleur.La victime contacte 192.168.100.1:4444. Elle n'ouvre pas de port d'écoute.
PersistanceMécanisme qui fait revenir le programme après reboot.modules-load.d recharge wlkom, et modprobe.d redonne IP, port et mot de passe.
C2Command and Control: canal de pilotage entre l'attaquant et l'implant.Le dashboard envoie des commandes au module via TCP chiffré.
ChunkMorceau d'un fichier ou d'un flux.Upload et download sont découpés pour rester sous les limites de buffer du module.
Offset cryptoPosition courante dans un chiffrement de flux.Les offsets évitent de casser le XOR quand TCP fragmente ou regroupe les messages.
modules-load.dConfiguration systemd qui liste des modules à charger au boot.Le fichier wlkom.conf contient la ligne wlkom.
modprobe.dConfiguration qui donne des options à modprobe.Le fichier wlkom.conf donne attacker_ip, command_port et password.

Lecture conseillée

Après ce glossaire, lire Cycle de vie pour comprendre le scénario complet, puis Références techniques pour les détails noyau.