XUT_ / MACHINES / THM

0015

Agent Sudo

THMMACHINENONEEASY

Introduction

agent-sudo

Bienvenido a otro CTF exclusivo de THM. Tu tarea es simple, captura las flags como en cualquier otro CTF, suerte.

Enumerate

Esta máquina está subdividida en partes por lo que en cada una responderemos las preguntas propias.

  1. ¿Cuántos puertos hay abiertos?

Empezamos con el escaneo.

agent-sudo

Esto significa que hay 3 puertos abiertos.

  1. ¿Cómo te rediriges a la página secreta?

Escaneamos la página en busca de directorios

agent-sudo

Al no encontrar nada aquí vamos a mirar en la web.

agent-sudo

Ahí está, nos redirigimos con el user-agent.

  1. ¿Cuál es el nombre del agente?

Vamos a abrir BurpSuite. Una vez allí interceptamos una petición y la mandamos al repetidor.

agent-sudo

Vamos a cambiar el User-Agent a R, que es el único codename que tenemos.

agent-sudo

Dice que hay 25 agentes, suena a que cada uno tiene una letra del abecedario. Vamos a mandar esta petición al intruder.

Ponemos el User-Agent como sustitutivo del ataque y cargamos una lista de la A-Z.

agent-sudo

Le damos a comenzar ataque.

agent-sudo

Los ordenamos por Longitud de la respuesta y parece que hay un claro ganador, C. Porque R era el "jefe". Además es la única respuesta con código de estado 302 (redirected).

Vamos a leer lo que pone al página, para poder hacerlo usaremos curl.

agent-sudo

Pues parece que el agente se llama Chris.

Hash Cracking and Brute Force

Por lo que hemos leído parece que el agente Chris tiene una contraseña bastante débil. Vamos con la fuerza bruta.

  1. Contraseña FTP.

Vamos a usar hydra suponiendo que el nombre del usuario del agente C es chris.

agent-sudo

Encontrada.

  1. Contraseña del archivo ZIP.

Entramos al servidor y nos descargamos los archivos que hay.

agent-sudo

Por lo que leemos en la nota parece que la contraseña del agente J se encuentra en la metadata de una foto:

agent-sudo

Vamos a ver al metadata:

agent-sudo

Parece que hay información en binario para extraer. ¿Compression: Deflate/Inflate? Puede que sea un archivo ZIP.

Usaremos la herramienta binwalk para ver si hay un ZIP escondido.

agent-sudo

Pues parece que si. Vamos a intentar extraerlo y descomprimirlo. Pare extraerlo simplemente copiamos de la linea desde la que empieza el zip en adelante:

agent-sudo

Ahora ya tenemos un ZIP que podemos intentar extraer.

agent-sudo

De esta manera extraemos el hash en formato john.

agent-sudo

Y así extraemos la contraseña del zip.

  1. Contraseña steg.

Vamos a ver qué hay en el ZIP.

agent-sudo

Usamos 7x porque nuestro unzip no soportaba la versión necesaria para abrir el zip con contraseña.

agent-sudo

Parece base64.

agent-sudo

Contraseña steg obtenida.

  1. ¿Cuál es el nombre del otro agente?

Recordamos que había dos fotos, por lo que la contraseña de este tiene que ser la de la otra foto.

agent-sudo

Y si leemos el mensaje:

agent-sudo

El nombre es james.

  1. Contraseña SSH.

La contraseña está en el mensaje extraído.

Capture the User Flag

  1. ¿Cuál es la flag de usuario? Como hemos obtenido la contraseña y usuario del agente J, vamos a iniciar sesión por SSH.

agent-sudo

Y listando encontramos la flag.

agent-sudo

  1. ¿Cómo se llama el incidente de la foto?

Nos pasamos la foto a nuestra máquina.

agent-sudo

Ahí la abrimos para verla.

agent-sudo

Vamos a buscarla en internet.

agent-sudo

Parece que ya sabemos cuál es el incidente: Roswell alien autopsy.

Privilege Escalation

Por último vamos a escalar los privilegios.

  1. Número CVE para la escalada.

Parece que podemos ejecutar algún comando con sudo.

agent-sudo

Si buscamos en Google por sudo ALL !root nos sale esto:

agent-sudo

Si leemos el número de CVE:

agent-sudo

  1. ¿Cuál es la flag de root?

Vamos a buscarlo en GTFOBins.

agent-sudo

No funciona.

agent-sudo

Vamos a copiar el exploit:

agent-sudo

Y así somos root. Vamos a leer la flag.

agent-sudo

  1. Extra ¿Cómo se llama el Agente R?

Está al final del archivo root.txt.