Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso Ethical Hacking PDF
Curso Ethical Hacking PDF
e-mail: ReYDeS@gmail.com
“Ethical Hacking”
Curso de Seguridad Informática
Primer Módulo
Temario del Primer Módulo
Reportar
Herramientas de reconocimiento.
Búsquedas Whois
Búsquedas DNS
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
La Mentalidad del Hacker Ético
Un Hacker Ético es motivado por diferentes razones, pero su propósito es similar
al de los Hackers Maliciosos. Determinar lo que es visible en la red o sistema
objetivo, y lo que se puede realizar con esta información. Este proceso de
pruebas de seguridad contra los sistemas o redes, se conoce como una Prueba
de Penetración.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Terminología Básica
1. Amenaza: Es una acción o evento que puede comprometer la seguridad.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Terminología Avanzada
1. Hacking Ético: El Hacking Ético en su concepto más tradicional consiste en
manipular la tecnología de tal manera que funcione de maneras diferentes para
las cuales no fue diseñada originalmente.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Tipos de Pruebas de Penetración
Los Hackers Éticos utilizan diferentes métodos para violar la seguridad de una
organización La mayoría de ellos son especialistas en algunos o varios de los
siguiente métodos de ataque. Los puntos de entrada más comunes para un
ataque son:
2. Red local (LAN): Simula a alguien con acceso físico ganando acceso adicional
no autorizado utilizando la red local. El Hacker Ético debe ganar acceso directo a
la red local para poder lanzar este tipo de ataque. Las Redes Inalámbricas
también caen en esta categoría y añade un nuevo vector de ataque sobre las
ondas de radio.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Tipos de Pruebas de Penetración (Cont.)
4. Robo de Equipos: Simula el robo de equipos conteniendo recursos con
información crítica tal como una laptop propiedad de un empleado. Con esta
acción se puede ganar Información tal como nombres de usuario, contraseñas,
configuraciones de seguridad, y tipos de cifrado. Esto generalmente se pasa por
alto en muchas organizaciones.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Fases del Hacking Ético
Los atacantes maliciosos y profesionales aplican varias fases en los ataques o
pruebas.
Reconocer
1. El Reconocimiento es el proceso de investigar (Reconnaissance)
la organización objetivo para obtener la mayor
Cantidad de información sobre ella.
Escanear
2. El Escaneo es el proceso de encontrar entradas (Scanning)
o vulnerabilidades en la organización objetivo.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Limitaciones en las Pruebas de Penetración
Algunas de las limitaciones de las Pruebas de Penetración están asociadas con la
naturaleza de los proyectos. Generalmente tiene un alcance limitado, dado que
las organizaciones algunas veces no pueden evaluar todo debido a una limitación
de recursos. Otro factor es el tiempo, dado que normalmente se define un tiempo
para realizar la evaluación.
Para los atacantes maliciosos no hay limitaciones, dado que estos pueden atacar
cualquier sistema del objetivo que se crea conveniente y realizar estos ataques en
días, meses o años.
El riesgo de dejar fuera de servicio un objetivo durante las pruebas debe ser
comunicado y coordinado con el cliente. Dado que debe ser definido en las reglas
del contrato.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Metodologías
1. OSSTMM: Open Source Security Testing Methodology Manual 3.0
* OSSTMM: http://www.isecom.org/research/osstmm.html
* OWASP: https://www.owasp.org/index.php/Category:OWASP_Testing_Project
* NIST SP800-115: http://csrc.nist.gov/publications/nistpubs/800-115/SP800-115.pdf
* NIST SP800-42: www.iwar.org.uk/comsec/resources/netsec-testing/sp800-42.pdf
* http://www.oissg.org/issaf
* http://www.vulnerabilityassessment.co.uk/Penetration%20Test.html
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Construir una Infraestructura de Pruebas
Para realizar pruebas satisfactorias, se debe establecer una infraestructura para
hacerlas, en lo referente a Software, Hardware e Infraestructura de Red. A
continuación se presentan algunas consideraciones.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Proceso de la Prueba de Penetración
Cuando se ha definido la infraestructura de pruebas es momento de realizar el
Hacking Ético o Pruebas de Penetración. Este procedimiento debe ser aplicado a
todas las pruebas a realizar y no se debe olvidar u obviar alguno de los pasos
detallados a continuación:
Además:
- Obtener detalles de la red (Depende del tipo de Prueba)
- Restricciones del contrato, Autorizaciones especiales, etc.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Reglas del Contrato
Las Reglas del Contrato deben ser definidas antes de que se inicie cualquier tipo
de prueba. Ambas partes; el cliente y el equipo de pruebas; deben estar de
acuerdo en ellas. Sin este documento se pueden generar inconvenientes muy
delicados y graves para ambas partes involucradas.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Alcance del Proyecto
El Alcance del Proyecto permite determinar que es lo que debe ser evaluado y
que no. Esto no solo implica determinar cuales son los sistemas objetivo o redes,
sino también los tipos de pruebas que se incluirán o no.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Temas Legales
Muchos países tienen leyes para tratar con crímenes cometidos utilizando
computadoras, o leyes de “cibercrimen”. Una gran cantidad de atacantes
“mueven” sus operaciones a países que no tienen estas leyes o cuyas leyes no
son las más adecuadas.
* DIVINDAT: http://www.policiainformatica.gob.pe
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Reportar
Es necesario organizar la información de las vulnerabilidades en un documento
interesante y estético para el cliente. Existe una diferencia entre un Reporte
Ejecutivo que será presentado a un Jefe de Área u Oficial de Seguridad y un
Reporte Técnico orientado a las personas que se encargarán de aplicar los
medidas correctivas sugeridas en el reporte.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Herramientas de Reconocimiento
El Reconocimiento es un procedimiento metódico y sistemático contra una
organización, el cual permite a un atacante crear un perfil muy completo sobre la
postura de seguridad de una organización.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Búsquedas en Sitios Web
1. Inteligencia Competitiva: Principales negocios, Principales productos y
servicios, Personas importantes, Principales competidores, Ubicación física,
Notas de prensa recientes.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Búsquedas WHOIS
WHOIS es un protocolo de consulta y respuesta ampliamente utilizado para
consultar bases de datos que almacenan los usuarios registrados o asignados a
un recurso en Internet, tal como un nombre de dominio, un bloque de dirección IP,
o un sistema autónomo. El protocolo almacena y entrega contenido en un formato
que pueda ser leído por los humanos. (RFC 3912)
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Búsquedas DNS
DNS (Domain Name System) es un sistema de nombramiento jerárquico
construido sobre un base de datos distribuida para computadoras, servicios, o
cualquier recurso conectado a Internet o una red privada.
B. Google/Bing Hacking:
C. Herramientas:
Segundo Módulo
Temario del Segundo Módulo
Tipos de Escaneo
Trazado de la Red
Escaneo de Vulnerabilidades
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Escaneo
El Escaneo se puede comparar a golpear las paredes de una construcción para
encontrar todas las puertas y ventanas. Durante el Reconocimiento se obtuvieron
listas de bloques de red y direcciones IP a escanear.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Consejos Generales para el Escaneo
1. Escanear la dirección IP: No escanear el nombre del host, dado que muchas
redes utilizan DNS para realizar balanceo de carga y otros esquemas de
distribución de tráfico entre varios objetivos.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Barridos de Red
1. Barridos de Red: Identifica cuales son las direcciones IP utilizadas en el rango
de la red objetivo.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Utilizar un Sniffer para el Escaneo
Un Sniffer debe ser configurado para mostrar los paquetes en tiempo real que
está generando las herramientas de escaneo; ya sea par los barridos de ping,
escaneo de puertos, entre otros, de esta manera; de esta manera se puede
visualizar la actividad desde el sistema y se puede verificar que la herramienta
esté funcionando adecuadamente. Estas herramientas permiten realizar filtrados
el tiempo real sobre los paquetes o guardarlos en un archivo.
* WireShark: http://www.wireshark.org/
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Barrido de Red con hping
El propósito es identificar los hosts en funcionamiento en la red objetivo,
determinar sus direcciones IP, para luego proceder con un análisis más profundo.
Si no se conoce lo que hay en el objetivo no se podrá evaluarlo.
Es una herramienta para ensamblar y analizar paquetes, muy útil para realizar
barridos de red con diferentes protocolos. Su interfaz se inspira en el comando
ping, pero Hping no solo es capaz de enviar ICMP Echo Requests. También
soporta protocolos TCP, UDP, ICMP y RAW-IP, tiene un modo traceroute, la
habilidad de enviar archivos en canales encubiertos, etc.
- Evaluación de Firewalls.
- Escaneo avanzado de puertos.
- Evaluación de red, utilizando diferentes protocolos, TOS, fragmentación.
- Traza de ruta avanzada, bajo todos los protocolos soportados.
- Huella del Sistema Operativo remoto.
- Auditoría de pila TCP/IP, entre otras funcionalidades.
* Hping: http://www.hping.org/
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Traza de la Red
Una vez identificado las probables redes y direcciones IP en funcionamiento, se
debe intentar determinar la ruta que siguen los paquetes al atravesar la red, de
esta manera se pude mapear la topología de la red, como también las potenciales
rutas de acceso a la red,
En Linux (Traceroute) envía por defecto paquetes UDP. En windows (Tracert) sin
embargo utiliza paquetes ICMP echo request.
* ICMP: http://tools.ietf.org/html/rfc777
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Escaneo de Puertos
El Escaneo de Puertos utiliza una variedad de técnicas para encontrar puertos
abiertos en los objetivos de evaluación. Es necesario determinar cuales son los
puertos abiertos y cerrados, y esto se realiza enviando paquetes al objetivo para
luego analizar las respuestas generadas.
Bits de Control
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Tipos de Escaneo de Puertos
1. TCP Connect Scan:
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Tipos de Escaneo de Puertos (Cont.)
2. TCP SYN Scan:
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Tipos de Escaneo de Puertos (Cont.)
3. TCP FIN Scan:
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Tipos de Escaneo de Puertos (Cont.)
5. TCP NULL Scan:
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Tipos de Escaneo de Puertos (Cont.)
7. TCP Window Scan:
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Tipos de Escaneo de Puertos (Cont.)
9. UDP scan:
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Nmap
Nmap (Network Mapper) es una utilidad open source, escrito originalmente por
Gordon Lyon (Fyodor), para descubrimiento de redes y auditoría de seguridad.
También es útil para tareas como inventario de la red, programación en el manejo
de actualización de servicios, vigilancia de la red, o tiempo de funcionamiento de
un servicio.
Nmap utiliza paquetes IP en bruto para determinar cuales hosts están disponibles
en la red, cuales servicios (nombre y versión de aplicación) que aquellos host
ofrecen, cuales sistemas operativos (y versión del SO) están ejecutando, cuales
tipos de firewalls/filtros de paquetes están utilizando, y muchas otras
características.
Nmap está diseñada para escanear rápidamente redes grandes, de igual manera,
funciona bien contra host únicos. Se ejecuta en los principales Sistemas
Operativos y también incluye un GUI y visor de resultados (Zenmap), una
herramienta de transferencia de datos, redirección y depuración (Ncat), una
utilidad para comparar resultados (Ndiff), y una herramienta de generación de
paquetes y análisis de respuesta (Nping).
* nmap: http://nmap.org/
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Huella del Sistema Operativo
Determinando la plataforma del objetivo, el atacante puede investigar el sistema
para determinar cuales son sus vulnerabilidades particulares. Para esto se utilizan
dos tácticas de detección:
Trata de identificar el Sistema Operativo del objetivo, a un nivel tan profundo como
sea posible, interactuando directamente con el.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Huella del Sistema Operativo (Cont.)
2. Detección Pasiva del Sistema Operativo
Las técnicas detalladas anteriormente son son de naturaleza activa. Por lo tanto
puede ser fácil para un sistema de red con IDS o IPS, determinar que se ha
lanzado o se está ejecutando un escaneo de identificación del Sistema Operativo.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Escaneo de Versión
Una vez que se han determinado los puertos abiertos en el objetivo, se debe
determinar cuales son los servicios que están utilizando estos puertos. El conocer
el número exacto de versión de un servicio, ayuda a determinar si el servidor es
vulnerable a algún exploit.
Otra razón para determinar los tipos de servicio y número de versión es que
muchos servicios comparten el mismo número de puerto, esto hace menos
precisa su detección. Por lo que se pueden encontrar servicios atendiendo en
puertos inusuales, los cuales son un completo misterio sin la detección de
versiones. Algunas veces, los puertos UDP filtrados se ven igual que un puerto
abierto, con un simple escaner de puertos.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Escaneo de Vulnerabilidades
El objetivo de un Escaneo de Vulnerabilidades es encontrar las fallas
potenciales de seguridad en el entorno objetivo. Descubriendo malas
configuraciones, servicios sin parchar, arquitecturas erróneas, entre otras.
* Nessus: http://www.nessus.org/nessus/
* OpenVas: http://www.openvas.org/
* Nexpose: http://www.rapid7.com/products/nexpose/
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Nmap Scripting Engine
Los NSE son una de las características más poderosas y flexibles de Nmap. Este
permite a los usuarios escribir (y compartir) scripts sencillos para automatizar una
amplia variedad de tareas de redes. Estos scripts son además ejecutados en
paralelo con la velocidad y eficiencia que se esperar de Nmap. Los usuarios
pueden confiar en el conjunto creciente y diverso de los scripts distribuidos con
Nmap, o escribir los propios para necesidades específicas.
Se ha diseñado NSE para ser versátil, con las siguientes tareas en mente:
1. Descubrimiento de la red.
2. Detección más sofisticada de la versión
3. Detección de vulnerabilidades.
4. Detección de puertas traseras (BackDoors)
5. Explotación de vulnerabilidades.
Los scripts NSE definen una lista de categorías como; auth, broadcast, brute,
default, discovery, dos, exploit, fuzzer, intrusive, malware, etc
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Enumeración
Se puede obtener una gran cantidad de información mediante la Enumeración,
aunque puede parecer inofensiva en primera instancia.
Sin embargo, esta información que es posible obtener de las fallas puede ser la
ruina completa para el sistema objetivo. Entre la información que el atacante
puede ver por medio de la enumeración se incluye:
Una vez que se enumera un servicio solo es cuestión de tiempo antes de que el
intruso comprometa el sistema o que pueda ser atacado de alguna manera, si es
que no es comprometido completamente.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
netcat
Netcat es una herramienta de red TCP y UDP para Linux y Windows, que envía
datos a o desde un puerto TCP o UDP, o escucha por datos que vienen desde un
puerto TCP o UDP. Con esta sencilla funcionalidad, se puede utilizar netcat para
todo tipo de tareas que los analistas en pruebas de penetración enfrentan a diario.
Cuando netcat recibe datos desde la red, lo coloca en la salida estándar. La salida
estándar puede ser la pantalla, redirección a un archivo, o enviarlo a otro
programa mediante la entrada estándar. Para enviarlo a otro programa se puede
utilizar la tubería “|” o con el parámetro “-e”.
* netcat: http://nc110.sourceforge.net/
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Ethical Hacking
Curso de Seguridad Informática
Tercer Módulo
Temario del Tercer Módulo
Categorías de Exploits
Metasploit Framework
Utilizando Meterpreter
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Explotación
Un exploit es una pieza de código o técnica que utiliza una amenaza para
aprovecharse de un vulnerabilidad en el Sistema Objetivo. Al explotar el objetivo
se obtiene alguna forma de acceso al sistema, comúnmente la capacidad de
ejecutar comandos.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Categorías de Exploits
1. Exploits del Lado del Servidor
Para que un exploit de este tipo funcione, el atacante debe poder obtener
paquetes del servicio objetivo, si existe algún tipo de filtrado (firewall, IDS, IPS,
etc), debe permitir acceso entrante al servicio que está tratando de explotar el
atacante, caso contrario no será capaz de utilizar un exploit del lado del servidor.
Una vez que el atacante gana acceso a una máquina dentro del firewall, puede
utilizar el sistema para explotar otros sistemas.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Categorías de Exploits (Cont.)
2. Exploits del Lado del Cliente
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Categorías de Exploits (Cont.)
3. Exploits para Escalado local de Privilegios
En un ataque de este tipo, el atacante ejecuta código que permite que un proceso
con privilegios limitados salte en privilegios para funcionar con permisos más altos
en el sistema. También puede utilizar un proceso con privilegios limitados para
atacar un proceso con privilegios elevados y hacerlo ejecutar algún código.
Ambos escenarios son una forma de escalado local de privilegios. El objetivo es
permitir a un atacante ejecutar código con privilegios elevados, tal como root o
Administrador / SYSTEM.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Metasploit Framework
Metasploit Framework es una solución de Pruebas de Penetración libre y abierta
desarrollada por la comunidad Open Source y Rapid7. Es el estándar de facto
para Pruebas de Penetración con más de un millón de descargas únicas por año.
Además es la base de datos pública de exploits más grande con una calidad
asegurada.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Metasploit Framework (Cont.)
1. back: Sale del contexto actual. Ejemplo; salir de un módulo.
2. check: Verifica que el objetivo es vulnerable a un exploit en particular.
3. connect: Un netcat en miniatura, soporta SSL, proxys, envío de archivos.
4. exploit vs. run: Cuando se lanza un exploit se utiliza “exploit”, cuando se usa un
módulo auxiliar se usa “run”, aunque “exploit” también funciona.
5. jobs: Muestra módulos ejecutándose en background. Permite terminarlos.
6. load: Carga un plugin desde el directorio “plugin”. Los parámetros son del tipo
“clave=valor”.
7. resource: Carga un archivo “batch” de recursos mediante msfconsole.
8. route: Permite encaminar sockets a través de una sesión.
9. info: Proporciona información detallada de un módulo en particular.
10. set: Permite configurar las opciones y parámetros del framework.
11. sessions: Permite listar, interactuar y terminar sesiones desplegadas.
12. search: Funcionalidad de búsqueda con expresiones regulares.
13. show: Muestra cada módulo dentro de Metasploit.
14. setg: Define variables globales dentro de msfconsole.
15. use: Selecciona un módulo particular para ser utilizado.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Meterpreter
Meterpreter es la abreviación de Meta-Interpreter (Meta Interprete), es un payload
muy avanzado que está incluido en Metasploit Framework. Su propósito es
proporcionar un entorno de comandos que se ejecute dentro de la memoria de un
proceso que ha sido explotado.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Meterpreter (Cont.)
Meterpreter puede ser el instrumento para maximizar la efectividad de las
pruebas, así es que se deben entender bien sus principales comandos.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Herramientas de Control en Línea de Comando
1. Netcat
2. Psexec
3. Metasploit Framework
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Herramientas de Control Gráficas
Una shell de comandos remoto puede ser extraordinario, pero Windows es un
entorno tan orientado a la parte gráfica, que un GUI remoto (Interfaz Gráfica de
Usuario) puede ser un movimiento maestro.
Metaploit Framework también tiene algunos “Payloads” que permiten utilizar las
características de VNC.
* RealVNC: http://www.realvnc.com/
* TightVNC: http://www.tightvnc.com/
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Transferir Archivos de Exploits
Durante las Pruebas es necesario transferir archivos conteniendo exploits a través
de diferentes plataformas. Algunos mecanismos utilizados son:
1. TFTP: (Trivial File Transfer Protocol) Mueve archivos sin autenticación entre un
cliente tftp y un servidor tftpd utilizando el puerto UDP/69.
2. FTP: Mueve archivos utilizando dos conexiones, una conexión de datos (Puerto
TCP/20) y un conexión de control (Puerto TCP/21).
3. SCP: (Secure Copy) es parte de Secure Shell (SSH), utiliza el puerto TCP/22.
Encripta la información de autenticación y datos. Muchas redes permiten
conexiones salientes SSH y muchos Linux lo incluyen.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Recabar Información del Sistema
Cuando se compromete una máquina objetivo, se debe analizar cuidadosamente
la máquina para determinar si almacena información que puede ser utilizada para
lograr comprometer más objetivos en la Prueba de Penetración. La información de
una máquina comprometida puede dar al “Hacker” ventajas para demostrar a la
empresa el riesgo. La información capturada del sistema comprometido puede ser
extremadamente útil para identificar y explotar otros sistemas en la organización
objetivo.
Información a capturar:
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Kung fu para Windows en Línea de Comando
Con un acceso shell, un atacante requiere tener sólidos conocimientos de la línea
de comando en Windows para maximizar la utilidad del sistema comprometido.
Conocer la línea de comandos en Windows es muy útil para las Pruebas de
Penetración, por las siguientes razones:
2. Con sólo tener acceso shell, el atacante necesita conocimientos muy sólidos
para ejecutar acciones mediante la línea de comandos.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Ethical Hacking
Curso de Seguridad Informática
Cuarto Módulo
Temario del Cuarto Módulo
Las Contraseñas
Cain
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Ataques a las Contraseñas
Los ataques contra las contraseñas son un componente fundamental para el
Hacker Ético. En la actualidad las contraseñas son la forma más dominante para
la autenticación de los usuarios. Muchas organizaciones permiten acceso con un
ID de usuario y contraseña a Redes privadas virtuales, shell seguro, aplicaciones
web, y correo electrónico.
Mientras que un exploit remoto es un “sueño ideal”, una vez que una máquina ha
sido comprometida, el atacante puede realizar un ataque contra las contraseñas
para obtener acceso a otros sistemas. Se necesita tanto los exploits como
ataques contra las contraseñas para realizar una buena prueba de penetración.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Adivinar vs. Romper Contraseñas
1. Adivinar Contraseñas
Implica analizar y formular como adivinar una contraseña e intentar utilizarla para
un usuario del sistema objetivo, ya sea en la red o de manera local. Este método
genera muchas entradas en los registros, lo cual puede “alertar” a los IDS, IPS,
Sistemas, y también puede bloquear las cuentas atacadas. Suele ser un proceso
más lento, aunque esto depende de la velocidad del sistema y desempeño de la
red.
Con esta técnica el atacante intenta obtener una copia del archivo con la
representación de contraseñas de la máquina objetivo, o también “husmeando” la
red. Luego el atacante “rompe” (Crack) las contraseñas, cifrando cada una de las
contraseñas y comparándolas con las contraseñas capturas. Si estas son iguales,
se ha obtenido la contraseña y el atacante puede utilizarla. Este método no
bloquea cuentas, se puede adivinar contraseñas más rápido y el atacante puede
probar cientos o miles de contraseñas por minuto.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Consejos para Atacar Contraseñas
1. Contraseñas sincronizadas: Usuarios reutilizan sus contraseñas entre
sistemas. Siempre “romper” contraseñas de sistemas comprometidos.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Bloqueo de Cuentas
Si la pruebas involucran el proceso de intentar adivinar contraseñas, existe la
probabilidad de bloquear las cuentas de los usuarios validos del sistema, lo cual
causaría una Negación de Servicio (DoS).
Mientras se realiza este tipo de pruebas, se debe tener contacto con el personal
que administra los sistemas para vigilarlos y determinar si algunas de las cuentas
han sido bloqueadas por las pruebas.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Evitar el Bloqueo de Cuentas
Dado el peligro de bloqueo de cuentas para los Hackers Ético, la pregunta es
¿Cuales son las opciones que se tienen?.
3. Más seguro y trabajoso. El personal del objetivo debe crear una o más cuentas
de prueba en las máquinas objetivo. Luego el equipo que realiza la prueba de
penetración, intentará bloquear estas cuentas y lo verificará intentando hacer login
en alguna de ellas. Si la cuenta funciona, entonces existe mucha probabilidad, de
que el objetivo no tiene la funcionalidad de bloqueo de cuentas.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Adivinar Contraseñas con Hydra
THC-Hydra es una herramienta que permite realizar ataques
para intentar adivinar contraseñas contra servicios de red.
Es una herramienta en línea de comando, pero también
existe una interfaz gráfica, la cual permite al usuario
configurar varias opciones y generar una línea de comando
que se ejecutará con Hydra.
Hydra puede ser configurada para ejecutarse contra un solo objetivo, o leer
objetivos de un archivo. Puede intentar adivinar la contraseña de un solo usuario
o de un conjunto de usuarios desde un archivo, como también un conjunto de
contraseñas desde un archivo con diccionarios. Hydra puede evaluar un solo
usuario con combinaciones de contraseñas, contra varios objetivos, o intentar
varios usuarios con una única contraseña contra un solo objetivo, o cualquiera de
estas combinaciones.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Formatos para Representar Contraseñas
1. LAN Manager Hash (LM hash, LanMan, o LAN Manager hash)
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Formatos para Representar Contraseñas (Cont.)
2. Hash NT
585028AA0F794AF812EE3BE8804EB14A
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Formatos para Representar Contraseñas (Cont.)
3. Reto/Respuesta de Windows sobre la Red
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Formatos para Representar Contraseñas (Cont.)
4. Representación en Sistemas Linux
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Capturar Contraseñas
Existen varios métodos para obtener la contraseña encriptada o cifrada, de tal
manera que se pueda utilizar en el ataque.
1. En GNU/Linux
2. En Windows
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
John The Ripper
Es un software que permite romper (Crack) contraseñas, está disponible para
distribuciones GNU/Linux, Windows, etc. Su propósito principal es la detección de
contraseñas débiles en GNU/Linux, pero también soporta Windows LM hashes,
además de una amplia diversidad mediante la utilización de parches.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Cain & Abel
Cain & Abel es una herramienta de recuperación de contraseñas para Sistemas
Operativos Microsoft. Permite la fácil recuperación de varios tipos de contraseñas,
husmeando la red, crackeando contraseñas cifradas utilizando diccionario,
ataques por fuerza bruta y criptoanálisis, grabar conversaciones VoIP, decodificar
contraseñas revueltas, recuperar claves de redes inalámbricas, revelar cajas de
contraseñas, descubrir contraseñas almacenadas en caché y analizar protocolos
de encaminamiento.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Ataques Rainbow Tables
El cracking ha evolucionado hacia la utilización de tablas de hashs previamente
calculadas, para reducir significativamente el tiempo necesario para generar
hashs y realizar la comparación.
* ophcrack: http://ophcrack.sourceforge.net/
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Ataques Pass-The-Hash
Con este ataque si se obtiene un hash, este puede ser utilizado para ganar
acceso al sistema sin necesidad de conocer previamente la contraseña utilizada
para crear el Hash.
Estos ataques son dirigidos contra Sistemas Windows. Los usuarios ingresan sus
contraseñas una sola vez y utilizar recursos sin que se les solicite nuevamente la
contraseña. Esto requiere que el sistema tenga un caché de credenciales del
usuario en el sistema. Reemplazando esta credencial con un hash de la
contraseña, se puede hacer una autenticación posterior utilizando el hash en lugar
de la credencial original.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Ethical Hacking
Curso de Seguridad Informática
Quinto Módulo
Temario del Quinto Módulo
Aplicaciones Web
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Aplicación Web
Existen dos propiedades fundamentales para definir una aplicación web. En
primera instancia, la aplicación web se accede mediante HTTP o HTTPS a través
de la red. En segundo lugar, las aplicaciones web involucran la utilización de un
servidor web. Estas propiedades hacen una aplicación web.
Servidor
Navegador BD
Web
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Escanear Vulnerabilidades al Servidor Web
Nikto2
Nikto es un escaner Open Source para el servidor web el cual realiza más de
6,500 pruebas potencialmente peligrosas, como archivos/CGIs, verificación de
versiones desactualizadas de 1,250 servidores, y problemas específicos en
alrededor de 270 servidores. También verifica los programas utilizados
comúnmente que son parte de una aplicación web, código de ejemplo incluido en
algunas instalaciones de servidores web, u otros scripts con fallas. Busca scripts
con tecnologías vulnerables CGI, PHP, ASP y similares. Los plugins pueden ser
actualizados.
Nikto no está diseñado para ser una herramienta sutil. Realizará las pruebas
contra un servidor web de la manera más rápida posible, dejando rastros en los
archivos de registro. Sin embargo soporta métodos anti IDS.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Escanear Vulnerabilidades al Servidor Web (Cont.)
OWASP Webscarab
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Vulnerabilidades en Aplicaciones Web
Una vulnerabilidad es un agujero o debilidad en la aplicación, el cual puede ser
por una falla en el diseño o error de implementación, la cual permite al atacante
causar daño a la aplicación. Incluyendo los propietarios, usuarios y otras
entidades que utilizan la aplicación. Se debe distinguir entre amenaza, ataque y
medidas correctivas. Algunas de estas son:
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
CSRF
CSRF (Cross Site Request Forgery) es un ataque que obliga al usuario final a
ejecutar acciones no deseadas en la aplicación web, en la cual se encuentra
autenticado.
EL CSRF es un ataque que engaña a la víctima para cargar una página que
contiene una petición maliciosa. En el sentido que hereda la identidad y privilegios
de la víctima para realizar funciones no deseadas en nombre de esta, como
cambiar su dirección de correo, dirección de casa, contraseña, o comprar algo.
Los ataques CSRF tienen como objetivo generalmente funciones que causan un
cambio de estado en el servidor, pero también pueden ser utilizados para acceder
a datos sensibles.
* CSRF: https://www.owasp.org/index.php/CSRF
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
CSRF (Cont.)
CSRF mediante una petición GET.
* Fuente: http://www.linuxforu.com/2010/11/securing-apache-part-3-xsrf-csrf/
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
XSS
(XSS) Cross Site Scripting son un tipo de problema de inyección, en el cual un
script malicioso se inyecta en sitios webs confiables y benignos. Los ataques XSS
ocurren cuando un atacante utiliza una aplicación web para enviar código
malicioso, generalmente en la forma de un script en el lado del navegador a un
usuario final diferente. La fallas que permiten a estos ataques ser satisfactorios
son ampliamente conocidos, y ocurren en cualquier aplicación web que utilice una
entrada de usuario y una salida que se genera sin validación o codificación.
Un atacante puede utilizar un XSS para enviar scripts maliciosos a un usuario sin
generar ningún tipo de sospechas. El navegador del usuario final no tiene manera
de saber que el script no es confiable, y por lo tanto ejecutará este script
malicioso. Debido a que cree que el script viene de una fuente confiable, el script
malicioso puede acceder a cualquier cookie, tokens de sesión, y otra información
sensible mantenida en el navegador y utilizado con este sitio. Estos scripts
también pueden reescribir el contenido de una página HTML.
* XSS: https://www.owasp.org/index.php/Cross_site_scripting
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
XSS (Cont.)
XSS Reflejado
* Fuente: http://www.linuxforu.com/2010/09/securing-apache-part-2-xss-injections/
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
SQLi
Una Inyección SQL consiste en la inserción o inyección de una consulta “SQL” por
medio de la entrada de datos desde un cliente a una aplicación.
Una explotación satisfactoria de inyección SQL puede leer datos sensibles de una
base de datos, modificar la base de datos (Insertar, Actualizar, Borrar), ejecutar
operaciones de administración en la Base de Datos (Como apagar el DBMS),
recuperar el contenido de un archivo existente en el sistema de archivos de la
DBMS, y en algunos casos entregar comandos al sistema operativo. Los ataques
de inyección SQL son un tipo de ataques de inyección, en los cuales comandos
SQL son inyectados en la entrada de datos para poder realizar la ejecución de
comandos SQL
* SQLi: https://www.owasp.org/index.php/SQL_Injection
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
SQLi (Cont.)
Inyección SQL.
Seguridad Informática - Módulo 1: Ethical Hacking :: Centro de Informática y Sistemas - UCV :: Alonso Eduardo Caballero Quezada
Ethical Hacking
Curso de Seguridad Informática
¡Muchas Gracias!
e-mail: ReYDeS@gmail.com