Title: Taller Hackeo tico
1Taller Hackeo Ético
- Víctor Chapela Adrián Puente
- Sm4rt Security Services
- victor_at_sm4rt.com adrian_at_sm4rt.com
2Qué pretendemos con este curso?
- A nivel teórico transmitir nuestra experiencia
con respecto a - Cómo reducir los riesgos inherentes de las
pruebas de penetración - Cómo maximizar los beneficios de las mismas
- A nivel práctico que aprendan a hacer algunas
pruebas de hackeo
3Agenda
- Introducción
- Tipos de Pruebas
- Estructura de un Pen Test
- Caso de Estudio
- TCP/IP
- Hackeo de Red
- Hackeo de Relaciones de Confianza
- Servidores Windows
- Bases de Datos
- Hackeo de Aplicaciones Web
- Conclusiones
4Resultados de las Pruebas
- En Sm4rt se hacen más de 50 pruebas al año
- Al día de hoy, el resultado de estas pruebas
- El 98 de las empresas o instituciones han
resultado muy vulnerables - Se ha logrado status de administrador en una
parte o en toda su infraestructura - Dispositivos de red
- Dominios y usuarios de red
- Servidores (Windows o Unix)
- Aplicaciones comerciales (correo electrónico,
bases de datos...) - Aplicaciones propietarias (desarrollos a la
medida)
5Porqué se puede entrar tan fácil?
- Las redes y los sistemas en general
- Fueron concebidos y configurados para ser fáciles
de usar - Privilegian Disponibilidad y Funcionalidad antes
que seguridad - Han crecido de forma acelerada
- Se les descubren nuevas vulnerabilidades todos
los días - Desconocimiento de los procesos, métodos y
mentalidad de los atacantes
6Prueba de Penetración (Pen Test)
- Objetivo (contratado) de la prueba
- Evaluar la preparación de la empresa o
institución para resistir y/o detectar un ataque
dirigido - Meta de la prueba
- Lograr acceso a información o procesos críticos
- Estrategia
- Conseguir los máximos privilegios posibles dentro
de la red y los servidores
7Definiciones
- Escaneo de Vulnerabilidades
- White Box
- Black Box
- Double-blind Black Box
- Stealth
- Interna
- Externa
- De redes
- De aplicaciones
- Análisis de Riesgos
- Evaluación Integral de Seguridad
8Pruebas más comunes
- Pen Test Externo (Black Box)
- Simular un ataque a los sistemas y seguridad
partiendo de la información disponible en
Internet para un atacante externo - Pen Test Interno (White Box)
- Revisar las vulnerabilidades de los sistemas para
un atacante interno - Diagnósticos Especializados
- Arquitectura de red
- Relaciones de confianza
- Revisión de Aplicaciones (Auditoria de código)
- Acceso Remoto Telefónico y VPNs
- Redes y Dispositivos Inalámbricos
- Ingeniería social
9Pen Test Externo(Black Box)
- Se prueba la seguridad del perímetro
- Análisis externo de nodos y topología
- Recopilación de información sensible y
explotación vía ingeniería social - Revisión de efectividad y vulnerabilidades de
- Aplicaciones Web
- Servidores Web y de Correo
- Ruteadores y firewall
- War driving de instalaciones principales para
identificar accesos inalámbricos - War dialing en búsqueda de modems abiertos
- Una vez ganado acceso remoto, revisión de
debilidades para escalar privilegios y
profundizar en la red
10Pen Test Interno (White Box)
- Análisis interno de nodos y topología
- Identificación de sistemas y equipos vulnerables
- Revisión de vulnerabilidades de
- Aplicaciones internas
- Servidores
- Dispositivos y equipos en la red interna
- Redes y equipos inalámbricos
- Relaciones de confianza
- Directorios compartidos
- Arquitectura de red
- Nivel de aseguramiento de servidores
11Agenda
- Introducción
- Tipos de Pruebas
- Estructura de un Pen Test
- Caso de Estudio
- TCP/IP
- Hackeo de Red
- Hackeo de Relaciones de Confianza
- Servidores Windows
- Bases de Datos
- Hackeo de Aplicaciones Web
- Conclusiones
12Recordatorio TCP/IP
13(No Transcript)
14Protocolos de red
- Nivel de Aplicación
- FTP, SSH, SMTP, DNS, HTTP, SMB, IPSec,
- Nivel de Transporte
- TCP
- UDP
- Nivel de Red
- IP
- ICMP
- Nivel de Enlace
- Ethernet
- ARP
15Open Systems Interconnection
Aplicación
Aplicación
Presentación
Presentación
Sesión
Sesión
Transporte
Transporte
Red
Red
Red
Enlace
Enlace
Enlace
Enlace
Física
Física
Física
Física
1110010111011100101001101111001011
1001001100101010011001010100110
16Aplicación
7 6 5 4 3 2 1
Presentación
Sesión
Conmutador multinivel
Transporte
Enrutador
Red
NIC
Conmutador
Bridge
Enlace dedatos
Repetidor
Hub
Física
17Capas Modelo OSI
Aplicación
Aplicación
Presentación
Sesión
Transporte
Transporte
Red
Internet
Interfaz de Red
Enlace
Física
Capas TCP/IP
Capas Modelo OSI
18Capas de TCP/IP
19Suite de protocolos TCP/IP
- (TCP) Transmission Control Protocol
- (UDP) User Datagram Protocol
- (IP) Internet Protocol
- (ICMP) Internet Control Message
- (IGMP) Protocol Internet Group Management
Protocol Address - (ARP) Address Resolution Protocol
20Identificando Aplicaciones
Dirección IP Puerto Socket
Puerto 20, 21
FTP
HTTP
FTP Server
UDP
TCP
Puerto 80
192.168.2.150
HTTP Server
Ethernet
21Flujo de Datos
22Transmission Control Protocol (TCP)
SYN
ACK
UDP
TCP
SYNACK
IP
ICMP
IGMP
ARP
23User Datagram Protocol (UDP)
24Puertos Comunes
- 20/21 TCP FTP Transferencia de Archivos
- 22 TCP SSH Shell Cifrada
- 23 TCP TELNET Línea de Comando
- 25 TCP SMTP Correo Electrónico
- 53 UDP/TCP DNS Resolución de Nombres
- 69 UDP TFTP Transferencia Sencilla
- 79 TCP Finger Información Usuario
- 80 TCP HTTP Servicio Web
- 110 TCP POP3 Correo Electrónico
- 111 TCP RPCBIND Unix RPC
- 135 TCP MSRPC Microsoft RPC
- 139 TCP NetBIOS-ssn - NetBIOS Session Service
- 161 UDP SNMP Administración Remota
- 443 TCP HTTPS Web con SSL
- 445 TCP Microsoft DS SMB directo sobre IP
- 1433 TCP TDS MS SQL Server
- 1521 TCP TNS Oracle
- 3389 TCP MS Terminal Server
25Internet Control Message Protocol (ICMP)
ECHOREQUEST
UDP
TCP
ECHOREPLY
IP
ICMP
IGMP
ARP
26Address Resolution Protocol (ARP)
5
UDP
TCP
1. Revisa el cache ARP 2. Se envía una solicitud
ARP 3. La entrada ARP se agrega 4. Contesta el
ARP 5. La entrada ARP se agrega 6. Es enviado el
paquete IP
IP
ICMP
IGMP
ARP
27Utilerías TCP/IP en Windows
Arp
Ftp
Utilerías de Conectividad
Utilerías de Diagnóstico
Hostname
Telnet
Ipconfig
Tftp
Nbtstat
Netstat
Ping
Tracert
Route
28Demostración de UtileríasTCP/IP
29Agenda
- Introducción
- Tipos de Pruebas
- Estructura de un Pen Test
- Caso de Estudio
- TCP/IP
- Hackeo de Red
- Hackeo de Relaciones de Confianza
- Servidores Windows
- Bases de Datos
- Hackeo de Aplicaciones Web
- Conclusiones
30Hackeo de Red
31Herramientas Genéricas
- NetCat mejor conocido como nc
- Net use para conectar directorios
- Psinfo
- Psservice
- Pslist
- Psloggedon
- Psexec
32Escáneres de Puertos
- ScanLine (sl.exe) para escaneo y banners
- Nmap para escaneo de puertos y revisión de
versiones - SuperScan4 para escaneo de puertos y banners
33Consideraciones con respecto a ICMP
- Habrán de tomar en cuenta al usar todas estas
herramientas - Que la mayoría hacen ping antes de escanear
- Por tanto, si está bloqueado ICMP no va a
detectar el servidor arriba - Todas tienen la capacidad de deshabilitar el
descubrimiento o ping - Es útil generar un archivo de hosts activos
- nmap que permite un reconocimiento más a detalle
(nmap sP ltrangosgt) - luego usar este archivo con el resto de las
herramientas
34Banners y Versiones
- Nmap para escaneo de puertos y revisión de
versiones y sistema operativo - Amap para revisión de versiones
- Httprint para revisar versiones de Web
35Caso de Estudio
36CASO DE ESTUDIO
- SuperSecure Bank
- Entidad Financiera ficticia basada en NY
- Usted es el nuevo Responsable de Verificaciones
- Recursos
- Un portátil
- Portátil basado en Windows (win-mob)
- Windows XP Professional SP2
- Herramientas de Seguridad
37Infraestructura Super Secure Bank
CASO DE ESTUDIO
vmnet99
38Ejercicio Caso de Estudio40 minutos
- 4. Puertos, Servicios y Vulnerabilidades
- Página 9
39Agenda
- Introducción
- Tipos de Pruebas
- Estructura de un Pen Test
- Caso de Estudio
- TCP/IP
- Hackeo de Red
- Hackeo de Relaciones de Confianza
- Servidores Windows
- Bases de Datos
- Hackeo de Aplicaciones Web
- Conclusiones
40Hackeo de Servidores Windows
41Revisión vía SNMP
- SNMP es un protocolo de administración remota
para cualquier tipo de sistema - Utiliza una especie de contraseña llamada
community string (que viaja en texto claro) - Por defecto el community string de lectura es
public en la mayoría de los sistemas - Si se tiene el community string de read/write se
puede administrar el equipo - Herramienta que utilizaremos
- Solarwinds
42Enumeración vía Netbios
- Netbios es un protocolo de Windows para compartir
directorios, impresoras y servicios - Un problema grave son las sesiones nulas que
permiten conectarse sin usuario y contraseña - Herramientas
- Net use
- Nbtscan
- SuperScan4
- Winfingerprint
- SWB
43Revisión de Usuarios y Grupos
- Los grupos y autenticación de Windows permite
escalar privilegios por errores de configuración - Herramientas
- Net view
- Net accounts
- Net user
- Net localgroup
- Net group
- Net session
- Net start
- nltest
44Revisión de Contraseñas
- La revisión de contraseñas es necesaria para
garantizar la seguridad de un sistema - Errores comunes
- Contraseñas iguales al usuario
- Contraseñas fáciles
- Contraseñas almacenadas de forma fácil de romper
- Herramientas
- john
- VNC - Superscan4
- VNC - Cain Abel
45Protocolos Descifrados
- Muchos protocolos comunes están descifrados y
contienen contraseñas - pop3
- ftp
- telnet
- http
- smtp
- Herramientas
- WireShark
- Cain Abel
46Ejercicio Caso de Estudio50 minutos
- 5. Relaciones de Confianza Página 15
- cyberpadawan
47Agenda
- Introducción
- Tipos de Pruebas
- Estructura de un Pen Test
- Caso de Estudio
- TCP/IP
- Hackeo de Red
- Hackeo de Relaciones de Confianza
- Servidores Windows
- Bases de Datos
- Hackeo de Aplicaciones Web
- Conclusiones
48Hackeo de Bases de Datos
49Porque se atacan los Servidores BD?
- Tienen muchas interconexiones con otros sistemas
y personas - Generalmente contienen información importante y
valiosa de la organización - Muchas BDs corren como root o sistema
- Mantiene relaciones de confianza
- Las configuraciones por defecto en muchas
ocasiones dejan agujeros de seguridad - Interacción con el sistema operativo
50Riesgos del MS SQL Server
- En SQL Server 2000 tenía una instalación insegura
de fábrica - Puerto estándar
- Se ejecuta como NT Authority/SYSTEM
- Usuario SA
- Password nula
- No se bloquea
- No puede cambiársele el nombre
- Contraseña ofuscada al transmitirse
- Los usuarios y contraseñas (cifradas) se guardan
en la base de datos - Relaciones de confianza con otros servidores
- Aplicaciones conectadas al servidor
- Extended procedures muy poderosos
51Hackeo de Servidores MS SQL Server
- Herramientas de Hackeo
- Utilerías básicas
- Query Analyzer
- osql (línea de comando)
- sqltool (línea de comando)
- Herramientas avanzadas
- SQLping2, SQLrecon
- forceSQL, sqldict
- Sqlbf
52Hackeo de Servidores MS SQL Server
- Descubrimiento
- Ataques no Autenticados que hay que explotar
- Buffer Overflows
- Actualizaciones al día
- Caza de contraseñas
- Sniffing de la red
- Ataque fuerza bruta
- Archivos contengan usuarios y contraseñas
- Troyanizar procedimientos extendidos
- Ataques a clientes
53Hackeo de Servidores MS SQL Server
- Ataques Autenticados que hay que explotar
- Buffer overflow
- Extended Procedures
- Funciones
- Modificando privilegios en tiempo de ejecución
- Leyendo el registro
- Fuerza bruta contra hashes
- Saltar los mecanismos de Control acceso
- procedimientos temporales almacenados
- OpenRowSet()
- Autenticación windows y proc almacenados
- Utilizando SQL Agent jobs
54Descubrimiento
55Buffer overflow
56Sniffing de la autenticación y de los queries
57Sniffing de la Red
58Sniffing de la red
59Fuerza Bruta
60Fuerza bruta forceSQL
61Fuerza Bruta contra hashes
62Fuerza Bruta contra hashes de contraseñas
63Ejercicio Caso de Estudio30 minutos
- 5.5 Hackeo de Bases de DatosPágina 20
64Agenda
- Introducción
- Tipos de Pruebas
- Estructura de un Pen Test
- Caso de Estudio
- TCP/IP
- Hackeo de Red
- Hackeo de Relaciones de Confianza
- Servidores Windows
- Bases de Datos
- Hackeo de Aplicaciones Web
- Conclusiones
65Hackeo de Aplicaciones Web
66Estadísticas
- Gartner Group
- De 300 sitios auditados, 97 son vulnerables a
ataques - El 70 de los ataques ocurren a nivel de la
aplicación Web
.
67Atacan primero lo más estándar
Políticas, Estándares y Procedimientos
AplicaciónComercial
Aplicación Web
Autentificación
Protocolo deComunicación
Contraseñas
Servidor Web
Base deDatos
SistemaOperativo
Monitoreo y Reacción a Incidentes
68Aplicaciones Web
- La mayoría de las aplicaciones Web
- Son de alto riesgo
- Están mal diseñadas
- Están expuestas
- No están protegidas
- Tienen fallos comunes
- Son vías de entrada a la infraestructura de la
empresa o la institución
69Tipos de Ataques
- Recopilación de Información
- Ataques de Contraseñas
- Ataques a las Comunicaciones
- Ataques al Servidor Web
- Ataques a la Aplicación Web
- Ataques a la Bases de Datos
701. Recopilación de Información
- Google hacking
- intitleindex.of./etc
- intitlewelcome.to.IIS.4.0
- filetypelog inurlws_ftp intextpasswd
- Dumping data for table username password
- "access denied for user" "using password"
- " -FrontPage-" extpwd inurl(service authors
administrators users) " -FrontPage-"
inurlservice.pwd - VNC Desktop inurl5800
712. Ataques a Contraseñas
- Se requiere de 3 cosas
- Identificar al menos un usuario
- Identificar su contraseña
- Tener donde conectarse
- Usuarios se obtienen de
- Usuarios por defecto
- Enumeración de servicios
- Correos electrónicos
- Adivinando
- Haciendo ataques de diccionario o de fuerza bruta
722. Adivinando o descifrando contraseñas
- Enumeración de usuarios
- usuarios, NetBIOS, SNMP, SMTP, LDAP, NetWare
- Adivinar, ataque de diccionario o de fuerza bruta
- Autenticación HTTP o basada en formas
- SMB (LM, NTLM, NTLMv2)
- Archivos con Contraseñas (global.asa, .htaccess,
etc.) - Hashes (registry, passwd, shadow, archivos de
configuración) - Aplicaciones
- Brutus
- Hydra
- John
733. Interceptando Comunicaciones
- Sniffing
- Inalámbrico
- En la red local
- Ataque Man-in-the-Middle
- Envenenamiento de ARP
- SMB Relay
- DNS
- Ruteador
- HTTPS y SSH Relay
- Herramientas
- WireShark (Ethereal)
- Cain y Abel
- Ettercap
744. Ataques al Servidor Web Buffer Overflows
- Componentes que no validan adecuadamente las
entradas de datos pueden ser atacados y, en
algunos casos, usados para tomar control de un
proceso. - Lenguajes de alto nivel son inmunes pero no hay
ningún tipo de protección en C, C o ensamblador - Tipos de Ataque
- Negación de servicio
- Ejecución de comandos
- Escalamiento de privilegios
- Puede ser en CGIs, rutinas, DLLs, componentes del
servidor Web o incluso bibliotecas de terceros - Race conditions y format string bugs resultan en
ataques similares al buffer overflow
75Contexto de un Proceso
direcciones altas de memoria
direcciones bajas de memoria
76Inyectando código
Buffer 100 bytes
stack
stack
0x41414141
0x41414141
0x0050a78f
0x02fe4f0a
Buffer 100 bytes
stack
stack
0x02fe4f0a
0x02fe4f0a
0x02fe4f0a
0x02fe4f0a
775. Ataques a la Aplicación Cross-Site Scripting
- La aplicación Web puede ser usada como un
mecanismo para transportar un ataque al navegador
del usuario final - Pueden ser almacenados o reflejados
- Tipos de Ataque
- Compromiso del token de sesión del usuario final
- Envío de usuario, contraseña y otros datos al
sitio del atacante - Ataque a la máquina local
- Divulgación de archivos
- Instalación de troyanos
- Enmascarar contenido para engañar al usuario
- Ataque al servidor vía Server Side Includes
786. Ataques a las BDsInyección de SQL
- La aplicación Web pasa parámetros no validados
cuando accede a las bases de datos. - Tipos de ataque
- Lectura, modificación o borrado de datos en una
base de datos - Ejecución de comandos en la base de datos
- Ejecución de comandos en el sistema operativo
- Lectura, modificación o borrado de archivos del
sistema
79Inyección de SQL
- Un query de login con error de inyección
- SELECT FROM users
- WHERE login 'victor'
- AND password '123'
- (True? - Si regresa algo entonces es válido!)
- var sql "SELECT FROM users
- WHERE login '" formusr
- "' AND password '" formpwd "'"
80Inyección de SQL
- formusr ' or 11
- formpwd lo que sea
- El query final se vería así
- SELECT FROM users
- WHERE username ' ' or 11
- AND password ' lo que sea'
81Ejercicio Caso de Estudio60 minutos
- 6. Verificación de Servicios
- Y Aplicaciones Web
- Página 27
82Agenda
- Introducción
- Tipos de Pruebas
- Estructura de un Pen Test
- Caso de Estudio
- TCP/IP
- Hackeo de Red
- Hackeo de Relaciones de Confianza
- Servidores Windows
- Bases de Datos
- Hackeo de Aplicaciones Web
- Conclusiones
83Pruebas de Penetración
- Revisión de vulnerabilidades
- Análisis de Riesgos
- Uno de los pocos usos legales del hackeo
- Siempre hay riesgos en estas pruebas
- Utilicen máquinas virtuales
84Pruebas de Penetración
- Identificación y Reconocimiento
- Búsqueda en Internet
- Escaneo de puertos
- Escaneo de servicios
- Enumeración
- Acceso
- Malas configuraciones
- Fallas en Autenticación
- Buffer overflows
- Aplicaciones Web mal programadas
85Pruebas de Penetración
- Escalamiento de Privilegios
- Creación de usuarios
- Obtención de contraseñas
- Expansión de Influencia
- Reutilización de contraseñas
- Relaciones de confianza
- Sniffing de la subred
86Fernandos hacking algorithm
- if (vuln true)
- estamosDentro()
- goto(nextObjective)
- else
- TryAndTryAnotherOption()
87Preguntas durante el hackeo
- Preguntas
- Qué tengo?
- Qué quiero?
- Puedo aprovechar lo que tengo para obtener
privilegios en otras máquinas?
88Mentalidad de Hacker
- Recopila mucha Información
- Conoce a profundidad los sistemas
- Es más fácil comenzar con lo que más conoce
- Se pone en el lugar de los administradores
- Porqué lo hacen así? Qué se les pudo haber
olvidado? Cuál es su punto débil? - Busca patrones, relaciones, se cuestiona
- ES AUTODIDACTA
89Conclusiones
- Hay literalmente miles de formas de hackear
- Es más una forma de pensar que una habilidad
específica - Es uno de los mejores catalizadores para aprender
temas de alto nivel - Great power (knowledge) comes with great
responsability - Have fun ? !!
90Muchas Gracias!
- Víctor Chapela Eder Lira Fernando Alameda
- Sm4rt Security Services
- victor_at_sm4rt.com
- 52 (55) 5409 9586