Pif Seguridad de La Informacion 2021

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 18

PIF

SIMULACIÓN DE ATAQUE A BASE DE


DATOS DE ORGANIZACIONES

(SQLMAP)

MAURICIO URRIOLA ZABALETA

JUAN PABLO RENDON BELTRAN

ESTEFANY MORALES RAMOS

YEISON HERNANDO CUARTAS

GERARDO ARIAS MORENO

Institución Universitaria Politécnico Grancolombiano

Colombia. Medellín. Cra. 74 # 52-20.

jrendon@poligran.edu.co

yhcuartas@poligran.edu.co

geariasm@poligran.edu.co

jurriola@poligran.edu.co

mamorales47@poligran.edu.co
PIF

Contenido

SIMULACIÓN DE ATAQUE A BASE DE DATOS DE ORGANIZACIONES......................................................................

ABSTRACT...........................................................................................................................................................

1. INTRODUCCIÓN...........................................................................................................................................

2. ARQUITECTURA DE APLICACIÓN WEB..........................................................................................................

3. BASES DE DATOS.........................................................................................................................................

4. SQL INYECCION............................................................................................................................................
4.1 ¿COMO ATACAN CON SQL INYECCIÓN?..................................................................................................................
4.2 SQLMAP.................................................................................................................................................
5 ALCANCE.....................................................................................................................................................

6 OBJETIVOS..................................................................................................................................................

6.1 OBJETIVO GENERAL:................................................................................................................................

6.1 OBJETIVOS ESPECÍFICOS:..........................................................................................................................

7 CARACTERISTICAS........................................................................................................................................

8 PREVENCIONES (ESTRATEGIAS Y HERRAMIENTAS).....................................................................................

9 QUE HACER SI LA ORGANIZACION ES VICTIMA DE UN ATAQUE...................................................................

10 CONCLUSIONES......................................................................................................................................

11 REFERENCIAS....................................................................................................................................................

Abstract:
PIF

Studies show that 75% of attacks occur at the application level and that

100% of the tested applications contained 96% security holes and that

13% percentage were attacked using SQL injection techniques. OWASP

(Open Web Application Security Project) shows in its top 10

vulnerabilities of 2013 and 2010 how SQL Injection ranks first in the

order of attacks with the most frequently exploited vulnerabilities. Web

applications have become a simple target in the IT infrastructure. With so

many vulnerabilities, attackers can easily access data that increases the risk

of compromise.

This project tries to explain and transmit the importance of security in

Web Applications that explain the most common security vulnerabilities in

a clear and concise way, important together with their possible solutions

and focuses on the exploitation of vulnerabilities in web applications

through techniques, tools, SQL injection frameworks and best practices to

prevent such attacks by using virtual machine and SQLMAP script.

The work is divided into several sections that explain and analyze how it

finds vulnerabilities in a web application to investigate the different

disadvantages together with a practical case of each one of them running

tests carried out by virtual machines that have already been developed to

carry out attacks.

Keywords: SQL, Injection, Vulnerability, SQLMAP, Security, Company.

1. INTRODUCCIÓN Varios expertos en seguridad de la

información coinciden con que los ataques


PIF

informáticos cada vez son más recurrentes, información relacionada con los clientes,

y usualmente a los sistemas web, alterando proveedores, usuarios etc. esto hace que el

o exponiendo la información personal, en portal “página web” o herramienta

especial a las aplicaciones web, debido a su “software contable, financiero, etc.” se

complejidad, extensión, alta personalización vuelva atractivo a cualquier usuario

y usualmente desarrollados por malintencionado.

programadores con poca experiencia en


2. ARQUITECTURA DE
seguridad. No se puede negar que, en esta
APLICACIÓN WEB
sociedad de la información y el

conocimiento, las bases de datos contienen

la mina de oro, esta se convierte en uno de

los elementos estratégicos más importantes

de la organización, pues de su análisis e

interpretación en el momento oportuno se

pueden proyectar estrategias para aventajar

oportunidades y prever amenazas según el

rol de la organización en la sociedad. El servidor Web distribuye páginas de

Estas arquitecturas web manejan diferentes información formateada a los clientes que

tipos de información como pueden ser las solicitan. Los requerimientos son hechos

financieros, organizacionales o de uso a través de una conexión de red, y para ello

general. Las empresas han adoptado este se usa el protocolo HTTP. Una vez que se

tipo de diseño por el acceso inmediato a sus solicita esta petición mediante el protocolo

recursos informativos, obteniendo HTTP y la recibe el servidor Web, éste


PIF

localiza la página Web en su sistema de


Un sistema gestor de bases de datos
archivos y la envía de vuelta al navegador
(SGBD) consiste en una colección de datos
que la solicitó.
relacionados y un conjunto de programas
Está diseñada para superar las limitaciones
para acceder a dichos datos. La colección de
de las arquitecturas ajustadas al modelo de
datos, normalmente denominada base de
dos capas, introduce una capa intermedia (la
datos contiene información relevante para
capa de proceso) Entre presentación y los
una empresa.
datos, los procesos pueden ser manejados de
El objetivo principal de un sistema gestor
forma separada a la interfaz de usuario y a
de base de datos es proporcionar una forma
los datos, esta capa intermedia centraliza la
de almacenar y recuperar la información de
lógica de negocio, haciendo la
una base de datos de manera que sea tanto
administración más sencilla, los datos se
práctica como eficiente. Los sistemas de
pueden integrar de múltiples fuentes, las
bases de datos se diseñan para gestionar
aplicaciones web actuales se ajustan a este
grandes cantidades de información.
modelo.

4. SQL INYECCION
La inyección SQL es un método de

infiltración código intrusivo que utiliza una

vulnerabilidad informática presente en una

aplicación en el nivel de validación de

entrada para consultar una base de datos. El

origen de la vulnerabilidad radica en una


3. BASES DE DATOS
PIF

validación y / o filtrados incorrectos de las atacante inyectar scripts o comandos SQL

variables utilizadas en un programa que en la base de datos que ejecuta una

contiene o genera código SQL. De hecho, aplicación y exponer la base de datos. Los

es un error de una clase más general de ataques de inyección de SQL pueden ocurrir

vulnerabilidades que puede aparecer en cuando una aplicación web utiliza datos

cualquier lenguaje de programación o script proporcionados por el usuario como parte

incrustado dentro de otro. Se conoce como de una consulta sin la validación o

Inyección SQL, Intercambiable, la codificación adecuadas. Con la ayuda de la

naturaleza de la vulnerabilidad, el método inyección SQL, un atacante puede crear,

de infiltración, el hecho de incrustación leer, actualizar, cambiar o eliminar los datos

SQL intrusiva y la parte del código almacenados en la base de datos. Un tipo de

incrustado. vulnerabilidad podría permitir al atacante

acceder a información confidencial como

números de tarjetas de crédito, contraseñas,

información financiera o cualquier cosa en

la base de datos.

Algunos de los conceptos claves de la

inyección de SQL son:

 La inyección de SQL es una


4.1 ¿Como atacan con SQL
Inyección? vulnerabilidad de software que se

La inyección SQL es un tipo de produce cuando los datos introducidos

vulnerabilidad que podría permitir a un por los usuarios se envían a la base de


PIF

datos como parte de una consulta SQL. columnas específicas del DBMS.

 Los atacantes diseñan especialmente


5 ALCANCE
datos de entrada al intérprete de SQL

para engañar al intérprete y ejecutar Para aplicar el modelo propuesto en un

comandos no deseados. ambiente organizacional en el marco del

 La inyección de SQL explota las contexto colombiano, la información que se

vulnerabilidades de seguridad en la capa evalúe será únicamente la que permitan las

de base de datos. Una vez explotado la organizaciones teniendo en cuenta la ley

vulnerabilidad el atacante pueden crear, estatutaria No. 1266 de diciembre del 2008,

leer, modificar o eliminar datos expedida por el Congreso de la República

sensibles. de Colombia, por la cual se dictan

disposiciones generales del Habeas Data;


4.2 SQLMAP ahora bien, si se quiere implementar en un
SQLMAP es una herramienta desarrollada contexto internacional dependerá de los
en Python para realizar inyección de código lineamientos de cada país o determinada
SQL automáticamente. Su objetivo es organización, para el caso en cuestión no
detectar y aprovechar las vulnerabilidades hubo extracción ninguna de información
de inyección SQL en aplicaciones web. Una por parte de ninguna organización como
vez que se detecta una o más inyecciones ejemplo, en este caso de creará un escenario
SQL en el host de destino, el usuario puede real con la respectiva URL del sitio de
elegir entre una variedad de opciones entre prueba también con base de datos de
ellas, enumerar los usuarios, los hashes de prueba.
contraseñas, los privilegios, las bases de Las pruebas de inyección SQL se hicieron
datos, o todo el volcado de tablas /
PIF

con un script llamado SQLMAP como riesgos o incidencias de Seguridad

prototipo de un sistema de prueba, organizacional.

tecnológicamente similar a la que se usa

actualmente en muchas organizaciones. 6.1 Objetivos específicos:

 Crear su propia metodología para el

Para la implementación del modelo base de modelo con métodos definidos. Métodos

conocimiento se acudió a recursos de y mejores prácticas relacionados con los

experticia y de tiempo necesarios para el modelos de base de conocimientos

desarrollo del proyecto, para este caso en integrado en el área de auditorías de

específico se adquirió el servidor local seguridad de la información para el

XAMPP la cual brindó el servicio para Servicios web de una entidad o un

instalar la herramienta de base de prototipo organizacional.

conocimiento que soporta el modelo.  Analizar y desarrollar guías, técnicas y

herramientas de software de Inyección

SQL, sobre uno o varios servicios web,


6 OBJETIVOS
en una entidad o en un prototipo

6.1 Objetivo general: organizacional, para la generación de

Modelar una base de conocimientos para datos de seguridad de la información.

monitorear las vulnerabilidades de los  Operar un software de base de datos

vectores de ataque Inyección SQL en extraídos de la prueba de inyección SQL

servicios web de una entidad en base a con una base de informe de prueba

tendencias, métodos y buenas prácticas de histórica de seguridad de la información

seguridad de la información, gestión de


PIF

y así poder controlar ante posibles  Soporte para enumerar usuarios, hashes

ataques o riesgos de información. de contraseñas, privilegios, roles, bases

de datos, tablas y columnas.


7 CARACTERISTICAS
 Soporte completo para los sistemas de
 Reconocimiento automático de los
administración de bases de datos
formatos hash de contraseñas y soporte
MySQL, Oracle, PostgreSQL, Microsoft
para descifrarlos usando un ataque
SQL Server, Microsoft Access, IBM
basado en diccionario.
DB2, SQLite, Firebird, Sybase, SAP

MaxDB, HSQLDB y Informix.


 Soporte para volcar completamente las

tablas de la base de datos, un rango de


 Compatibilidad total con seis técnicas
entradas o columnas específicas según la
de inyección SQL: basado en booleano,
elección del usuario.
basado en tiempo, basado en error,

basado en consultas UNION, consultas


 El usuario también puede elegir volcar
apiladas y fuera de banda.
solo un rango de caracteres desde la

entrada de cada columna.


 Soporte para conectarse directamente a

la base de datos sin pasar por una


 Soporte para buscar nombres de bases
inyección SQL, proporcionando
de datos específicos, tablas específicas
credenciales DBMS, dirección IP,
en todas las bases de datos o columnas
puerto y nombre de la base de datos.
específicas en todas las tablas de las

bases de datos. Esto es útil, por ejemplo,


PIF

para identificar tablas que contienen datos. Este canal puede ser un símbolo

credenciales de aplicaciones del sistema interactivo, una sesión de

personalizadas donde los nombres de Meterpreter o una sesión de interfaz

columnas relevantes contienen cadenas gráfica de usuario (VNC) según la

como nombre y pase. Soporte para elección del usuario.

descargar y cargar cualquier archivo del

sistema de archivos subyacente del  Soporte para el escalamiento de

servidor de base de datos cuando el privilegios de usuario del proceso de

software de base de datos es MySQL, base de datos a través del comando

PostgreSQL o Microsoft SQL Server. Meterpreter getsystem de Metasploit.

 Soporte para ejecutar comandos Aquí podemos ver la herramienta en

arbitrarios y recuperar su salida estándar ejecución enumerando la versión utilizada

en el sistema operativo subyacente del del MySQL:

servidor de bases de datos cuando el

software de base de datos es MySQL,

PostgreSQL o Microsoft SQL Server.


[*] starting at: 21:58:00

 Soporte para establecer una conexión

TCP con estado fuera de banda entre la

máquina atacante y el sistema operativo

subyacente del servidor de base de


PIF

los usuarios son riesgosos, así que usa la

validación de entrada a través de una

función como mysql_real_escape_string ()

de MySQL para asegurarse de que no se

pasen caracteres peligrosos como 'a una

consulta SQL en los datos. También debes

desinfectar todo, filtrando los datos del

usuario por contexto. Por ejemplo, las

direcciones de correo electrónico deben

filtrarse para permitir solo los caracteres

permitidos en una dirección de correo

electrónico, los números de teléfono deben

filtrarse para permitir solo los dígitos


8 PREVENCIONES
(ESTRATEGIAS Y permitidos en un número de teléfono, y así
HERRAMIENTAS)
sucesivamente.
Si bien no existe una solución infalible en la

seguridad de la red, se pueden colocar


 No uses SQL dinámico, no
obstáculos o barreras que ayudarán a
construyas consultas con la
mitigar los intentos de Inyección SQL con
entrada del usuario:
el objetivo de no ser víctimas de los ciber
Incluso las rutinas de desinfección de datos
atacantes tal y como lo mencionamos a
pueden ser defectuosas, así que usa
continuación:
declaraciones preparadas, consultas
 No confíes en nadie:
parametrizadas o procedimientos
Suponga que todos los datos enviados por
PIF

almacenados cuando sea posible. Pero no realizar una investigación acabada de todo

olvides que, si bien los procedimientos el entorno que rodea al sitio web para

almacenados previenen algunos tipos de buscar vulnerabilidades conocidas o

ataques de inyección SQL, no protegen a desconocidas y sobre todo brechas de

muchos otros, por lo que no confíes seguridad que podrían dar paso a un data

exclusivamente en su uso para su seguridad. breach (violación de datos) que afecte la

imagen de la empresa o bien pérdidas

 Actualización y parches: financieras.

Las vulnerabilidades en las aplicaciones y

bases de datos que los ciber atacantes  Firewall:

pueden explotar utilizando la inyección Considera un firewall de aplicación web

SQL se descubren regularmente, por lo que (WAF), ya sea software (SaaS) o basado en

es vital aplicar parches y actualizaciones tan appliance, para ayudar a filtrar los datos

pronto como sea posible. Una solución de maliciosos. Las mejores WAF tendrán un

administración de parches podría valer la conjunto completo de reglas

pena la inversión. predeterminadas y facilitarán la adición de

nuevas cuando sea necesario. Pueden ser

 Ethical Hacking Web Application particularmente útil para proporcionar cierta

e Infrastructure: protección de seguridad contra una nueva

En tus políticas de seguridad debes vulnerabilidad antes de que esté disponible

considerar un Ethical Hacking orientado a un parche. Un ejemplo popular es el módulo

las aplicaciones web e infraestructura que gratuito de código abierto ModSecurity, que

soporta dichos servicios, con el objetivo de está disponible para servidores web Apache,
PIF

Microsoft IIS y nginx. consultar la base de datos utilizando una

cuenta limitada solo a la tabla de

 Reduce la superficie de ataque: credenciales relevante. De esta manera, una

Elimina cualquier funcionalidad de base de brecha en este canal no puede aprovecharse

datos que no necesites para evitar que un para comprometer toda la base de datos.

ciber-atacante se aproveche de ella. Por

ejemplo, el procedimiento almacenado  Mantén tus secretos en secreto:

extendido xp_cmdshell en MS SQL genera Si tu aplicación no es segura y lo sabes,

un shell de comandos de Windows y pasa debes actuar en consecuencia, para ello

una cadena para su ejecución, lo que podría debes asegurar tus contraseñas mediante el

ser muy útil para un hacker. El proceso de cifrado o hash de estas y otros datos

Windows generado por xp_cmdshell tiene confidenciales, incluidas las cadenas de

los mismos privilegios de seguridad que la conexión. Adicionalmente, debes incorporar

cuenta de servicio de SQL Server. un certificado válido SSL y otra medida

mitigatoria sería incorporar un segundo o


 Usa los privilegios apropiados:
multifactor de autenticación como
No te conectes a tu base de datos utilizando
Microsoft Authenticator, donde puedes
una cuenta con privilegios de nivel de
habilitar estos servicios en la nube de Azure
administrador a menos que haya alguna
y pagar por usuario y según el uso mensual
razón convincente para hacerlo. Usa una
que le des.
cuenta de acceso limitado ya que es mucho

más segura y puede limitar lo que un hacker


 No divulgues más información de
podría hacer. Por ejemplo, el código detrás
la que necesitas:
de una página de inicio de sesión debe
PIF

Los ciberdelincuentes pueden aprender

mucho sobre la arquitectura de la base de  Compra un mejor software:

datos a partir de los mensajes de error, así Asegúrate que los desarrolladores de

que asegúrate de mostrar información códigos sean responsables de verificar el

mínima. Utiliza el modo CustomErrors de código y de corregir fallas de seguridad en

"RemoteOnly" (o equivalente) para mostrar aplicaciones personalizadas antes de

mensajes de error detallados en la máquina entregar el software. Una recomendación

local mientras se asegura de que un entregada por SANS sugiere que incorpores

ciberdelincuente o atacante externo no los términos de este contrato de muestra en

reciba nada más que el hecho de que sus su acuerdo con cualquier proveedor de

acciones hayan resultado en un error no software con el objetivo de mejorar la

manejado. seguridad desde el origen del desarrollo de

la aplicación web.

 Supervisa continuamente las

sentencias de SQL desde 9 QUE HACER SI LA


aplicaciones conectadas a las bases
ORGANIZACION ES
VICTIMA DE UN
de datos: ATAQUE.
Esto ayudará a identificar sentencias y
Para un emprendimiento, micro o pequeña
vulnerabilidades de SQL fraudulentas. Las
empresa el tema de la seguridad informática
herramientas de monitoreo que utilizan el
siempre es algo que se deja para el final,
aprendizaje automático y/o el análisis del
debido principalmente por los costos que
comportamiento pueden ser especialmente
esto implica, sin embargo, muchas veces la
útiles.
pérdida de documentos o hackeo puede
PIF

llegar a ser mucho más costoso que una empleados.

mantención mensual. Revisa como puedes o Soporte de escalamiento hacia

actuar en el caso que hayas sido víctima de proveedores de servicios.

los delincuentes informáticos.

Actividades a LARGO plazo y COSTOS

Actividades a CORTO plazo y COSTOS asociados:

asociados: o Pérdida de la confianza de los

o Investigación y análisis forenses clientes.

para determinar la causa. o Impacto en el precio de las acciones.

o Respuesta y recuperación de o Compensación de servicios gratuitos

incidentes. o descuento a las víctimas.

o Actualizaciones del sistema y o Servicios adicionales para proteger

mejorar la seguridad. la identidad e imagen.

o Comunicación y relaciones públicas. o Pérdida de negocios basado en la

o Documentar e informar a las fuga de clientes e ingresos.

víctimas y reguladores. o Costos por programa de fidelización

o Procedimiento de respuesta y y captación de clientes.

entrenamiento especializado.  Inspeccionar cada uno de los

o Pérdida de ingresos por servicios elementos que pudieron verse

afectados. afectados por el virus informático:

o Pérdida de productividad al usar De este modo es posible evitar que el virus

recursos adicionales. se siga expandiendo y cause más daños. Lo

o Costos de horas extra de los fundamental aquí es determinar qué


PIF

elementos estuvieron en contacto con el

virus para así no propagar el contagio hacia En caso de que el portal web de la

otros que estén limpios. Nos referimos a compañía haya sido el afectado, es

aplicaciones, bases de datos, ordenadores, necesario pedirle al desarrollador que saque

servidores, etc. Esto no siempre es fácil de la red la página mientras se resuelve el

debido la urgencia de seguir usando los problema. Durante este período es

servicios de la empresa para así mantener su recomendable poner un mensaje del tipo

continuidad operativa. “Página en actualización”.

 Conseguir a un experto forense  Revisar si ha ocurrido algún tipo de

digital para evaluar los daños: fuga de datos:

Durante el ilícito se generan rastros Si la empresa usa soluciones Cloud, por lo

digitales de forma automática y es general, existe la posibilidad de que el

importante el correcto tratamiento y análisis servidor se encuentre fuera del edificio del

de esa evidencia digital. Los forenses trabajo. En ese caso es importante chequear

informáticos son profesionales que pueden dicha máquina para poder intervenir y

recuperar contraseñas y archivos constatar si por ahí hubo alguna infección.

eliminados, confeccionar líneas

cronológicas de sucesos y eventos, analizar  Buscar algún tipo de registro u

estructuras internas de archivos y monitoreo de la compañía:

determinar qué dispositivos fueron Para poder extraer conclusiones pertinentes,

conectados a un ordenador, entre otros es necesario contar con un registro detallado

servicios. de lo que hizo el equipo en la jornada. Si es


PIF

que se cuenta con un sistema con esas información permiten reducir los riesgos a

características se pueden recoger todos los la hora de volver a enfrentarse a un

datos o elementos relacionados con el ciberataque. Hay una variedad de acciones

incidente, para luego revisar con preventivas que deben implementarse para

detenimiento las fechas y horas de cada evitar estas ocurrencias, entre ellas:

suceso o anomalía detectada. Implementar herramientas de seguridad que

resguarden la disponibilidad,

 Darle seguimiento al incidente: confidencialidad e integridad de la

Cuando hay más de un elemento en juego es información y que permitan resguardar la

necesario realizar cuestionarios, lógica e inteligencia de los sistemas.

interrogatorios y dar instrucciones para que Procurar contar con respaldos frecuentes de

todos los subordinados participen en la los sistemas y datos, contar con una

identificación de la brecha. Todos los plataforma de monitoreo proactivo de

componentes son verosímiles durante las actividades, con registro detallado de ellas,

etapas de ciberdelito. respuesta ante la detección de problemas y

alternativas de continuidad operativa en

9.1 ¿Qué medidas se pueden tomar para caso de problemas.

prevenir un nuevo ataque?:

 Capacitar al equipo encargado de

 Proteger la continuidad operativa de cada área (en caso de que exista)

su empresa Todos deben tener claras sus funciones para

Toda empresa es vulnerable y los servicios poder responder ante distintas situaciones,

de una empresa de seguridad de la entendiendo que la mayoría de los


PIF

trabajadores no tendrá conocimientos


https://seguridad-ofensiva.com/blog/owasp-
técnicos avanzados para saber enfrentar la
top-10/owasp-top-1/
amenaza. Para prevenir y minimizar los
https://www.ticportal.es/glosario-tic/base-
riesgos es relevante que los empleados
datos-database
sepan reaccionar ante la eventualidad de un
https://programacionwebisc.wordpress.com/
nuevo evento. De esta forma, se reduce la
2-1-arquitectura-de-las-aplicaciones-
brecha entre la aparición de un defecto y la
web/
explotación de este por parte de un atacante.
https://www.dragonjar.org/sqlmap-

herramienta-automatica-de-inyeccion-
10 CONCLUSIONES
sql.xhtml
En el presente trabajo pudimos reconocer la
https://www.avast.com/es-es/c-sql-
importancia de tener la seguridad de la
injection#topic-5
información en cualquier empresa sea
https://www.inntesec.com/post/cómo-
pequeña, mediana o grande, y es por eso
prevenir-ataques-de-inyección-sql
que la técnica de inyección SQL es uno de

los ataques más comunes que se utilizan en

la actualidad, y la gran mayoría de las

aplicaciones que se ejecutan en la actualidad

son vulnerables a los ataques de esta

manera. La mejor defensa contra este ataque

es comprender cómo funciona para

prevenirlo.

11 REFERENCIAS

You might also like