Variante de Malware BlueShell Liée aux Campagnes APT
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le rapport examine une nouvelle variante du RAT BlueShell basée sur Linux, écrite en Go. Cette version introduit des capacités d’évasion améliorées, y compris le masquage de processus en tant que travailleur du noyau et l’utilisation de serveurs proxy pour la communication C2. Le malware a été lié à des acteurs de menace basés en Chine, y compris BlackTech.
Enquête
Les analystes ont identifié un dropper qui décode par XOR et décompresse la charge utile de BlueShell dans /tmp/kthread. Le malware stocke les données de configuration encodées dans une variable d’environnement nommée wtim. L’enquête a également révélé de nouvelles capacités, y compris la validation du nom d’hôte et la capacité d’éviter les connexions directes C2 en dirigeant le trafic à travers un proxy interne.
Atténuation
Les organisations devraient surveiller de près la création de fichiers suspects dans /tmp et les noms de processus inhabituels tels que [kworker/12:12]. Les équipes de sécurité devraient également détecter un trafic sortant inattendu passant par des serveurs proxy internes. La médecine légale de la mémoire et le carving des systèmes de fichiers devraient être effectués lorsque les droppers sont supprimés pour récupérer les charges utiles et les données de configuration.
Réponse
Si une activité BlueShell est détectée, les hôtes affectés devraient être isolés immédiatement et examinés par la médecine légale de la mémoire pour identifier le processus malveillant et sa configuration. Les journaux de proxy devraient être examinés pour les connexions à l’adresse IP C2 48.216.210.91. Les enquêteurs devraient également déterminer comment le dropper initial a été déployé, y compris l’éventuel abus de données d’identification SSH compromises.
Flux d’attaque
Détections
Des permissions dangereuses pour un binaire/script/dossier ont été définies (via cmdline)
Voir
Un fichier caché a été créé sur l’hôte Linux (via file_event)
Voir
IOCs (HashSha256) pour détecter : Analyse de la variante BlueShell utilisée par les groupes APT
Voir
IOCs (SourceIP) pour détecter : Analyse de la variante BlueShell utilisée par les groupes APT
Voir
IOCs (DestinationIP) pour détecter : Analyse de la variante BlueShell utilisée par les groupes APT
Voir
Détection des tentatives de connexion au serveur C2 de la variante BlueShell [Windows Network Connection]
Voir
Détection de la variante BlueShell avec communication C2 via serveur proxy [Proxy]
Voir
Détection de l’exécution de la variante de malware BlueShell [Linux Process Creation]
Voir
Exécution de la simulation
Prérequis : Le contrôle préalable de la télémetrie & ligne de base doit avoir réussi.
Justification : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTPs identifiés et doivent générer la télémétrie exacte attendue par la logique de détection. Des exemples abstraits ou non liés conduiront à un diagnostic erroné.
-
Récit et Commandes d’Attaque : Un adversaire a obtenu un accès initial à un serveur Linux et déploie une variante de BlueShell pour établir une persistance. Pour échapper à la détection, ils tentent de masquer le processus malveillant comme un thread de travailleur du noyau nommé
/kworker/12:12. Simultanément, le dropper tente de décompresser la charge utile principale dans/tmp/kthread. Nous allons simuler à la fois le masquage de processus et l’activité du dropper pour valider que les chaînes spécifiques définies dans la règle Sigma déclenchent l’alerte. -
Script de Test de Régression :
#!/bin/bash # Simulation de l'exécution de la variante de malware BlueShell echo "[+] Lancement de la simulation BlueShell..." # 1. Simuler le comportement du Dropper (Écriture dans /tmp/kthread) echo "Simulation de l'écriture du dropper dans /tmp/kthread" echo "#!/bin/bash" > /tmp/kthread chmod +x /tmp/kthread /tmp/kthread & SLEEP_PID=$! # 2. Simuler l'exécution du Processus Masqué # Nous créons un fichier fictif et le renommons au nom du processus cible pour déclencher 'Image contains' echo "[+] Simulation du processus masqué /kworker/12:12" echo "echo 'Je suis un faux thread de noyau'" > /tmp/fake_worker chmod +x /tmp/fake_worker # Exécution via un chemin incluant le nom pour déclencher la logique 'contains' /tmp/fake_worker --name="/kworker/12:12" & WORKER_PID=$! echo "[+] Commandes de simulation envoyées." echo "[+] Attente de l'ingestion de télémétrie..." sleep 10 # Nettoyage géré par commande séparée echo "[+] Simulation terminée. Utilisez le script de nettoyage pour supprimer les artefacts." -
Commandes de Nettoyage :
#!/bin/bash # Nettoyage des artefacts de simulation echo "[+] Nettoyage des artefacts de simulation..." rm -f /tmp/kthread rm -f /tmp/fake_worker pkill -f "/kworker/12:12" pkill -f "/tmp/kthread" echo "[+] Nettoyage terminé."