Title: Hacking en Entornos Hostiles
1Hacking en Entornos Hostiles
2Introducción
- Presentación
- Significado del titulo
- Objetivos de la ponencia
- Entorno actual
3Concepto de entorno hostil
- Concienciación en materia de seguridad de las
empresas actuales - Barreras mas complejas y estrictas
- Ya no funcionan las técnicas clásicas y
scriptadas de hacking - Entorno hostil Aquel en el que un hacker no
puede moverse libremente
4Arquitectura externa habitual
- Existencia de patrones repetidos pero multitud de
variaciones - Existencia de una DMZ protegida por un firewall
- Red interna, protegida por otro firewall
(Objetivo secundario)
5Configuración habitual DMZ
- Uno o varios equipos ofreciendo servicios web o
similares en una DMZ - Otros servicios como DNS, FTP o Correo, en otros
equipos secundarios - Separación de la red interna con otro sistema de
firewalls
6Configuración típica de los firewalls
- Elemento omnipresente
- Enemigo a vencer
- Estudio previo del sistema de firewalls
- Modelos habituales
- CheckPoint FW-1
- Cisco PIX
- NetScreen
- Gauntlet
- IBM SecureWay
- Firebox
- Raptor
- SunScreen
7Características típicas
- Solo trafico hacia servicios autorizados
- También trafico TCP de servicios habituales (53,
80, 443) aunque el equipo no actúe de servidor - Filtrado del resto de trafico TCP de entrada y
salida (!) - También trafico UDP, excepto servicios concretos
como DNS (puerto 53) - Pasan algunos tipos de ICMP
8Paso 1 Ejecución de comandos
- Obtención de información previa
- Localización de brechas o debilidades
- Explotación del fallo
- Escenario habitual
9Obtención de información previa
- Exploración perimetral del sistema de firewalls
- Nmap
- Traceroute
- Sing
- Hping
- Servicios presentes en los equipos de la DMZ
- Escasas opciones, pero siempre existe una puerta
10Explotar el fallo
- Consecución de permisos de ejecución
- CGI (perl, sh, c)
- Unicode, MSADC, .printer, .ida, etc...
- PHP, ASP, JSP
- Inserción sentencias SQL
- Otros...
- Objetivo primario / obligatorio EJECUCION DE
COMANDOS - Objetivo secundario conseguir permisos de
administrador (no imprescindible)
11Escenario habitual (Una vez conseguido el
objetivo primario)
- Primera barrera técnica
- Imposibilidad de elevar privilegios
- Imposibilidad de subir exploits
- Escenario
- Somos un usuario con bajos privilegios nobody o
invitado - Comandos limitados
- Permisos de lectura y escritura limitados
12Paso 2 Subir nuestras herramientas
- Herramientas disponibles en la plataforma
- Técnicas y herramientas para subir archivos
- Subir lo que queramos
13Herramientas disponibles
- Solo disponemos de los binarios preinstalados
- Herramientas no pensadas para ser empleadas en
hacking - Limitaciones del usuario no privilegiado
14Técnicas y herramientas para subir ficheros
- Comando echo gt
- Trafico web
- Servicios basados en TCP
- Servicios basados en UDP
- Registros DNS
- Correo
- Logs
15Técnicas y herramientas para subir ficheros
- Comando echo gt
- Limitado por el CGI en concreto (Filtrado de
ciertos caracteres) - Normalmente solo permite texto plano
- Uudecode, base64, etc...
- Trafico web
- Subir ASP o CGI para hacer uploads
- Limitaciones de escritura en directorios de CGIs
- Método PUT
16Técnicas y herramientas para subir ficheros
- Servicios basados en TCP
- FTP, RCP, SCP
- Normalmente están filtrados todos los puertos,
tanto de entrada como de salida - Intento de FTP o RCP saliente
- Servicios basados en UDP
- TFTP
- Mismos problemas que TCP
- Túnel a través de puerto 53 (DNS)
17Técnicas y herramientas para subir ficheros
- Registros DNS
- Campo TXT en registros DNS
- Servidores DNS modificados
- Necesidad de subir scripts para reconstruir
binarios - Correo
- Solo factible en algunos casos
18Técnicas y herramientas para subir ficheros
- Logs
- Técnica enrevesada
- Ultima opción
- Casi siempre posible
19Subir lo que queramos
- Exploits para incrementar privilegios
- Kits de herramientas de troyanización
- Kits de herramientas de intrusión
20Paso 3 Atacar otros equipos
- Garantizarnos acceso cómodo al equipo
- Razones para un acceso cómodo
- Instalar exploits o pasarelas
- Atacar otros equipos...
21Garantizarnos acceso cómodo
- Bindshell en puertos TCP abiertos
- Bindshell UDP
- Bindshell ICMP
- Shell inversa a través de TCP
- Shell inversa UDP
- Suplantación de aplicación
- Troyanización de aplicación
- Troyanización de libc
- Troyanización de kernel
22Garantizarnos acceso cómodo
- Bindshell en puertos TCP abiertos
- La mejor opción (más sencilla), aunque no siempre
posible - Netcat
- Puertos gt1024 en unix
- Bindshell UDP
- No existen implementaciones buenas
- Puertos filtrados como en TCP
- Túnel a través de puerto 53 (DNS)
- Bindshell ICMP
- No existen implementaciones buenas
23Garantizarnos acceso cómodo
- Shell inversa a través de TCP
- Normalmente filtrada la salida también
- Mismos problemas que subir ficheros
- Shell inversa UDP
- Idem que TCP
- Suplantación de aplicación
- Diferencia entre suplantación y troyanización (!)
- Muy arriesgado
- Factible en sistemas windows
24Garantizarnos acceso cómodo
- Troyanización de aplicación
- Textos de tecnología troyana
- Menos arriesgado
- Troyano web
- Troyanizar otros servicios
- Troyanización de libc
- Técnica avanzada
- Troyanización de kernel
- Avanzado y muy peligroso
25Instalar exploits o pasarelas
- Instalar nuestro kit de penetración para acceder
a la red interna - Subir kits de exploits para su uso desde el
sistema puente - Subir pasarelas para atacar desde nuestra propia
maquina
26El ciclo de la vida
- Hakunamatata
- La historia vuelve a empezar...
- Mayores posibilidades de ataque
- Menores limitaciones (Hemos sobrepasado el primer
firewall) - Otras barreras
- IDS
- Segundas barreras de firewalls
- Etc...
27Conclusiones
- Técnicas no obligatorias y mejorables
- Siempre existe una forma de hacerlo
- Firewalls, IDS, y otros sistemas de protección no
son soluciones infalibles - Los hackers siempre irán por delante del software
de protección
28Conclusiones
- Nunca rendirse
- Seguir innovando
- Desarrollar nuestras propias herramientas
- Compilar un kit de penetración
- La imaginación es nuestro limite...
29Esto es el fin...
- Dudas, consultas, ideas...
- Espero colaboraciones y aportaciones
- mailto doble_at_iname.com
- The Dark Raver