SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
Web Applications
Hacking and
Penetration Testing
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Agenda
 Ejecución de Comandos + RFI.
 Ejecución de Código con LFI + RCE.
 Mitigación / Referencias.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Whoami:
Egresado en Redes y Comunicaciones de Datos
Instituto: Grupo IDAT.
Especialidad: Me desempeño como Security Analyst & Pentester.
Experimentado desarrollador de escenarios de Ofensiva & Defensiva para
pruebas de concepto. Implementador de servicios de Networking y
Telecomunicaciones.
Tengo experiencia en el Mercado de la Tecnologías de Seguridad, Gestión
y Análisis Múltiples amenazas que afectan al orden Mundial.
Experiencia en Multi-Plataformas de Seguridad ya sean SIEM / Firewall /
Balanceadores / Anti-Virus / Wireless / Layer 2 & Layer 3 / IDS-IPS y etc.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos & RFI
(Demo)
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
• La inyección de comandos es un ataque en el que el objetivo es la ejecución de comandos
arbitrarios en el sistema operativo host a través de una aplicación vulnerable.
• Los ataques de inyección de comandos son posibles cuando una aplicación pasa datos no
seguros provistos por el usuario (formularios, cookies, encabezados HTTP, etc.) a un shell del
sistema. En este ataque, los comandos del sistema operativo suministrados por el atacante
generalmente se ejecutan con los privilegios de la aplicación vulnerable. Los ataques de
inyección de comandos son posibles en gran parte debido a una validación de entrada
insuficiente.
• Este ataque difiere de la inyección de código, ya que la inyección de código permite al atacante
agregar su propio código que luego ejecuta la aplicación. En la inyección de comandos, el
atacante amplía la funcionalidad predeterminada de la aplicación, que ejecuta los comandos
del sistema, sin la necesidad de inyectar código.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos
Inclusion de Archivos Remotos
(RFI)
• RFI (Remote File Inclusion): Permite cargar en el servidor código que se encuentra en
otro servidor.
 Normalmente se utiliza para subir una WebShell y tomar el control del servidor.
 Es complicado encontrar este tipo de vulnerabilidades, ya que se necesita que se den
una serie de condiciones.
 Para explotarlo únicamente sería necesario cargar la url donde se encuentre la
WebShell, siempre en txt debido a que si no se ejecutaría en nuestro servidor.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Descripción Gráfica
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Identificar el tipo de Aplicación
• Lo principal que se debe hacer primero es identificar los tipos de aplicaciones que están
dirigidas. Tener la mayor cantidad de información posible aumentará nuestras
posibilidades de encontrar vulnerabilidades o debilidades en la aplicación. Por ejemplo,
después de saber que el objetivo utiliza la aplicación de inicio de sesión de archivo de
texto simple, usamos Google para averiguar si hay publicaciones que expliquen las
vulnerabilidades en la aplicación. La siguiente alternativa para detectar vulnerabilidades
es hacer un código fuente de revisión y, por supuesto, esta no es la opción principal
porque el proceso llevará mucho tiempo.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
• Ejecute Burp Suite desde linux (máquina atacante). Asegúrese de que la opción de proxy intercepte
la solicitud del cliente y la respuesta del servidor.
• Abra su navegador y luego asegúrese de que la configuración del proxy apunta a localhost con el
puerto 8080.
• Acceda a la aplicación a través de su navegador escribiendo la dirección IP de destino http :
// target - ip / admin y asegúrese de reenviar todas las solicitudes y respuestas.
• Después de eso, ingrese su nombre de usuario y contraseña (no necesariamente válidos) para ver
los datos de solicitud y respuesta.
• Preste atención a los resultados que aparecen en la suite de burp de destino -> Site map->
Wordpress -> wp-login.php -> log=….
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Identificar el tipo de Aplicación
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Identificar el tipo de Aplicación
• Abra Google con la palabra clave log=admin&pwd para averiguar qué tipo de aplicación está
ejecutando el objetivo. Los siguientes resultados son dados por Google
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Identificar el tipo de Aplicación
• En primera instancia para hacerlo mas interesante vamos a autenticarnos con el black-
user que generamos en la anterior demostración de Vuln CSRF-Tester.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos & RFI
(Demo)
• Una vez que esté dentro del panel de
administración, haga clic en “Appearance” desde el
panel y luego seleccione “Theme Editor”.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos & RFI
(Demo)
• En el siguiente mensaje le damos click en “I understand”.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos & RFI
(Demo)
• Ahora seleccione la plantilla archive.php dada en el lado derecho del marco; después de
eso, encontrarás algún código php en el cuadro medio para el template de archive. Borre
todo el código php para que pueda agregar código PHP malicioso para generar puerta
trasera dentro del sitio web como un nuevo tema.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos & RFI
(Demo)
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos & RFI
(Demo)
• Ahora vamos a descargar el siguiente Script, que abrirá una conexión TCP saliente desde el
servidor Web hacia el host Atacante mediante el puerto que le agregamos como Listener.
• Enlace: http://pentestmonkey.net/tools/web-shells/php-reverse-shell
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos & RFI
(Demo)
• Abrimos el script, y modificamos los siguientes datos de entrada para nuestra Shell interactiva.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos & RFI
(Demo)
• Ahora procedemos a cargar el
Script que agregamos como un
nuevo tema.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos & RFI
(Demo)
• Cuando ejecutes el tema cargado archive.php en el otra pestaña del navegador,
recibirás una conexión reversa por nc y obtendrás una sesión de medición del
sistema de la víctima. Por lo tanto tenemos que colocar la siguiente ruta en nuestro
navegador.
• 192.168.42.162/wordpress/wp-content/themes/twentythirteen/archive.php
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos & RFI
(Demo)
• Una vez que cargue el Script modificado en la página, se verá que el Netcat se
conecta a un Shell interactiva.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos & RFI
(Demo)
• A continuación, si deseamos actualizar a una Shell TTY totalmente interactiva, podremos utilizar el siguiente
comando.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Ejecución de Comandos & RFI
(Demo)
Execución de Código
con LFI + RCE
(Demo)
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
• LFI: Nos permite acceder a los ficheros del servidor de
carácter privado. Para ello normalmente se hace uso
del Path Transversal, que es una técnica para ir
saltando de directorio.
• El atacante abusa de una función de carga de archivos
para cargar un script malicioso.
• El script se ejecuta y permite futuros ataques.
 Webshell.
Execución de Código con LFI + RCE
(Demo)
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
¿Que Peligrosa es esta Vulnerabilidad?
RFI / LFI
• El peligro de esta vulnerabilidad es que si esta
presente en un Site Web, un atacante podría leer
información sensible, ejecutar comandos, obtener
una conexión inversa y de esta manera controlar al
servidor, etc. A continuación se mostrará parte de
un código PHP vulnerable.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Descripción Gráfica
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
• En primera instancia, nos mantendremos en el Target por nc, y desde nuestra maquina
atacante vamos a subir el script malicioso que nos permitirá acceder a los ficheros del
servidor web.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• Para copiar un archivo de un sistema local a un sistema remoto, ejecute el siguiente
comando.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• Ahora procedemos a ingresar a la siguiente ruta,
para poder crear un directorio llamado “LFI”, dentro
del directorio procedemos a pegar el fichero
“lfi.php”.
• Este proceso lo vamos hacer mediante SSH desde la
maquina atacante hacia el target.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• Desde que agregamos un archivo php con función de inclusión dentro de /var/www/html,
nos va permitir leer el contenido de otro archivo a través de él y puede llevar a un ataque LFI.
Vamos a demostrarlo explorando la siguiente URL para leer los archivos de contraseña.
• http://192.168.42.162/lfi/lfi.php?file=/etc/passwd
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• Ahora intentaré abrir el archivo access.log a través de lfi.php en el navegador, por lo
tanto, le doy permiso de lectura y escritura a al directorio de apache2 y luego incluiré el
archivo access.log.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• Ahora incluya el archivo acess.log como parámetro y proporcione la siguiente URL dentro del navegador. En la
siguiente imagen podemos ver los registros de acceso que muestra el servidor apache, en este caso serian las
solicitudes entrantes y todas las solicitudes procesadas.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• También podemos visualizar las solicitudes entrantes del fichero access.log mediante el
Terminal del atacante aplicando lo siguiente.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• Para mejorar las gráficas, usaré Burp Suite para interceptar, modificar y analizar las
solicitudes. Una vez más, aquí está cómo se ve cuando se intenta incluir el archivo de
entorno.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• Listo, ya teniendo claro lo anterior vamos a proceder a obtener los siguientes datos,
aplicando URL Codificación.
• Codificación URL Ctrl + U: Hostname
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• Codificación URL Ctrl + U: Ping
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• Codificación hacia los archivos de contraseñas ocultas.
• Ctrl + U: /etc/passwd
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• La técnica que vamos a examinar primero es el método más común utilizado para
obtener una shell de un LFI. El archivo ubicado en /lfi/lfi.php contiene varias variables de
entorno como REMOTE_PORT , HTTP_USER_AGENT y más. Para la mayoría de los
sistemas operativos Linux, el archivo no debe ser accesible desde usuarios no root. Esta
es la razón por la que esta técnica es antigua y en los sistemas actualizados, podría no
funcionará.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• En primera instancia vamos a cargar la siguiente Shell Reversa usando Python. Pero lo mas importante es
seleccionar desde python asta la comilla final, después Ctrl + U y lo ultimo cambiamos el Request “GET”
por “POST” y “Go”.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• Al escuchar en el puerto 9999 podemos ver que se ha recibido un Shell interactiva.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
• Por ultimo, si queremos analizar los logs de acceso que se registraron cuando cargamos
el LFI + RCE, desde el Target vamos aplicar el siguiente comando.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Execución de Código con LFI + RCE
(Demo)
Recomendaciones
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Recomendaciones
• La gran mayoría de fallos vistos se podrían evitar si desde un principio se hubieran
implementado medidas de seguridad, normalmente con un correcto tratamiento de
todos aquellos input es suficiente.
• Daremos una solución sencilla pero efectiva a los ataques vistos (SQLi, XSS, RFI/LFI).
• Como por ejemplo, si se espera un numero, utilizar funciones como isint en php,
evitando que se introduzca otra cosa.
• Aunque para asegurar realmente una aplicación a “prueba de bombas” suele ser muy
efectivo un WAF.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
• Inyección SQL:
 Transformar todo a ascii (evitando caracteres en hex.).
 Utilización de funciones propias del servidor para securizar las consultas (php+mysql
como mysql_real_query, etc…).
 Realizar un filtrado de las palabras:
And, or, union, select, concat, group, from, where, sleep, etc…
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Recomendaciones
• Secuencias de Comandos entre Sitios (XSS):
 Utilizar funciones propias del lenguaje como: html_entities.
 Además realizar un filtrado tanto de comentarios como de caracteres especiales.
 Dejar todo en minúsculas o mayúsculas.
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Recomendaciones
• Ejecución de Comandos + RFI / LFI:
 Desactivar características del servidor web como:
allow_url_fopen
allow_url_include
 Estas características evitan que un atacante pueda incluir archivos tanto remotos
como locales.
 Evitar el uso de ciertas funciones como:
Include
Require
Require_once…
Recomendaciones
• Falsificación de Solicitud de Sitios Cruzados (CSRF).
 La única forma efectiva de hacerlo es mediante tokens (valores aleatorios) generados por
la aplicación y anexados al formulario que muestra la aplicación, luego si al procesar los
valores del formulario, el token que se recibe corresponde al token de la aplicación, eso
significa que la petición es auténtica.
Recomendaciones
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Referencias
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
• RFI / LFI:
https://www.welivesecurity.com/la-es/2015/01/12/como-funciona-vulnerabilidad-local-file-
inclusion/
https://www.imperva.com/learn/application-security/rfi-remote-file-
inclusion/?utm_campaign=Incapsula-moved
https://liberty-shell.com/sec/2018/04/04/lfi/
Referencias / RFI & LFI
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
• Ejecución de Código con LFI + RCE:
https://resources.infosecinstitute.com/local-file-inclusion-code-execution/#gref
https://highon.coffee/blog/reverse-shell-cheat-sheet/
https://outpost24.com/blog/from-local-file-inclusion-to-remote-code-execution-part-1
Referencias / LFI & RCE
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
Gracias 
Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com

Más contenido relacionado

Similar a Web App Hacking con RFI, LFI y RCE

Instalacion de chamilo en koding
Instalacion de chamilo en kodingInstalacion de chamilo en koding
Instalacion de chamilo en kodingChamilo User Day
 
Manual de hacking basico por taskkill#3
Manual de hacking basico por taskkill#3Manual de hacking basico por taskkill#3
Manual de hacking basico por taskkill#3Brat Stell
 
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones WebDeisy Sapaico
 
Infome ataque troyano
Infome ataque troyanoInfome ataque troyano
Infome ataque troyanoverotrivinho
 
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...VOIP2DAY
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework SymfonyRodrigo Miranda
 
Infeccion por troyano optix pro
Infeccion por troyano optix proInfeccion por troyano optix pro
Infeccion por troyano optix proSonia Eraso
 
Desde el DVR hasta la cocina
Desde el DVR hasta la cocinaDesde el DVR hasta la cocina
Desde el DVR hasta la cocinaEfren Diaz Gomez
 
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)Oskar Laguillo
 
Manual de instalación de Exchangey tmg 2010
Manual de instalación de Exchangey tmg 2010Manual de instalación de Exchangey tmg 2010
Manual de instalación de Exchangey tmg 2010Hugo Rios
 
Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010Hugo Rios
 
Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010Hugo Rios
 
Hack & beers lleida seguridad en desarrollo fullstack
Hack & beers lleida   seguridad en desarrollo fullstackHack & beers lleida   seguridad en desarrollo fullstack
Hack & beers lleida seguridad en desarrollo fullstackMarc Pàmpols
 
Copia de cuestionario_de_concepto_de_seguridad 2
Copia de cuestionario_de_concepto_de_seguridad 2Copia de cuestionario_de_concepto_de_seguridad 2
Copia de cuestionario_de_concepto_de_seguridad 2DUBANTKDX
 
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]RootedCON
 

Similar a Web App Hacking con RFI, LFI y RCE (20)

The Browser Explotations
The Browser ExplotationsThe Browser Explotations
The Browser Explotations
 
Instalacion de chamilo en koding
Instalacion de chamilo en kodingInstalacion de chamilo en koding
Instalacion de chamilo en koding
 
Manual de hacking basico por taskkill#3
Manual de hacking basico por taskkill#3Manual de hacking basico por taskkill#3
Manual de hacking basico por taskkill#3
 
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas  de rendimiento de Aplicaciones WebPylot : Herramienta para pruebas  de rendimiento de Aplicaciones Web
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web
 
Infome ataque troyano
Infome ataque troyanoInfome ataque troyano
Infome ataque troyano
 
Practicas hackx crack_05
Practicas hackx crack_05Practicas hackx crack_05
Practicas hackx crack_05
 
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
José Luis Verdeguer - VoIP2DAY 2016 | Analizando la seguridad de los producto...
 
Adentrándonos al Framework Symfony
Adentrándonos al  Framework SymfonyAdentrándonos al  Framework Symfony
Adentrándonos al Framework Symfony
 
Infeccion por troyano optix pro
Infeccion por troyano optix proInfeccion por troyano optix pro
Infeccion por troyano optix pro
 
Proyecto 6
Proyecto 6Proyecto 6
Proyecto 6
 
Desde el DVR hasta la cocina
Desde el DVR hasta la cocinaDesde el DVR hasta la cocina
Desde el DVR hasta la cocina
 
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)
Virus, el arte de algunos - Alberto García de Dios (/Rooted CON 2011)
 
Presentacion eduin gonzalez
Presentacion eduin gonzalezPresentacion eduin gonzalez
Presentacion eduin gonzalez
 
Ataque por inyección de código sql y sniffing
Ataque por inyección de código sql y sniffingAtaque por inyección de código sql y sniffing
Ataque por inyección de código sql y sniffing
 
Manual de instalación de Exchangey tmg 2010
Manual de instalación de Exchangey tmg 2010Manual de instalación de Exchangey tmg 2010
Manual de instalación de Exchangey tmg 2010
 
Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010
 
Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010Manual de instalación de EXCHANGE y TMG 2010
Manual de instalación de EXCHANGE y TMG 2010
 
Hack & beers lleida seguridad en desarrollo fullstack
Hack & beers lleida   seguridad en desarrollo fullstackHack & beers lleida   seguridad en desarrollo fullstack
Hack & beers lleida seguridad en desarrollo fullstack
 
Copia de cuestionario_de_concepto_de_seguridad 2
Copia de cuestionario_de_concepto_de_seguridad 2Copia de cuestionario_de_concepto_de_seguridad 2
Copia de cuestionario_de_concepto_de_seguridad 2
 
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
Alberto García de Dios - Virus, el arte no debería ser negocio [Rooted CON 2011]
 

Último

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 

Último (20)

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 

Web App Hacking con RFI, LFI y RCE

  • 1. Web Applications Hacking and Penetration Testing Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 2. Agenda  Ejecución de Comandos + RFI.  Ejecución de Código con LFI + RCE.  Mitigación / Referencias. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 3. Whoami: Egresado en Redes y Comunicaciones de Datos Instituto: Grupo IDAT. Especialidad: Me desempeño como Security Analyst & Pentester. Experimentado desarrollador de escenarios de Ofensiva & Defensiva para pruebas de concepto. Implementador de servicios de Networking y Telecomunicaciones. Tengo experiencia en el Mercado de la Tecnologías de Seguridad, Gestión y Análisis Múltiples amenazas que afectan al orden Mundial. Experiencia en Multi-Plataformas de Seguridad ya sean SIEM / Firewall / Balanceadores / Anti-Virus / Wireless / Layer 2 & Layer 3 / IDS-IPS y etc. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 4. Ejecución de Comandos & RFI (Demo) Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 5. • La inyección de comandos es un ataque en el que el objetivo es la ejecución de comandos arbitrarios en el sistema operativo host a través de una aplicación vulnerable. • Los ataques de inyección de comandos son posibles cuando una aplicación pasa datos no seguros provistos por el usuario (formularios, cookies, encabezados HTTP, etc.) a un shell del sistema. En este ataque, los comandos del sistema operativo suministrados por el atacante generalmente se ejecutan con los privilegios de la aplicación vulnerable. Los ataques de inyección de comandos son posibles en gran parte debido a una validación de entrada insuficiente. • Este ataque difiere de la inyección de código, ya que la inyección de código permite al atacante agregar su propio código que luego ejecuta la aplicación. En la inyección de comandos, el atacante amplía la funcionalidad predeterminada de la aplicación, que ejecuta los comandos del sistema, sin la necesidad de inyectar código. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Ejecución de Comandos
  • 6. Inclusion de Archivos Remotos (RFI) • RFI (Remote File Inclusion): Permite cargar en el servidor código que se encuentra en otro servidor.  Normalmente se utiliza para subir una WebShell y tomar el control del servidor.  Es complicado encontrar este tipo de vulnerabilidades, ya que se necesita que se den una serie de condiciones.  Para explotarlo únicamente sería necesario cargar la url donde se encuentre la WebShell, siempre en txt debido a que si no se ejecutaría en nuestro servidor. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 7. Descripción Gráfica Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 8. Identificar el tipo de Aplicación • Lo principal que se debe hacer primero es identificar los tipos de aplicaciones que están dirigidas. Tener la mayor cantidad de información posible aumentará nuestras posibilidades de encontrar vulnerabilidades o debilidades en la aplicación. Por ejemplo, después de saber que el objetivo utiliza la aplicación de inicio de sesión de archivo de texto simple, usamos Google para averiguar si hay publicaciones que expliquen las vulnerabilidades en la aplicación. La siguiente alternativa para detectar vulnerabilidades es hacer un código fuente de revisión y, por supuesto, esta no es la opción principal porque el proceso llevará mucho tiempo. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 9. • Ejecute Burp Suite desde linux (máquina atacante). Asegúrese de que la opción de proxy intercepte la solicitud del cliente y la respuesta del servidor. • Abra su navegador y luego asegúrese de que la configuración del proxy apunta a localhost con el puerto 8080. • Acceda a la aplicación a través de su navegador escribiendo la dirección IP de destino http : // target - ip / admin y asegúrese de reenviar todas las solicitudes y respuestas. • Después de eso, ingrese su nombre de usuario y contraseña (no necesariamente válidos) para ver los datos de solicitud y respuesta. • Preste atención a los resultados que aparecen en la suite de burp de destino -> Site map-> Wordpress -> wp-login.php -> log=…. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Identificar el tipo de Aplicación
  • 10. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Identificar el tipo de Aplicación
  • 11. • Abra Google con la palabra clave log=admin&pwd para averiguar qué tipo de aplicación está ejecutando el objetivo. Los siguientes resultados son dados por Google Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Identificar el tipo de Aplicación
  • 12. • En primera instancia para hacerlo mas interesante vamos a autenticarnos con el black- user que generamos en la anterior demostración de Vuln CSRF-Tester. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Ejecución de Comandos & RFI (Demo)
  • 13. • Una vez que esté dentro del panel de administración, haga clic en “Appearance” desde el panel y luego seleccione “Theme Editor”. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Ejecución de Comandos & RFI (Demo)
  • 14. • En el siguiente mensaje le damos click en “I understand”. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Ejecución de Comandos & RFI (Demo)
  • 15. • Ahora seleccione la plantilla archive.php dada en el lado derecho del marco; después de eso, encontrarás algún código php en el cuadro medio para el template de archive. Borre todo el código php para que pueda agregar código PHP malicioso para generar puerta trasera dentro del sitio web como un nuevo tema. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Ejecución de Comandos & RFI (Demo)
  • 16. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Ejecución de Comandos & RFI (Demo)
  • 17. • Ahora vamos a descargar el siguiente Script, que abrirá una conexión TCP saliente desde el servidor Web hacia el host Atacante mediante el puerto que le agregamos como Listener. • Enlace: http://pentestmonkey.net/tools/web-shells/php-reverse-shell Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Ejecución de Comandos & RFI (Demo)
  • 18. • Abrimos el script, y modificamos los siguientes datos de entrada para nuestra Shell interactiva. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Ejecución de Comandos & RFI (Demo)
  • 19. • Ahora procedemos a cargar el Script que agregamos como un nuevo tema. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Ejecución de Comandos & RFI (Demo)
  • 20. • Cuando ejecutes el tema cargado archive.php en el otra pestaña del navegador, recibirás una conexión reversa por nc y obtendrás una sesión de medición del sistema de la víctima. Por lo tanto tenemos que colocar la siguiente ruta en nuestro navegador. • 192.168.42.162/wordpress/wp-content/themes/twentythirteen/archive.php Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Ejecución de Comandos & RFI (Demo)
  • 21. • Una vez que cargue el Script modificado en la página, se verá que el Netcat se conecta a un Shell interactiva. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Ejecución de Comandos & RFI (Demo)
  • 22. • A continuación, si deseamos actualizar a una Shell TTY totalmente interactiva, podremos utilizar el siguiente comando. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Ejecución de Comandos & RFI (Demo)
  • 23. Execución de Código con LFI + RCE (Demo) Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 24. • LFI: Nos permite acceder a los ficheros del servidor de carácter privado. Para ello normalmente se hace uso del Path Transversal, que es una técnica para ir saltando de directorio. • El atacante abusa de una función de carga de archivos para cargar un script malicioso. • El script se ejecuta y permite futuros ataques.  Webshell. Execución de Código con LFI + RCE (Demo) Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 25. ¿Que Peligrosa es esta Vulnerabilidad? RFI / LFI • El peligro de esta vulnerabilidad es que si esta presente en un Site Web, un atacante podría leer información sensible, ejecutar comandos, obtener una conexión inversa y de esta manera controlar al servidor, etc. A continuación se mostrará parte de un código PHP vulnerable. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 26. Descripción Gráfica Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 27. • En primera instancia, nos mantendremos en el Target por nc, y desde nuestra maquina atacante vamos a subir el script malicioso que nos permitirá acceder a los ficheros del servidor web. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 28. • Para copiar un archivo de un sistema local a un sistema remoto, ejecute el siguiente comando. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 29. • Ahora procedemos a ingresar a la siguiente ruta, para poder crear un directorio llamado “LFI”, dentro del directorio procedemos a pegar el fichero “lfi.php”. • Este proceso lo vamos hacer mediante SSH desde la maquina atacante hacia el target. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 30. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 31. • Desde que agregamos un archivo php con función de inclusión dentro de /var/www/html, nos va permitir leer el contenido de otro archivo a través de él y puede llevar a un ataque LFI. Vamos a demostrarlo explorando la siguiente URL para leer los archivos de contraseña. • http://192.168.42.162/lfi/lfi.php?file=/etc/passwd Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 32. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 33. • Ahora intentaré abrir el archivo access.log a través de lfi.php en el navegador, por lo tanto, le doy permiso de lectura y escritura a al directorio de apache2 y luego incluiré el archivo access.log. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 34. • Ahora incluya el archivo acess.log como parámetro y proporcione la siguiente URL dentro del navegador. En la siguiente imagen podemos ver los registros de acceso que muestra el servidor apache, en este caso serian las solicitudes entrantes y todas las solicitudes procesadas. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 35. • También podemos visualizar las solicitudes entrantes del fichero access.log mediante el Terminal del atacante aplicando lo siguiente. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 36. • Para mejorar las gráficas, usaré Burp Suite para interceptar, modificar y analizar las solicitudes. Una vez más, aquí está cómo se ve cuando se intenta incluir el archivo de entorno. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 37. • Listo, ya teniendo claro lo anterior vamos a proceder a obtener los siguientes datos, aplicando URL Codificación. • Codificación URL Ctrl + U: Hostname Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 38. • Codificación URL Ctrl + U: Ping Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 39. • Codificación hacia los archivos de contraseñas ocultas. • Ctrl + U: /etc/passwd Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 40. • La técnica que vamos a examinar primero es el método más común utilizado para obtener una shell de un LFI. El archivo ubicado en /lfi/lfi.php contiene varias variables de entorno como REMOTE_PORT , HTTP_USER_AGENT y más. Para la mayoría de los sistemas operativos Linux, el archivo no debe ser accesible desde usuarios no root. Esta es la razón por la que esta técnica es antigua y en los sistemas actualizados, podría no funcionará. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 41. • En primera instancia vamos a cargar la siguiente Shell Reversa usando Python. Pero lo mas importante es seleccionar desde python asta la comilla final, después Ctrl + U y lo ultimo cambiamos el Request “GET” por “POST” y “Go”. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 42. • Al escuchar en el puerto 9999 podemos ver que se ha recibido un Shell interactiva. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 43. • Por ultimo, si queremos analizar los logs de acceso que se registraron cuando cargamos el LFI + RCE, desde el Target vamos aplicar el siguiente comando. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Execución de Código con LFI + RCE (Demo)
  • 44. Recomendaciones Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 45. Recomendaciones • La gran mayoría de fallos vistos se podrían evitar si desde un principio se hubieran implementado medidas de seguridad, normalmente con un correcto tratamiento de todos aquellos input es suficiente. • Daremos una solución sencilla pero efectiva a los ataques vistos (SQLi, XSS, RFI/LFI). • Como por ejemplo, si se espera un numero, utilizar funciones como isint en php, evitando que se introduzca otra cosa. • Aunque para asegurar realmente una aplicación a “prueba de bombas” suele ser muy efectivo un WAF. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 46. • Inyección SQL:  Transformar todo a ascii (evitando caracteres en hex.).  Utilización de funciones propias del servidor para securizar las consultas (php+mysql como mysql_real_query, etc…).  Realizar un filtrado de las palabras: And, or, union, select, concat, group, from, where, sleep, etc… Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Recomendaciones
  • 47. • Secuencias de Comandos entre Sitios (XSS):  Utilizar funciones propias del lenguaje como: html_entities.  Además realizar un filtrado tanto de comentarios como de caracteres especiales.  Dejar todo en minúsculas o mayúsculas. Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com Recomendaciones
  • 48. • Ejecución de Comandos + RFI / LFI:  Desactivar características del servidor web como: allow_url_fopen allow_url_include  Estas características evitan que un atacante pueda incluir archivos tanto remotos como locales.  Evitar el uso de ciertas funciones como: Include Require Require_once… Recomendaciones
  • 49. • Falsificación de Solicitud de Sitios Cruzados (CSRF).  La única forma efectiva de hacerlo es mediante tokens (valores aleatorios) generados por la aplicación y anexados al formulario que muestra la aplicación, luego si al procesar los valores del formulario, el token que se recibe corresponde al token de la aplicación, eso significa que la petición es auténtica. Recomendaciones Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 50. Referencias Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 51. • RFI / LFI: https://www.welivesecurity.com/la-es/2015/01/12/como-funciona-vulnerabilidad-local-file- inclusion/ https://www.imperva.com/learn/application-security/rfi-remote-file- inclusion/?utm_campaign=Incapsula-moved https://liberty-shell.com/sec/2018/04/04/lfi/ Referencias / RFI & LFI Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 52. • Ejecución de Código con LFI + RCE: https://resources.infosecinstitute.com/local-file-inclusion-code-execution/#gref https://highon.coffee/blog/reverse-shell-cheat-sheet/ https://outpost24.com/blog/from-local-file-inclusion-to-remote-code-execution-part-1 Referencias / LFI & RCE Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com
  • 53. Gracias  Jose Antonio Gonzales Jurado > e-mail: jgonzalesjurado@gmail.com