Está en la página 1de 19

[AFO028GH2] Ethical hacking

[MOD0248NB] Ethical Hacking


[UDI15108V] Hacking ético de sistemas y aplicaciones web

Introducción

En esta unidad se abordará temas relacionados con las vulnerabilidades más comunes,

principalmente a causa de una deficiente programación, implementación, administración, o del

contexto en el que se encuentre un sistema o aplicación web.

c
.e
du
.e
te
.u
ea
l in
en
as
ri
st
ae
m

maestriasenlinea.ute.edu.ec
1 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

Resultados de aprendizaje

Conocer las vulnerabilidades más comunes en sistemas y aplicaciones web.

Aprender el uso de herramientas para mitigar los ataques web.

Reconocer las deficiencias que puede tener el código fuente de una aplicación web.

Obtener destrezas en el uso de herramientas automatizadas para análisis de vulnerabilidades.

Emular ataques mediante inyección de código SQL.

c
.e
du
.e
te
.u
ea
l in
en
as
ri
st
ae
m

maestriasenlinea.ute.edu.ec
2 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

Mapa Conceptual

c
.e
du
.e
te
.u
ea
l in
en
as
ri
st
ae
m

maestriasenlinea.ute.edu.ec
3 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

1. Fallos en los sistemas y aplicaciones web

A lo largo de este punto vamos a estudiar los diferentes fallos en los sistemas y aplicaciones web.

1.1. Inyección de código SQL – SQL injection

Este tipo de ataque consiste en que el ciberdelincuente inserta un código en lenguaje SQL en un

c
sitio web a fin de comprometer la seguridad y acceder a datos protegidos.

.e
Al ejecutarse una consulta en la base de datos, el código SQL inyectado también se ejecutará y

du
podrá hacer varias acciones como insertar registros, modificar o eliminar datos, y también ejecutar

.e
otro tipo de código malicioso.

te
En el login de un sitio web, si el atacante introduce «password ’ o 1=1;-» en el campo de la
.u
contraseña, la consulta en la base de datos sería la siguiente:
ea

Select * From user_table Where


in

username = 'admin' and


l
en

password = 'password' or 1=1;--';


as

En este caso, incluso si la contraseña es incorrecta, el atacante se autenticará en la aplicación.


ri
st

1.2. Cross site scripting – XSS


ae
m

Este tipo de ataque aprovecha fallas de seguridad en sitios web, y permite al atacante ejecutar un

código en el navegador de un usuario desprevenido y afectarlo, sea robando sus credenciales,

redirigiendo a otro sitio malicioso, o para realizar defacement en un sitio web.

Se tiene el siguiente formulario:

<form action="post.php" method="post">

<input type="text" name="comment" value="">

maestriasenlinea.ute.edu.ec
4 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

<input type="submit" name="submit" value="Submit">

<form>

En el formulario hay una caja de texto para datos de entrada y un botón de enviar. Una vez que el

formulario es enviado, enviará los datos a post.php para procesarlos. Supongamos que lo único que

se hará con los datos en post.php será mostrarlos con un echo:

echo $_POST['comment'];

c
.e
Sin ningún tipo de filtrado, el atacante puede enviar el siguiente script a través del formulario, lo

du
que generará un popup en el navegador con el mensaje "Hackeado":

.e
<script>alert("Hackeado")</script>

te
.u
1.3. Envenenamiento de cookies – cookie poisoning
ea

Las cookies se envían entre el servidor del sistema o aplicación web y los equipos cliente, pero en
in

páginas con protocolos http, el intercambio puede ser visible para un ciberdelincuente.
l
en

Este tipo de ataque se basa en la modificación del contenido de una cookie, con la finalidad de saltar
as

mecanismos de seguridad, logrando así el robo de identidad, obtención de información no

autorizada, modificación de datos, robo de sesiones.


ri
st

1.4. Web defacement


ae
m

Consiste en la modificación de la apariencia de un sitio web, donde el atacante puede colocar su

propio mensaje haciendo creer que el sitio ha sido vulnerado, que se encuentra inaccesible, o

colocando mensajes que afecten la reputación de una organización.

Defacement a Google.ro y PayPal.ro

En 2012, los usuarios no podían acceder a Google Rumania y, en su lugar, se les dirigía a una

pantalla totalmente cambiada. El defacement estuvo en su lugar durante al menos una hora. El

ataque se realizó mediante el secuestro de DNS: los atacantes lograron falsificar las respuestas de

maestriasenlinea.ute.edu.ec
5 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

DNS y redirigir a los usuarios a su propio servidor en lugar del de Google. El mismo ataque se llevó

a cabo contra el dominio paypal.ro. El grupo de ciberdelincuentes de este caso fue responsable de

5530 defacement de sitios web en varios continentes, en su mayoría dirigidos a sitios

gubernamentales.

SQL Map

Es una herramienta de prueba de penetración de código abierto que automatiza el proceso de

c
detección y explotación de fallas de inyección SQL y la toma y control de sevidores de bases de

.e
datos. Cuenta con un potente motor de detección.

du
.e
te
.u
ea
l in
en
as
ri
st
ae
m

maestriasenlinea.ute.edu.ec
6 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

2. Herramientas para análisis de vulnerabilidades

A lo largo de este epígrafe vamos a describir aquellas herramientas aptas para el análisis de

vulnerabilidades.

2.1. Burp suite

c
Herramienta para realizar pruebas de seguridad en aplicaciones web. Entre las funciones básicas

.e
que dispone se pueden destacar:

du
Servidor Proxy, inspecciona y modifica el tráfico actuando como intermediario entre el

.e
navegador y la aplicación de destino.

te
Escáner de Vulnerabilidades, automatiza la detección de varios tipos de vulnerabilidades de
.u
aplicaciones web.
ea
Repetidor, modifica y reenvía solicitudes individuales al servidor.
in

2.1.1. Ejecución y configuración de la


l
en

herramienta
as

Descargar desde el sitio https://portswigger.net/burp/communitydownload, compatible con


ri

varios sistemas operativos.


st

En ambiente Linux, ejecutar el siguiente comando ubicado en /usr/bin


ae

java -jar /usr/bin/burpsuite


m

Para configurar como servidor Proxy que registre todo el tráfico que genere el navegador web:

Ubicarnos en la pestaña Proxy / Options, verificando si contamos con un servidor

proxy:

maestriasenlinea.ute.edu.ec
7 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

c
.e
du
.e
te
Ilustración 6 - Imagen de Burp Suite Community Edition
.u
Dentro del navegador web por ejemplo en Mozilla Firefox, ir a: Preferencias / Avanzadas /
ea

Proxy de Red / Configuración / Configuración manual del proxy


l in
en
as
ri
st
ae
m

maestriasenlinea.ute.edu.ec
8 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

Ilustración 7 - Configuración de Proxy en navegador web

Nuevamente dentro de Burp Suite, verificamos que en la pestaña Proxy, en la opción Intercept

se encuentre habilitado Intercept is on

Una vez configurada la herramienta, se podrá utilizar para interceptar, inspeccionar, modificar

solicitudes y respuestas HTTP, de tal forma que se pueda automatizar las pruebas, buscar XSS

o SQL Injection que podría estar afectando.

c
.e
du
.e
te
.u
ea
l in
en
as
ri

Ilustración 8 - Configuración para poder interceptar las peticiones a una página web
st
ae

2.2. OWASP ZAP


m

Es un escáner web de vulnerabilidades de código abierto, multiplataforma donde se puede auditar

una serie de funciones y análisis específicos, comprobar todas las peticiones y respuestas entre

cliente y servidor, levantando un proxy que se encargará de capturar todas las peticiones para su

posterior estudio. De igual forma se puede localizar recursos en un servidor, realizar análisis

automáticos, pasivos, ejecutar ataques a varios servidores al mismo tiempo.

maestriasenlinea.ute.edu.ec
9 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

2.2.1. Comprobar las vulnerabilidades en un


servidor web con OWASP ZAP
Una vez descargada e iniciada la herramienta, se podrá configurar la sesión para poder guardar

todo el proyecto y los datos obtenidos con la auditoría de seguridad.

c
.e
du
.e
te
.u
ea
l in
en
as
ri
st

Ilustración 9 - Configuración Inicial OWAS ZAP


ae

Dentro del menú principal, se podrá ejecutar un escaneo automatizado o manual.


m

maestriasenlinea.ute.edu.ec
10 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

c
.e
du
.e
te
Ilustración 10 - Selección de Modo de Escaneo
.u
Si seleccionamos Automated Scan, podremos ejecutar un escaneo automatizado a la URL que
ea

necesitemos atacar, sea con una dirección IP o dominio.


in

Hay que tener en cuenta que al realizar este tipo de auditoría, podrían saltar alertas de ataque web
l

en el IDS o IPS que tengamos implementado.


en
as
ri
st
ae
m

maestriasenlinea.ute.edu.ec
11 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

c
.e
du
.e
te
.u
ea
l in
en

Ilustración 11- Escaneo Automatizado


as

En cualquier momento se puede detener este ataque y realizar una comprobación de todo lo
ri

analizado.
st
ae

2.3. ACUNETIX
m

Es un escáner de vulnerabilidades de aplicaciones web automatizado, que utiliza dos tecnologías

AcuMonitor y AcuSensor, este último permite la detección de vulnerabilidades en el código fuente

de la aplicación.

Esta herramienta encuentra vulnerabilidades comunes, errores de configuración, verifica que

vulnerabilidades son reales y no falsos positivos. Utiliza pruebas de seguridad de aplicaciones

dinámicas – DAST, ayudando a encontrar rápidamente errores en el código, identificando la fuente

del problema y ofrece una guía para el proceso de corrección.

maestriasenlinea.ute.edu.ec
12 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

c
.e
du
.e
te
.u
Ilustración 12 - Interfaz Gráfica de Acunetix
ea
l in
en
as
ri
st
ae
m

maestriasenlinea.ute.edu.ec
13 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

3. Pruebas de seguridad de aplicaciones

Son pruebas para el análisis e identificación de vulnerabilidades de seguridad. Tienen como objetivo

descartar la posibilidad de un código defectuoso, con lo cual juegan un papel importante durante el

desarrollo de software seguro y su posterior operación.

Detectan cualquier error desde el principio, ayudando a los desarrolladores de software su detección

y así evitar que este llegue a la versión final del software. En consecuencia, al eliminar los errores

c
durante fase de desarrollo, se reducen los riesgos de Seguridad de la Información.

.e
du
3.1. Pruebas de seguridad de aplicaciones estáticas – SAST

.e
te
Permiten la detección de errores en las primeras etapas del desarrollo de software. Conocidas como

analizadores de código, realizan un análisis directo o prueba de caja blanca del código fuente de la
.u
aplicación.
ea

Este tipo de pruebas se realiza sobre una vista estática del código, lo cual supone que el código no
in

se está ejecutando durante la revisión.


l
en

Entre las principales ventajas de SAST, se pueden destacar:


as

Descubren vulnerabilidades complejas durante las primeras etapas del desarrollo de software,
ri

lo cual ayuda a que sean resueltas rápidamente.


st

Son compatibles con varios lenguajes de programación.


ae

Se puede auditar mucho antes de que la aplicación o sistema se encuentre listo.


m

Demanda poco tiempo para la revisión del código.

Simplifica la reparación, al establecer los detalles de un problema que incluye la línea de

código.

Dentro del análisis SAST, surgen también las siguientes desventajas:

Las aplicaciones no pueden ser probadas en tiempo real.

Los problemas detectados muchas veces no existen.

maestriasenlinea.ute.edu.ec
14 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

Los desarrolladores de software tienen que lidiar con falsos positivos y falsos negativos.

El resultado es un informe estático, que con el tiempo puede volverse obsoleto.

Durante un proceso de análisis de vulnerabilidades, no todas las empresas están dispuestas a

proporcionar datos para analizar el código fuente.

3.2. Pruebas de seguridad de aplicaciones dinámicas – DAST

c
.e
Estas pruebas buscan vulnerabilidades de seguridad simulando ataques externos a una aplicación,

mientras se está ejecutando. Son un tipo de prueba de caja negra, es decir que no se observa el

du
código fuente.

.e
Con las pruebas DAST, se puede encontrar vulnerabilidades visibles externamente, lo que incluye

te
Cross-site-scripting, inyección de código SQL, path traversal y configuración de servidor insegura.
.u
Entre las principales ventajas de DAST, se puede destacar:
ea
in

Son pruebas realistas que cuentan con la aplicación completa y el uso por parte del usuario
l

final para identificar vulnerabilidades.


en

No dependen de un conocimiento profundo del código fuente de la aplicación.


as

Vulnerabilidad de Path Traversal o Directory Traversal. - Ocurre cuando no existe una gestión
ri

adecuada de validación y autorización, de los parámetros provenientes del lado del cliente,
st

específicamente relacionadas con accesos a determinados archivos. Por lo cual un atacante puede
ae

manipular los puntos de entrada y construir rutas para saltarse el directorio raíz de la aplicación
m

web y poder acceder al sistema de archivos.

Pruebas de Caja Blanca. - Se basan en un minucioso examen del código fuente a evaluar, por lo

que requiere conocer su lógica.

Pruebas de Caja Negra. – Realizan pruebas sobre la interfaz de la aplicación, sin necesidad de

conocer la lógica del código fuente, únicamente la funcionalidad que debe realizar.

OWASP Top Ten. – Lista con los riesgos de seguridad de aplicaciones web más críticos según la

maestriasenlinea.ute.edu.ec
15 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

organización OWASP.

c
.e
du
.e
te
.u
ea
l in
en
as
ri
st
ae
m

maestriasenlinea.ute.edu.ec
16 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

4. Google hacking

Es una técnica en la cual se utiliza un conjunto de operadores (Google Dorks) para filtrar resultados

en el buscador Google, con la cual se buscan vulnerabilidades en páginas o aplicaciones web.

Implica el uso de operadores avanzados en el motor de búsqueda, con la finalidad de encontrar

cadenas específicas de texto dentro de los resultados.

c
.e
4.1. Ejemplo de operadores

du
caché: Google resaltará las palabras dentro del documento en caché,

.e
enlace: Enumerará las páginas web que tienen enlaces a la página web especificada.

te
relacionado: Esta consulta enumerará las páginas web que son similares a una página web
.u
especificada.
ea
info: Presentará información que Google tiene sobre esa página web.

intitle: Google restringirá los resultados a los documentos que contengan esa palabra en el
in

título.
l
en

inurl: Restringirá los resultados a los documentos que contengan esa palabra en la url.
as

Mediante el uso de algunos operadores, filtraremos resultados de búsquedas que apuntan a la


ri

página www.google.com:
st

caché:
ae
m

enlace:

relacionado:

maestriasenlinea.ute.edu.ec
17 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

info:

c
.e
intitle:

du
.e
te
inurl:
.u
ea
l in
en
as
ri
st
ae
m

maestriasenlinea.ute.edu.ec
18 / 19
[AFO028GH2] Ethical hacking
[MOD0248NB] Ethical Hacking
[UDI15108V] Hacking ético de sistemas y aplicaciones web

Recuerda

Inyección de Código SQL – SQL Injection: Este tipo de ataque consiste en que el

ciberdelincuente inserta un código en lenguaje SQL en un sitio web a fin de comprometer la

seguridad y acceder a datos protegidos.

Al ejecutarse una consulta en la base de datos, el código SQL inyectado también se ejecutará y

podrá hacer varias acciones como insertar registros, modificar o eliminar datos, y también

c
ejecutar otro tipo de código malicioso.

.e
Cross Site Scripting – XSS: Este tipo de ataque aprovecha fallas de seguridad en sitios web, y

du
permite al atacante ejecutar un código en el navegador de un usuario desprevenido y afectarlo,

sea robando sus credenciales, redirigiendo a otro sitio malicioso, o para realizar defacement en

.e
un sitio web.

te
Envenenamiento de Cookies – Cookie Poisoning: Este tipo de ataque se basa en la modificación
.u
del contenido de una cookie, con la finalidad de saltar mecanismos de seguridad, logrando así
ea

el robo de identidad, obtención de información no autorizada, modificación de datos, robo de

sesiones.
in

Web Defacement: Consiste en la modificación de la apariencia de un sitio web, donde el


l
en

atacante puede colocar su propio mensaje haciendo creer que el sitio ha sido vulnerado, que se

encuentra inaccesible, o colocando mensajes que afecten la reputación de una organización.


as

Herramientas para el análisis de vulnerabilidades: Burp Suite; OWASP ZAP; ACUNETIX.


ri

Las pruebas de seguridad de aplicaciones son pruebas para el análisis e identificación de


st

vulnerabilidades de seguridad.
ae

Google hacking es una técnica en la cual se utiliza un conjunto de operadores (Google Dorks)

para filtrar resultados en el buscador Google, con la cual se buscan vulnerabilidades en


m

páginas o aplicaciones web.

maestriasenlinea.ute.edu.ec
19 / 19

También podría gustarte