Art. Seguridad
-
Upload
roromaniflores -
Category
Documents
-
view
214 -
download
0
description
Transcript of Art. Seguridad
![Page 1: Art. Seguridad](https://reader036.fdocumento.com/reader036/viewer/2022081822/5695d11e1a28ab9b029538a1/html5/thumbnails/1.jpg)
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ú
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](https://reader036.fdocumento.com/reader036/viewer/2022081822/5695d11e1a28ab9b029538a1/html5/thumbnails/2.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022081822/5695d11e1a28ab9b029538a1/html5/thumbnails/3.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022081822/5695d11e1a28ab9b029538a1/html5/thumbnails/4.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022081822/5695d11e1a28ab9b029538a1/html5/thumbnails/5.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022081822/5695d11e1a28ab9b029538a1/html5/thumbnails/6.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022081822/5695d11e1a28ab9b029538a1/html5/thumbnails/7.jpg)
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.