TryHackme RootMe


Bueno primeramente y como siempre primeramente hacemos uso de NMAP para ver que puertos estan abiertos en la maquina y esta vez solo tenemos dos.
# Nmap 7.93 scan initiated Wed Sep 20 23:11:22 2023 as: nmap -sCV -p22,80 -oN target.txt 10.10.225.112
Nmap scan report for 10.10.225.112
Host is up (0.057s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 4ab9160884c25448ba5cfd3f225f2214 (RSA)
| 256 a9a686e8ec96c3f003cd16d54973d082 (ECDSA)
|_ 256 22f6b5a654d9787c26035a95f3f9dfcd (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
|_http-title: HackIT - Home
|_http-server-header: Apache/2.4.29 (Ubuntu)
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 at Wed Sep 20 23:11:31 2023 -- 1 IP address (1 host up) scanned in 9.82 seconds
Ahora igualmente haciendo uso de NMAP observamos los servicios y versiones que corren para estos dos puertos.
Gobuster

Haciendo uso de gobuster que es primera vez que lo uso ya que estoy mas acostumbrado con Wfuzz, observamos que tenemos tres directorios.

Si nos vamos al primero /panel, tenemos una subida de archivos, el cual podemos aprobechar para subir un archivo malicioso y ganar acceso al sistema.

Como decia ganar acceso al sistema la revershell que estoy usando esta aca en este enlace LINK
NOTA la subida de archivo no acepta archivos php, tienes que encontrar que tipo extencion acepta eso lo puede hacer usando BurpSuite. La extencion que le gusta es phtml, solo debes cambiarle la extencion a tu archivo php a phtml.

Subimos el archivo malicioso .phtml, aca yo ya hice la tarea de pasar la peticion por BurpSuite y ver que extencion es la que le gustaba.

En el directorio /uploads tenemos nuestro archivo malicioso listo para ser invocado.

Como punto numero uno invocamos nuestro archivo malicioso enviando una peticion con CURL
Y como punto numero dos nos ponemos en escucha con NC y observamos que ganamos acceso al sistema como el usuario www.data.
Ahora a buscar nuestra primera flag y escalar nuestros privilegios.

Haciendo uso de find buscamos nuestra primera flag que es la de user.txt y la tenemos. Lo hacemos asi para no andar a lo tonto entrando en cada directorio, mejor asi desde la raiz y a los archivos que no tenemos acceso los dirigimso al 2>/dev/null.

Ahora nos dirigimos a la raiz del sistema y buscamos por permisos SUID y observamos que python tiene permisos SUID
Asi que vamos a escalar nuestros privilegios atravez del binario de python que la verda es muy facil hacerlo.

Como punto numero uno ejecutamos python y se nos abre la consola interactiva de python y buenos a escalar nuestros privilegios de www-data a root.
import os
os.setuid(0)
os.system('bash')
Whoami y somos root, ahora la ultima flag la de root.txt
YYYYYYY Maquina resuelta
Última actualización