Hack the Box — Sherlock Brutus - Solución
Bienvenidos a una nueva resolución de un sherlock en la plataforma de Hack the Box.
Para quienes no conozcan, podríamos mencionar que los sherlock son una especie de “CTF” pero para el ámbito de Blue Team, donde HTB ofrece diversas opciones como análisis de logs, análisis de malware, forense, entre otros.
En cada uno de ellos, debemos resolver diferentes tareas a partir de las preguntas que nos hace la plataforma. Estas preguntas deberán ser respondidas con los archivos que tendremos que analizar.
Para este sherlock de nombre Brutus, deberemos hacer un análisis de logs.
SHERLOCK BRUTUS — SOLUCIÓN
El archivo auth.log es un archivo de registro de logs, donde realmente no tiene muchas líneas, por lo que es fácil determinar los sucesos que ocurrieron dentro del sistema.
Por otro lado, wtmp es el otro artefacto que se nos proporciona. Mientras auth.log puede leerse de forma sencilla con la herramienta cat, wtmp debe abrirse con la herramienta utmpdump, diseñada para revisar este archivo en un formato visible.
Task 1:
Analyzing the auth.log, can you identify the IP address used by the attacker to carry out a brute force attack?
65.2.161.68
Esta dirección IP se repite en diversas ocasiones dentro del archivo auth.log y deriva de la dirección pública de origen desde donde se realizan los intentos de acceso de fuerza bruta.
Por lo que vemos, es bastante evidente y claro que la dirección IP usada por el atacante para llevar a cabo el ataque es la resaltada.
Task 2:
The brute force attempts were successful, and the attacker gained access to an account on the server. What is the username of this account?
root
Normalmente todos los atacantes buscan ganar acceso privilegiado, el cual se representa en diferentes nombres dependiendo del sistema operativo, incluyendo root, admin, administrator, server_adm, backup, entre otros nombres con permisos elevados.
Sin embargo, es importante tener en cuenta que en ningún momento ganó acceso con otro usuario que no sea root, por lo que cualquier otra opción que pongamos no se tomará como válida.
Si analizamos nuevamente el archivo auth.log podremos observar que, en múltiples ocasiones, se abre y posteriormente se cierra la sesión como root, indicando que el ataque de fuerza bruta fue exitoso.
Ejemplo de una nueva sesión abierta como root luego del ataque
Task 3:
Can you identify the timestamp when the attacker manually logged in to the server to carry out their objectives?
2024–03–06 06:32:45
Lo que se nos está preguntando ahora es el tiempo exacto en que se crea la sesión como usuario root.
Si bien el tiempo lo podemos ver reflejado en auth.log, lo ideal es irse al otro artefacto (wtmp) ya que contiene más información al respecto, incluyendo el tiempo real del intento exitoso.
Task 4:
SSH login sessions are tracked and assigned a session number upon login. What is the session number assigned to the attacker’s session for the user account from Question 2?
37
Esta pregunta es sencilla de responder y alcanza con observar cuál es el número asignado a la sesión del atacante que observamos en la pregunta anterior.
Como vimos con anterioridad, dicho número es el 37.
Task 5:
The attacker added a new user as part of their persistence strategy on the server and gave this new user account higher privileges. What is the name of this account?
cyberjunkie
Una de las acciones que realizó el atacante fue crear un usuario y un grupo dentro del sistema de la víctima y asignarle privilegios elevados como parte de su estrategia de persistencia en el equipo.
Se nos pregunta el nombre del usuario que creó y eso se refleja dentro del archivo auth.log
Cerca de las últimas líneas de los logs observamos la respuesta repetida en varias ocasiones, demostrando que el atacante creó este usuario y le asignó permisos de privilegio.
Task 6:
What is the MITRE ATT&CK sub-technique ID used for persistence?
T1136.001
El framework de la MITRE ATT&CK está ideado para comprender las técnicas, tácticas y procedimientos de los atacantes cada vez que realizan sus operaciones malintencionadas. Es ampliamente utilizado entre quienes trabajan en la ciberseguridad.
Página oficial del framework MITRE ATT&CK
En este caso, debemos centrarnos en el apartado de persistencia, pues es allí donde se corresponden con las TTP del atacante.
Una vez que accedamos a las técnicas de persistencia, tenemos que hallar la que se centra en la creación de nuevos usuarios a nivel local, ya que es la que más relación tiene con la tarea en cuestión.
Introduciremos dicha ID como respuesta.
Task 7:
How long did the attacker’s first SSH session last based on the previously confirmed authentication time and session ending within the auth.log? (seconds)
279
Se nos pregunta el tiempo en segundos entre que el atacante se autenticó en la sesión SSH y se cerró dentro del archivo auth.log
El tiempo de apertura ya lo hemos colocado anteriormente.
Si miramos líneas abajo podemos observar el tiempo en que la sesión se cerró.
Encontramos el otro tiempo. Solo hace falta calcular el tiempo en segundos entre ambos registros.
Task 8:
The attacker logged into their backdoor account and utilized their higher privileges to download a script. What is the full command executed using sudo?
(enlace de github)
Al final del archivo auth.log, observaremos la respuesta.
El atacante hará una petición para descargar un script (probablemente malicioso). Todo ese comando será la respuesta.
Al introducir la última pregunta, habremos completado el sherlock.
Como vemos, al ser unos registros de logs pequeños, no hacer falta filtrar con el comando grep. Eso denota la sencillez de este ejercicio, aunque ideal para quienes comienzan en el apartado del análisis de logs.
RESOLUCIÓN EN VIDEO:
Subscribe to my newsletter
Read articles from Tiziano Mass directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Tiziano Mass
Tiziano Mass
Entusiasta y estudiante de Ciberseguridad. 19 años. Contenido en español