Metasploit Framework
ÍNDICE 1. Introducción al exploiting 2. Metasploit Framework What is? Arquitectura Módulos Adición módulos Entorno de usuario y automatización 3. Metasploit as a User Interfaces Comandos básicos
ÍNDICE 4. Metasploit as a t0y Apoyando los auxiliary Ataque directo (exploit) Ataque client-side (exploit) Escalada de privilegios (exploit) 5. Meterpreter: Powerful! Comándos básicos 6. Técnicas Pass the hash Pivoting 7. Metasploit as a Develop3r Ruby ShellShocks Toy
Dónde vamos a trabajar a lo largo del curso? INTERNET ZONA NEUTRA RED INTERNA 4
Dónde vamos a trabajar a lo largo del curso? INTERNET ZONA NEUTRA RED INTERNA 5
Arquitectura de Seguridad (modelo lógico) ZONA INSEGURA ZONA DESMILITARIZADA ZONA SEGURA Servidores Web (Correo, DNS, LDAP,...) Servidores de Aplicaciones BBDD Internet Firewall Impide el acceso directo a los Servidores y Bases de datos internos Firewall Servidores y Bases de Datos internos son accesibles solo al personal autorizado 6
Arquitectura de Seguridad (Modelo físico) ZONA INSEGURA ZONA DESMILITARIZADA ZONA SEGURA Servidor DNS (local) Servidor Correo Servidor RADIUS(*) Servidor Correo Usuarios BBDD Internet Firewall I B M Router Firewall Servidor LDAP Servidor Proxy y DNS Sistema corporativo (Host, ERP, ) Servidor Aplicaciones 7 (*)RADIUS (Remote Authentication for Dial-In User Service)
La debilidad del puesto de trabajo Ningún control sobre la instalación de aplicaciones de dudosa procedencia Navegación y uso habitual de las cuentas de administración Credenciales repetidas en multitud de servicios Credenciales compartidas Aplicaciones con numerosas vulnerabilidades sin parchear: Java (es que el ******* mi perro no abre el puerto para que se descarguen las actualizaciones ) Flash Navegadores 8
La debilidad del puesto de trabajo 9
La información se maneja desde el puesto de trabajo SILLA PC 10
La información se maneja desde el puesto de trabajo Contraseñas seguras en lugares seguros 11
Proceso de auditoría interna Analizamos servicios Identificaciones versiones de los servicios Buscamos servicios obsoletos y vulnerables Identificamos potenciales vulnerabilidades Explotamos las vulnerabilidades 12
Expedientes de seguridad en profundidad Ejemplo con CVE-2013-5572 CVE-2013-5572 http://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2013-5572 http://seclists.org/fulldisclosure/2013/sep/151 Zabbix 2.0.5 allows remote authenticated users to discover the LDAP bind password by leveraging management-console access and reading the ldap_bind_password value in the HTML source code. 13
Expedientes de seguridad en profundidad Buscando una vulnerabilidad en CVE 14
Expedientes de seguridad en profundidad Buscando una vulnerabilidad en http://web.nvd.nist.gov 15
Expedientes de seguridad en profundidad Buscando una vulnerabilidad en http://seclists.org 16
Expedientes de seguridad en profundidad Buscando una vulnerabilidad en Inteco 17
Expedientes de seguridad en profundidad Buscando una vulnerabilidad en SecurityFocus 18
Expedientes de seguridad en profundidad Buscando una vulnerabilidad y su exploit en ExploitDB 19
Qué parches de seguridad tenemos aplicados (en Windows)? Systeminfo 20
Qué parches de seguridad tenemos aplicados (en Linux)? sudo dpkg-query -l 21
Qué puede ocurrir sino aplicamos los parches de seguridad Ejemplo: shellshock (CVE-2014-6271) 22
Qué puede ocurrir sino aplicamos los parches de seguridad Ejemplo: shellshock (CVE-2014-6271) http://downloads.securityfocus.com/vulnerabilities/exploits/70103_3.py 23
Qué puede ocurrir sino aplicamos los parches de seguridad Ejemplo: shellshock (CVE-2014-6271) http://downloads.securityfocus.com/vulnerabilities/exploits/70103_3.py 24
Por suerte Tenemos Metasploit Framework!! 25
What is? Es un framework de explotación NO es un scanner de vulnerabilidades
What is? Para qué usarlo? o Investigación en explotación o Pentesting Qué otros kit tenemos? o CORE Impact o CANVAS Beneficios? Coste :)
Arquitectura
Módulos Auxiliary Encoders Exploits Payloads Post Nops
Módulos Estructura de directorios (Importante) Modules/exploits/<OS/Platform>/<Protocol/Service/Local >/file.rb
Módulos Exploit o Atributos: RHOST RPORT SRVHOST URIPATH PAYLOAD o Métodos: Exploit Check Auxiliaty o Atributos: RHOST RHOSTS PORTS Threads o Métodos: Exploit Check Payload o Atributos: RHOST LHOST LPORT o Atributos (adv): InitialAutorunScript AutorunScript PrependMigrate PrependMigrateProc
Adición de un módulo Consigue el módulo (exploit-db, packetstorm, securityfocus, etc ) Copy & Paste el.rb
Entorno de usuario y automatización Resource Makerc Save (fichero -> $HOME/.msf4/config)
Metaspsloit as a t0y Auxiliary Module: Qué podemos hacer?
Metasploit as a user: Interfaces Msfconsole (interacción dinámica) => (consola) Msfweb Msfgui & Armitage Msfcli (msfcli <module> <config module> <mode>)
Metasploit as a user: Comandos básicos Ayuda: o Help o Search o Info o Show <options> <advanced> Interacción: o Use o Check o Set / unset o Exploit o Setg / unsetg o Sessions o Connect o Jobs / kill o Irb o Resource o Load / unload o Makerc o Route o Back Loadpath Configuración: o Save o Reload o Reload_all
Metaspsloit as a t0y Ataque directo (Exploit me!)
Metaspsloit as a t0y Ataque client-side (Exploit me!)
Metaspsloit as a t0y Escalada de privilegios (Exploit me!)
Meterpreter: Comandos básicos Migrate <pid> (migrar a otro proceso) Hashdump (obtener hashes y usuarios) Comandos linux (sobre la máquina víctima) Upload / download (subir y descargar archivos) Search f (búsqueda en el equipo víctima) Getuid (consulta) Execute -f (lanza comandos sobre la víctima) Con i interactuamos, por ejemplo execute f cmd.exe -i
Meterpreter: Comandos básicos Ps (lista procesos de la máquina víctima) Shell (abre una línea de comandos) Sysinfo (info sobre el sistema) Timestomp (manipular atributos archivos antiforensics) Webcam y micrófono (spy!!!) Idletime (cuanto tiempo lleva el usuario sin utilizar la máquina) Screenshot (obtener captura de escritorio) Keyscan_start Clearev (limpiar el event log)
Meterpreter: Comandos básicos Comando run Multitud de scripts para lanzar: run arp_scanner run autoroute run checkvm run credcollect run domain_list_gen run dumplinks run duplicate
Pass the hash
Metaspsloit as a Develop3r: Ruby #!/usr/bin/ruby =begin This is the beginning =end puts 'Hello world'
Metaspsloit as a Develop3r: ShellShocks! class Metasploit4 < Msf::Exploit::Remote def initialize(info = {}) register_options def check #Si es de tipo conexión directa def exploit Otras funciones que se requieran
Metaspsloit as a Develop3r: ShellShocks! 16 de Enero de 2015 2º Hack & Beers #Madrid 2 Ponentes + Mini CFP Os esperamos! Más noticias en Flu-Project
Gracias por su atención 47