Glitch
Last updated
Last updated
La maquina glitch
es una maquina sencilla, que para hacer una intrusión debemos vulnerar un parametro en el cual inyectaremos codigo node js
para asi poder escalar privilegios haciendo uso de un archivo .firefox
y de doas
Link
Created by
Enumeración
Escaneo de puertos
Enumeración del puerto 80
Cambio de Token
Fuzzing
Explotación
Node js RCE
Escalar Privilegios
User
V0id
root
Iniciamos con nusetra herramienta preferida a escanear los puerto de la maquina victima
Para entender un poco mas de los parametros que lanzamos con nmap
podemos leer un poco lo siguiente:
-p-
: Esta opción indica a Nmap que escanee todos los puertos en lugar de un rango específico. El guion ("-") significa "todos los puertos". Esto permite escanear todos los puertos desde el puerto 1 hasta el 65535.
--open
: Esta opción le dice a Nmap que solo muestre los puertos que están abiertos. Los puertos abiertos son aquellos en los que un servicio está escuchando y aceptando conexiones.
--min-rate 1000
: Esto establece la velocidad mínima de escaneo en 1000 paquetes por segundo. Cuanto mayor sea la velocidad de escaneo, más rápido se completará el escaneo, pero ten en cuenta que un escaneo más rápido puede ser más intrusivo y podría llamar la atención no deseada.
[IP-VICTIM]
: Esta es la dirección IP del objetivo que se va a escanear. Debes reemplazarla por la dirección IP que deseas escanear.
-Pn
: Esta opción indica a Nmap que no realice el descubrimiento de hosts (Ping) antes de escanear los puertos. Puedes usar esto si sabes que el host objetivo no responde a los paquetes de Ping.
-n
: Esta opción le dice a Nmap que no realice la resolución de nombres DNS. Puedes usarlo si no deseas que Nmap realice búsquedas DNS inversas durante el escaneo.
-oG allportsScan
: Esta opción le indica a Nmap que genere la salida en formato "greppable" (Grep) y la guarde en un archivo llamado "allportsScan". Este archivo contendrá información detallada sobre los puertos abiertos y otros detalles del escaneo. Para entender un poco mas de los parametros que lanzamos con nmap
podemos leer un poco lo siguiente:
-p-
: Esta opción indica a Nmap que escanee todos los puertos en lugar de un rango específico. El guion ("-") significa "todos los puertos". Esto permite escanear todos los puertos desde el puerto 1 hasta el 65535.
--open
: Esta opción le dice a Nmap que solo muestre los puertos que están abiertos. Los puertos abiertos son aquellos en los que un servicio está escuchando y aceptando conexiones.
--min-rate 1000
: Esto establece la velocidad mínima de escaneo en 1000 paquetes por segundo. Cuanto mayor sea la velocidad de escaneo, más rápido se completará el escaneo, pero ten en cuenta que un escaneo más rápido puede ser más intrusivo y podría llamar la atención no deseada.
[IP-VICTIM]
: Esta es la dirección IP del objetivo que se va a escanear. Debes reemplazarla por la dirección IP que deseas escanear.
-Pn
: Esta opción indica a Nmap que no realice el descubrimiento de hosts (Ping) antes de escanear los puertos. Puedes usar esto si sabes que el host objetivo no responde a los paquetes de Ping.
-n
: Esta opción le dice a Nmap que no realice la resolución de nombres DNS. Puedes usarlo si no deseas que Nmap realice búsquedas DNS inversas durante el escaneo.
-oG allportsScan
: Esta opción le indica a Nmap que genere la salida en formato "greppable" (Grep) y la guarde en un archivo llamado "allportsScan". Este archivo contendrá información detallada sobre los puertos abiertos y otros detalles del escaneo.
-p80
: Esta opción especifica los puertos que se van a escanear. En este caso, se están escaneando los puertos 80. Los números de puerto están separados por comas y no se utiliza el rango de puertos.
-sV
: Esta opción realiza la detección de versiones de servicios. Nmap intentará determinar qué servicios se están ejecutando en los puertos especificados y mostrará información sobre las versiones de esos servicios.
-sC
: Activa los scripts de secuencia de comandos (scripts de automatización) de Nmap. Esto permite que Nmap ejecute scripts de detección y enumeración de servicios en los puertos especificados.
-Pn
: Esta opción indica a Nmap que no realice el descubrimiento de hosts (Ping) antes de escanear los puertos. Si no se puede contactar con el host a través de Ping, Nmap aún intentará escanear los puertos especificados.
-vvv
: Esto establece el nivel de verbosidad del escaneo en "muy alto". Esto significa que Nmap proporcionará una salida detallada que incluye información adicional sobre el progreso del escaneo.
[IP-VICTIM]
: Debes reemplazar [IP-VICTIM] con la dirección IP del objetivo que deseas escanear. Este es el host en el que se realizará el escaneo.
-oN servicesScan
: Esta opción le dice a Nmap que genere la salida en formato "greppable" (Grep) y la guarde en un archivo llamado "servicesScan". Este archivo contendrá información detallada sobre los servicios y versiones detectadas en los puertos especificados.
En la web solo tenemos una imagen
Hacemos ctrl + u
vemos el codigo fuente
Tenemos una ruta de una api
por lo que podemos ir a la ruta
En la ruta encontraremos un texto en base64
El cual nos servira para usar como token, haciendo uso de cookie-editor
una extensión del navegador
Ahora recargamos la web y podemos visualizar otra contenido en la web
Teniendo la ruta /api/
, vamos a enumerar subdirectorios
Encontramos el direcotio items
Hacemos una petición a sitio web y nos devuelve el texto there_is_a_glitch_in_the_matrix
Despues de un buen tiempo pensando y enumerando descubrir que en la ruta http://[IP-VICTIM]/api/items
existe un paramatro
Con wfuzz
hacemos fuzzing
y encontramos el parametro que haciendo uso de esto podemos ejecutar comandos
Haciendo uso de burpsuite
vamos a enviar nuestra petición, tenemos la peticion :
Enviamos la petición
Antes de enviar, ponemos a la escucha nc
y tendremos el contenido /etc/passwd
¡Vamos, podemos ejecutar comandos!
Para obetener una shell haremos lo siguiente:
Primero, creamos una archivo index.html
en donde tendra nuestra revershell
Segundo, iniciamos un servidor en python
Ahora vamos a obtener una shell en la maquina victima
Enviamos nuestra petición y obtenemos nuestra shell
Luego realizaremos un tratamiento de la tty
Enumerando encontraremos un directorio que es .firefox
ddel cual podemos extraer credenciales.
Nos traemos a nuetra máquina atacante. Para copiar a nuestra maquina usaremos nc
, haciendo lo siguiente
Atacante
Victima
Haciendo uso de las credenciales podemos logueanos como el usuario v0id
Abusando de las congifuraciones podemos ejecutar comandos con doas
¡VAMOS!
Happy hacking
El siguiente post de nos ayudara a explotar esta vulnerabilidad
Haciendo uso de podemos desencriptar las credenciales
En la pista nos dice que sudo is bloat.
. Buscando algo de información nos damos con el siguiente post de