Zum Inhalt springen
Startseite » HackMyVM Venus Walkthrough 2/5

HackMyVM Venus Walkthrough 2/5

Dies ist der zweite Beitrag zur Plattform HackMyVM.eu, bei dem ich euch helfen möchte, die Level 11 – 20 des Venus-Labs zu lösen.

Wenn ihr mehr über HackMyVM.eu und das Venus-Lab wissen möchtet, schaut euch meinen ersten Beitrag der Reihe zu HackMyVM an.

Damit Ihr euch mit dem Lab verbinden könnt, müsst Ihr euch auf HackMyVM.eu registrieren. Nach der kostenlosen Registrierung öffnet einfache ein Terminal und verbindet euch mit ssh zum Lab. Die Zugangsdaten findet Ihr unter https://hackmyvm.eu/venus/

HackMyVM Venus
HackMyVM.eu Venus Lab

Level 11

Mission: The password of the user lucy is in the line that ends with 0JuAZ (these last 5 characters are not part of her password)

Das Passwort für lucy befindet sich in der Datei ‚end‘ und befindet sich in der Zeile, die mit ‚0JuAZ‘ endet. Um das Passwort zu erhalten, benutzen wir einfach cat um den Inhalt von ‚end‘ auszugeben und pipen nach grep mit dem regulären Ausdruck 0JuAZ$. Das Dollar-Zeichen gibt an, dass wir nach einer Zeichenkette suchen, die mit den Zeichen vor dem Dollar-Zeichen endet.

cat end | grep 0JuAZ$

Schon habt Ihr die Zugangsdaten für das nächste Level. Vergesst aber nicht, dass die Zeichenfolge ‚0JuAZ‘ nicht zum Passwort gehört.

Level 12

Mission: The password of the user elena is between the characters fu and ck

Das Passwort für das nächste Level steht also zwischen ‚fu‘ und ‚ck‘. Sehr lustig. Auch hier hilft uns grep in Verbindung mit einem regulären Ausdruck weiter. Dann schauen wir mal, wie der reguläre Ausdruck aussehen könnte:

  1. Wir suchen nach einer Zeichenkette, die mit ‚fu‘ anfängt. Der Ausdruck dafür ist ^fu
  2. Als nächstes kommt eine beliebige Anzahl beliebiger Zeichen. Dafür ist der Ausdruck .*
  3. Enden soll die Zeichenkette mit ‚ck‘ also ist der Ausdruck dafür ck$

Alles zusammen sieht dann so aus:

cat file.yo | grep ^fu.*ck$

Jetzt habt Ihr das Passwort für das nächste Level. Denkt daran, dass das ‚fu‘ am Anfang und das ‚ck‘ am Ende nicht zum Passwort gehört.

Level 13

Mission: The user alice has her password is in an environment variable.

Um an das Passwort für das nächste Level zu bekommen, müssen wir uns nur die Umgebungsvariablen ausgeben lassen. Dass Passwort befindet sich in der Variable PASS

printenv | grep PASS

Schon habt Ihr das nächste Passwort.

Level 14

Mission: The admin has left the password of the user anna as a comment in the file passwd.

Das Passwort befindet sich also in der Datei /etc/passwd. Da die Datei ziemlich lang ist, schauen wir mal in die Zeile des aktuellen Benutzers 😉

cat /etc/passwd | grep alice

Level 15

Mission: Maybe sudo can help you to be natalia.

Sudo kann uns laut Missions-Beschreibung dabei helfen, zu natalia zu werden. Dann probieren wir es mal mit der Option -u und geben als Benutzer natalia an. Außerdem möchten wir bash als Befehl ausführen:

sudo -u natalia /bin/bash
whoami
natalia
cd ~

Na, das hat ja super geklappt.

Level 16

Mission: The password of user eva is encoded in the base64.txt file.

Das Passwort für das nächste Level befindet sich in der Datei base64.txt und ist codiert. Der Name der Datei lässt darauf schließen, dass das Passwort Base64 codiert ist, also benutzen wir das Kommando base64 mit der Option -d um es zu dekodieren.

cat base64.txt | base64 -d

Level 17

Mission: The password of the clara user is found in a file modified on May 1, 1968.

Das Passwort befindet sich also in einer Datei, die am 1. Mai 1968 geändert wurde.
Hier können wir den Befehl find mit der Option -newermt benutzen. Da Linux mit Epoch Unix Timestamps arbeitet und diese erst am 01.01.1970 beginnen, können wir allerdings nicht nach Dateien suchen, die 1968 geändert wurden. Wir lassen uns stattdessen alle Dateien anzeigen, die vor dem 02.01.1970 geändert wurden:

find / -type f ! -newermt 1970-01-02 -ls 2>/dev/null
403708      4 -rw-r--r--   1 root     root           16 Jan  1  1970 /usr/lib/cmdo
cat /usr/lib/cmdo

Level 18

Mission: The password of user frida is in the password-protected zip (rockyou.txt can help you).

Dieses Level ist etwas umständlicher. Zuerst müssen wir uns das passwort geschützte Zip Archiv auf unseren PC laden, um es anschließend mit JohnTheRipper zu knacken. Zum Glück sind sowohl JohnTheRipper als auch die Passwort-Datei rockyou.txt in Kali bzw. ParrotOS enthalten.

Als ersten Schritt laden wir mit dem Kommandozeilen-Tool sftp das Archiv auf unseren PC.

sftp -P 5000 clara@venus.hackmyvm.eu
get protected.zip 
Fetching /pwned/clara/protected.zip to protected.zip
/pwned/clara/protected.zip

Als nächstes müssen wir aus dem Zip-Archiv einen Hash erzeugen, mit dem JohnTheRipper arbeiten kann:

zip2john protected.zip > hash.txt

Jetzt, wo wir die Hash-Datei haben, können wir JohnTheRipper mit der rockyou.txt benutzen, um das Passwort zu knacken:

john --format=PKZIP --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
Using default input encoding: UTF-8
Loaded 1 password hash (PKZIP [32/64])
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
pass123          (protected.zip/pwned/clara/protected.txt)
1g 0:00:00:00 DONE (2022-04-02 18:50) 25.00g/s 204800p/s 204800c/s 204800C/s 123456..whitetiger
Use the "--show" option to display all of the cracked passwords reliably
Session completed

Das Passwort ist also pass123 – damit können wir nun das Archiv entpacken und das Passwort ausgeben:

unzip protected.zip 
Archive:  protected.zip
[protected.zip] pwned/clara/protected.txt password:
 extracting: pwned/clara/protected.txt

cat pwned/clara/protected.txt

Level 19

Mission: The password of eliza is the only string that is repeated (unsorted) in repeated.txt.

Dieses Level lässt sich wieder mit einem einzelnen Befehl lösen. Das Passwort ist der String, der in der angegebenen Datei mehrfach vorkommt. Um diesen herauszufiltern, können wir den Befehl uniq mit der Option -d benutzen

uniq -d repeated.txt

Level 20

MIssion: The user iris has left me her key.

In diesem Level hat der Benutzer iris freundlicherweise einen ssh-Key zurück gelassen.
Also erstmal alle Dateien anzeigen lassen:

ls -la
total 32
drwxr-x---  2 root  eliza 4096 Feb 24 11:48 .
drwxr-xr-x 55 root  root  4096 Feb 24 11:47 ..
-rw-r--r--  1 eliza eliza  220 Aug  4  2021 .bash_logout
-rw-r--r--  1 eliza eliza 3526 Aug  4  2021 .bashrc
-rw-r-----  1 root  eliza 2602 Feb 24 11:48 .iris_key
-rw-r--r--  1 eliza eliza  807 Aug  4  2021 .profile
-rw-r-----  1 root  eliza   31 Feb 24 11:47 flagz.txt
-rw-r-----  1 root  eliza  143 Feb 24 11:47 mission.txt

Die Datei ‚.iris_key‘ sieht viel versprechend aus:

ssh -i .iris_key iris@localhost

Das waren die Level 11 – 20 des Venus-Labs auf HackMyVM.eu
Ich hoffe, das eine oder andere hat euch weiter geholfen.

Schlagwörter:

Schreibe einen Kommentar

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