TryHackme Cold VVars

  • Bueno en esta vez vamos a resolver esta maquina de nivel de dificultad Medio.

  • Primeramente vamos a ver los puertos abiertos usando nuestra herramienta de confianza NMAP.

# Nmap 7.93 scan initiated Wed Sep 27 21:05:34 2023 as: nmap -sCV -p139,445,8080,8082 -oN target.txt 10.10.240.27
Nmap scan report for 10.10.240.27
Host is up (0.059s latency).

PORT     STATE SERVICE     VERSION
139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn Samba smbd 4.7.6-Ubuntu (workgroup: WORKGROUP)
8080/tcp open  http        Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
8082/tcp open  http        Node.js Express framework
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
Service Info: Host: INCOGNITO

Host script results:
| smb-os-discovery: 
|   OS: Windows 6.1 (Samba 4.7.6-Ubuntu)
|   Computer name: incognito
|   NetBIOS computer name: INCOGNITO\x00
|   Domain name: \x00
|   FQDN: incognito
|_  System time: 2023-09-27T19:06:00+00:00
|_clock-skew: mean: 13s, deviation: 0s, median: 12s
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-time: 
|   date: 2023-09-27T19:06:00
|_  start_date: N/A
| smb2-security-mode: 
|   311: 
|_    Message signing enabled but not required
|_nbstat: NetBIOS name: INCOGNITO, NetBIOS user: <unknown>, NetBIOS MAC: 000000000000 (Xerox)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Sep 27 21:05:49 2023 -- 1 IP address (1 host up) scanned in 15.09 seconds
  • Ahora seguimos usando NMAP para observar la version que corre para los cuatro puertos abiertos.

WFUZZ

  • Usando WFUZZ encontramos un directorio llamado login, el cual seguramente sea un panel de autentificacion.

  • Nos vamos al directorio que hemos descubierto usando WFUZZ y encontramos lo que ya decia anteriormente.

  • Obviamente si nos topamos con un panel de autentificacion lo primero que haremos intentar todo tipo de inyecciones SQL o NOSQL, en este caso esta inyeccion simple de SQL nos hace un bypass.

  • Habiendo burlado el panel anterior con la inyeccion simple que observamos, nos redirigen a esto, unos nombres de usuarios y contraseñas.

  • Que claro que testearemos en los demas puertos expuestos.

SMBMAP & SMBCLIENT

  • Testeando algunos nombres, damos con ArthurMorgan podemos entrar a este directorio /SECURED compartido por samba, En el cual observamos que en nuestros privilegios tenemos permisos de lectura y escritura.

  • Utilizando smbclient nos conectamos

  • Como tercer punto observamos que tenemos una nota que nos dice que testeemos la funcionalidad de subida de archivos, le haremos caso y probaremos a subir un php malicioso.

WFUZZ

  • Ahora de nuevo utilizando wfuzz pero ahora sobre el puerto 8080 ya que antes lo usamos sobre el 8082, encontramos un directorio llamado /dev, donde esta alojado el archivito este note.tx, si entras a http://IP:8080/dev, podras leer el mismo contenido que leimos por samba.

  • Preparamos lo que anteriormente planteamos, la subida de un archivo malicioso para testear la funcionalidad.

SMBMAP & SMBCLIENT

  • Ahora vamos a subir nuestro archivo malicioso

  • Primeramente lo tipico nos conectamos con las credenciales que ya tenemos claridad que son validas.

  • Ahora ya conectados al dic compartido subimos nuestro php malicioso utilizando el comando put; Observamos que si hacemos un dir ahora ya tenemos subido nuestro archivo malicioso ahora solo falta invocarlo y ganar acceso a la maquina

Acceso

  • Ahora invocaremos nuestro archivo malicioso enviando una peticion con curl, con el parametro -u le especificamos el nombre de usuario y contraseña, luego le decimos que la peticion sea sileciosa y que el metodo que usara sera por GET y luego ponemos toda la ruta donde esta alojado este php, que es la misma donde esta alojado el note.txt.

  • Por la parte abajo mi segunda terminal observamos que ganamos acceso a la maquina como un usuario no privilegiado el tipico www-data.

  • Ahora ya dentro vamos por nuestra primera flag la de user.txt que esta en el directorio de trabajo de ArthurMorgan.

Escalada De Privilegios

  • Intentando escalar nuestros privilegios a un usuario o a root, como punto numero uno nos convertiremos al usuario ArthurMorgan con las credenciales que encontramos cuando al principio hicimos el bypass con la inyeccion SQL.

  • Si hacemos un Whoami somos ArthurMorgan y no www-data.

  • Tratando de escalar nuestros privilegios tienes que probar todo lo que sabes, buscar procesos,capabilites,tareas cron permisos SUID y un etc no tan largo

  • Pero al tema compadre, como punto numero uno observamos que internamente se estan compartiendo recursos por varios puertos, nos ponemos en escucha por el 4545 y nos sale un tipo como panel.

  • Si pulsamos la opsion cuatro se nos abre vim, y bueno en vim es facil escalar nuestros privilegios.

  • Ahora hemos escalado nuestros privilegios lateralmente ahora no somos ArthurMorgan ahora somos marston. Ahora seguimos buscando como vonvertirnos en root el usuario privilegiado del sistema.

  • Si buscamos procesos en especial tmux, habia leido que hay una session de root abierta con tmux.

  • Como decia hay una session entre todas las que hay abierta hay una de root. y aca tenemos nuestra ultima flag la de root.txt maquina resuelta

  • NOTA ahora para llegar a ala session de root primeramente ejecuta este comando tmux attach-session -t 0

  • Cuando lo ejecutes la pantalla se te pondra trambolica un monton de pestañas sessiones de tmux lo que tienes que ir haciendo es a cada session dandole exit,exit,exit, hasta que puedas ver la de root ami me costo un poco SUERTE!.

Última actualización