Sei sulla pagina 1di 54

Curso

Hacking
con Kali Linux
Alonso Eduardo Caballero Quezada
Consultor e Instructor en Hacking Ético y Forense Digital
e-mail: ReYDeS@gmail.com

Sitio Web: www.mile-sec.com | e-mail: capacitacion@mile-sec.com

Noviembre 2018
Sobre MILE-SEC

MILESEC E.I.R.L, es una empresa de capitales Peruanos fundada en el 
año 2017, la cual está netamente dedicada a brindar servicios de 
capacitación, relacionados con las áreas de seguridad de la información y 
tecnologías de la información, tales como; Pruebas de Penetración 
(Penetration Testing), Hacking Ético (Ethical Hacking), Evaluación de 
Vulnerabilidades (Vulnerability Assessment), Forense de Computadoras 
(Computer Forensics) y Forense Digital (Digital Forensics). Brinda servicios 
de consultorías especializadas en todas las áreas mencionadas.

http://www.mile­sec.com/

informes@mile­sec.com / mileseceirl@gmail.com

https://www.facebook.com/mileseceirl/

https://twitter.com/mileseceirl

https://www.linkedin.com/in/milesec/
Curso Hackin con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Temario

● Configurar un Laboratorio Virtual
● Introducción a Kali Linux
● Bases de Programación
● Scripting con Bash y Python
● Utilizando Metasploit Framework
● Payloads
● Tipos de Shells
● Configurar Manualmente un Payload
● Utilizar Módulos Auxiliares
● Captura de Información
● Captura OSINT
● Escaneo de Puertos
● Encontrar Vulnerabilidades
● Nessus
● Nmap Scripting Engine NSE
● Módulos para el Escaneo en Metasploit
● Escaneo de Aplicaciones Web
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Temario (Cont.)

● Análisis Manual
● Captura de Tráfico
● Utilizando Wireshark
● Envenenamiento del Cache ARP y Cache DNS
● Ataques SSL y SSL Stripping
● Explotación Remota
● Explotación a WebDAV y PhpMyAdmin
● Descargar Archivos Sensibles
● Explotar Aplicaciones Web de Terceros, Servicios Comprometidos, 
Recursos Compartidos NFS.
● Ataques en Línea de Contraseñas
● Ataques Fuera de Línea de Contraseñas
● Explotación del Lado del Cliente
● Evadiendo Filtros con Payloads de Metasploit
● Ataques del Lado del Cliente
● Ingeniería Social
● Social Engineer Toolkit SET
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Temario (Cont.)

● Ataques Web
● Evadir Antivirus
● Como Funcionan los Antivirus
● Evadiendo un Programa Antivirus
● Post Explotación
● Meterpreter
● Scripts de Meterpreter
● Módulos de Post Explotación en Metasploit
● Escalado de Privilegios Locales
● Captura de Información Local
● Movimiento Lateral
● Pivoting
● Persistencia

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Presentación

Kali Linux es una distribución basada en GNU/Linux Debian, dirigida a 
auditorias de seguridad y pruebas de penetración avanzadas. 

Kali Linux contiene cientos de herramientas destinadas a diversas tareas 
en seguridad de la información, tales como pruebas de penetración, 
investigación de seguridad, forense digital e ingeniería inversa. 

Kali Linux. Incluye herramientas para la captura de información, análisis de 
vulnerabilidades, análisis de aplicaciones web, evaluación para bases de 
datos, ataques a contraseñas, ataques inalámbricos, Ingeniería Inversa, 
herramientas para la explotación, sniffing y spoofing, explotación posterior, 
forense digital, y herramientas para el reporte.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Objetivos

Este curso proporciona una excelente fuente de conocimiento para iniciarse 
en el área del Hacking Ético, además de ser una guía práctica para la 
utilización de las herramientas más populares durante la realización de 
Pruebas de Penetración. 

Así mismo este curso proporciona conocimientos fundamentales sobre 
pruebas de penetración utilizando Kali Linux, conceptos sobre 
programación, metasploit, captura de información, búsqueda de 
vulnerabilidades, técnicas para la captura de tráfico, explotación de 
vulnerabilidades, técnicas manuales de explotación, ataques a 
contraseñas, ataques del lado del cliente, ingeniería social, técnicas para 
evadir antivirus y técnicas de post­explotación.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Configurar un Laboratorio Virtual

Durante el aprendizaje sobre Hacking Ético y Pruebas de Penetración, se 
requiere tener un laboratorio de pruebas para utilizar las diversas 
herramientas, y aplicar las técnicas en un entorno controlado.

La manera más simple es utilizar software de virtualización, para configurar 
sistemas operativos y simular una red usando una única máquina física.

● VirtualBox
● VMWare Player

Máquinas Virtuales

● Kali Linux
● VulnHub (Vulnerable by Design)

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Introducción a Kali Linux

Kali Linux es una distribución basada en Debian GNU/Linux dirigida a 
auditorias de seguridad y pruebas de penetración avanzadas. Contiene 
cientos de herramientas destinadas a tareas de seguridad de la 
información, como pruebas de penetración, forense e ingeniería inversa.

● Incluye más de 600 herramientas para pruebas de penetración.
● Es libre y siempre lo será.
● Árbol Git (Sistema distribuido para control de versión) open source.
● Cumple con FHS (Estándar para la jerarquía del sistema de archivos).
● Amplio soporte para dispositivos inalámbricos.
● Kernel personalizado con parches para inyección.
● Es desarrollado en un entorno seguro.
● Paquetes y repositorios firmados con GPG (GNU Privacy Guard).
● Soporta diversos lenguajes.
● Completamente personalizable.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Características Especiales de Kali Linux

● Completa personalización de las ISOs de Kali Linux
● ISO del Infiero de Kali Linux y otras recetas para Kali
● USB en vivo de Kali Linux con persistencia encriptada LUKS
● USB en vivo de Kali Linux con múltiples almacenamientos persistentes
● Encriptación completa del disco en Kali Linux
● Encriptación LUKS en Kali Linux
● Metapaquetes con Kali Linux
● Imágenes Kali Linux en Amazon EC2 AWS
● Características para accedibilidad de Kali Linux
● Despliegue automático para Kali Linux
● Kali Linux sobre dispositivos Raspberry Pi y otros dispositivos ARM
● Modo forense de Kali Linux
● Kali Linux Nethunter
● Kali Linux ejecutándose en Android
● Encriptación del disco en Raspberry Pi 2

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Bases de Programación

El poder escribir programas, permite la automatización para diversas tareas 
útiles durante el desarrollo de diversas evaluaciones.

Bash

Los guiones en Bash (bash scripts) ejecutan varios comandos a la vez. Los 
guiones Bash o guiones shell (shell scripts), son archivos los cuales 
incluyen diversos comandos a ser ejecutados. Cualquier comando factible 
de ser ejecutado en una terminal puede ser ejecutado en un guion. 

Python

Los sistemas GNU/Linux típicamente incluyen interpretes para otros 
lenguajes de scripting, como Python o Perl. Kali Linux no es la excepción. 
Python puede ser utilizado para escribir códigos propios de explotación.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Shell Bash

!/bin/bash
# Script para enviar paquetes ICMP (Ping) hacia un rango de red
#

if [ "$1" == "" ]
 then
  echo "Uso: ./script_ping.sh [Red]"
  echo "Ejemplo: ./script_ping 192.168.0"
 else
  for x in $(seq 1 254); do
  ping ­c 1 $1.$x | grep "64 bytes"
 done
fi

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Python

#!/usr/bin/python

import socket
ip = raw_input("Ingrese la direccion IP: ")
port = input("Ingrese el puerto: ")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
if s.connect_ex((ip, port)):
print "El puerto ", port, "esta cerrado."
else:
print "El puerto ", port, "esta abierto."

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Utilizando Metasploit Framework

Metasploit Framework es una plataforma modular basada en Ruby para 
realizar Pruebas de Penetración, la cual permite escribir, evaluar, y ejecutar 
códigos de explotación. 

Metasploit Framework contiene un conjunto de herramientas las cuales 
pueden ser utilizadas para evaluar vulnerabilidades de seguridad, enumerar 
redes, ejecutar ataques, y evadir la detección. 

En su núcleo, Metasploit Framework es una colección de herramientas 
comúnmente utilizadas, el cual proporciona un completo entorno para 
realizar pruebas de penetración y desarrollar “exploits”.

Se considera actualmente como la única y más simple de las herramientas 
para auditoría, libremente disponible para los profesionales en seguridad.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Payloads

Cuando ya se ha definido la utilización de un módulo “exploit” en Metasploit 
Framework, al parecer todo está listo hasta aquí, pero esto no es así. 

Se le debe indicar al “exploit” aquello a realizar en el objetivo cuando este 
sea explotado.

Una de las maneras en la cual Metasploit Framework facilita las cosas es 
configurando un Payload.

Metasploit contiene una gran cantidad de Payloads, desde la simple 
ejecución de comandos en Windows, hasta el completísimo mega Payload 
de nombre Meterpreter.

Únicamente se debe seleccionar un Payload compatible, y Metasploit 
creará la cadena del exploit, incluyendo el código para explotar la 
vulnerabilidad y el Payload sea ejecutado exitosamente.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Tipos de Shells

Shell Enlazado (Bind)

Instruye a la maquina objetivo a abrir una shell de comandos, y atender 
sobre un puerto local. La máquina atacante entonces se conecta hacia la 
máquina objetivo sobre el puerto en atención. Aunque con el advenimiento 
de los cortafuegos la efectividad de estos shells ha caido, porque cualquier 
cortafuegos correctamente configurado bloqueará el tráfico de algún puerto 
aleatorio como el 4444.

Shell Reveso (Reverse)

En este caso, se pone activamente una conexión de retorno hacia la 
máquina atacante, en lugar de esperar por una conexión entrante. Aquí, la 
máquina atacante abre un puerto local, y atiende por una conexión desde el 
objetivo, debido al hecho es una conexión reversa es más probable 
atraviesen el cortafuego.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Utilizar Módulos Auxiliares

Metasploit Framework fue la primera herramienta concebida para la 
explotación, y continuamente se utiliza a nivel mundial para este propósito.

Con el transcurrir de los años, sus funcionalidades han crecido en muchas 
direcciones, consecuentemente las mentes creativas trabajando en él. 

Metasploit Framework tiene aparte de los módulos para la explotación, 
módulos para casi todas las fases de una prueba de penetración.

Los módulos no utilizados para la explotación se denominan módulos 
auxiliares; incluyen cosas como escaners de vulnerabilidades, fuzzers, e 
incluso módulos para negación de servicio.

Para recordar el concepto, los módulos de explotación (exploits) utilizan un 
Payload, los módulos auxiliares no.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Captura de Información

El objetivo de esta fase en una Prueba de Penetración, es aprender tanto 
como sea factible sobre el objetivo de evaluación. 

Por ejemplo información revelada en Twitter. Mensajes en listas de correos 
sobre algún tema particular. Software ejecutándose en los servidores web. 
Los puertos atendiendo en los sistemas de cara hacia Internet. La dirección 
IP de un controlador de dominio interno, entre otra información.

En esta fase también se inicia la interacción con los sistemas evaluados, 
aprendiendo activamente tanto como se pueda sobre ellos, pero sin 
atacarlos. Se utiliza el conocimiento ganado en esta fase para moverse 
hacia la fase donde se modelan las amenazas, donde se analiza y 
desarrolla un plan de ataque, basado en la información obtenida 
previamente. 

Con esta información descubierta, se buscan y verifican activamente las 
vulnerabilidades utilizando técnicas para su escaneo y detección.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Captura OSINT

Se debe aprender tanto como sea posible sobre la organización e 
infraestructura antes de enviar un sólo paquete, pero la captura de 
información puede ser un objetivo en movimiento. Pues no es factible 
estudiar la vida completa de cada empleado debido a la gran cantidad de 
información a recopilar y el tiempo. Pero se puede afinar la captura de 
información al CEO, a ciertas redes sociales, etc.

Opuesto a la inteligencia ganada desde fuentes encubiertas como buscar 
en la basura, volcar bases de datos del sitio web, e ingeniería social, Open 
Source Intelligence (OSINT) implica obtenerla desde fuentes legales como 
registros públicos o medios sociales.

El éxito de una prueba de penetración frecuentemente depende de los 
resultados de la fase de captura o recopilación de información. Siendo por 
lo tanto muy importante.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Escaneo de Puertos

Cuando se inicia una prueba de penetración, el alcance potencial es 
prácticamente ilimitado. El cliente podría ejecutar cualquier número de 
programas con problemas de seguridad. Podrían tener problemas de malas 
configuraciones, contraseñas débiles o por defecto, las cuales podrían 
proporcionar las llaves del reino en supuestamente sistemas seguros, etc.

Las pruebas de penetración frecuentemente tienen un alcance de 
direcciones IP, razón por la cual se necesita encontrar primero cuales 
sistemas están activos y cual software funciona en ellos.

Aquí se pueden realizar escaneos manuales, o se utiliza la herramientas 
por excelencia de nombre Nmap.

Nmap entre otras funcionalidades, permite realizar diversos tipos de 
escaneos para puertos TCP, UDP, como también escaneos de versiones.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Encontrar Vulnerabilidades

Antes de lanzar “exploits” o códigos de explotación, se necesita realizar 
más investigación y análisis. Cuando se identifican vulnerabilidades, se 
busca activamente por problemas los cuales podrían conducir a un 
compromiso durante la fase de explotación.

Algunas empresas de seguridad, solo ejecutan herramientas de explotación 
automáticas, esperando suceda lo mejor. Un cuidadoso estudio de 
vulnerabilidades realizado por un profesional experimentado en pruebas de 
penetración, puede generar mejores resultados si se compara con 
cualquier herramienta automática. Entre estas herramientas se enumeran.

● Nessus (Versión home)
● OpenVAS
● Nmap Scripting Engine
● Módulos de Escaneo en Metasploit Framework

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Nessus

Los escaners de vulnerabilidades modernos pueden medir la presencia de 
miles de fallas en el entorno objetivo. 

Nessus es un escaner de vulnerabilidades. Utiliza un motor de escaneo 
basado en plugins, los cuales son pequeños programas individuales 
indicando al motor de escaneo, cuales problemas de seguridad medir sobre 
la máquina objetivo. Todos los plugins recientes son requeridos para la 
versión comercial (de pago) y la versión Home, la cual puede ser utilizada 
con algunas restricciones.

Otros escaner de vulnerabilidades son:

● Nexpose (Comercial)
● Core Impact (Comercial)
● OpenVAS (Open Source)

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Nmap Scripting Engine NSE

Los NSE son una de las características más poderosas y flexibles de 
Nmap. Permite a los usuarios escribir scripts sencillos para automatizar una 
amplia diversidad de tareas. Estos son ejecutados en paralelo con la 
velocidad y eficiencia de Nmap.  Algunos de sus objetivos son:

● Permite enviar o recibir mensajes arbitrarios por Nmap hacia varios 
objetivos, ejecutando los scripts en paralelo.
● Es ampliable con scripts desarrollados por la comunidad.
● Soporte extendido para descubrimiento de la red. (Whois, DNS, etc).
● Realizar una detección de versión más sofisticada.
● Realizar un escaneo de vulnerabilidades.
● Detectar sistemas infectados o con puertas traseras.
● Explotar vulnerabilidades descubiertas.

Los scripts NSE están agrupados en categorías como; auth, broadcast, 
brute, default, discovery, dos, exploit, fuzzer, intrusive, malware, etc

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Escaneo de Aplicaciones Web

Las aplicaciones web creadas a medida para los clientes también tienen 
problemas de seguridad, o también es probable se haya desplegado una 
aplicación web open source para el sitio web, un webmail, un galería, foro, 
etc. Todos los cuales pueden tener los mismos problemas. Si se pueden 
encontrar instancias de software vulnerable, se podría estar en la 
capacidad de explotarlo para tener un punto de apoyo en el sistema 
remoto.

Los problemas en las aplicaciones web son particularmente interesantes en 
muchas pruebas de penetración externas, donde la superficie de ataque 
está menos limitado comparado con los servidores web. 

Se pueden encontrar una vulnerabilidad en el software del servidor web 
subyacente. Una herramienta para escanear el servidor o la aplicación web 
es Nikto.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Análisis Manual

Algunas veces ninguna solución funciona mejor a realizar un análisis 
manual de vulnerabilidades, para ver si un servicio puede conducir a un 
compromiso, y no hay mejor manera para mejorar a practicar.

Algunos procedimientos a realizar son:

Explotar un puerto extraño. 

Se puede utilizar la herramienta netcat para establecer una conexión hacia 
el puerto desconocido y analizar su respuesta.

Encontrar nombres válidos de usuarios.

Se puede incrementar drásticamente las probabilidades de un ataque 
exitoso contra las contraseñas, si se conoce nombres de usuario válidos 
para los servicios. Como por ejemplo analizando los puertos SMTP, SMB, 
etc.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Captura de Tráfico

Antes de dirigirse hacia la fase de explotación, se pueden utilizar 
herramientas como Wireshark o similares, para husmear y manipular el 
tráfico con el propósito de ganar información útil desde otras máquinas en 
la red local. 

En una Prueba de Penetración interna, se está simulando una amenaza 
interna o un atacante quien ha violado el perímetro, capturando tráfico 
desde otros sistemas en la red, proporcionando información adicional 
interesante (tal vez incluso nombres de usuarios y contraseñas), lo cual 
puede ayudar con la fase de explotación.

El inconveniente es la masiva cantidad de tráfico capturado conteniendo 
potenciales datos útiles. Capturar todo el tráfico sobre una red local podría 
inundar rápidamente Wireshark, y descubrir tráfico útil para una prueba de 
penetración podría resultar muy difícil.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Utilizando Wireshark

Wireshark es un analizador de paquetes de red. Un analizador de paquetes 
de red intentará capturar paquetes de red, intentando mostrar los datos del 
paquete tan detalladamente como sea posible.

Se podría pensar en un analizador de paquetes de red como un dispositivo 
de medición utilizado para examinar lo suscitándose dentro del cable de 
red, como un voltímetro es utilizado por un electrónico para examinar lo 
suscitándose dentro de un cable eléctrico (pero a un nivel más elevado, de 
hecho).

En el pasado, tales herramientas eran muy costosas, propietarias o ambas 
cosas. Sin embargo con el advenimiento de Wireshark, todo esto ha 
cambiado.

Wireshark es tal vez uno de los mejores analizadores de paquetes de 
fuente abierta disponibles en la actualidad.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Envenenamiento del Cache ARP y
Cache DNS
Para capturar tráfico no destinado al propio sistema, se necesita encontrar 
alguna manera de los datos relevantes sean enviados al sistema del 
atacante. Generalmente se estará en una red utilizando un Switch, razón 
por la cual este escenario es aplicable. Al utilizar un ataque de “Hombre en 
el Medio” (MiTM), será redireccionado e interceptado el tráfico entre dos 
sistemas, antes de reenviar los paquetes hacia el destino correcto. Una 
manera en la cual se suplanta a otro dispositivo sobre la red es 
denominada Envenenamiento del Cache ARP (También conocido como 
ARP Spoofing).

También se puede envenenar las entradas cache del DNS (mapear 
nombres de dominio hacia direcciones IP), para encaminar el tráfico 
destinado para otro sitio web hacia aquel el cual se controla. Así como ARP 
resuelve direcciones IP hacia direcciones MAC para encaminar 
adecuadamente el tráfico, DNS mapea nombres de dominio a direcciones 
IP. Para estos ataques se pueden utilizar herramientas como arpspoof o 
dnsspoof.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Ataques SSL y SSL Stripping

Es altamente probable se intercepte tráfico encriptado, pero no se estará en 
la capacidad de obtener ninguna información sensible fuera de la conexión 
encriptada. El escenario de ataque aquí es confiar en la disposición del 
usuario en hacer clic, más allá de una advertencia del certificado SSL, para 
realizar un ataque de Hombre en el Medio (MiTM), y obtener el texto plano 
de una conexión SSL, el cual encripta el tráfico para protegerse a si mismo 
de ser leído por un atacante malicioso.

Un problema con este ataque de MiTM SSL es la interacción del usuario. 
Dependiendo del navegador esto puede ser un proceso difícil sino 
imposible. Con el ataque de nombre “SSL Stripping”, se hace una ataque 
de Hombre en el Medio de la conexión antes de ser redireccionado hacia 
SSL, y se le añade funcionalidad SSL antes de enviar el paquetes hacia el 
servidor web. Cuando el servidor responda, “SSL Stripping” nuevamente 
intercepta el tráfico y remueve las etiquetas HTTPS antes de enviar los 
paquetes hacia el cliente.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Explotación

Después de todo el trabajo previamente realizado, finalmente se llega a la 
parte más divertida, la explotación. En la fase de explotación en una 
Prueba de Penetración, se ejecutan los “exploits” o códigos de explotación 
contra las vulnerabilidades descubiertas, para ganar acceso hacia los 
sistemas en evaluación.

Algunas vulnerabilidades, como utilizar contraseñas por defecto son muy 
fáciles de explotar, y tal vez no se perciba del todo como una explotación, 
pues otros escenarios son mucho más complicados.

En esta fase se explotan las vulnerabilidades identificadas durante todas 
las fases previas. Para esto se debe tener sólidos conocimientos sobre las 
vulnerabilidades descubiertas.

La herramienta más reconocida y utilizada es Metasploit Framework. Esto 
aunado al conocimiento y experiencia para realizar una explotación manual.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Explotación a WebDAV y PhpMyAdmin

WebDAV (Web Distributed Authoring and Versioning), es una extensión de 
HTTP, el cual permite a los clientes realizar operaciones para autoría 
remota de contenido web.

Si es factible encontrar una instalación de WebDAV, se puede intentar 
utilizar credenciales por defecto, para subir o descargar archivos desde / 
hacia el servidor web. Una herramienta en línea de comando factible de ser 
utilizada es “Cadaver”.

PhpMyAdmin es un herramienta de software libre escrita en PHP; con el 
propósito de manejar la administración de MySQL sobre la Web. 
Soportando una gran cantidad de operaciones. 

Si eEs factible encontrar una instalación de phpMyAdmin abierta, es decir no 
requiere un usuario y contraseña para acceder a la administración. Al 
explotar esto se tiene la posibilidad de ejecutar comandos sobre el servidor 
de bases de datos. Además de acceder directamente a las BDs.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Descargar Archivos Sensibles

Si es factible encontrar alguna vulnerabilidad; como por ejemplo un 
problema de recorrido de directorios, se puede estar en la capacidad de 
descargar archivos desde el sistema remoto sin autenticación.

De esta manera y dependiendo del sistema operativo, se debe de conocer 
la ruta y el nombre exacto del archivo a descargar, para luego explotar la 
vulnerabilidad de recorrido de directorios y descargar el archivo.

Generalmente el objetivo es descargar archivos los cuales puedan contener 
información sensible, como la configuración del sistema, o archivos 
conteniendo contraseñas en texto plano o hashes de las contraseñas. Para 
el caso de Windows los archivos SAM o SYSTEM. Para el caso de Linux 
los archivos Passwd o Shadow.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Explotar Aplicaciones Web de Terceros

La herramienta Nikto es un buen escaner para Pruebas de Penetración y 
Hacking Ético, el cual puede ser utilizado para descubrir temas 
relacionados a las seguridad, como también vulnerabilidades.

Existen diversas aplicaciones web creadas por terceros, tanto privadas 
como open source, las cuales son utilizadas para implementar páginas 
web, foros de comunidades, galerías para fotografías o videos, wikis, 
estadísticas, sistemas para gestión de contenido, etc. 

En caso exista la posibilidad de descubrir una vulnerabilidad en estas 
aplicaciones web, es altamente probable pueda ser explotada para obtener 
un control remoto sobre el sistema, o realizar una ataque de negación de 
servicio.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Ataques a Contraseñas

Las contraseñas son frecuentemente la ruta menos resistente durante un 
compromiso en una Prueba de Penetración. Un cliente con un programa 
fuerte de seguridad, puede arreglar parches ausentes en el S.O. y software 
no actualizado, pero los usuarios no pueden ser parchados.

Se podría intentar atacar a los usuarios utilizando técnicas de Ingeniería 
Social. Pero si es factible adivinar o calcular correctamente la contraseña 
del usuario, se podría ser capaz de evitar involucrar al usuario en el ataque.

Para esto se requiere conocer como utilizar herramientas para automatizar 
el envío de nombres de usuarios y contraseñas, contra los servicios 
ejecutándose.

Adicionalmente se debe considerar el escenario en el cual se intenta 
“romper” los hashes de las contraseñas previamente obtenidas.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Ataques en Línea de Contraseñas

Así como se utilizan escaneos automáticos para encontrar vulnerabilidades, 
se pueden utilizar scripts para automáticamente intentar loguearse en los 
servicios, y encontrar credenciales válidas. 

Se deben utiliza herramientas específicamente diseñadas para automatizar 
los ataques en línea de contraseñas, o adivinar contraseñas hasta el 
servidor responda con un login exitoso. 

Estas herramientas utilizan una técnica denominada como “fuerza bruta”. 
Herramientas utilizando fuerza bruta intentan cada posible combinación de 
nombres de usuario y contraseñas, y dado el suficiente tiempo, podrían 
encontrar credenciales válidas.

Entre las herramientas factibles de ser utilizadas se tienen a THC­Hydra, o 
Medussa. Así mismo “cewl” para generar una la lista de palabras desde un 
sitio web. También “crunch” para genera listas de palabras con patrones 
definidos.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Ataques Fuera de Línea de Contraseñas

Otra manera de romper las contraseñas (los hashes de las contraseñas), 
es obtener una copia del archivo conteniendo lo hashes de las contraseñas, 
para luego intentar “romperlas” o “invertirlas” hacia contraseñas en texto 
plano.

En más fácil de hecho decirlo comparado con hacerlo, pues los hashes 
están diseñado para ser el producto de una función hash de una sola 
dirección. Es decir, dada una entrada, se puede calcular la salida utilizando 
una función hash, pero dada la salida, no hay manera de determinar de 
manera fiable la entrada.

Entonces si un hash es comprometido, es factible realizar un ataque el cual 
encripte palabras utilizando el mismo hash, y comparar los hashes 
resultantes hasta encontrar alguna coincidencia, de ser así se encontró la 
contraseña correcta.

Entre las herramientas a utilizar están John The Ripper o hashcat.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Explotación del Lado del Cliente

Las vulnerabilidades clásicas podrían ser consideradas como las más 
fáciles de obtener, y de hecho todas pueden ser encontradas en 
evaluaciones reales. Es común durante las Pruebas de Penetración 
encontrar servicios vulnerables atendiendo en puertos, contraseñas por 
defecto sin cambiar, servidores web incorrectamente configurados, etc.

Sin embargo, en empresas quienes invierten mucho tiempo y esfuerzo en 
su postura de seguridad, podrían estar libres de este tipo de 
vulnerabilidades. Pero aún así las empresas siguen siendo comprometidas.

Este tipo de ataques no requieren acceso directo hacia la red, pues el 
objetivo de estos ataques es el software del sistema local, software el cual 
no está atendiendo en un puerto. Debido a esto es necesario pensar de 
otra manera para atacar el dispositivo dentro del perímetro corporativo, y 
seleccionar un “Payload” adecuado, considerando el hecho de poder estar 
menos limitando para realizar conexiones inversas, es decir originándose 
desde el objetivo comprometido hacia el “atacante”.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Evadiendo Filtros con Payloads de
Metasploit
Conociendo el sistema de Payloads de Metasploit Framework, incluyendo 
los paylodas “stages” versus “single”, y shells “bind” versus “reverse”, se 
pueden utilizar tecnologías para evadir filtros, pues frecuentemente se 
encuentran durante las pruebas de penetración.

Todos los puertos

Incluso los shells inversos podrían no ser capaces de atravesar los filtros y 
conectarse de retorno hacia la máquina atacante en cualquier puerto. Si no 
se conoce cual puerto es permitido de salir hacia Internet, se puede utilizar 
un módulo en Metasploit para este propósito

Payloads HTTP y HTTPS

Estos Payloads siguen las especificaciones HTTP y HTTPS, de tal manera 
los filtros de inspección de contenidos estarán convencidos del tráfico es 
legítimo.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Ataques del Lado del Cliente

En lugar de directamente atacar un servicio en atención sobre un puerto, se 
creará una variedad de archivos maliciosos, los cuales al ser abiertos con 
software vulnerable sobre la máquina objetivo, resultarán en un 
compromiso. 

Software como navegadores web, visores de documentos, reproductores 
de música, etc., estan sujetos a todo tipo de problemas como los servidores 
web, servidores de correo, y cualquier otro programa basado en red.

Aunque el software del lado del cliente no está atendiendo en la red, no se 
puede atacarlo directamente, pero el principio general es el mismo. Si es 
posible enviar una entrada inesperada hacia un programa para activar una 
vulnerabilidad, se puede secuestrar su ejecución, así como se explotan 
programas en el lado del servidor. Debido al hecho de no poder enviar 
entradas directamente hacia el programa del lado del cliente sobre la red, 
se debe inducir al usuario a abrir un archivo malicioso.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Ingeniería Social

Es común expresar en seguridad de la información, sobre la imposibilidad 
de parchar las vulnerabilidades en los usuarios. Se pueden implementar 
todos los controles de seguridad requeridos, pero si se convence o induce 
al usuario proporcione información sensible sobre la empresa, todo acabó. 
De hecho, muchas de los más famosas intrusiones ilegales, no incluyen del 
todo la explotación del sistema.

Los ataques de Ingeniería Social pueden involucrar requerimientos técnicos 
complejos o no del todo tecnológicos, pues explotan las vulnerabilidades 
humanas.

Un vector común para los ataques de Ingeniería Social es el correo 
electrónico. El Phishing se utiliza para atraer la visita de los objetivos hacia 
sitios web maliciosos, o para descargar adjuntos maliciosos entre otras 
cosas. Los ataques de Ingeniería Social son el elemento ideal para engañar 
a los usuarios, y estos sean victimas de los ataques para el lado del cliente.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Social Engineer Toolkit SET

Social Engineer Toolkit, es un framework de fuente abierta para pruebas de 
penetración, diseñado para ingeniería social. SET incluye diversos vectores 
para ataques personalizados, lo cual permite hacer rápidamente un ataque 
creíble.

SET está específicamente diseñado para realizar ataques avanzados 
contra el elemento humano. Convirtiéndose rápidamente en la herramienta 
estándar en el arsenal de profesionales en pruebas de penetración.

El creador con la ayuda de una comunidad muy activa, incorpora ataques 
nunca antes vistos en un conjunto de herramientas para la explotación. Los 
ataques incluidos en SET están diseñados para enforcarse contra una 
persona u organización durante una prueba de penetración.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Evadir Antivirus

Durante una Prueba de Penetración, es altamente probable se encuentre 
instalada alguna solución antivirus en los clientes. Entonces se necesita 
evitar el borrado de los ejecutables maliciosos por parte de las aplicaciones 
antivirus, pero el evitar a los programas antivirus es un campo en constante 
crecimiento y cambio.

Podría ser más probable evitar la detección mediante la utilización de 
“exploits” para la corrupción de memoria, cargando el “payload” 
directamente hacia la memoria, es decir nunca tocar el disco.

Con este campo cambiante para el ataque, se debe desplazar el interés 
hacia ataques para el lado del cliente e Ingeniería Social, aunque podría no 
siempre ser posible evitar escribir el “payload” hacia el disco.

Entre las técnicas utilizadas se trata de obscurecer o camuflar un malware, 
para intentar evitar la detección cuando el “payload” se escribe hacia el 
disco.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Como Funcionan los Antivirus

La mayoría de soluciones antivirus empiezan comparando código 
potencialmente peligroso, hacia un conjunto de patrones y reglas, las 
cuales constituyen las definiciones antivirus, los cuales coinciden con 
código malicioso.

Las definiciones antivirus son actualizadas regularmente, así como nuevo 
malware es identificado por cada proveedor. Este tipo de identificación es 
denominado análisis estático.

Además del análisis estático contra un conjunto de firmas, las soluciones 
antivirus más avanzadas también prueban por actividad maliciosa, llamado 
análisis dinámico. Por ejemplo un programa el cual intenta reemplazar cada 
archivo en el disco duro, o se conecta hacia una botnet conocida y servidor 
de control cada 30 segundos. Esto exhibe un comportamiento 
potencialmente malicioso y debe ser detectado.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Evadiendo un Programa Antivirus

Si se requiere intentar evadir soluciones antivirus, es necesario intentarlo 
muy férreamente. Algunos de los mecanismos fundamentales son:

Codificación

Herramientas para evitar caracteres en un código de explotación. 
Metasploit incluye más de 30 codificadores.

Compilación cruzada personalizada

Muchos antivirus detectan los Payloads generados por Metasploit, razón 
por cual se puede intentar utilizar shellcodes propios y compilar un 
ejecutable.

Encriptar ejecutables

Otra manera es ofuscar un Payload, utilizando por ejemplo AES.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Explotación Posterior

Habiendo ganado acceso hacia los sistemas objetivos de evaluación, la 
Prueba de Penetración no ha finalizado. De hecho se puede comunicar al 
cliente la obtención de “shell” en sus sistemas, pero el cliente necesita 
conocer cual es el riesgo real de estos ataques.

En la fase de explotación posterior, se buscará recopilar información sobre 
los sistemas explotados, escalar privilegios, y moverse desde el sistema 
hacia otros. Tal vez se encuentre y se tenga acceso hacia datos sensibles 
almacenados en el sistema explotado, o se pueda tener acceso de red 
hacia sistemas adicionales, los cuales podrían ser utilizados luego para 
acceder hacia datos de la empresa. 

La fase de explotación posterior es la manera más importante para obtener 
una clara imagen sobre la postura de seguridad de la organización.

La Prueba de Penetración no es necesariamente exitosa, si la organización 
no tiene una buena visión sobre sus vulnerabilidades.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Meterpreter

Es un payload avanzado, dinamicamente ampliable el cual utiliza “stagers” 
para la inyección DLL en memoria, además es expandible sobre la red en 
tiempo de ejecución. Se comunica sobre el socket “stager” y proporciona un 
API Ruby del lado del cliente muy completo. Entre sus funcionalidades 
están un historial de comandos, completado automático, canales, y más.

El objetivo ejecuta el “stager” inicial. Usualmente “bind”, “reverse”, etc.

El “stager” carga el DLL prefijado reflexivo. Esta parte Reflexiva maneja la 
carga / inyección de la DLL.

El núcleo de Meterpreter se inicia, establece un enlace TLS/1.0 sobre el 
socket y envía un GET. Metasploit lo recibe y configura el cliente.

Meterpreter carga las extensiones. Siempre carga “stdapi”, y cargará “priv” 
si el módulo proporciona derechos administrativos. Todas estas 
extensiones son cargadas sobre TLS/1.0 utilizando el protocolo TLV.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Scripts de Meterpreter

Además de los comandos de Meterpreter, se pueden también ejecutar 
scripts desde la consola de Meterpreter. 

Esto scripts están disponibles en un directorio específico donde se instala 
por defecto Metasploit Framework.

Estos scripts están escritos en el lenguaje de programación Ruby, y se 
pueden escribir script propios para posteriormente enviarlos y ser incluidos 
dentro de Metasloit Framework.

Entre las funcionalidades a realizar utilizando estos scripts se enumeran, 
migrar hacia un procedo determinado o elevar privilegios, ya sea un 
sistema Windows o Linux.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Módulos de Post Explotación en
Metasploit
Existen diversos módulos factibles de ser utilizando en Metasploit 
Framewok. Por ejemplo módulos para la captura de información, 
identificación de vulnerabilidades, y explotación de vulnerabilidades.

No sorprende la cantidad de módulos útiles incluidos dentro de Metasploit 
Framework. Consecuentemente también se incluyen módulos de post­
explotación, o para la explotación posterior.

Estos módulos de post­explotación permiten recopilar información, obtener 
control remoto, escalar privilegios, etc., sobre diversas plataformas.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Escalado de Privilegios Locales

La explotación local de privilegios implica ejecutar exploits o códigos de 
explotación, para obtener control adicional del sistema después de la 
explotación.

Así como el software de red y software del cliente, los procesos locales 
privilegiados pueden estar sujetos a problemas de seguridad explotables. 
Algunos de los ataque podrían no resultar en la ganancia de los privilegios 
requeridos.

El ganar la ejecución de comandos a través de un sitio web, comprometer 
una cuenta de usuario sin derechos de administrador, o explotar un servicio 
en atención con privilegios limitados, podrían todos conducir hacia un 
acceso al sistema, pero podría encontrarse trabajando con un usuario 
limitado.

Para obtener los privilegios requeridos, se necesitará explotar otros 
problemas.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Captura de Información Local

Una vez se ha ganado acceso hacia el sistema, se debe ver si está 
presente alguna información potencialmente sensible, como software 
instalado el cual almacene las contraseñas en texto plano, o utilizando un 
algoritmo débil para genera los hashes, adicionalmente buscar por datos 
propietarios, código fuente, información de tarjetas de crédito, o la cuenta 
de correo de los empleados.

Todos este tipo de información es de utilidad, y debe ser presentado en el 
reporte final al cliente. Adicionalmente cualquier información la cual ayude a 
irrumpir en otros sistemas de la red debe ser mencionada.

Existe diferentes acciones a realizar en este proceso, como buscar por 
archivos, utilizar un atrapador para las pulsaciones del teclado, obtener las 
credenciales, etc.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Movimiento Lateral

Una vez se tiene acceso hacia un sistema en un entorno de red, se puede 
utilizarla para acceder hacia sistemas adicionales y sus datos sensibles. Si 
el sistema es miembro de un dominio, se puede ciertamente intentar 
comprometer una cuenta de dominio, o idealmente obtener acceso de 
administrador del dominio, de tal manera se pueda hacer login y manejar 
todos los sistemas en el dominio.

Pero incluso si no se puede controlar un dominio, se podría ser capaz de 
acceder hacia los sistemas en el dominio, si fueron instalados desde la 
misma imagen de instalación del sistema, con la misma contraseña de 
administrador local, la cual nunca fue cambiada. Si se puede romper esta 
contraseña para una máquina, se podría se capaz de hacer login hacia 
varias máquinas en el entorno sin acceso al dominio. También si un usuario 
tiene una cuenta en múltiples sistemas, podría utilizar la misma contraseña 
para cada sistema, lo cual nos permitirá loguearnos. Las contraseñas son 
frecuentemente el eslabón más débil, incluso en entornos altamente 
seguros.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Pivoting

Existe la posibilidad de poder acceder hacia un sistema, para ganar luego 
acceso completamente hacia otra red. 

Típicamente una organización tiene poco sistemas de cara hacia Internet 
ofreciendo algunos servicios, como servidores web, correo electrónico, 
VPNs, etc. Estos servicios pueden estar hospedados en un tercero, o tal 
vez dentro de la compañía. 

Si estos servicios están hospedados dentro de la compañía, el ganar 
acceso hacia estos desde Internet podría permitir acceso hacia la red 
interna. Idealmente la red interna estará segmentada por unidades de 
negocio, nivel de sensibilidad, etc., de tal manera el acceso hacia una 
máquina no proporcionará acceso directo a todos las máquinas de le 
empresa.

Es factible utilizar Meterpreter para implementar un “punto de salto” o 
“pivot”, de tal manera se puedan explorar otras redes.
Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Persistencia

Una de las grandes cosas sobre las sesiones con Meterpreter es también 
algo no muy bueno.

Debido al proceso del host reside enteramente en memoria, si este muere 
la sesión de Meterpreter muere también, y si el sistema se reinicia se 
perderá la sesión. Si se pierde acceso de red hacia el objetivo, la sesión 
morirá también.

En lugar de explotar nuevamente la misma vulnerabilidad o realizar un 
ataque de ingeniería social, sería ideal tener una manera de ganar 
nuevamente acceso a futuro. 

Los métodos para la persistencia pueden ser tan simples como añadir un 
usuario hacia el sistema, así como un rootkit avanzado a nivel del kernel, 
incluso desde la API de Windows, lo virtualmente lo hace indetectable.

Curso Hacking con Kali Linux -:- MILESEC EIRL -:- Sitio Web: www.mile-sec.com -:- e-mail: capacitacion@mile-sec-com
Curso
Hacking
con Kali Linux
Alonso Eduardo Caballero Quezada
Consultor e Instructor en Hacking Ético y Forense Digital
e-mail: ReYDeS@gmail.com

Sitio Web: www.mile-sec.com | e-mail: capacitacion@mile-sec.com

Noviembre 2018

Potrebbero piacerti anche