Curso Hkl Mile-sec 2018

Curso Hacking con Kali Linux Alonso Eduardo Caballero Quezada Consultor e Instructor en Hacking Ético y Forense Digital

Views 94 Downloads 173 File size 334KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Curso Hacking con Kali Linux Alonso Eduardo Caballero Quezada Consultor e Instructor en Hacking Ético y Forense Digital

e-mail: [email protected]

Sitio Web: www.mile-sec.com | e-mail: [email protected]

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 / [email protected] 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: [email protected]

Sitio Web: www.mile-sec.com | e-mail: [email protected]

Noviembre 2018