Battery
En esta maquina tendremos que hacer uso de nuestras habilidades de explotación para podernos registrar con un usuario que es administrador haciendo uso de null byte para bypassear el registrer, para luego explotar un XXE para leer archivos del servidor para obtener credenciales de un archivo .php y así iniciar sesión por el servicio ssh, luego de realizar la intrusion tendremos que secuestrar un archivo en Python y ingresar nuestro código malicioso para obtener una Shell como el usuario root.

Link battery
Created by Th3lazykid and golith3r00t
Walkthrough
Enumeración
Iniciamos haciendo un escaneo de todos los puertos para obtener los puertos abiertos.
Encontramos dos puertos que están abiertos que son 22 y 80 de los cuales tendremos que enumerar los servicios y versiones.
Puerto 80
Teniendo abierto el puerto 80 vamos a enumerar los directorios del sitio.
Encontramos un binario que es report, con ayuda de ghidra tendremos el código fuente de dicho binario
Binario report
Función
main
Función
options
Funcion
Users
Función
update.
Viendo el código fuente del binario, lo que se puede rescatar son la lista de correos que podrían servirnos de algo.
Register
Nos dirigimos a 10.10.86.232/admin.php y nos muestra un panel de login, luego nos dirigimos a 10.10.86.232/register.php para registrarnos con las credenciales test1: test1 . Una vez registrados podemos iniciar sesión y podemos ver un menú.

Explotación
El que nos interesa es My Account que con nuestro usuario actual no podemos obtener acceso.

Recordemos un usuario que era admin@bank.a que podemos registrarlo, pero al querer registrarlo nos dará un error porque ya esta registrado o bueno que no nos deja regístralo.

Para registrarnos con el usuario admin@bank.a interceptaremos con burpSuite, en este caso haremos uso de un null byte
Haciendo uso de null byte podemos registrarnos, Registered successfully es el mensaje que nos confirma que se registro con exito.

En la pestaña de command tenemos un formulario que hace uso de XML del cual interceptando con burp suite podemos abusar de este para enumerar el servidor.

XXE
Interceptamos con burp Suite y efectivamente tenemos un formulario xml

En este caso explotaremos un XXE y leeremos algunos archivos.
En este caso leemos el archivo /etc/passwd y podemos leerla.

Archivo
/etc/passwd
Ahora que podemos leer los archivo del sistema podemos leer los archivos .php que encontramos al inicio, enumerando cada uno de los archivos.
El archivo .php que nos interesa es acc.php donde encontraremos credenciales validas para iniciar sesión por ssh.
Las credenciales que encontraremos son :
Escalada de privilegios
Usuario : Cyber
Haciendo uso de las credenciales que se encontró podemos iniciar sesión.
Ahora iniciaremos con la enumeración de los privilegios del usuario para escalar privilegios. Enumerando con comando sudo -l podemos ver que tenemos permisos de ejecutar /usr/bin/python3 /home/cyber/run.py como usuario privilegiado.
Vemos que tenemos el archivo run.py en nuestro directorio pero no tenemos permisos sobre este, pero al ser propietarios del directorio podemos eliminarlo.
Una vez eliminado el archivo nos crearemos uno y pondremos el siguiente código en Python que nos permitirá obtener una Shell como el usuario root.
Usuario : root
Ejecutamos el archivo con sudo.
Antes de ejecutar el archivo con privilegio debemos de ponernos a la escucha con ncat en el puerto de nuestra preferencia y obtendremos nuestra shell como usuario root.
¡VAMOS!
Happy hacking :)
Last updated