Strumenti come metasploit sono ottimi per sfruttare i computer, ma cosa succede dopo aver ottenuto l'accesso a un computer? Backdoorme risponde a questa domanda scatenando una serie di backdoor per stabilire una persistenza per lunghi periodi di tempo.
Una volta stabilita una connessione SSH con il target, i punti di forza di Backdoorme possono concretizzarsi. Sfortunatamente, Backdoorme non è uno strumento per ottenere l'accesso root - serve solo a mantenere quell'accesso una volta ottenuto.
Si prega di utilizzare Backdoorme solo con autorizzazione esplicita - per favore non hackerare senza chiedere.
Utilizzo
Backdoorme è suddiviso in due parti: backdoor e moduli.
Le backdoor sono piccoli frammenti di codice che ascoltano su una porta e reindirizzano a un interprete, come bash. Ci sono molte backdoor scritte in vari linguaggi per offrire varietà.
I moduli rendono le backdoor più potenti eseguendole più spesso, ad esempio ogni pochi minuti o all'avvio del computer. Questo aiuta a stabilire la persistenza.
Dimostrazione:
Impostazione
Per avviare backdoorme, assicurati innanzitutto di avere le dipendenze richieste.
Per Python 3.5+:
$ sudo apt-get install python3 python3-pip python3-tk nmap
$ cd backdoorme/
$ virtualenv --python=python3.5 env
$ source env/bin/activate
(env) $ pip install -r requirements.txt
Per Python 2.7:
$ sudo python dependencies.py
Iniziare
Avvio di backdoorme:
$ python master.py
Per aggiungere un target:
>> addtarget
Target Hostname: 10.1.0.2
Username: victim
Password: password123
+ Target 1 impostato!
>>
Backdoor
Per utilizzare una backdoor, basta usare la parola chiave "use".
>> use shell/metasploit
+ Utilizzo del target corrente 1.
+ Utilizzo della backdoor Metasploit...
(msf) >>
Da lì, puoi impostare le opzioni relative alla backdoor. Digita "show options" o "help" per vedere un elenco di parametri che possono essere configurati. Per impostare un'opzione, basta usare la parola chiave "set".
(msf) >> show options
Opzioni della backdoor:
Opzione Valore Descrizione Richiesto
------ ----- ----------- --------
name initd nome della backdoor Falso
...
(msf) >> set name apache
+ name => apache
(msf) >> show options
Opzioni della backdoor:
Opzione Valore Descrizione Richiesto
------ ----- ----------- --------
name apache nome della backdoor Falso
...
Come in metasploit, le backdoor sono organizzate per categoria.
- Ausiliario
- keylogger - Aggiunge un keylogger al sistema e dà l'opzione di inviare i risultati via email.
- simplehttp - Installa il server SimpleHTTP di Python sul client.
- user - Aggiunge un nuovo utente al target.
- web - Installa un server Apache sul client.
- Escalation
- setuid - La backdoor SetUID funziona impostando il bit setuid su un binario mentre l'utente ha accesso root, in modo che quando quel binario viene successivamente eseguito da un utente senza accesso root, venga eseguito con accesso root. Per impostazione predefinita, questa backdoor imposta il bit setuid su nano, in modo che se l'accesso root viene perso, l'attaccante possa riconnettersi via SSH come utente non privilegiato ed essere comunque in grado di eseguire nano (o qualsiasi binario scelto) come root. ('nano /etc/shadow'). Nota che l'accesso root è inizialmente necessario per distribuire questa backdoor di escalation.
- shell - La backdoor shell è una backdoor di escalation dei privilegi, simile a (ma più specifica di) la sua controparte di escalation SetUID. Duplica la shell bash in un binario nascosto e imposta il bit SUID. Nota che l'accesso root è inizialmente necessario per distribuire questa backdoor di escalation. Per utilizzarla, una volta connessi via SSH come utente non privilegiato, esegui semplicemente ".bash -p" e avrai accesso root.
- Shell
- bash - Usa un semplice script bash per connettersi a una specifica combinazione di IP e porta e reindirizzare l'output in bash.
- bash2 - Una versione leggermente diversa (e più affidabile) della backdoor bash sopra, che non richiede la password lato client.
- sh - Simile alla prima backdoor bash, ma reindirizza l'input a /bin/sh.
- sh2 - Simile alla seconda backdoor bash, ma reindirizza l'input a /bin/sh.
- metasploit - Impiega msfvenom per creare un binario reverse_tcp sul target, poi esegue il binario per connettersi a una shell meterpreter.
- java - Crea una connessione socket usando le librerie di Java e compila la backdoor sul target.
- ruby - Usa le librerie di ruby per creare una connessione, poi reindirizza a /bin/bash.
- netcat - Usa netcat per reindirizzare l'input e l'output standard a /bin/sh, offrendo all'utente una shell interattiva.
- netcat_traditional - Utilizza l'opzione -e di netcat-traditional per creare una reverse shell.
- perl - Uno script scritto in perl che reindirizza l'output a bash e rinomina il processo per sembrare meno sospetto.
- php - Esegue una backdoor php che invia l'output a bash. Non installa automaticamente un server web, ma usa invece il modulo web.
- python - Usa un breve script python per eseguire comandi e inviare l'output all'utente.
- web - Trasporta un server web sul target, poi carica la backdoor php reverse_tcp di msfvenom e si connette all'host. Sebbene anche questa sia una backdoor php, non è la stessa backdoor della backdoor php sopra.
- Accesso
- remove_ssh - Rimuove il server ssh sul client. Spesso utile da usare alla fine di una sessione di backdoorme per rimuovere ogni traccia.
- ssh_key - Crea una chiave RSA e la copia sul target per una connessione ssh senza password.
- ssh_port - Aggiunge una nuova porta per ssh.
- Windows
- windows - Usa msfvenom per creare una backdoor per Windows.
Moduli
Ogni backdoor ha la capacità di avere moduli aggiuntivi applicati per renderla più potente. Per aggiungere un modulo, basta usare la parola chiave "add".
(msf) >> add poison
+ Modulo Poison aggiunto
Ogni modulo ha parametri aggiuntivi che possono essere personalizzati, e se si esegue di nuovo "help", puoi vedere o impostare eventuali opzioni aggiuntive.
(msf) >> help
...
Opzioni del modulo Poison:
Opzione Valore Descrizione Richiesto
------ ----- ----------- --------
name ls nome del comando da avvelenare Falso
location /bin dove mettere i file avvelenati Falso
I moduli attualmente abilitati includono:
- Esegue l'avvelenamento dei binari sul computer target - compila un eseguibile per chiamare un'utilità di sistema e una backdoor esistente.
- Ad esempio, se il modulo di avvelenamento dei binari viene attivato con "ls", compilerebbe e sposterebbe un binario chiamato "ls" che eseguirebbe sia una backdoor esistente che il comando "ls" originale, inducendo così un utente a eseguire una backdoor esistente più frequentemente.
- Aggiunge una backdoor esistente al crontab dell'utente root per eseguirla con una frequenza specificata.
- Imposta un server web e posiziona una pagina web che attiva la backdoor.
- Basta visitare il sito con il tuo listener aperto e la backdoor partirà.
- Aggiunge un nuovo utente al target.
- Permette di far partire le backdoor con i file bashrc e init.
- Aggiunge un IP alla whitelist in modo che solo quell'IP possa connettersi alla backdoor.