Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
bat — Plateforme complète de simulation d'adversaire Linux avec furtivité au niveau noyau, balisage C2, escalade de privilèges, collecte d'identifiants, mouvement latéral et destruction d'artefacts. Conçue pour les opérations d'équipe rouge et la recherche en détection. | Kitploit
Outils/GitHubGitHub/rhzv0/bat
Escalade de PrivilègesMécanismes de PersistanceMouvement LatéralExfiltration de DonnéesPost-ExploitationCommandement et ContrôleRed TeamingDéveloppement de Charges Utiles
GitHubrhzv0/bat

bat

Plateforme complète de simulation d'adversaire Linux avec furtivité au niveau noyau, balisage C2, escalade de privilèges, collecte d'identifiants, mouvement latéral et destruction d'artefacts. Conçue pour les opérations d'équipe rouge et la recherche en détection.

3642il y a 4 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

Traceur d'Adversaire Comportemental (BAT)

banner0

BAT est un modèle de menace adversaire réaliste et évolutif pour Linux et Windows. Ce n'est pas un framework C2 ni un rootkit. C'est une plateforme complète de simulation de menaces qui intègre la communication C2, des modules rootkit furtifs au niveau noyau, l'évasion en espace utilisateur, l'élévation de privilèges, la persistance, l'injection de processus, la récolte d'identifiants, l'exfiltration et le mouvement latéral en un seul adversaire cohérent. L'objectif de conception est d'être la menace Linux la plus sophistiquée et réaliste réalisable en 2026, indépendamment de ce que tout système de détection détecte actuellement.

C'est le côté adversaire d'une paire de recherche. Le framework Aura évolue pour détecter Bat. Bat évolue pour contourner Aura. L'adversaire n'est jamais contraint par le détecteur.

ss

Démarrage rapide

1. Prérequis```bash

apt install nasm gcc-x86_64-linux-gnu binutils-x86_64-linux-gnu golang-go go install mvdan.cc/garble@latest

root@kitploit:~
### 2. Configurer```bash
cp build.env.example build.env
nano build.env      # RELAY_IP, SECRET, BAT_KEY, CDN_DOMAIN

Générer un secret : openssl rand -hex 16

3. Construction```bash

./build.sh # garble agent (x86_64+arm64) + server (arm64) + netshell ./build.sh agent # agent only ./build.sh server # server arm64 only (EC2 / Mac M-series) ./build.sh server-amd64 # server x86_64 only (PC Intel/AMD) ./build.sh netshell # netshell only

root@kitploit:~
Les binaires atterrissent dans `bin/`.

### 4. Amorcer le relais```bash
# on the relay VPS (as root)
sudo bash -s -- --tg-token $TG_TOKEN --tg-chat-id $TG_CHAT_ID < relay/setup.sh

# from the operator machine
source build.env
relay/sync.sh ubuntu@$RELAY_IP --key $BAT_KEY --restart-kcc --tg
scp -i $BAT_KEY bin/netshell-v11-{x86_64,arm64} ubuntu@$RELAY_IP:/var/www/nexus/agents/

5. Exécuter```bash

./bin/bat-server-v11-arm64 # tunnel starts automatically, no flags needed

root@kitploit:~
Déployez un agent sur la cible:```bash
sudo setsid /path/to/bat-agent-v11-x86_64 </dev/null >/tmp/.log 2>&1 &
disown

Agent apparaît dans bat-server en tant que <agentID>@<hostname> dans un intervalle de beacon (30 s par défaut).


Couche furtive Linux : Singularity

La couche furtive du noyau (bat-stealth.ko, source dans kperf-qos/) est construite directement sur Singularity, un framework avancé de recherche sur les rootkits noyau. Quatre modules centraux ont été portés et adaptés :

bpf_hook : intercepte bpf(2) et toutes les primitives de communication eBPF. Tout capteur eBPF reçoit une télémétrie nulle pour les PID cachés. Adapté : ARCH_SYS("bpf") remplace le __x64_sys_bpf propre à x86 ; __ia32_sys_bpf supprimé pour ARM64 ; HIDDEN_PORT remplacé par un global configurable via sysfs.

hiding_fs : Effacement complet du système de fichiers : filtrage getdents64/getdents, ajustement nlink de stat/statx/newfstatat, blocage openat/access/faccessat sur /proc/<pid>, blocage de chdir et readlink. Fusionné à partir de cinq modules Singularity (hiding_directory, hiding_stat, , , ). Adapté : les macros remplacent l’accès direct aux registres ; étendu pour configurable à l’exécution.

hide_module : Supprime bat-stealth.ko de toutes les listes de modules du noyau. Étendu : Singularity sauvegardait déjà list.prev ; cette version sauvegarde à la fois list.prev et list.next et les empoisonne pour bloquer la traversée dans les deux sens. Ajout de module_unhide() pour une suppression réversible, nécessaire à K-99 avant que delete_module(2) puisse localiser le module par son nom.

lkrg_bypass : Supprime l’application de LKRG pour les processus cachés : intercepte la délivrance des signaux pour bloquer SIGKILL pour les tâches cachées, intercepte vprintk_emit pour supprimer les messages de log LKRG, désactive la validation UMH pendant l’exécution de l’agent. Porté directement sans modifications architecturales.

Les modules suivants ont été développés indépendamment :

  • become_root : accroche du signal 59 qui appelle commit_creds(prepare_kernel_cred(NULL)) pour accorder uid=0 (K-03)
  • selfdefense : bloque l’acquisition mémoire LiME, cache les entrées kallsyms, bloque les kprobes sur les symboles de l’agent, re-cache le module à toute tentative d’énumération
  • audit : supprime les événements auditd pour les PID cachés
  • sysrq_hook : intercepte SysRq-T pour exclure les processus cachés des vidages de tâches
  • taskstats_hook : filtre les réponses NETLINK taskstats pour les PID cachés
  • reset_tainted + clear_taint_dmesg : met à zéro /proc/sys/kernel/tainted et filtre les lignes dmesg contenant des preuves de chargement de module
  • hooks_write : intercepte tous les chemins d’écriture noyau (write/splice/sendfile/tee + io_uring_enter/enter2 + ia32 compat) pour supprimer les entrées de log correspondant aux chaînes de l’agent avant qu’elles n’atteignent syslog ou journald
  • pid_manager : point de trace fork pour maintenir l’ensemble des PID cachés entre les processus enfants

La pile complète rend l’agent et tous ses artefacts invisibles pour : ps, top, ss, netstat, lsof, la traversée du système de fichiers sur les chemins cachés, lsmod, sysfs, kallsyms, auditd, tous les capteurs eBPF, LKRG, LiME et les analyses forensiques SysRq.


Couverture MITRE ATT&CK


Architecture```

Target Relay (VPS) Operator (local)

bat-agent --HTTPS:443--> nginx:443 -> :8443 --tunnel--> bat-server:9443 --TCP:9443 --> sshd:9443 --tunnel--> --UDP/ICMP --> (trigger forwarded)

bat-agent --HTTPS:9444-> kcc-server:9444 (kernel compile)

root@kitploit:~
| Composant | Rôle |
|---|---|
| `bat-agent` | Agent. Beacons, exécute des TTPs. Obfusqué par Garble. |
| `bat-server` | Console opérateur. CLI interactive. Gère tous les agents. |
| `netshell` | Binaire de livraison. Ressemble à un outil système ; est un agent complet. |
| `bat-rootkit.so` | Rootkit userspace LD_PRELOAD. Cache les fichiers, PIDs, ports, variables d'environnement. |
| `bat-stealth.ko` | Couche furtive noyau (basée sur Singularity). |
| `kcc-server` | Service relais. Compile `bat-stealth.ko` à la demande pour le noyau en cours d'exécution de la cible. |
| `relay/` | Infrastructure relais : nginx, TLS, configuration, synchronisation, scripts de livraison. |

---

## Défenses contournées

| Catégorie | Défense | Mécanisme de contournement |
|---|---|---|
| Surveillance des processus | `ps` / `top` / liste `/proc` | `hiding_procs.c` : le hook `getdents64` supprime les entrées PID de l'agent de procfs avant que l'espace utilisateur ne les lise |
| Surveillance des processus | `/proc/<pid>/status`, `/proc/<pid>/cmdline` | `hiding_procs.c` : le hook `filldir` filtre les préfixes PID de tous les résultats readdir |
| Système de fichiers | `ls` / `find` sur les fichiers et répertoires de l'agent | `hiding_fs.c` : hooks `getdents64`/`getdents` sur les chemins ciblés ; stat nlink ajusté pour correspondre |
| Système de fichiers | Détection `lsattr` / `chattr` | `hiding_fs.c` : interception `ioctl` sur les chemins de fichiers de l'agent |
| Système de fichiers | Liste `/proc/modules` / `lsmod` | `hiding_module.c` : supprime l'entrée `bat-stealth.ko` de toutes les listes de modules sysfs et procfs |
| Réseau | Listages des ports `ss` / `netstat` | `hiding_net.c` : les hooks `tcp4_seq_show`/`tcp6_seq_show` suppriment les entrées de port C2 de la sortie |
| Réseau | `/proc/net/tcp`, `/proc/net/tcp6` | `hiding_net.c` : l'interception de lecture seq_file supprime les lignes de socket C2 |
| Journaux | Chemin d'écriture `syslog` / `journald` | `hooks_write.c` : interception `write`/`splice`/`sendfile`/`tee` ; les entrées de journal correspondant aux chaînes de l'agent sont supprimées dans le noyau |
| Journaux | Chemin d'écriture asynchrone `io_uring` | `hooks_write.c` : `io_uring_enter`/`io_uring_enter2` interceptés ; chemin de compatibilité ia32 couvert |
| Sécurité du noyau | `rkhunter` / `chkrootkit` | Module caché de `/proc/modules` ; fichiers de l'agent cachés du système de fichiers ; zéro avertissement vérifié |
| Sécurité du noyau | ClamAV | Obfuscation Garble `-literals -tiny` + aucune chaîne en clair intégrée ; 0 détections vérifiées (DB 2026-04-20) |
| EDR / eBPF | Capteurs basés sur eBPF lisant `/proc` | Les hooks de masquage interceptent au niveau noyau avant que les événements du tampon en anneau eBPF ne soient produits |
| Introspection du noyau | `ftrace` / `kprobes` sur les symboles de l'agent | Le module `selfdefense` bloque l'attachement kprobe sur les adresses de fonctions de l'agent |
| Forensique du noyau | Acquisition mémoire LiME | `selfdefense` bloque le chargement du module LiME et l'accès aux périphériques mémoire bruts |
| Forensique du noyau | Vidage de tâches SysRq-T | `sysrq_hook` exclut les processus cachés de la liste de tâches écrite par SysRq-T |
| Forensique du noyau | NETLINK taskstats | `taskstats_hook` filtre les réponses NETLINK taskstats pour les PID cachés |
| Intégrité du noyau | Application de LKRG | `lkrg_bypass` supprime la livraison du `SIGKILL` de LKRG et abandonne les messages de journal LKRG |
| Sous-système d'audit | Enregistrement d'appels système `auditd` | Le module `audit` supprime les événements d'audit pour tous les PID cachés au niveau de la couche d'audit du noyau |

---

## Hooks d'appels système

Tous les hooks sont installés par `bat-stealth.ko` via ftrace au moment du chargement. Les entrées ia32 ne sont compilées que sur x86_64 (`#ifdef ARCH_SYS_IA32`).

| Appel système / Fonction | Module | Objectif |
|---|---|---|
| `getdents64` | `hiding_procs.c` | Masquer les PID de l'agent des listages de répertoire `/proc` |
| `getdents` | `hiding_procs.c` | Compat 32 bits : masquer les PID de l'agent |
| `filldir` (readdir) | `hiding_procs.c` | Filtre d'entrée proc supplémentaire pour les appelants readdir hérités |
| `getdents64` | `hiding_fs.c` | Masquer les fichiers de l'agent des listages de répertoire |
| `getdents` | `hiding_fs.c` | Compat 32 bits : masquer les fichiers de l'agent |
| `ia32_getdents64` | `hiding_fs.c` | Appel système de compat x86 |
| `ia32_getdents` | `hiding_fs.c` | Appel système de compat x86 |
| `ia32_stat` / `ia32_lstat` / `ia32_fstat` | `hiding_fs.c` | Interceptions stat 32 bits pour les chemins cachés |
| `ia32_open` / `ia32_openat` / `ia32_access` | `hiding_fs.c` | Interceptions open/access 32 bits |
| `ia32_readlink` | `hiding_fs.c` | Interception readlink 32 bits |
| `ia32_chdir` | `hiding_fs.c` | Interception chdir 32 bits |
| `ioctl` | `hiding_fs.c` | Intercepter `lsattr`/`chattr` ioctl sur les chemins de l'agent |
| `tcp4_seq_show` | `hiding_net.c` | Masquer les entrées de port C2 de `/proc/net/tcp` |
| `tcp6_seq_show` | `hiding_net.c` | Masquer les entrées de port C2 de `/proc/net/tcp6` |
| `bpf` | `bpf_hook.c` | Zéro télémétrie pour les PID cachés dans tous les programmes eBPF |
| `write` | `hooks_write.c` | Supprimer les entrées de journal contenant des chaînes de l'agent avant d'atteindre syslog |
| `splice` | `hooks_write.c` | Même interception via le chemin splice |
| `sendfile` | `hooks_write.c` | Même interception via le chemin sendfile |
| `tee` | `hooks_write.c` | Même interception via le chemin tee |
| `io_uring_enter` | `hooks_write.c` | Interception d'écriture asynchrone io_uring |
| `io_uring_enter2` | `hooks_write.c` | Interception d'écriture asynchrone io_uring (appel système v2) |
| `sched_process_fork` (tracepoint) | `pid_manager.c` | Hériter du statut caché à travers `fork`/`clone` |
| `vprintk_emit` | `lkrg_bypass.c` | Supprimer les messages de journal noyau LKRG |
| `finit_module` / `init_module` | agent (kcc loader) | Chargement de module noyau sans fichier via `memfd_create` + fd anonyme |

---

## Référence TTP

| TTP | Nom | Description |
|---|---|---|
| 1 | masquerade | Renommer le comm du processus en `kworker/0:1` (ou personnalisé) |
| 2 | reverse_shell | Shell TCP inverse vers relay:4445 |
| 3 | memory_rwx | Allouer de la mémoire RWX anonyme (sonde de détection) |
| 4 | shell_exec | Exécuter une commande shell arbitraire |
| 5 | beacon | Forcer un rappel supplémentaire immédiat |
| 6 | persist | Installer la persistance (cron / systemd / rc.local / openrc / profile / XDG autostart) |
| 7 | creddump | Collecter `/etc/shadow`, historique bash, secrets d'environnement, AWS IMDS |
| 9 | exec_chain | Générer une chaîne de processus (sonde de détection) |
| 10 | install_rootkit | Déployer `bat-rootkit.so` via `/etc/ld.so.preload` |
| 11 | inject + exit | Injecter les threads beacon + rawsock dans un processus en cours, puis auto-sortie |
| 20 | network_recon | Table ARP + scan TCP :22 du sous-réseau local |
| 21 | ssh_harvest | Collecter les clés privées, known_hosts, authorized_keys, configurations |
| 22 | lateral_move | SCP de soi-même vers un hôte découvert via SSH, exécution détachée |
| 23 | creddump_full | Collecte étendue d'identifiants + empreinte d'environnement |
| 30 | exfil-file | Lire un fichier arbitraire et transmettre des morceaux base64 sur le canal beacon |
| 31 | exfil-dir | Tar+gzip un répertoire et exfiltrer sur le canal beacon |
| 32 | exfil-auto | Surveiller les chemins configurés et auto-exfiltrer en cas de modification |
| 34 | netmap | Scanner un CIDR /16 pour les hôtes actifs et les ports ouverts |
| 35 | autospread | Mouvement latéral SSH vers les hôtes découverts en utilisant les clés collectées ; copie l'agent et exécute de manière détachée |
| 36 | smbprobe | Sondage du port SMB (:445) pour les candidats au mouvement latéral |
| 99 | kill | Auto-terminaison silencieuse |
| 222 | destruct | Supprimer tous les artefacts, effacer la mémoire, sortie |
| 1003 | K-03 (privesc) | Le signal noyau 59 déclenche `commit_creds` vers uid=0 |
| 1099 | K-99 (unload) | Déchargement en deux phases de `bat-stealth.ko` via sysfs + `delete_module(2)` brut |

Commandes console (dans l'invite `bat-server`) :
- `kill` : TTP 99 à tous les agents
- `destruct` : TTP 222 à tous les agents
- `destruct @<agentID>` : effacement ciblé

---


### KCC : Cache de compilation du noyau

`bat-stealth.ko` est compilé à la demande pour le noyau en cours d'exécution de la cible. L'agent automatise l'ensemble du flux en cours d'exécution ; aucun module pré-construit n'est nécessaire par cible :

1. **Détecter le noyau** : l'agent lit `/proc/version` pour obtenir la chaîne exacte `uname -r`.
2. **Demander la compilation** : l'agent POSTe la chaîne du noyau au `kcc-server` (`:9444`) avec une demande signée HMAC.
3. **kcc-server compile** : le serveur construit `bat-stealth.ko` contre les en-têtes de noyau correspondants et met en cache le résultat par hash du noyau.
4. **Recevoir les octets du module** : le `.ko` compilé retourné dans le corps de la réponse.
5. **Chargement sans fichier** : l'agent crée un fichier mémoire anonyme (`memfd_create`, appel système 279 sur x86_64 / 319 sur ARM64), écrit les octets du module, puis appelle `finit_module` (appel système 273 / 313) avec une chaîne de paramètres vide.
6. **Enregistrement** : le module enregistre tous les hooks et se cache de sysfs/procfs en quelques millisecondes.

Aucun fichier `.ko` n'est écrit sur le disque à aucun moment. Le module disparaît de `/proc/modules` immédiatement après le chargement.

**Noyau minimum :** 6.x (sonde K-00 ; l'agent ignore le chargement furtif sur les noyaux plus anciens).  
**Testé :** 6.1.0 (Debian 12 / Ubuntu LTS), 6.8.0 (Ubuntu 22.04 GCP).

---

## Profils de construction```bash
make lab SECRET=<hex>          # direct: agent -> relay:9443, UDP trigger
make cdn SECRET=<hex>          # CDN: agent -> edge proxy -> relay:443
make singularity SECRET=<hex>  # ICMP trigger only, no UDP port exposure

Tous les profils nécessitent SECRET=. Remplacez l'IP du relais avec RELAY=<ip>.


Modèle de sécurité

  • Balises authentifiées HMAC : chaque point de contrôle est signé avec SHA-256(secret) ; les rejeux sont rejetés côté serveur.
  • Obfuscation de configuration à deux couches : codage XOR(0x5A) au moment de la génération du code, puis chiffrement -literals au moment de la compilation. -X ldflags est intentionnellement évité (les valeurs ldflag apparaissent en texte clair dans les binaires).
  • Aucun port d'écoute côté opérateur : toute la connectivité sort via le tunnel SSH inversé intégré dans bat-server.
  • Clé SSH intégrée au serveur : la clé du tunnel est compilée via le même codage XOR que la configuration C2.

Page de couverture

relay/static/ est la face publique du relais. La version livrée contient un espace réservé nu. Remplacez index.html et les pages de support par votre identité de couverture avant d'exécuter sync.sh. Les scripts de livraison (static/i, static/api/setup, static/api/v1/index.json) utilisent __CDN_DOMAIN__ comme espace réservé ; définissez CDN_DOMAIN= dans build.env et sync.sh le substitue automatiquement. Mettez à jour relay/nginx/bat.conf avec le vrai domaine dans server_name et les chemins des certificats TLS avant le premier déploiement nginx.

Le profil CDN achemine le trafic des agents à travers une couche de proxy périphérique. L'agent se connecte au domaine CDN via HTTPS ; le proxy transmet le trafic au récepteur local du relais via le tunnel SSH inversé. D'un point de vue réseau, tout le trafic des agents provient des plages IP des périphéries CDN plutôt que du VPS du relais.

Notifications de livraison via Telegram


tg ---

Lorsqu'une cible récupère le binaire agent depuis le point de terminaison CDN, une alerte de livraison est envoyée instantanément à un canal Telegram configuré. La notification comprend : l'IP source, l'horodatage, le chemin de la requête, l'architecture détectée (x86_64/arm64), la taille du fichier, la chaîne User-Agent et l'identifiant de la périphérie CDN.

Le démon delivery-alert.service scrute le journal d'accès nginx et se déclenche à chaque accès au chemin de téléchargement factice. Configurez-le lors de l'amorçage du relais :```bash sudo bash -s -- --tg-token <BOT_TOKEN> --tg-chat-id <CHAT_ID> < relay/setup.sh

root@kitploit:~
Les identifiants sont écrits dans `/etc/bat/tg.env` sur le relais et propagés à toutes les cibles de synchronisation via `sync.sh --tg`. Le service démarre automatiquement et survit aux redémarrages du relais.

---

## Avertissement

Ce logiciel est développé exclusivement pour la recherche en sécurité autorisée, la simulation d'adversaires dans des environnements de laboratoire contrôlés, et le développement de capacités de détection et de réponse. Il contient des implémentations fonctionnelles de techniques offensives, y compris des rootkits au niveau du noyau, l'injection de processus, la récolte d'identifiants et le mouvement latéral. Le déploiement sur tout système sans autorisation écrite explicite du propriétaire du système est illégal en vertu des lois applicables sur la fraude et les abus informatiques dans la plupart des juridictions.

Les auteurs déclinent toute responsabilité pour tout dommage, conséquence juridique ou préjudice résultant d'une utilisation non autorisée, négligente ou malveillante de ce logiciel. En utilisant ce logiciel, vous affirmez être un professionnel de la sécurité qualifié opérant dans un cadre légal et autorisé, et que l'entière responsabilité légale et éthique de son utilisation vous incombe uniquement.

Ce logiciel ne doit pas être redistribué, publié ou divulgué à un tiers sans consentement écrit préalable.
Télécharger l’outil
open
hiding_chdir
hiding_readlink
REGS_ARGn
should_hide_path()
bat_hidden_paths[]
ID ATT&CKTechniqueImplémentation Bat
T1036.005Masquage : Correspondre à un nom légitimeTTP 1 : prctl(PR_SET_NAME) vers kworker/0:1
T1055Injection de processusTTP 11 : shellcode + thread rawsock injecté dans un processus actif
T1205.001Signalisation de trafic (Paquet magique)Le déclencheur UDP/ICMP réveille l’agent depuis la dormance
T1071.001C2 par protocole webBeacons HTTPS sur :443 ou :9443
T1573.001Canal chiffré : symétriqueBeacons authentifiés HMAC-SHA256 sur TLS
T1090.004Proxy : Domain FrontingLe profil CDN achemine le trafic de l’agent via une couche proxy périphérique
T1574.006Détournement d’exécution : LD_PRELOADTTP 10 : bat-rootkit.so via /etc/ld.so.preload
T1014Rootkitbat-stealth.ko : cache PID, ports, fichiers, module, lui-même
T1562.001Affaiblissement des défenses : Désactiver les outilsbpf_hook aveugle les capteurs eBPF ; lkrg_bypass désactive LKRG
T1562.012Affaiblissement des défenses : Désactiver l’audit LinuxLe module audit supprime les événements auditd pour les PID cachés
T1068Élévation de privilèges par exploitationK-03 : le signal 59 déclenche commit_creds vers uid=0
T1543.002Créer/Modifier un processus système : SystemdTTP 6 : persistance par unité systemd
T1053.003Tâche planifiée : CronTTP 6 : persistance par crontab
T1070.002Effacer les logs Linuxclear_taint_dmesg filtre dmesg ; reset_tainted met à zéro le flag de souillure ; hooks_write supprime les entrées de log dans le noyau
T1070.004Suppression d’indicateur : Suppression de fichierTTP 222 destruct : effacement complet des artefacts
T1003Récupération d’identifiantsTTP 7/23 : /etc/shadow, historique shell, secrets d’environnement
T1552.004Identifiants non sécurisés : Clés privéesTTP 21 : Clés SSH, known_hosts, configurations
T1552.005Métadonnées d’instance cloudTTP 23 : collecte d’identifiants AWS IMDS
T1018Découverte de systèmes distantsTTP 20/34 : énumération ARP + scan CIDR /16
T1046Scan de services réseauTTP 20/34 : scan de ports TCP des hôtes découverts
T1021.004Mouvement latéral via SSHTTP 22/35 : SCP de soi vers l’hôte découvert, exécution détachée
T1078Comptes validesTTP 22/35 : le mouvement latéral utilise les clés SSH récupérées
T1048Exfiltration via un protocole alternatifTTP 30/31/32 : exfiltration de fichiers et dossiers via le canal beacon
T1059.004Exécution de shell UnixTTP 4 : exécution de commandes arbitraires
T1027Fichiers ou informations obscurcisgarble -literals -tiny -seed=random ; encodage de configuration XOR(0x5A)
T1620Chargement de code réflexifTTP 11 : shellcode exécuté dans l’espace d’adressage du processus cible ; bat-stealth.ko chargé via memfd_create