Art. Seguridad

10
AUDITORIA DE SITIOS WEB CON HERRAMIENTA DE KALI LINUX “VEGA” Romaní Flores Rogelio Universidad Nacional José María Arguedas Escuela Profesional de Ingeniería de Sistemas Andahuaylas-Perú [email protected] RESUMEN En el presente artículo se realiza un estudio de como auditar las páginas web para determinar las vulnerabilidades de seguridad, generados por ataques de fuerza bruta, inyección sql, etc. Para esto se utilizó la técnica de escaneos proactivos mediante un software escaneador de páginas web denominado “VEGA” el cual es una herramienta que nos proporciona Kali Linux. El estudio se realizó tomando a la página web de la Universidad Nacional Micaela Bastidas de Abancay www.unamba.edu.pe como prueba para el presente estudio. El escaneo de la página web antes mencionada se realizó durante 2 días continuos luego del término del escaneo nos muestra un reporte clasificado por nivel de vulnerabilidad de dicha página y esto nos ayuda a tomar medidas para minimizar la vulnerabilidad de la página. Palabras Clave Kali Linux, Páginas Web, Seguridad de Datos, Auditoria Web ABSTRACT In this article a study of how to audit websites to determine security vulnerabilities generated by brute force attacks, SQL injection is performed, etc. For this proactive scanning technique, it is used by a scanning software called web pages "VEGA " which is a tool that provides Kali Linux. The study was made on the website of the National University of Abancay Micaela Bastidas www.unamba.edu.pe as evidence for this study. Scanning the aforementioned website was conducted for 2 consecutive days after the end of the scan shows a new classified by level of vulnerability that page report and this helps us to take steps to minimize the vulnerability of the page. Keywords Kali Linux, Web Pages, Data Security, Audit Web. INTRODUCCION Debido a la interacción que los entornos webs realizan con los usuarios, todas las aplicaciones y servicios webs son

description

Auditoria de Paginas Web con VegaRogelio, R.F y Ricardo H.AUNAJMA-EPIS

Transcript of Art. Seguridad

Page 1: Art. Seguridad

AUDITORIA DE SITIOS WEB CON HERRAMIENTA DE KALI LINUX “VEGA”

Romaní Flores RogelioUniversidad Nacional José María Arguedas

Escuela Profesional de Ingeniería de SistemasAndahuaylas-Perú

[email protected]

RESUMEN

En el presente artículo se realiza un estudio de como auditar las páginas web para determinar las vulnerabilidades de seguridad, generados por ataques de fuerza bruta, inyección sql, etc. Para esto se utilizó la técnica de escaneos proactivos mediante un software escaneador de páginas web denominado “VEGA” el cual es una herramienta que nos proporciona Kali Linux. El estudio se realizó tomando a la página web de la Universidad Nacional Micaela Bastidas de Abancay www.unamba.edu.pe como prueba para el presente estudio. El escaneo de la página web antes mencionada se realizó durante 2 días continuos luego del término del escaneo nos muestra un reporte clasificado por nivel de vulnerabilidad de dicha página y esto nos ayuda a tomar medidas para minimizar la vulnerabilidad de la página.

Palabras Clave

Kali Linux, Páginas Web, Seguridad de Datos, Auditoria Web

ABSTRACT

In this article a study of how to audit websites to determine security vulnerabilities generated by brute force attacks, SQL injection is performed, etc. For this proactive scanning technique, it is used by a scanning software called web pages "VEGA " which is a tool that provides Kali Linux. The study was made on the website of the National University of Abancay Micaela Bastidas www.unamba.edu.pe as evidence for this study. Scanning the aforementioned website was conducted for 2 consecutive days after the end of the scan shows a new classified by level of vulnerability that page report and this helps us to take steps to minimize the vulnerability of the page.

Keywords

Kali Linux, Web Pages, Data Security, Audit Web.

INTRODUCCION

Debido a la interacción que los entornos webs realizan con los usuarios, todas las aplicaciones y servicios webs son potencialmente vulnerables a un gran número de ataques, independientemente de la plataforma y tecnología que utilicen. Estos ataques pueden producir cambio del contenido del sitio o robo de datos hasta infección del sitio para la propagación de malware, lo que conlleva grandes pérdidas económicas sobre la organización afectada, su imagen y sus clientes [1].

La auditoría dará a conocer el estado en el que se encuentran las páginas web mediante el uso del software VEGA, herramienta proporcionada por Kali Linux. Esta herramienta hace un escaneo y muestra cada uno de los puntos que pueden contener vulnerabilidades intentando descubrir cualquier tipo de fallo en la implementación de la página web [2].

Page 2: Art. Seguridad

Con este documento se espera explicar el uso del software Vega como herramienta para evaluar la seguridad de aplicaciones web y obtener una visión de su nivel de seguridad.

Por ello el objetivo de este artículo es dar a conocer sobre la utilidad del software Vega, a que las organizaciones que utilizan sitios web puedan usar esta herramienta como alternativa para auditar sobre la vulnerabilidad de seguridad de sus aplicaciones o servicios web. Para luego madurar en la comprensión y gestión de aplicaciones de seguridad [3], [4].

METODOS Y MATERIALES

METODO ESCANEADO DE CODIGO

El estudio se realizó a la página web www.unamba.edu.pe por método de escaneo de código.

Figura 1. Pantalla principal de Vega

Para la auditoria de la página web www.unamba.edu.pe se utilizó la herramienta comercial de uso abierto conocida como Vega 1.0, instalado dentro de una máquina virtual Kali Linux y conectado a internet.

MATERIALES

Kali Linux

Kali Linux es la nueva generación de la conocida distribución Linux BackTrack, la cual se utiliza para realizar Auditorías de Seguridad y Pruebas de Penetración. Kali Linux es una plataforma basada en GNU/Linux Debían y es una reconstrucción completa de BackTrack, la cual contiene una gran cantidad de herramientas para capturar información, identificar vulnerabilidades, explotarlas, escalar privilegios y cubrir las huellas [5].

Vega

Page 3: Art. Seguridad

Vega es un escáner de código y pruebas de plataforma libre y abierta para probar la seguridad de las aplicaciones web. Vega puede ayudarle a encontrar y validar la inyección de SQL, Cross-Site Scripting (XSS), inadvertidamente revelado información sensible, y otras vulnerabilidades. Está escrito en Java, basado en GUI, y se ejecuta en Linux, OS X y Windows.

Vega incluye un escáner automatizado para pruebas rápidas y un proxy de interceptación para la inspección táctico. El escáner Vega encuentra XSS (cross-site scripting), inyección SQL, y otras vulnerabilidades [6].

Vulnerabilidades en sitios web [7]

- Cross-Site Scripting (XSS)Es la inserción de cadenas de texto no validas en la propia aplicación web, por parte de un usuario malicioso (puede estar dentro del sistema, como usuario oadministrados, o fuera de él), el cual espera que sea ejecutado para obtenerinformación o algún beneficio. Se encuentra clasificado en tres tipos diferentes:

Almacenado. Es aquel código que se queda almacenado de forma permanente dentro del servidor de aplicaciones web. Por ejemplo, en la base de datos.

Reflejado. Es el código que no se almacena en la base de datos de la aplicación web que es atacada, si no que se ejecuta en el momento en que se ingresa en alguna de las entradas que no valida la entrada proporcionada.

Basado en DOM. Es aquel código que modifica el DOM de la aplicación web original.

Shell Inyección

Es básicamente la inyección de comandos del sistema operativo que se ejecutará a través de una web-app. El propósito del ataque de inyección de comando es para inyectar y ejecutar comandos especificados por el atacante en la aplicación vulnerable. Ataques de inyección de comandos son posibles en la mayoría de los casos debido a la falta de validación de datos de entrada correcta, que pueden ser manipulados por el atacante (formularios, cookies, cabeceras HTTP, etc.) [8], [9].

Consecuencias

Irreparables en la integridad de nuestros datos. Secuestro de sesiones de usuario. Destrucción de sitios web.

Acciones

Conocer cómo se producen, y cómo obran quienes lo utilizan. Llevar a cabo pruebas de análisis de código. Uso de herramientas de escaneo estáticas y dinámicas. Separar datos no confiables del contenido activo del navegador. Validación de entradas de datos.

Page 4: Art. Seguridad

Sql Inyección

Un ataque por inyección SQL consiste en la inserción o “inyección” de una consulta SQL por medio de los datos de entrada desde el cliente hacia la aplicación. Un ataque por inyección SQL exitoso puede leer información sensible desde la base de datos, modificar la información (Insert/ Update/ Delete), ejecutar operaciones de administración sobre la base de datos (tal como parar la base de datos), recuperar el contenido de un determinado archivo presente sobre el sistema de archivos del DBMS y en algunos casos emitir comandos al sistema operativo. Los ataques por inyección SQL son un tipo de ataque de inyección, en el cual los comandos SQL son insertados en la entrada de datos con la finalidad de efectuar la ejecución de comandos SQL predefinidos [10].

Consecuencias

Suplantar identidad. Alterar datos existentes. Destruir los datos o si no volverlos inaccesibles. Anular transacciones o cambiar balances.

Acciones [11]

Parametrizar las consultas SQL. Usar una cuenta con permisos restringidos a la base de datos. No mostrar al usuario la información de error generada por la base de datos. Rechazar las peticiones con caracteres sospechosos.

RESULTADOS Y ANÁLISIS

En la Figura 2 se muestra el análisis completado por la herramienta Vega. Luego el resultado del análisis revelara un árbol de alerta, clasificado según la gravedad al nivel más alto, medio, bajo e información.

Figura 2. Resumen del escaneo por nivel de vulnerabilidad

Page 5: Art. Seguridad

La herramienta Vega tiene características que clasifican potenciales de ataque llamado Alertas Web en 4 niveles, tales como alta, media, baja e información que a continuación se describen [12].

HIGH es una alerta web alta, ataques potenciales de inyección SQL, Cross site scripting ataques, XSS basado en DOM, PHP, ataque de denegación de servicio.

MEDIUM es una alerta web medianas, ataques potenciales que son de aplicación de mensaje de error, las credenciales de usuario son enviados en texto claro, formulario HTML sin la protección CSRF.

LOW es una alerta web bajos, ataques potenciales que son click hacking: XFrame-opciones de cabecera que faltan, ataque de página de ingreso de contraseña adivinadas, posibles directorios sensibles, tiempo de respuesta lenta, el método de rastreo está habilitado y así sucesivamente.

INFO es una alerta web de información, nos da información acerca de los sitios web como enlaces rotos, dirección de correo electrónico, página php de información por defecto encontrado, archivos PostScript, es posible archivo/directorio de entrada tipo de contraseña temporal con autocompletado permitiendo y posible divulgación ruta del servidor.

En la figura 3 se muestra la parte de High (alto riesgo), en la sección de SQL inyección (46 archivos infectados) y todo su detalle, así como se ve en la figura.

Figura 3. Detalle de vulnerabilidad SQL Injection

En esta figura 4 tenemos todo el detalle en ingles de SQL Injection, el cual traduciendo a español tenemos:

Page 6: Art. Seguridad

Figura 4. Detalle de vulnerabilidad SQL Injection

Discusión

Vega ha detectado una posible vulnerabilidad de inyección SQL. Estas vulnerabilidades están presentes cuando se utiliza entradas suministrada externamente para construir una consulta SQL. Si no se toman precauciones, la entrada suministrada externamente (por lo general un GET o parámetro POST) puede modificar la cadena de consulta de manera que realiza acciones no autorizadas.

Impacto

Vega ha detectado una posible vulnerabilidad de inyección SQL. Estas vulnerabilidades pueden ser explotadas por atacantes remotos para ganar

lectura no autorizada o acceso de escritura a la base de datos subyacente. Explotación de vulnerabilidades de inyección SQL también puede permitir

ataques contra la lógica de la aplicación. Los atacantes pueden ser capaces de obtener acceso no autorizado al servidor

que aloja la base de datos.

Remediation

El desarrollo debe revisar la solicitud y la respuesta contra el código para verificar manualmente si es o no una vulnerabilidad.

La mejor defensa contra las vulnerabilidades de inyección SQL es utilizar instrucciones con parámetros.

Desinfección de entrada puede evitar estas vulnerabilidades. Las variables de tipos de cadenas deben ser filtrados de caracteres de escape, y tipos

numéricos deben ser evaluados para verificar que son válidos. El uso de procedimientos almacenados puede simplificar consultas complejas y

permitir la configuración de control de acceso más estrictos. Configuración de los controles de acceso de base de datos puede limitar el impacto

de las vulnerabilidades explotadas. Esta es una estrategia atenuante que puede emplearse en entornos en los que el código no es modificable.

Referencias

Algunos enlaces adicionales con información relevante publicada por terceros.

Page 7: Art. Seguridad

CONCLUSIÓN

En este trabajo se hizo un estudio de como auditar una página web utilizando la herramienta Vega como escáner de vulnerabilidades que nos puede ayudar para identificar los ataques causados en una página.

En el resultado, podemos observar que la auditoria determino lo siguiente:

HIGH: hay 166 ataques de alto riesgo ocasionado por: SQL Injection, Shell Injection, Cross-Site Script Include, Page Fingerprint Differential Detected.

MEDIUM: hay 651 ataques de advertencia causado por: Local Filesystem Paths Found, PHP Error Detected, Possible XML Injection, Possible HTTP PUT file Upload.

LOW: no se ha encontrado ningún ataque.

INFO: hay 1458 ataques de información.

Finalmente podemos decir una frase de recomendación. “Si en nuestro día a día, no vamos dando información a todas las personas que vemos sobre mi ubicación, el tipo de puerta de mi casa, cuantas habitaciones tenemos, donde está el cajón de las joyas, etc. NO hagamos lo mismo en internet, no publiquemos datos del sistema que estamos utilizando, ni su versión, no listemos demos información del nombre de usuarios que tenemos en el sistema ni de qué tipo son, etc.”

Referencias

[1] http://www.microsa.es/seguridad/auditoria-aplicaciones-web

[2] http://www.informatica64.com/AplicacionesWeb.aspx

[3] Llopis Taverner J; González Ramírez M.R; Gascó Gascó J.L (2009). ANÁLISIS DE PÁGINAS WEB CORPORATIVAS COMO DESCRIPTOR ESTRATÉGICO.

[4] Sánchez Pacheco, César Augusto; Fermín, José R. (2009). VULNERABILIDAD DEL PROTOCOLO MYSQL EN REDES LAN BAJO PLATAFORMA LINUX.

[5] http://www.reydes.com/d/?q=Curso_de_Hacking_con_Kali_Linux

[6] http://tools.kali.org/web-applications/vega

[7] Aradi Pineda, Barranca; Alba Nidya Soto Domínguez. (2014) Vulnerabilidades en sitios web

[8] http://insecurety.net/?p=403

[9] http://jms32.eresmas.net/tacticos/programacion/documentacion/seguridad/SQLINjection/SQLInje ction.html

[10] https://www.owasp.org/index.php/Inyecci%C3%B3n_SQL

[11] http://geeks.ms/blogs/gtorres/archive/2010/10/29/tips-para-evitar-sql-injection.aspx

[12] Albert Sagala, Elni Manurung. (2015) Testing and Comparing Result Scanning Using Web Vulnerability Scanner.