T Espe 034343
T Espe 034343
T Espe 034343
TESIS DE GRADO
Sangolquí, 2012
2
AUTORIZACIÓN
Al presentar esta tesis como uno de los requisitos previos para la obtención del grado de
magister de la Escuela Politécnica del Ejército, autorizo a la biblioteca de la ESPE para que haga de
esta tesis un documento disponible para su lectura según las normas de la institución.
Estoy de acuerdo en que se realice cualquier copia de esta tesis dentro de las regulaciones
internas de la ESPE, siempre y cuando esta reproducción no suponga una ganancia potencial.
Sin perjuicio de ejercer mi derecho de autor, autorizo a la ESPE la publicación de esta tesis, o
de parte de ella, por una sola vez dentro de los treinta meses después de su aprobación.
CERTIFICACION
Certifico que la elaboración de la presente tesis fue realizada en su totalidad por la ing. Lina Patricia
Zapata Molina, como requisito previo a la obtención del título de MAGISTER EN REDES DE
INFORMACION Y CONECTIVIDAD
____________________
DIRECTOR
AGRADECIMIENTO
Lina Patricia
5
DEDICATORIA
Lina Patricia
6
RESUMEN
Para prevenir y contrarrestar una amplia gama de amenazas a las seguridades de las
redes TCP/IP, es necesario conocer sus vulnerabilidades e identificar diversos tipos de ataques.
Para manejar esta situación se propone crear un ambiente de red controlado con los
componentes necesarios que detecten ataques maliciosos, para analizarlos y contrarrestarlos, a
través de la utilización de máquinas virtuales, con las cuales es posible reducir costos de
inversión de hardware, costos de mantenimiento, costo y tiempo de experimentación y sobre
todo reduciría el riesgo del colapso de la red en producción.
ÍNDICE
CAPÍTULO I
INTRODUCCIÓN
CAPÍTULO II
MARCO TEÓRICO
CAPÍTULO III
CAPÍTULO IV
CAPÍTULO V
EVALUACION DE RESULTADOS
CAPÍTULO VI
CONCLUSIONES Y RECOMENDACIONES
Conclusiones ……................................................................................................. 136
Recomendaciones ..….......................................................................................... 138
Anexo A Instalación Y Configuración De Un Servidor De Correo
Seguro Con Postfix – Sasl – Tls – Dovecot –Squirrelmail ………. 139
Anexo B Configuración De La Aplicación Quagga ................................. 156
Anexo C Script Para Contrarestar Ataques De Fuerza Bruta …………….... 161
Anexo D Implementación Firewall..................................................................... 163
ÍNDICE DE FIGURAS
ÍNDICE DE TABLAS
GLOSARIO
Address Resolution Protocol (ARP): protocolo de la familia TCP/IP que asocia direcciones IP a
direcciones MAC.
Denegación de servicio (DoS): ataque que hace una apropiación exclusiva de un recurso o
servicio con la intención de evitar cualquier acceso a terceras partes. En inglés, deny of service.
DNS: (“Domain Name System”, Sistema de Nombre de Dominio). Es una base de datos
distribuida y jerárquica que almacena información asociada a nombres de dominio en redes
como Internet, el DNS como base de datos es capaz de asociar diferentes tipos de información
a cada nombre, los usos más comunes son la asignación de nombres de dominio a direcciones
IP y la localización de los servidores de correo electrónico de cada dominio.
Enrutamiento: Es el mecanismo por el cual los paquetes de información viajan desde su origen
hasta su destino, siguiendo un camino o ruta a través de la red.
Gateway: (Puerta de Enlace). Es un dispositivo que permite interconectar redes con protocolos
y arquitecturas diferentes a todos los niveles de comunicación, tiene como propósito traducir
información del protocolo utilizado en una red al protocolo usado en la red destino.
IPv6: Nomenclatura de la nueva generación de Internet, aporta más velocidad, mayor facilidad
de uso y mejora la seguridad de acceso a la información.
Enrutamiento: Es el mecanismo por el cual los paquetes de información viajan desde su origen
hasta su destino, siguiendo un camino o ruta a través de la red.
Huella identificativa: información muy precisa que permite identificar un sistema o una red en
concreto. En inglés, fingerprinting.
Exploración de puertos: técnica utilizada para identificar los servicios que ofrece un sistema.
Explotación de un servicio: actividad realizada por un atacante para conseguir una escalada de
privilegios, abusando de alguna deficiencia del servicio o del sistema.
Internet Control Message Protocol (ICMP): protocolo encargado de realizar el control de flujo
de los datagramas IP que circulan por la red.
Maxim Transfer Unit (MTU): medida máxima de un datagrama IP dentro de una red.
Sniffer: aplicación que intercepta toda la información que pase por la interfaz de red a la que
esté asociado.
Cortafuegos: elemento de prevención que realizará un control de acceso para proteger una red
de los equipos del exterior (potencialmente hostiles).
Tablas de ruteo: Rutas o caminos a seguir por los paquetes que direccionan los Routers
mediante algoritmos de trayectos.
INTRODUCCIÓN
Las redes teleinformáticas están expuestas a ataques e intrusiones que pueden dejar
inoperativos los recursos y causar pérdidas de la imagen, productividad, credibilidad y
competitividad, provocando perjuicios económicos que podrían comprometer la continuidad del
negocio [1.]. Esta incertidumbre sigue agravándose, pues continúan apareciendo diversas
amenazas, vulnerabilidades y tipos de ataques que implican hurto, modificación, espionaje,
interrupción, falsificación, denegación de servicios etc., perjudicando directamente a los
negocios que son altamente dependientes de sus sistemas y redes de información [2.].
Para prevenir y contrarrestar una amplia gama de amenazas a las seguridades de las
redes, es necesario conocer las vulnerabilidades de las empresas e identificar diversos tipos de
ataques. Para manejar esta situación se propone crear un ambiente de red controlado con los
componentes necesarios que detecten ataques maliciosos, para analizarlos y contrarrestarlos,
utilizando para ello máquinas virtuales, con las cuales es posible reducir costos de inversión de
hardware, costos de mantenimiento, costo y tiempo de experimentación y sobre todo reduciría el
riesgo del colapso de la red en producción [3.].
CAPÍTULO I
INTRODUCCIÓN
1.1. Motivación
La dependencia cada vez mayor del mundo informático, obliga a que se tome mayor
atención al tema de seguridad y confidencialidad en el uso de los servicios informáticos
disponibles en Internet.
atacarlos. Sobre quien alcance su objetivo dependerá que tan preparado e informado esté
sobre el sistema en cuestión
Los ataques a las redes de información se han venido incrementando en los últimos
años, muchos de ellos difíciles de detectar. Algunos de estos ataques son los virus, gusanos,
troyanos, ataques de denegación de servicio, modificación, intercepción, spaming,
phishing, spyware, malware entre otros. Esto se debe al crecimiento exponencial que el
Internet ha tenido en los últimos diez años así como a la utilización masiva de las redes de
información.
Por lo expuesto anteriormente la realización de esta tesis, tiene como fin diseñar una
plataforma de experimentación de ataques a la red IP utilizando tecnologías de
Virtualización y definir un mecanismo para enfrentarlos.
1.4 Objetivos
Estudiar el Estado del Arte relacionado, en primer lugar, con las seguridades en las
redes, particularizando el estudio sobre rastreo de máquinas, servicios, ataque a servidores,
ataques a estaciones de trabajo, ataques de negación de servicio, código malicioso. En
segundo lugar relacionado con las tecnologías de Virtualización:
· Diseñar e implementar varias topologías de prueba con el fin de emular ataques reales
a redes en ambiente Linux, utilizando escenarios de redes virtuales.
Con lo antes expuesto se dará cumplimiento a los objetivos planteados, generando las
siguientes contribuciones:
25
CAPÍTULO II
MARCO TEÓRICO
Las redes y en particular Internet, han introducido nuevas aplicaciones que también
implican riesgos. Estos surgen a partir de las vulnerabilidades que poseen los sistemas. La
existencia de vulnerabilidades implica amenazas, cuya concreción son los ataques. Estos
ataques a las redes pueden dejar inoperativos los recursos y causar por tanto pérdidas
económicas a las organizaciones, además de exponer a intrusos datos que pueden ser
privados.
Internet está plagada de personas que se dedican a robar y destruir todo tipo de
información. Estos pueden ser gente de la misma empresa o externa a la institución que tiene
fácil acceso a la red y también existen personas que logran violar la seguridad de la red.
Estas personas son muy peligrosas ya que pueden robar cualquier información que esté en las
computadoras y los usuarios o administradores pueden darse cuenta del ataque después de
varios días, semanas o meses.
A estas personas se les conoce como hackers. Estos son personas que, ya sea por
dinero o placer, logran quebrantar la seguridad de los equipos, bajar información confidencial
y robarla o destruirla.
a) Ataques pasivos
“El atacante no altera la comunicación, sino que únicamente la escucha
o monitoriza, para obtener información que está siendo transmitida. Sus
objetivos son la intercepción de datos y el análisis de tráfico”3. Generalmente
se emplean para:
b) Ataques activos
1
Carracedo, J. (2004). Seguridad en redes telemáticas. McGraw Hill.
2
Carlos Barra, Software e Ingeniería de Software, http://www.revistamarina.cl/revismar/revistas/1998/1/barra.pdf
3
Diseño y Evaluación de un Sistema de Seguridad para la RDSI-BA, Tesis Doctoral, Jordi Forné Muñoz, 1997, http://tdx.cat/handle/10803/7045
28
b) Formas de exploración
Existen abundantes métodos y software, para realizar esta tarea, siendo los
siguientes:
4
González, D. (2002), Mecanismos para la detección de ataques e intrusiones, http://ocw.uoc.edu/computer-science-technology-and-
multimedia/advanced-aspects-of-network-security/advanced-aspects-of-network-security/P06_M2107_01773.pdf
29
· Ping y traceroute
· Exploradores de red
· Exploradores de puertos
· Finger printing para detección de sistema operativo
· Fragmentación anómala de paquetes para eludir el registro
(logging)
2. Obtener acceso ilícito en alguno de los hosts, sin disponer de un login, a través de
alguna de las siguientes formas:
· Hay que considerar que una vez que el intruso puede acceder a una
cuenta no privilegiada, todo es muchísimo más fácil para él en su
siguiente tarea que consiste en conseguir el control total como supe
usuario.
· Permisos incorrectos
· Directorios de ejecutables con permiso de escritura
· Cambios temporales realizados por administradores que olvidan
restablecer la configuración por defecto
30
Medidas sanitarias
Una vez alcanzado el acceso como root, se borran las pistas dejadas por la intrusión.
Las víctimas habituales son logs en /var/log.
A través de los años se han desarrollado formas cada vez más sofisticadas de ataque a
redes IP. Entre los más comunes y que han sido evaluados a lo largo de esta investigación se
pueden describir los siguientes:
Cabe mencionar que las herramientas utilizadas para detectar sistemas emplean
uno de los siguientes métodos de análisis para descubrir redes:
5
Fyodor ,Guía de referencia de Nmap (Página de manual), http://nmap.org/man/es/index.html
31
- Análisis activo: El sistema que rastrea una red se dedica a enviar información a
la red para que el resto de sistemas detecten dicha información y envíen algún
tipo de respuesta.
- Análisis pasivo: El sistema que analiza la red no envía nada, simplemente está a
la escucha, recogiendo y analizando datos de lo que está pasando.
Es evidente que será más fácil detectar un análisis activo que uno pasivo,
diferencia que se radica en la forma de empleo de las técnicas para analizar una red.
Un ataque de Fuerza Bruta “es la forma de recuperar una clave probando todas las
combinaciones posibles hasta encontrar aquella que permite el acceso. Consiste en
generar el diccionario (hash) de todas las posibles combinaciones y compararlas con el
patrón (hash) que permita el acceso”6. Técnicamente, “el término Hash se refiere a una
función o método para generar claves que representen de manera casi unívoca a un
documento, registro, archivo, etc.”7. El objetivo de este ataque es ingresar al sistema de
la víctima con credenciales (nombre de usuario y contraseña) y haciendo uso de una
conexión remota (ssh, telnet, etc.), acceder a máquinas a través de una red. Para ello este
tipo de ataque bombardea al servidor con nombres de usuarios y contraseñas
aleatoriamente generados. Una manera eficiente de realizar ataque de fuerza bruta es
mediante el uso de diccionarios de contraseñas. Los ataques tradicionales más conocidos
de fuerza bruta son John The Ripper y Medusa.
“Es una técnica más o menos sofisticada de autenticar una máquina en otra
máquina con una dirección fuente de confianza. En otras palabras, consiste en modificar
en los mensajes que salen de una máquina la dirección fuente haciendo creer a los
destinatarios de esos mensajes que es otra dirección quien le envía el mensaje y además
esa es una dirección de confianza”8.
6
Hacking: VII Ataques por Fuerza Bruta, http://jBercero.com.
7
Labs DragonJAR, Ataques por fuerza bruta (BruteForce) III., http://labs.dragonjar.org/laboratorios-hacking-tecnicas- fuerza-bruta-brute-force-iii
8
ADLS, Tipos de Ataques en Internet, http://www.adslayuda.com/foro/adsl/vuestros-documentos/tipos-de-ataques-en-internet-t34936.html
32
El problema para quien quiere generar un ataque de tipo Spoofing está en que
primero debe bloquear (dormir) la dirección fuente y segundo debe mantener un diálogo
con la máquina objetivo (proceso que hace complejo el ataque). Esta complejidad se
debe a que la máquina objetivo es quien genera el número de secuencia al cual debe
responder el atacante con el reconocimiento pertinente. Además el atacante debe
adivinar este número de secuencia ya que no recibe los paquetes que envía el objetivo
puesto que la dirección IP fuente que el atacante ha enviado estaba trucada.
9
Martín López Nores, Introducción a Sun RPC, Primera práctica, http://www-gris.det.uvigo.es/wiki/pub/Main/PracticasRO/msg-slides.pdf
33
ARPSpoofing
Un ataque ARP Spoofing es una técnica que altera la caché ARP. La caché ARP
contiene una tabla en la que se relacionan direcciones máquina (MAC) con direcciones
IP. Este sistema consiste en mantener tu dirección hardware en la tabla pero relacionada
con la dirección IP de una máquina legítimamente autorizado. Esta información se le
envía a la caché ARP de tu máquina y a la caché ARP de la máquina objetivo. A partir
de ese momento los paquetes del objetivo se encaminan hacia la máquina atacante ya
que la máquina objetivo cree que es una máquina de confianza.
La idea principal de este ataque es inundar un sistema con paquetes de datos que
alteren, afecten o degraden seriamente la conexión a Internet, inmovilizando los
servidores locales hasta el extremo de no poder atender las peticiones legítimas es decir
causar la baja del sistema totalmente. Un ataque DoS puede ser perpetrado en varias
formas, siendo el de tipo SYN Flood el seleccionado en esta investigación, ataque que
consiste en enviar mensajes TCP de petición de conexión por parte del cliente, pero sin
enviar su confirmación lo cual provoca colapsos en equipos y consumo de recursos en
forma desproporcionada. SYN Flood envía un flujo de paquetes TCP/SYN, muchas
veces con la dirección de origen falsificada. Cada uno de los paquetes recibidos es
tratado por el destino como una petición de conexión, causando que el servidor intente
establecer una conexión al responder con un paquete TCP/SYN-ACK y esperando el
paquete de respuesta TCP/ACK (parte del proceso de establecimiento de conexión TCP
de 3 vías10). Sin embargo, debido a que la dirección de origen es falsa o la dirección IP
real no ha solicitado la conexión, nunca llega la respuesta.
10
Explicación de enlace de tres vías a través de TCP/IP , http://support.microsoft.com/kb/172983/es
34
Dirección URL
Estructura URL
La dirección URL es el mecanismo que se crea entre el usuario y los servidores para
poder acceder a recursos, páginas web, sitios FTP, etc. La estructura o sintaxis de una
dirección URL es:
Protocol://server/path/resource?parameters
Server: Indica el nombre del servidor donde se quiere acceder ya sea por medio de DNS,
el nombre de red NetBios o la dirección IP de la máquina.
Parameters: Este valor es opcional, lo que se indican son los parámetros que se le quieren
pasar al recurso que se esté solicitando (depende del sitio web donde se realicen las
peticiones). A este conjunto de valores se le suele denominar en inglés Query String.
Ejemplo:
http://192.168.1.36/cgi-bin/vervariables.cgi?hola+mundo
El resultado obtenido en el navegador web es:
Numero de argumentos: 2
Argumentos: hola mundo
GATEWAY_INTERFACE = CGI /1.1
SERVER_PROTOCOL = HTTP/1.1
REQUEST_METHOD = GET
SCRIPT_NAME = / cgt-bin/vervariables.cgi
QUERY_STRING = hola+mundo
35
El símbolo + del query string significa el carácter en blanco y por ello muestra que hay
dos parámetros. Se puede ver en el listado anterior el valor de variables de entorno.
Formularios HTML
Los formularios (forms) html permiten una interacción entre el usuario y el servidor
web. Es necesario conocer el funcionamiento de los forms, a fin de poder explotar todas
las opciones de un sitio web. Una form puede ser utilizada, por ejemplo, en los siguientes
sitios:
Buscadores de Internet.
Web mail.
Todo el código html que se encuentre dentro de estas etiquetas pertenece al formulario.
Existen tres tipos de intrusiones que puede hacer un atacante sobre un sitio web de
Internet:
Fundamento de XSS
11
Web Attacks, Mauren Alies, Sergio García, Fabián Molina, Juan Felipe Montoya, María Isabel Serrano,Marzo de 2002,
www.acis.org.co/memorias/JornadasSeguridad/IIJNSI/weba.doc
37
<script>alert();</script>
http://vulnerable.com/index.html?nombre=<script>alert();</script>
12
Carlos Tori,2008 Rosario Argentina, Hacking Ético
38
· Registros relacionados con los datos personales del personal de una empresa.
Actualmente existe un gran número de empresas que utilizan interfaces web para
consultar sus bases de datos, las mismas que a pesar de utilizar los últimos parches de
seguridad pueden convertirse en víctimas de intrusiones, que no sólo están basadas en
vulnerabilidades en las aplicaciones, sino que aprovechan la inseguridad de las
aplicaciones web.
· El sitio web podría estar programado en algún lenguaje de alto nivel y a su vez
contendrá, en su código fuente, sentencias SQL.
· Estas sentencias SQL, junto con los datos suministrados por el visitante, irán
directamente a la base de datos para lograr el resultado esperado por el usuario
como: consulta, almacenamiento, modificación, borrado, ejecución, etcétera.
Select * from usuarios where usuario=’or 1=1-- and password =’or 1=1--
Con este tipo de sentencia se busca conseguir el acceso con el primer usuario
existente en la tabla Usuarios, y así tener acceso a la aplicación con el mismo. Una
vez que se pueda conseguir acceso con el primer usuario, el próximo paso cosiste en
acceder con un usuario que se pensaría que existe en la aplicación. Para ello se debe
incluir en el campo usuario y contraseña lo siguiente: usuario=admin’--,
password=’or 1=1 --; quedando la sentencia SQL de la siguiente manera:
13
Carlos Tori, 2008 Rosario Argentina, HACKING ÉTICO
40
Un servidor de correo es una aplicación que nos permite enviar mensajes (correos) de
unos usuarios a otros, con independencia de la red que dichos usuarios estén
utilizando.
Protocolos:
2.2.7.1.Comandos y códigos
6. El cliente envía los datos línea a línea, acabando con la línea <CRLF>.
<CRLF> que el servidor reconoce con "250 OK" o el mensaje de error
apropiado si cualquier cosa fue mal.
· El emisor no tiene más mensajes que enviar, pero está preparado para
recibir mensajes (si los hay) del otro extremo. Mandará el comando TURN.
· Los dos SMTPs intercambian sus papeles y el emisor que era antes
receptor puede enviar ahora mensajes empezando por el paso 3 de arriba.
42
Las dos grandes vulnerabilidades que sufre el correo electrónico son referidas a su
privacidad y su seguridad, dentro de ellas existen debilidades concretas que se tratan a
continuación:
Para la implementación de cada uno de los ataques, fue necesario instalar algunas
herramientas de libre distribución que han permitido generar los diversos ataques y que
también han facilitado la captura de tráfico, tanto para Linux como para Windows. La Tabla
43
2.2 describe el tipo de ataque y las diversas herramientas utilizadas para llevar a cabo dicho
ataque sobre una red IP.
Tabla 2.1. Resumen sobre las herramientas utilizadas para la ejecución de ataques a redes IP.
La herramienta Nmap tiene como misión permitir hacer un barrido a las redes
informáticas y a ordenadores a fin de determinar que puertos tienen activos, y así
solucionar posibles debilidades en su seguridad, para ello se emplearon algunas
técnicas entre las que cabe destacar las siguientes[4.]:
Tipo de Descripción
escaneo
TCP connect() Intentar establecer una conexión con cada uno de los puertos
del host a escanear. Si la conexión se establece, el puerto está
abierto; en caso de recibir un aviso de cierre de conexión
(RST), el puerto estará cerrado; y en caso de no recibir
respuesta, se deduce que el puerto está silencioso.
TCP SYN Envía un paquete SYN que finge intentar establecer una
conexión y se espera la respuesta. Si llega SYN/ACK
significa que el puerto está abierto; si llega RST, el puerto
está cerrado; y si no se recibe respuesta se asume que está
silencioso.
TCP FIN Envía un paquete FIN al puerto del host destino que se quiere
escanear. Si se recibe RST por respuesta, el puerto está
cerrado, y en caso de no recibir respuesta (se ignora el
paquete FIN) el puerto puede encontrarse abierto o
silencioso.
UDP scan Manda un paquete UDP vacío al puerto que se desea
escanear. Si el puerto está cerrado, el sistema responderá con
un paquete ICMP de tipo 3 (destino inalcanzable). En caso de
no responder, el puerto puede estar abierto o silencioso.
Medusa es una herramienta desarrollada para llevar ataques del tipo fuerza
bruta, de forma rápida, paralela y modular [5.]:
Características
· Permite llevar a cabo múltiples ataques a diferentes sistemas con diferentes usuarios.
· Tiene como objetivo auditar el inicio de sesión de varios servicios entre ellos MS-
SQL Server, VNC, HTTP, SMB, Telnet, el servicio SSH (Secure Shell), entre otros
John The Ripper es capaz de auto detectar el tipo de cifrado de entre muchos
disponibles, y se puede personalizar su algoritmo de prueba de contraseñas [12.].
Características:
· Permite definir el rango de letras que se usará para construir las palabras, y las
longitudes.
14
Red Hat Enterprise Linux 4: Manual de referencia, http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/ch-ssh.html
15
What is a sufficient encryption? http://penguinsecurity.net/wiki/index.php?title=What_is_a_sufficient_encryption
45
Ettercap es una herramienta que hace uso del envenenamiento ARP en entornos
GNU/Linux. Está diseñada con el fin de analizar, filtrar y escuchar determinado
tráfico circulando por la red[7.]. Es capaz de realizar ataques MITM (Man in the
Middle) entre diferentes hosts de la red, con el fin de interponerse en su comunicación
y obtener información valiosa como el tipo de contraseñas POP, SSH, Telnet, FTP,
Https, etc.
· Filtrado de paquetes
16
Como agregar tareas al Cron de Linux, http://www.guatewireless.org/os/linux/como-agregar-tareas-al-cron-de-linux/
17
Envenenamiento ARP, Seguridad en redes conmutadas, Sergio Valín Cabrera. http://ownz.despai.es/trabajo_arp.pdf
18
La importancia de los protocolos cifrados: Envenenamiento ARP mediante ettercap, http://www.sahw.com/wp/archivos/2010/05/31/la-
importancia-de-los-protocolos-cifrados-envenenamiento-arp-mediante-ettercap/
46
19
Introducción al némesis, http://bad-robot.blogspot.com/2009/04/introduccion-al-nemesis.html
47
Telnet
C: \>telnet -h
telnet t-al [-e escape char] [-f log file] [-l user] [-t term] [host [port]]
-l: Parámetro para indicar el nombre de usuario para el sistema remoto, donde se
quiere conectar.
port: En esta parte se especifica el puerto al que se quiere conectar, por defecto es
el puerto número 23 corresponde al puerto telnet.
Nikto
Características principales:
Tratamiento de cookies.
Parámetro a utilizar:
-host: permite especificar el nombre del sistema que se quiere rastrear. Ejemplo
-ssl: Se activa el uso del protocolo SSL en los servidores web que utilizan el
protocolo HTTPS.
-Format: Se define como será el formato del resultado de salida, dicho resultado
puede ser en formato HTML, cSV o texto.
21
Nikto v2.1.4 - The Manual,Chris Sullo and David Lodge, http://cirt.net/nikto2-docs/
49
El ataque se inicia con la técnica más básica para saber si existe una posible
vulnerabilidad de SQL Injection, en una página web la cual solicita un usuario y
contraseña, para ello se podría proceder de la siguiente manera:
Revisar el código fuente (HTML) de la página web para ver de qué manera se envía el
usuario y contraseña de dicha web.
Usuario=is’ma
Password=pass
TLS.
Para solventar los problemas de seguridad en Internet, Netscape, Inc. introdujo el
protocolo SSL (Secure Sockets Layer), que ha ido evolucionando en el protocolo
estandarizado TLS (Transportation Layer Security). Ofrece tanto cifrado de la
comunicación (frenando las escuchas) como autenticación fuerte (asegurando que
ambas partes de una comunicación son correctamente identificadas y que la
comunicación no puede ser alterada). Postfix/TLS no implementa el protocolo TLS
por sí mismo, sino que usa el paquete OpenSSL para esta tarea.
SASL
SASL (Simple Authentication and Security Layer), es un método para añadir
soporte para la autenticación a protocolos basados en la conexión. Se usa en
servidores (en este caso Postfix) para manejar las peticiones de autenticación de los
clientes24.
SpamAssassin
SpamAssassin es un filtro de correo que trata de identificar el spam mediante el
análisis del texto y el uso en tiempo real de algunas listas negras a través de Internet.
22
María Teresa Jimeno, Carlos Míguez, Mariano Matas y Justo Perez, 2010, La Biblia Hacker
23
Postfix Basic Configuration, http://www.postfix.org/BASIC_CONFIGURATION_README.html
24
Simple Authentication and Security Layer, http://asg.web.cmu.edu/sasl/
51
Clam AntiVirus
ClamAV es una herramienta antivirus para UNIX. El propósito principal de este
software es la integración con los servidores de correo (escaneo de datos adjuntos).
Algo importante que resaltar es que la base de datos se mantiene actualizada
constantemente. Otras características destacables son el soporte de firmas digitales
en la actualización de la base de datos, el análisis durante el acceso bajo Linux, la
detección de más de 20000 virus, gusanos y troyanos, el soporte integrado para
archivos comprimidos con Rar, Zip, Gzip y Bzip2 y formatos de correo Mbox,
Maildir.
SquirrelMail
SquirrelMail es un paquete de correo por web basado en estándares y escrito en
PHP 4. Incorpora soporte PHP para los protocolos IMAP y SMTP. SquirrelMail
tiene toda la funcionalidad que se espera de un cliente de correo electrónico,
agendas de contactos y gestión de carpetas25.
25
Squirrelmail, http://www.squirrelmail.org/documentation/
26
Virtualización en GNU/Linux, Alberto Abián Belmonte,Madrid, julio 2007,
http://www.whyfloss.com/pages/conference/static/editions/mad07/charla2.pdf
52
a) Emulación
b) Virtualización completa
Su principal ventaja es que los sistemas operativos pueden ejecutarse sin ninguna
modificación sobre la plataforma, aunque como inconveniente frente a la emulación, el
sistema operativo debe estar soportado en la arquitectura virtualizada, ver figura 2.7.
URL: http://www.arcos.inf.uc3m.es/~folcina/pfc-html/node16.html
c) Paravirtualización
28
Hypervisor-Based Redundant Execution on a Single Physical Host, http://scholar.google.com/scholar?start=20&q=Hypervisor&hl=es&as_sdt=0
29
Máquinas virtuales, http://www.arcos.inf.uc3m.es/~folcina/pfc-html/node16.html
30
VMware, http://www.vmware.com/es/virtualization/why-virtualize.html
54
“El sistema operativo no puede establecer una diferencia entre una máquina
virtual y una máquina física, ni tampoco lo pueden hacer las aplicaciones u otros
ordenadores de una red. Incluso la propia máquina virtual considera que es un
ordenador “real”. Sin embargo, una máquina virtual se compone exclusivamente de
software y no contiene ninguna clase de componente de hardware. El resultado es que
las máquinas virtuales ofrecen una serie de ventajas con respecto al hardware
físico”31.
2.4.3.1. VMware.
Ventajas:
· Facilidad de uso.
31
VMWare, http://www.vmware.com/es/virtualization/virtual-machine.html
55
Desventajas:
2.5.1. Direccionamiento IP
“Cada host TCP/IP está identificado por una dirección IP lógica. Esta dirección
es única para cada host que se comunica mediante TCP/IP. Cada dirección IP de 32
bits identifica la ubicación de un sistema host en la red de la misma manera que una
dirección identifica un domicilio en una ciudad”34.
32
Oracle, VirtualBox, http://www.virtualbox.org/
33
Documentación VirtualBox,http://creativx.net/forums/es/general-software/17094-virtualbox-3-2-8-a.html
34
Microsoft, Direccionamiento y enrutamiento IP, http://technet.microsoft.com/es-es/library/cc776674(WS.10).aspx
57
2.5.2. Enrutamiento IP
El proceso de lograr que cada máquina de una red se pueda comunicar con otra
en la Internet se denomina enrutamiento. Sin éste, la máquina estaría limitada sólo a
una red local, definida por el dominio de difusión (broadcast). El enrutamiento permite
que el tráfico de una red busque el camino óptimo a un destino en cualquier lugar del
mundo, pasando eventualmente a través de varias redes35.
El enrutamiento forma parte del Protocolo Internet (IP) y se utiliza junto con
otros servicios de protocolo de red para proporcionar capacidades de reenvío entre
hosts que se encuentran en segmentos de red distintos dentro de una red basada en un
TCP/IP más grande.
Enrutadores IP
Los segmentos de red TCP/IP están conectados entre sí mediante enrutadores IP,
que son los dispositivos que transmiten los datagramas IP desde un segmento de red a
otro. Este proceso se conoce como enrutamiento IP y se muestra en la siguiente
figura:
URL: http://technet.microsoft.com/es-es/library/cc785246(WS.10).aspx
35
MISCHA Schwartz, Redes de telecomunicaciones Potrocolos, modelado y análisis, año 1994, 62924
58
Tanto los enrutadores como los hosts guardan una tabla de enrutamiento para
mantener información acerca de otras redes IP y hosts IP. Las tablas de enrutamiento
son importantes ya que proporcionan la información necesaria a cada host local
respecto a cómo comunicarse con redes y hosts remotos. El daemon de enrutamiento
de cada sistema actualiza la tabla con todas las rutas conocidas. El núcleo del sistema
lee la tabla de enrutamiento antes de reenviar paquetes a la red local. La tabla de
enrutamiento enumera las direcciones IP de las redes que conoce el sistema, incluida
la red local predeterminada del sistema. La tabla también enumera la dirección IP de
un sistema de portal para cada red conocida. El portal es un sistema que puede recibir
paquetes de salida y reenviarlos un salto más allá de la red local. A continuación se
incluye una tabla de enrutamiento simple en una red de IPv4:36
36
Tablas y tipos de enrutamiento, http://download.oracle.com/docs/cd/E19957-01/820-2981/gdyen/index.html
59
El equipo utiliza la ruta predeterminada si no hay otra ruta de host o red que
coincida con la dirección de destino incluida en un datagrama IP. Normalmente, la
ruta predeterminada reenvía el datagrama IP (para el que no hay una ruta local
coincidente o explícita) a la dirección de una puerta de enlace predeterminada de un
enrutador en la subred local.37
Destino de red
Máscara de red
37
TANENBAUM Andrew, Redes de Ordenadores, segunda edición, año 1991
60
Puerta de enlace
Interfaz
Métrica
La métrica indica el costo del uso de una ruta, que suele ser el número de saltos
al destino IP. Cualquier destino en la subred local está a un salto de distancia y cada
enrutador que se atraviesa en la ruta es un salto adicional. Si existen varias rutas al
mismo destino con diferentes métricas, se selecciona la ruta con menor métrica.
38
Revista Electrónica de Estudios Telemáticos, Volumen 4, Edición No 1, Año 2005, paginas 94,95
61
URL: http://fortalezadigital08.wordpress.com/2008/09/23/protocolos-de-enrutamiento-parte-1/
Figura 2.3. Esquema de Protocolos de Enrutamiento
Ventajas:
39
Blog de WordPress.com, Protocolos de enrutamiento dinámico, http://vnanock.wordpress.com/2007/05/06/protocolos-de-enrutamiento-
dinamicointroduccion/
62
IGRP: Protocolo de enrutamiento de Gateway Interior por vector distancia, del cual
es propietario CISCO.
URL: http://fortalezadigital08.wordpress.com/2008/09/23/protocolos-de-enrutamiento-parte-1/
Entre los paquetes software de routing, de libre distribución, más usados cabe
destacar Zebra y Quagga. Las mismas que soportan los protocolos de
encaminamiento RIPv1, RIPv2, OSPFv2 y BGPv4. Además, estas herramientas
también soportan protocolos de encaminamiento para IPv6 como RIPng, OSPFv3
y extensiones BGPv4.
La herramienta IPTables forma parte del sistema operativo LINUX y la función que
desempeña es la de aplicar reglas para el filtrado de paquetes. Una vez que los paquetes
comienzan a entrar o a salir, no importando de que máquina viene el paquete llega al kernel
y el kernel decide qué hacer con este paquete; esto es si el paquete es para la propia máquina
o para otra, para ello consulta las reglas del firewall y procede según las reglas del firewall41.
40
QUAGGA, http://www.quagga.net
41
SEGURIDAD EN LA RED, http://bibing.us.es/proyectos/abreproy/11499/fichero/05+-+Seguridad+en+la+red+en+GNU-Linux.pdf
65
Iptables está basado en el uso de TABLAS dentro de las tablas, CADENAS, formadas
por agrupación de REGLAS, parámetros que relativizan las reglas y finalmente una
ACCION, que es la encargada de decir qué destino tiene el paquete.
Las cadenas dentro del firewall tienen la función principal de organizar el flujo
de los paquetes así como de definir el orden de ejecución. El orden de ejecución de
estas cadenas tiene suma importancia, ya que de ello depende el que un paquete
acceda o no al sistema esto es; si en un primer intento de pasar un paquete se accede
a la red y después de esta regla se encuentra una que bloquee de alguna manera al
paquete la jerarquía debería ser la opuesta42.
42
IPTABLES, http://eisc.univalle.edu.co/materias/Administracion_De_Redes_Y_Servidores/material/IPTABLES_CORTO.pdf
66
• Direcciones
• Interfaz
Las reglas de filtrado incluyen estos aspectos junto con su estado de conexión
que permiten saber si la conexión fue requerida por las máquinas que están detrás de
la red o solo es un intento de conexión. De esta manera los filtrados se realizan:
La estructura es la siguiente:
43
PRÁCTICA 5: USO DE CORTAFUEGOS IPTABLES,http://gseguridad.unicauca.edu.co/talleres/practica_iptables.pdf
67
COMANDO FUNCION
-A Agregar nueva regla a la cadena especificada.
-I Insertar nueva regla antes de la regla número_regla(rulenum)
en la cadena especificada de acuerdo a los parámetros
sometida.
-R Reemplazar la regla (rulenum) en la cadena especificada.
-E Modifica el nombre de la cadena.
[nombre-anterior-cadena por nombre-nueva-cadena]
-L Realiza el listado de reglas que se están aplicando. Si no se
determina una cadena en particular, listará todas las cadenas
existentes.
-N Crear nueva cadena asociándola a un nombre.
-P Modifica la acción por defecto de la cadena preseleccionada.
-D Eliminar específicamente una de las reglas
-Z Pone los contadores de paquetes y bytes a cero en la cadena
seleccionada.
De no poner seleccionar una cadena, pondrá a cero todos los
contadores de todas las reglas en todas cadenas.
Parámetros
Todas las reglas en iptables tienen definida su condición por los parámetros,
que constituyen su parte primordial. Algunos de estos parámetros son:
PARAMETRO FUNCION
-i Interfaz de entrada (eth0,eth1,eth2...)
-o Interfaz de salida (eth0, eth1, eth2...)
--sport Puerto de origen
--dport Puerto destino
El protocolo del paquete a comprobar, tcp, udp, icmp ó all.
-p
Por defecto es all
Esto especifica el objetivo de la cadena de reglas, o sea una
-j
acción
Cuando se lista las reglas, agrega el número que ocupa cada
--line-numbers
regla dentro de la cadena
44
EL PAPEL DE LA ESTADISTICA EN O Y M, http://html.rincondelvago.com/estadistica_23.html
69
b) Ahorrar costos.
Tipos de datos
Variables cualitativas. Este tipo de variables representan una cualidad o atributo que
clasifica a cada caso en una de varias categorías. La situación más sencilla es aquella
en la que se clasifica cada caso en uno de dos grupos (acierta/no acierta, descifra/no
descifra).
Una vez recogido los valores que toman las variables del presente estudio
(datos), se procedió al análisis descriptivo de los mismos. Para variables categóricas,
como el acierto en descifrar una clave, fue necesario conocer el número de casos en
cada una de las categorías, reflejando habitualmente el porcentaje que representaron
del total45.
Para variables numéricas, en las que puede haber un gran número de valores
observados distintos, se ha optado por un método de análisis distinto, respondiendo a
la pregunta: ¿Alrededor de qué valor se agrupan los datos?
Más formalmente, si se denota por (X1, X2,...,Xn), los n datos que se tiene
recogidos de la variable en cuestión, el valor medio vendrá dado por:
45
Estadística descriptiva de los datos, http://www.fisterra.com/mbe/investiga/10descriptiva/10descriptiva.asp
71
La mediana por lo general es el valor que deja a la mitad de los datos por
encima de dicho valor y a la otra mitad por debajo.
b) Medidas de dispersión
CAPÍTULO III
Un escenario virtual de red puede ser definido como un conjunto de equipos virtuales
(tanto sistemas finales como elementos de red -enrutadores y conmutadores) conectados entre
sí en una determina topología desplegada sobre uno o múltiples equipos físicos, que emula un
sistema equivalente y cuyo entorno deberá ser percibido como si fuera real[13.].
46
VMware home page, [Online:] http://www.vmware.com
73
almacenamiento para usos posteriores, etc. Todo ello sin que sea posible diferenciar el
comportamiento de los sistemas virtuales de lo que sería el mismo sistema ejecutado sobre
una máquina real [20.]. Además permite crear escenarios de red más complejos de lo que
permite el equipamiento existente, proporcionando al usuario escenarios de red más reales
sobre los que trabajar y mejorar con ello sus pruebas47.
Requisitos de Hardware
§ Un procesador de 2 Ghz
§ 2 GB de RAM
§ Espacio libre de 150 MB en disco. Hay que tener en cuenta el espacio libre en el
disco a la hora de crear múltiples máquinas virtuales y el uso de la memoria
RAM.
47
virtualizacion de servidores de telefonia ip en gnu/linux, http://www.adminso.es/images/6/6d/Eugenio_cap1.pdf
74
Una vez que se accede a la ventana principal, se tiene las siguientes opciones: la
creación de una nueva máquina virtual, abrir una máquina virtual y actualización de
VMWare (ver figura 3.3).
Para crear una máquina virtual se elige la opción New Virtual Machine que hará
que se ejecute el asistente de creación de máquinas virtuales.
el sistema operativo anfitrión será Ubuntu y los invitados los sistemas operativos
Windows y Ubuntu que se irán añadiendo a VirtualBox.
Requisitos de Hardware
Para crear una máquina virtual se elige la opción Nueva, seguidamente se ejecuta
el asistente de creación de máquinas virtuales.
VMware también permite definir de forma sencilla cómo los escenarios virtuales se
conectan con máquinas externas, permitiendo escenarios complejos formados por equipos
reales sobre los que trabajen directamente los usuarios y por otros virtuales que aumentan el
realismo del escenario (por ejemplo, servicios típicos como DNS, mail, web, etc, máquinas
de diagnóstico para poder ejecutar pings o traceroutes, routers que incrementen el tamaño de
las tablas de encaminamiento, etc.)
Para identificar cada una de las VM’s y considerando que el alcance de la red es
local, se usaron los siguientes parámetros mostrados en la tabla 3.1.
79
3.4.4 Servidor de Correo Electrónico Seguro (Webmail) con Postfix – Sasl –Tls –
Dovecot –Squirrelmail
48
Linux, Servidor OpenLDAP, http://www.humbug.in/docs/ubuntu-server-guide-es-10.04/openldap-server.html
80
Los archivos que se tomarán de referencia para realizar la configuración están en:
/usr/share/doc/quagga/examples/ y son:
CAPÍTULO IV
Para la comunicación entre los equipos virtuales fue necesario configurar los
adaptadores de red respectivos. Cabe mencionar que en la configuración de las tarjetas se
tiene tres posibilidades:
· NAT: La máquina real actuará como router NAT convirtiendo las direcciones
internas en direcciones compatibles con el resto de la red real.
Para la realización del presente trabajo se utilizó la conexión Bridged logrando tener
comunicación entre los equipos virtuales de la red LAN interna y la salida de las mismas
hacia el internet.
83
4.2. Implementación Funcional del Ruteador a Través del Software Quagga en una Mv
Para establecer una máquina con Linux como enrutador, se configurará la máquina con
dos o tres interfaces de red, de acuerdo a la topología descrita en la figura 3.5, cada ruteador
está conectada a una red local de tal manera que las diferentes subredes formadas dentro del
laboratorio puedan interactuar entre sí. Para ello se usará enrutamiento dinámico.
Enrutador A Enrutador B
Enrutador A Enrutador B
El próximo paso es configurar RIP a través del demonio ripd; esta configuración se la
puede realizar mediante consola, como se observa a continuación:
Enrutador A Enrutador B
Una vez configurado los demonios Zebra y Rip de los equipos ruteadores, se
procede a verificar que las rutas consten en las tablas de enrutamiento de cada
ruteador, para esto se procede a ingresar al daemon zebra y con la opción show ip
route se puede obtener el contenido de la tabla de enrutamiento correspondiente del
ruteador. Claramente se puede observar sentencias como: R>* 192.168.10.0/24
[120/2] via 192.168.20.1, eth0, 01:18:05, para el caso de Ruteador B, y R>*
192.168.2.0/24 [120/2] vía 192.168.20.2, eth0, 01:11:09, en el Ruteador A, lo que
significa que cada ruteador tiene habilitado su respecta vía de acceso por donde
fluirá el tráfico desde o hacia el otro ruteador respectivamente, como se muestra a
continuación:
Enrutador A Enrutador B
Para el correcto funcionamiento del ruteo se debe considerar que los usuarios
deben tener la siguiente configuración en su respectiva interfaz de red:
88
-sT: Se basa en la metodología de inicio de conexión que posee el TCP, conocida como el
“three way handshake”, el cual funciona como sigue:
b) La máquina cliente lanza una conexión activa llamada connect(). Con esto envía un
mensaje con el segmento SYN activo para informarle al equipo destino el número
inicial de secuencia para los datos que el cliente va a enviar en la conexión.
c) La máquina destino debe dar por conocido el SYN enviando un ACK-SYN con su
número de secuencia, en un solo paquete TCP.
d) La máquina cliente debe dar por conocido el SYN enviando con un ACK.
89
1) Es rápido
-sS : Rastreo de segmento SYN medio abierto o Half Open. Esta es una técnica que envía
un segmento SYN, si recibe como respuesta un ACK es porque ha detectado un puerto
activo en la máquina objetivo, después de lo cual envía un Reset para cortar de forma
abrupta la comunicación. Pero Si en vez de un ACK recibe un RST significa que el puerto
de la máquina objetivo no se encuentra activo. De este modo el barrido posee la desventaja
que se deben tener privilegios de root para ejecutarlo.
-sF, -sX, -sN : Escaneo utilizando segmentos FIN y que responden con un paquete RST.
Los puertos activos en este caso ignoran dichos paquetes por lo que se debe observar los
puertos que no contestan para tener un concepto claro de cuáles son los puertos abiertos
bajo.
Estas son algunas de las técnicas más conocidas y utilizadas para realizar rastreos de
puertos o escáner de estos.
a) Envío de un paquete con un Flag FIN al puerto 80 de Google, por lo que nos tiene
que responder con un RST si el puerto está abierto, ver Figuras 4.3-a . Y el envío
del mismo paquete pero al puerto 21.
90
b) Envío de un paquete con un Flag FIN al puerto 80 del Servidor Web de una LAN
interna (192.168.30.2). Igualmente el envío del mismo paquete pero al puerto 21,
ver Figura 4.3-b.
Resultados Obtenidos
La captura nro. 4 es el primer envío (sale del puerto 40867 hacia el 80, desde
10.20.17.163 a 74.125.229.82).
Y se puede observar que no se recibe respuesta por parte del servidor de Google, lo
que significa que el puerto está en estado silencioso.
Cabe mencionar que este tipo de escaneo genera una enorme lista de puertos con
estado abierto aunque realmente pueden estar cerrados o silenciosos.
En el envío de paquetes hacia el puerto 80, del mismo servidor Web, los resultados
fueron los mismos que los obtenidos para el puerto 21.
92
Si se observa en los paquetes del sniffer (Ver figura 4.6), se tiene que el host
atacante (192.168.10.3) envió un paquete SYN, el host destino (la IP 192.168.30.2)
respondió con un SYN+ACK y por último el host emisor envía un paquete RST.
94
En las capturas Nro. 3, 5 y 6 se percibe que cuando los paquetes salen desde la
PC atacante, el puerto origen es uno aleatorio, Nmap utilizan puertos dinámicos por
encima de 35000 más o menos y cuando el host emisor recibe el SYN+ACK desde el
host destino, lo hace desde ese mismo puerto dinámico que abrieron las
aplicaciones[32.].
Este sondeo es distinto a los otros que se han discutido en que no puede
determinar puertos abiertos (o incluso abiertos/filtrados). Esta técnica es usada
también para poder escanear hosts que estén detrás de un firewall que bloquee los
intentos de conexión (paquetes SYN).
49
María Teresa Jimero, Carlos Migues, Abel Matas, Justo Pérez, , Edición 2009, La Biblia del Hacker
95
Resultados Obtenidos
En la figura 4.7 se puede observar que Nmap marca el puerto como filtrado, lo
que significa que es un puerto silencioso. Muy seguramente porque el servidor de
Google se encuentra detrás de un firewall. En la misma figura se tiene la captura de
paquetes, donde el escaneo ACK envía un número de secuencia y confirmación
aleatorio. En las capturas nro. 1 y 2, se tiene el envío de paquetes hacia el host
destino (192.168.30.2), pero no se obtiene respuesta alguna, identificando
claramente el puerto 80 como filtrado (puerto silencioso).
Nmap le pide al sistema operativo del host origen que establezcan una
conexión con el sistema objetivo en el puerto indicado utilizando la llamada del
sistema TCP connect(), cuyos resultados se observa en la figura 4.9.
97
Dónde:
-M: Módulo de ejecución de medusa, para este caso ssh (Secure Shell)
Resultados Obtenidos
Cabe mencionar que no es lo mismo hacer un ataque de fuerza bruta con diccionario
de forma local que de forma remota, sin embargo al hacer la prueba de forma remota, los
resultados fueron muy aceptables, se demoró 5 minutos aproximadamente en encontrar el
password en un diccionario de 3600.
Figura 4.12 Ataque de Fuerza Bruta con John The Ripper (Windows).
100
Resultados Obtenidos
En la figura anterior también se observa los resultados obtenidos del ataque de fuerza
bruta con John The Ripper, resultado que mucho depende de la personalización del archivo
diccionario que se tenga. Para este caso las contraseñas desencriptadas, mostradas a
pantalla, son el nombre de usuario, contraseña y el ID del usuario.
4.3.2.3. Ejecución del ataque desde Ubuntu con John The Ripper
Con este comando el archivo es creado con las contraseñas cifradas del archivo
/etc/shadow pero con la estructura del archivo /etc/password. Seguidamente se procede a
descifrar las contraseñas utilizando el siguiente comando:
#./john pass.txt
Con este simple comando, el programa John The Ripper comienza a trabajar e irá
mostrando automáticamente las contraseñas que va descifrando, como se observa en la
figura 4.13. Según la calidad de las contraseñas cifradas en el archivo, John The Ripper
puede llegar a tardas varios días, semanas o incluso meses encontrar las mismas. Ante
esto, puede ser necesario tener que cortar la sesión antes, con la combinación de las teclas
Ctr+c. Y para reanudar la búsqueda se ejecuta el siguiente comando:
101
#./John –restore
Figura 4.13 Ataque de Fuerza Bruta con John The Ripper (Ubuntu).
Para entenderlo más fácilmente, se tiene las imágenes de la Figura 4.14-a. donde en
una conexión normal entre un ordenador y su router G1, permite el tráfico entre H y T,
como se muestra en la figura (líneas de celeste).
50
Envenenamiento Arp, Seguridad en redes conmutadas, http://ownz.despai.es/trabajo_arp.pdf
102
En una conexión con un Hombre en el Medio sería así: AT (host atacante), envía un
mensaje a H, para ello utiliza como IP origen del envío la IP de G1 (router). Logrando así
que el tráfico pase por AT en lugar de seguir el camino inicial (línea roja de la izquierda),
ver Figura 4.14-b.
Figura 4.14-b Conexión con MITM (Man In The Middle ) entre dos hosts
Una vez que ha terminado de buscar los ordenadores conectados a la red se procede
a elegir entre que par de equipos se desea conectar, en este caso entre el equipo de la
víctima (192.168.10.10) y el Router (192.168.10.1), para ello se selecciona la opción
Hosts->Host List y se elige el primer equipo y se presiona la tecla 1, después se selecciona
el segundo equipo (en este caso un Router) y se presiona la tecla 2 (ver Figura 4.15).
103
Figura 4.15 Activación de los dos equipos que se desea conectar, con Ettercap.
Finalmente se procede a decir a Ettercap que haga un ataque Man In The Middle por
ARP Poisoning, para ello se selecciona el menú MITM opción ARP Poisoning y en
parameters se debe escribir remote <enter>, desde ese momento el host atacante
(192.168.10.20) se coloca entre el equipo víctima y el Router, procediendo al escaneo
respectivo.
Para lograr lo descrito anteriormente, ya sea desde un equipo atacante con sistema
operativo Windows o Ubuntu, se debe realizar lo siguiente:
c:\>arp –a
El ping permite que se actualice la tabla ARP del equipo atacante con la
dirección IP y MAC de la víctima
Resultados Obtenidos
Figura 4.19-b Denegación del Servicio de Correo Electrónico ante un ataque ( DoS)
108
Resultados Obtenidos
Claramente se puede observar, en la figura 4.20, gran cantidad de segmentos TCP con
el flag SYN activados desde la misma IP, que no reciben respuesta alguna por parte del
servidor web. El servidor trata de resolver la MAC de la máquina cliente en numerosas
ocasiones, una de ellas se puede ver en el paquete 6, pero al no recibir respuesta alguna y
al carecer de la dirección física del host, no puede enviar un ACK-SYN al mismo para
continuar con el establecimiento de la conexión a tres pasos. Esto conlleva que el equipo
atacante tenga que esperar por cada conexión un tiempo determinado, tiempo en el cual
seguirán llegando más paquetes que irán creando nuevas conexiones. Conexiones, que
al ser un número muy elevado, pueden acabar con los recursos de la máquina
produciendo que el equipo deje de contestar más solicitudes de conexión.
Escaneo básico.
Para ejecutar un escáner básico con Nikto basta con ejecutar la sentencia:
La opción -h nos indica el host que queremos escanear pudiendo ser este una dirección
IP o un nombre de dominio.
Si no se indica lo contrario, el puerto por defecto que utiliza Nikto es el 80, si se desea
cambiarlo se debe indicaren la sentencia con la clave -p.
Lo que se hará es crakear el password de esa web mediante http. Para ello se debe
realizar lo siguiente:
Una vez que el crakeo se termina y se ha obtenido como resultado “aaa”, por lo
general este proceso es bastante lento, debido a que el servidor es bastante lento, Figura
4.22. Seguidamente comprobamos el resultado obtenido y para ello se debe dirigir a la
aplicación Web e introducir el usuario “patylina” y el password “aaa”, logrando tener
acceso al sitio Web.
Ataques XSS
Cabe mencionar que algunas de las demostraciones sobre este tipo de ataque fueron
desarrolladas utilizando la aplicación DVWA (Damn Vulnerable Web App) de libre
distribución.
DVWA es una aplicación de entrenamiento en seguridad Web que se destaca por contener
muchas aplicaciones Webs vulnerables a diferentes tipos de técnicas. Y está desarrollada
con la finalidad de ofrecer a los profesionales, estudiantes e investigadores en seguridad
informática una aplicación de entrenamiento, la cual permita poner a prueba sus
conocimientos y herramientas enfocadas a la seguridad Web51.
51
DVWA – Damn Vulnerable Web App, http://www.dragonjar.org/dvwa-damn-vulnerable-web-app.xhtml
112
· Ataque CSRT
son transmitidos por un usuario en el cual el sitio web confía. Esta vulnerabilidad
es conocida también por otros nombres como XSRF, enlace hostil y ataque
automático.
El proceso para que el intruso logre inyectar una sentencia SQL en lugar de colocar
usuario, password, es muy simple. Si los campos de datos no están protegidos contra los
caracteres especiales y asegurados, se podrá incluir una comilla simple ‘ y seguido a ella,
el resto de lo que será interpretado por el gestor de base de datos como código SQL. La
comilla simple es interpretada como terminador de carácter, cuya función al incluirle
dentro de una sentencia SQL es hacer que servidor genere un error, ello dará como indicios
de que se puede realizar posibles ataques SQLInyection.
Ataque 1
Introduciendo en los campos de usuario y passwod lo siguiente:
usuario=is'ma
passwod=pass
Como resultado se tiene la generación del siguiente error, Ver figura 4.27.
Ataque 2
Pretender llegar a entrar con el primer usuario existente en la aplicación
digitando en el campo usuario: ' or 1=1 --. Logrando ingresar a la página privada
Ver figura 4.28.
Figura 4.28 Ingreso a la página Web Privada con la sentencia ' or 1=1 –
Ataque 3
Este script solicita al usuario que ingrese los datos referentes al email
(dirección origen, dirección destino, texto del email, mensaje), además debe
118
ingresar el número de veces que enviará el correo a su destino. Para poder logra
todo esto fue necesario crear un archivo temporal con los datos necesarios
ingresados sobre el correo a enviarse, y con el comando nc –vv –w 3
192.168.30.4.25 se logra el envío del de correo a la dirección de destino
especificada a través del puerto 25.
Resultados obtenidos
Figura 4.31 Verificación del mensaje masivo que ingresa al destinatario del correo masivo enviado.
Correo Anónimo
Figura 4.33 Verificación del mensaje anónimo enviado en forma manual a través de telnet.
120
Una vez conocidas las vulnerabilidades y ataques a las que está expuesto un sistema es
necesario conocer los recursos disponibles para protegerlo. Mientras algunas técnicas son
evidentes (seguridad física por ejemplo) otras pautas no lo son tanto e incluso algunas pueden
ocasionar una sensación de falsa seguridad.
Una vez revisadas los tipos de ataques, considerados para efecto de estudio y análisis
en el presente trabajo, se ha determinado los mecanismos más apropiados para prevenir y
mitigar dichos ataques, los que se describen a continuación.
52
Programación De Shell Scripts En Linux, http://juanin.bligoo.com/media/users/0/44513/files/3080/preliminares_shell.pdf
53
Crontab, http://usemoslinux.blogspot.com/2010/11/cron-crontab-explicados.html
54
Logs en Linux http://www.estrellateyarde.org/so/logs-en-linux
121
6. IP con autentificación
fallida. 5.2 Revisa IP
con conexiones
5.3. Registra IP fallida (max 2
a ser intentos)
6. Msj. bloqueada
servicio IP
7. Envía
8. Envía a respuesta
Figura 4.34 Diagrama de secuencias del proceso de mitigación a un ataque de fuerza bruta.
Cabe mencionar que para la ejecución automática del script bloqueo.sh se hizo uso
del cron, el mismo que fue configurado para que revise la tabla de tareas crontab
(/etc/crontab) en búsqueda de tareas que se deban cumplir, como es la ejecución del script
bloqueo.sh cada segundo.
Lo primero que se hace es borrar las reglas que pudiera haber. Se ha considerado
también la tabla NAT, en vista de que se usa 2 cadenas (PREROUTING y
POSTROUTING) para hacer redirecciones y enmascarar la red local que pertenecen a
dicha tabla. Luego se establece las políticas por defecto. Se ha puesto DROP a todo. Una
vez dada las políticas, lo primero que se pone son las redirecciones, es decir, las
conexiones permitidas desde el exterior a la red privada local. En este caso se redirige al PC
en cuestión las peticiones que van al puerto 80 (servidor web). Seguidamente se filtra el
acceso al propio firewall permitiendo explícitamente las conexiones que se crea oportunas.
Una vez realizado todo esto, se filtra en la cadena FORWARD aquellas conexiones que
permitidas desde la LAN. Por el momento sólo son peticiones WEB y DNS, para que sólo
se pueda navegar. Luego deniega el resto.
En la Figura 4.35 está un resumen sobre los pasos a seguir, por el firewall, para
contrarrestar ataques ARPSpoofing, IPSpoofing y Denegación de servicio DoS.
55
http://es.tldp.org/Manuales-LuCAS/doc-iptables-firewall/doc-iptables-firewall.pdf
56
http://www.pello.info/filez/firewall/iptables.html
123
INICIO
Definición de Variables
y políticas en la cadena
Habilitación Forward
para los paquetes
Ingreso de paquetes
si
Son para
ping, source,
route o syn-
no
si
Viene de la
clase:
no
si
No aceptar
paquetes con
dirección:
Denegar
no
si
Entrada con
encabezado
no
Permitir paso de paquetes Redirección de servicios
Generación de LOG para
con IP: 192.168.10.0/24
cualquier protocolo 80, 443, 25, y
192.168.20.0/24
21 al servidor DMZ
192.168.30.0/24
Realización de un Postrouting
Masquerade entre la subred y
el DMZ con el firewall
FIN
4.4.3. Mecanismos de Seguridad para Protección Contra Ataques a Web, Base de Datos y
de Correo Electrónico.
Para proteger nuestra aplicación contra inyección XSS hay que centrarse en proteger
la entrada de datos de los usuarios. Ya que esta es la manera que tiene el atacante para
llevar a cabo la inyección. Toda información que el usuario pueda insertar mediante
formularios, variables en el link, etcétera debe de ser analizada y filtrada para que su
único fin sea el que el programador de la aplicación Web haya decidido. Para ello
podemos utilizar las siguientes medidas:
CAPÍTULO V
EVALUACIÓN DE RESULTADOS
Tabla 5.1. Muestra de datos referente al tiempo, recurso de red y número de paquetes ocupados por un
atacante de Rastreo de Sistemas.
σ
ሺିሻ
మ
μ=ට ିଵ
a)
Histograma
100,00%
46,38
80,00%
38,65
Frecuencia
30,92 60,00%
Frecuencia
21
23,19
40,00% Poligono
15,46
% acumulado
20,00%
7,73 3
1 1 2
0 0
0 0,00%
0,25 0,75 1,25 1,75 2,25 2,75 3,25 y mayor...
Tiempo/seg.
Histograma
100,00%
11,5
80,00%
9,2
Frecuencia
60,00%
6,9
Frecuencia
5
4 40,00%
4,6
3
Poligono
2 2 20,00%
2,3
1 1
0 0 0
% acumulado
0 0,00%
30 36 42 48 54 60 66 72 77 y
mayor...
KB/s
En la Tabla 5.2 se tiene los datos obtenidas en relación al tiempo en segundos que
se toma un equipo atacante, con Windows XP, en descifrar una contraseña con John
The Ripper. Las contraseñas asignadas a los equipos víctimas fueron de longitud
variante entre tres y ocho caracteres alfanuméricos (igual número de letras y números).
Para el caso de Medusa las pruebas fueron tomadas, sobre Ubuntu, en función al tiempo
que se demora en localizar la contraseña dentro de un fichero diccionario (inicio, medio
y final).
En la gráfica de la figura 5.3-a se observa que descifrar una clave con John de
Ripper resulta fácil cuando la contraseña es pequeña, y toma mayor tiempo cuando la
misma es más extensa y consta de caracteres alfanuméricos. Para el caso de Medusa se
tomó un diccionario de contraseñas con 3500 palabras, ver figura 5.3-b, cuando mayor
sea el archivo diccionario utilizado por el programa medusa, más posibilidades se
tendrá de encontrar la contraseña pero en más tiempo.
131
Tabla 5.2 Muestra de datos referente al tiempo, recurso de red y número de paquetes
ocupados por un ataque de Fuerza Bruta.
7332,6
3567
0,5 9 9 9 90 70 83
1252
120 90
55 81 65 72 71
20 24,6 35 10,3 15,5 25,4 25,2
Figura 5.3-b) Recursos consumidos por un ataque con John The Ripper
Figura 5.3 Recursos de red, CPU y tiempo, consumido por un atacante de Fuerza Bruta
Histograma
7,8 100,00%
7
6,5 80,00%
Frecuencia
5,2
60,00%
3,9
3
40,00% Frecuencia
2,6
Polígono
1 1 1 1 20,00%
1,3
0 0 0 0 0 %
0 0,00% acumulado
Tiempo/seg.
La tabla 5.3, describe los recursos de red y de CPU que ocupa un ataque de
suplantación de identidad, dada la rapidez con que se ejecutan el comando y el
tiempo ilimitado que dura el ataque, se consideró un margen de duración del ataque,
60 segundos, a fin de poder tomas las muestras correspondientes.
En la Figura 5.5, se resume las mediciones obtenidas sobre los recursos de red y
CPU ocupados durante un ataque IPSpoofing y ARPSpoofing. En la gráfica 5-a y 5-b
se observa una similitud en datos obtenidos en los dos tipos de Spoofing realizados y
que los recursos de red consumen muy poco en relación a los anteriores ataques.
134
Ataque IPSpoofing
55
50
30
25 25
15
10
0 10 20 30 40 50 50
Tiempo/seg.
Ataque ARPSpoofing
30 30
25
20 20
10 10
0 10 20 30 40 50 50
Tiempo/seg.
Suplantación de Identidad
350,00
300,00
200,00
TotalPaquetes
150,00
Paquetes A-B
100,00
Paquetes B-A
50,00
0,00
1 2 3 4 5 6 7 8 9 10
Histograma
20 120,00%
18
100,00%
16
14
Frecuencia
80,00%
12
10 60,00%
8
40,00% Frecuencia
6
4 % acumulado
20,00%
2
0 0,00%
240,43 360,86 481,29 601,72 722,15 842,58 963,01 y mayor...
Clase
Figura 5.7. Porcentaje acumulado del consumo de ancho de banda en un ataque DoS.
Ataque DoS
9000,00
8000,00
7000,00
Tamaño paqueres (bytes
6000,00
5000,00
BytesTx
4000,00 BytesA-B
3000,00
BytesB-A
2000,00
1000,00
0,00
1 2 3 4 5 6 7 8 9 10
Tiempo/sg.
Un paquete TCP con la bandera ACK activa nos indicará la presencia de un equipo
al otro lado de la conexión.
El problema que brinda este tipo de ataque es el ruido que provoca. Este hecho
provoca que cualquier firewall bien configurado deseche este tipo de paquetes que
pretendan abrir una conexión.
Por ello es importante mencionar que en firewall además de cerrar los intentos
SYN, también se obstruyen los intentos de conexión ACK.
Utilizando el programa <nmap> que se debe instalar en una máquina (atacante) que
trata de acceder a la red que protege el firewall se realizaron las siguientes pruebas:
Figura 5.9 Muestra los resultados obtenidos al efectuar una solicitud con
NMAP, para establecer conexión con el firewall, y que este tipo de paquetes son
139
Este tipo de intentos de conexión bajo equipos LINUX son respondidos con
un RST, a continuación se observa la respuesta del servidor.
En la Figura 5.10 se muestra la respuesta por parte del firewall, que fue nula,
con las banderas ACK y SYN activas. Por otro lado, se realizó nuevamente la
prueba para otro equipo y la respuesta se muestra fue exitosa, es decir que se
estableció conexión con el equipo víctima.
Figura 5.13 Muestra de Resultados del efecto de un ataque de fuerza Bruta con Medusa
142
4. Direcciones reservadas clase E.- Este intervalo es reservado para usos futuros y de
ámbitos científicos o experimentales
5. Direcciones de Interfaz ciclo invertido.- Es una interfaz de red privada que utiliza
UNIX para servicios locales de red
Figura 5.16 Pantalla de ingreso de datos para obtener una shell de la máquina objetivo .
Ataque XSS
a) Limitación del tamaño de la entrada
146
Figura 5.18 Resultados obtenidos, con limitación del tamaño del campo
Usuarios Autorizados
Primera prueba:
Segunda prueba:
Tercera prueba:
Control de SPAM
whitelist_form *@pfc-server.com
Otra posibilidad muy útil es justamente la opuesta, esto es, la de las listas
negras. En ella se listan los spammers conocidos mediante la directiva
blacklist_from, ejemplo:
Una vez visto en qué consiste la Inyección SQL y cuáles pueden ser sus graves
consecuencias, el siguiente punto es explicar algunos métodos para evitar dicho
152
peligro. Cabe mencionar que se dará soluciones en concreto para PHP, pero son
aplicables a otro tipo de lenguajes como ASP o JSP. Aunque hay varias formas de
protegerse contra la Inyección SQL en PHP, a continuación se recomienda las
siguientes reglas generales:
· Utiliza siempre las comillas simples (') para delimitar las variables que vayas a
usar en una consulta a la base de datos. De esa manera la posibilidad de
Inyección SQL se ve reducida de forma considerable:
Ejemplo
· Realiza las validaciones pertinentes para verificar el tipo de dato que debe
tener una variable, ya sea en el lado del cliente media Javascript o bien por
parte del servidor utilizando PHP.
· Evita el uso del operador asterisco (*), a pesar de que una tabla X no contenga
más que 2 campos de debe tratar de evitar el uso del asterisco (*). Esto evitará
que datos o campos que no son utilizado ser obtenidos mediante una Inyección
SQL.
Ejemplo
<?
// Cómo evitar la inyección SQL
// Modificamos las variables pasadas por URL
foreach($_GET as $variable=>$valor){
$_GET[$variable] = str_replace("'","\'",$_GET[$variable]);
}
// Modificamos las variables de formularios
153
foreach($_POST as $variable=>$valor){
$_POST[$variable] = str_replace("'","\'",$_POST[$variable]);
}
?>
Tabla 5.5 Resumen sobre los ataques realizado en un escenario con mecanismos de prevención y mitigación de
ataques.
155
CAPITULO IV
Conclusiones
· Entre las herramientas de código abierto para enrutamiento basado en software más
destacado se encuentra el paquete Quagga, debido a que su configuración en consola
es muy parecida al realizado en los enrutadores comerciales como Cisco. Este
ambiente de configuración permite que personas no familiarizadas con este tipo de
equipos puedan hacerlo fácilmente, incluso si no se tiene conocimientos muy
avanzados de Linux, por ser una aplicación fácil de instalar y configurar. Además por
ser una herramienta de código abierto y de libre distribución constituye una
alternativa de bajo costo y de buen funcionamiento ante escenarios de enrutamiento
para el aprendizaje.
· Al inicio del desarrollo del presente proyecto se utilizaron algunas herramientas para
análisis de tráfico en una red TCP/IP, como es Abel y Cain, TcpDump y Ettercap. Sin
embargo Wireshark, viene provista de innumerables funcionalidades gracias a las
cuales se puede identificar y analizar múltiples problemas de red, no solo aquellos
causados por malas configuraciones sino también por una gran variedad de ataques,
externos e internos, por lo que es considerada una de las herramientas más utilizada
para evaluar el flujo de datos en el esquema de redes TCP/IP propuestos, durante la
evaluación de los ataques en el presente proyecto.
Recomendaciones
· En vista que el ataque escaneo de puertos del tipo TCP FIN, devuelve puertos que
figuran como abiertos, aunque realmente estén cerrados o silenciosos. Se recomienda
tener cuidado a la hora de usar esta técnica.
Referencias Bibliográficas
Bibliografía Principal
testbeds with VNUML,”, Annals of Telecommunications, vol. 64(5), pp. 305-323, May
2009.
[20.] Hacker Prof, The ultimate Guide Network Security, by Lors Klander, Jamsa Press,
Las Vegas 1997
[21.] Matthews, J., Hapuarachi, W., Deshane, Hu, M. T., Quantifying the Performance
Isolation Properties of Virtualization Systems. In Proc. of Workshop on Experimental
computer science ExpCS’07, 13–14 June, 2007, San Diego, CA.
[22.] W. Fuertes and J. E. López de Vergara, “An emulation of VoD services using virtual
network environments,”. In Proc. GI/ITG Workshop on Overlay and Network
Virtualization NVWS'09, Kassel-Germany, March 2009.
[23.] W. Fuertes and J. E. López de Vergara, “A quantitative comparison of virtual network
environments based on performance measurements,”, in Proceedings of the 14th HP
Software University Association Workshop, Garching, Munich, Germany, 8-11 July
2007.
[24.] C. Lee, C. Roedel, E. Silenock, “Detection and Characterization of Port Scan
Attacks”, [Online:] “http://cseweb.ucsd.edu/users/clbailey/PortScans.pdf
[25.] Hacking: VII Ataques por Fuerza Bruta. [Online:]:
http://jbercero.com/index.php?option=com_content&view=article&id=71:hacking-vii-
ataques-por-fuerza-bruta&catid=40:hacking-tecnicas-y-contramedidas&Itemid=66
[26.] Laboratorios: Hacking, Técnicas y contramedidas, Ataques por fuerza bruta (Brute
Force) III. [Online:] http://labs.dragonjar.org/laboratorios-hacking-tecnicas- fuerza-
bruta-brute-force-iii
[27.] F. Callegati, W. Cerroni, and M. Ramilli, “Man-in-the-middle attack to the HTTPS
protocol,” IEEE Security and Privacy, vol. 7, no. 1, pp. 78–81, 2009
[28.] J. Li, N. Li, X. Wang, and T. Yu. Denial of Service Attacks and Defenses in
Decentralized Trust Management. In ACM CCS, 2006.
[29.] Jacobson, V., Leres, C., and McCanne, S. Tcpdump. Available at
[email protected]
[30.] Raúl Espinosa Soriano,10-11-2011, Instalación y configuración dePOSTFIX – SASL
–TLS – DOVECOT –SQUIRRELMAIL -MAILMAN
[31.] Wireshark: http://www.wireshark.org/. Ultima comprobación, Jul. 2010.
[32.] Nmap, www.nmap.org. Ultima comprobación Octubre de 2010.
[33.] Nemesis, http://nemesis.sourceforge.net/. Ultima comprobación, 20 de octubre de
2010.
Bibliografía Secundaria