Busca en el asistente de Google
Related: Busca páginas relacionadas
Info: Busca en la información de Google
Link: Busca enlaces entrantes/salientes
All: Busca en todo Google
Define: Busca la definición de un término
Search: Busca en la barra de búsqueda de Google
I'm Feeling Lucky: Redirige a la primera entrada de resultados
Ver más operadores en: https://goo.gl/h8r1s
AL LÍO!
Buscando vulnerabilidades
2. El valor de la información - I
La finalidad del atacante
ha variado con el tiempo
No se busca fama
Se busca «hacer dinero»
El malware se diseña
para ser tan silencioso
como se pueda
3. El valor de la información - II
Venderla en el mercado
Pasarla a la competencia.
Anticipación en el mercado
Análisis de estrategias
Robo de clientes
Desprestigio
Hacer extorsión
Almacenarla para uso futuro
4. El valor de la información - III
Product Price
Credit card details From $2-$90
Physical credit cards From $190 + cost of details
Card cloners From $200-$1000
Fake ATMs Up to $35,000
Bank credentials From $80 to 700$ (with guaranteed balance)
Bank transfers and cashing checks From 10 to 40% of the total
$10 for simple account without guaranteed balance
Online stores and pay platforms From $80-$1500 with guaranteed balance
Design and publishing of fake online stores According to the project (not specified)
Purchase and forwarding of products From $30-$300 (depending on the project)
Spam rental From $15
SMTP rental From $20 to $40 for three months
VPN rental $20 for three months
6. D(D)oS
Actualmente es la punta de lanza de los ataques
cuya finalidad es únicamente causar daños
Generalmente, se utilizan equipos
comprometidos (Zombies)
Muy difícil de detener si se realiza
correctamente
Algunos métodos:
SYN / UDP Flood
DNS Amplification Attack
Redes P2P
Smurf / Echo + Chargen (Old school way)
7. Conceptos de auditoría informática
Objetivos Footprinting
Metodología de búsqueda
Herramientas
Objetivos Fingerprinting
Metodología de búsqueda
Herramientas
8. Bug
Un error de software o computer bug, que significa
bicho de computadora, es el resultado de un fallo de
programación introducido en el proceso de creación de
programas de computadora. El término bug fue
acreditado erróneamente a Grace Murray Hopper, una
pionera en la historia de la computación, pero Thomas
Edison ya lo empleaba en sus trabajos para describir
defectos en sistemas mecánicos por el año 1870.
Fuente: Wikipedia en Español
9. Exploit
Exploit (viene de to exploit - aprovechar) - código escrito con el
fin de aprovechar un error de programación para obtener
diversos privilegios. software.
Un buen número de exploits tienen su origen en un conjunto de
fallos similares. Algunos de los grupos de vulnerabilidades más
conocidos son:
Vulnerabilidades de desbordamiento de pila o buffer overflow.
Vulnerabilidades de condición de carrera (Race condition).
Vulnerabilidades de error de formato de cadena (format string bugs).
Vulnerabilidades de Cross Site Scripting (XSS).
Vulnerabilidades de inyección SQL (SQL injection).
Fuente: Wikipedia en Español
20. Fortificación
Proceso a priori
Automatizable
Dependiente del Rol (DNS, WEB, WIRELESS)
Aplicación de tres principios:
Mínimo Punto de Exposición
Mínimo Privilegio Posible
Defensa en Profundidad
21. Defensa en Profundidad
Datos ACL(Acces control List), cifrado, VLAN
Aplicación Fortificación de aplicación, antivirus
Servidor Firewall, Antimalware, HIDS,…
Red Interna Segmentación, IPSec, IDSs
Perímetro Firewalls, VPN, NAP, 802.1x
Segurdiad Física Guardas, cerraduras, Sistemas de vigilancia
Politicas, Procedimientos &
Concienciación Formaición a usuarios
22. Test de Intrusión (Penetration Test)
El objetivo es encontrar fallos de seguridad en
un sistema
Se busca conocer el “riesgo” en que se
encuentra un sistema
No es una auditoría completa
No se buscan todos los fallos
Se busca detectar tendencias
23. Test de Intrusión (Penetration
Test)
Aspectos importantes antes de empezar
Ámbito de ejecución
Franjas de tiempo
Objetivos/Activos
24. Auditoría Seguridad
Es completa
El objetivo es generar un status de seguridad
Incluye Tests de penetración y
Recomendaciones
Hay que definir el punto de partida
Auditoría de Caja Blanca
Auditoría de Caja Negra
Auditoría de Caja gris
25. Auditoría caja blanca
Los auditores cuentan Pros:
con información sobre Minucioso
los objetivos Mejores recomendaciones
Código fuente Mayor alcance
Configuración
Documentación
Contras:
Credenciales
Requiere más esfuerzo
por ambas partes
No se simula un ataque
de verdad
26. Auditoría caja negra
Los auditores simulan el Pros:
procedimiento de un Simula un ataque de verdad
atacante Mínimo esfuerzo del cliente
No se cuenta con Contras:
información previa más Mayor esfuerzo de los
que la disponible auditores
públicamente No se puede asegurar el
100%
Recomendaciones generales
27. Auditoría caja gris
Los auditores simulan el Pros:
procedimiento de un Mayor rentabilidad
atacante Estimación realista de las
amenazas
Se cuenta con
información previa al Contras:
estilo de las auditorías de No se simula un ataque
caja blanca real
28. Seguridad
La seguridad depende de 3 factores:
Procesos:
Procedimientos y operaciones en nuestros entornos
Personas
Poca formación
Tecnología:
Estándares (TCP/IP)
Desarrollos personales
Productos de los fabricantes (IIS,Apache)
¿Qué se audita?
29. Auditorías de Seguridad de
Código
Se realiza al código fuente de una aplicación
Caja Negra: Fuzzers
Caja Blanca: Analisis estático de Código
FxCop
CodeAnalysis
http://en.wikipedia.org/wiki/List_of_tools_for_static_co
de_analysis
OWASP:
https://www.owasp.org/index.php/Source_Code_Analys
is_Tools
30. Objetivo: Recoger toda la información pública del objetivo de la
auditoría desde internet
Datos de Servidores
Datos de Clientes
Datos personas
Proveedores
Tecnologías utilizadas
Servicios ofrecidos
…
31. “If I had eight hours to chop down a tree, I‟d
spend the first six of them sharpening my
axe.”
-Abraham Lincoln
32. Fases de un ataque
1
Reconocimiento
5 2
Limpiar huellas Escaneo
4 3
Mantener acceso Intrusión
33. Footprinting
La fase de footprinting suele ser la más importante en un
proceso de intrusión
Consiste en la búsqueda y obtención de la máxima
información pública posible acerca del objetivo
Datos de servidores
Datos de clientes
Datos personales
Proveedores
Tecnologías utilizadas
Servicios ofrecidos
Contactos (Personas - Teléfonos)
…
34. Conoce a tu enemigo
IP y nombre de dominio
Whois
Netcraft (vida de un dominio)
Ubicación (Medio fingerprinting)
Trace Route
Visual Route
Correos electrónicos
Cabeceras
35. Buscando en el baúl de los recuerdos
Empresas con algún tipo de
relación
Reconocimiento pasivo
Grupos de noticias, listas de
correo, foros, blogs, etc
Ofertas de trabajo IT
Contenido cacheado
39. Redes sociales
Útil para preparar ataques de ingeniería social
Gustos personales
Relaciones humanas
Personal de una organización
40. Algunas redes sociales
Redes Sociales Profesionales
Redes Sociales Personales
Ofertas de Empleo
41.
42. Automatizando la búsqueda
Se podría automatizar la búsqueda en distintas
páginas web, redes sociales, comunidades
online, etc (social media)
O utilizar lo que ya hay
http://namechk.com/
http://knowem.com/
43.
44. Registros DNS
REGISTRO UTILIDAD
A Traduce nombre de dominio a dirección IP
MX Servidores de correo
NS Servidores DNS
CNAME Alias de dominio
SOA Servidor DNS primario para la zona
SRV Indica los servicios que se ofrecen
PTR Traduce una dirección IP en un dominio
TXT Información textual
SPF Sender Policy Framework
45. DNS Cache Snooping – I
Se puede realizar una petición DNS indicando al servidor
que no sea recursiva
Si el servidor responde afirmativamente, dicho dominio
ha sido solicitado recientemente
Utilidades:
Software utilizado: Actualizaciones
Chantaje / Descrédito: Dominios de conteido “adulto”
Búsqueda de redes sociales / laborales
Relaciones con ciertos dominios
46. DNS Cache Snooping – II
root@bt:~# dig @SERVIDOR A DOMINIO +norecurse
Automatizándolo: DNSCacheSnooping.py
48. Whois
Proporciona diversa información
Información de personal de la empresa
Correo electrónico
Teléfonos de contacto
Localización
Etcétera
Robtex -> http://www.robtex.com
Ripe -> http://www.db.ripe.net
Herramienta whois
49. Descarga de la web actual (fingerprinting)
Teleport Pro
Wget –r
Descarga de webs anteriores
Archive.org
Descarga de ficheros y análisis de metadatos
Ficheros Ofimáticos (y ficheros incrustados)
Fotografías (EXIF Metadata)
50.
51.
52. Metadatos
Son los “datos de los datos”, incluyendo
información relativa a los propios
documentos, autor, modifcaciones, etc
Información obtenida:
Rutas a archivos – Servidores internos
Equipos internos
Impresoras
Versiones de software utilizadas
Servicios ofrecidos
53. Herramientas
Estado del arte en la búsqueda de metadatos
Libextractor
Librería para la extracción de metadatos de distintos formatos
Exiftool
Centrada en los metadatos de las
imágenes, EXIF, XMP, IPTC, etc…
Metagoofil
Busca documentos en google y haciendo uso de Libextractor
obtiene los metadatos.
Carece de interfaz y análisis de los metadatos, no extrae todos
los metadatos deseados.
54. FOCA
Extracción de metadatos
Documentos ofimáticos
Imágenes
Búsqueda de
información en Internet
Reconocimiento de
tecnologías utilizadas
58. Google Hacking
Búsqueda de información sensible y/o vulnerabilidades
mediante los resultados cacheados por los buscadores
http://www.exploit-db.com/google-dorks/
Múltiples buscadores:
Google
Bing
Exalead
Shodan
59. Operadores de búsqueda
Operador Descripción
site: Restringir resultados a un único dominio o servidor
inurl:/allinurl: Todos los términos deben aparecer en la URL
intitle:/allintitle: Todos los términos deben aparecer en el título
cache: Visualiza la caché de Google
ext:/filetype: Busca ficheros de la extensión / tipo especificada
info: Encontrar más información acerca de una página
link: Encontrar páginas que enlazan al dominio especificado
inanchor: Página enlazada por alguien utilizando el término especificado
60. Modificadores de búsqueda
Operador Descripción
- Operador de búsqueda para ocultar resultados
~ Sinónimos
[#]..[#] Rango de números
* Comodín para especificar algo dentro de otra búsqueda cuando se
utilizan comillas
+ Resultados exactos
OR Operador booleano
| Igual que el anterior
65. Ejemplos con Google
Busqueda de backups
Busqueda de CMS concreto
Búsqueda de subdominios
Directorios abiertos
Intitle:index of
Busqueda de paneles de admin
FileType
Site
InUrl
InTitle
Ext
66. Bing
Al igual que Google, tiene algunos
modificadores de búsqueda
Principalmente, se utiliza el operador “ip:”
Permite obtener dominios en la misma dirección IP
67. Infraestructura de red con Shodan
Buscador de servicios
Permite encontrar multitud de hardware
Servidores Web
Centralitas VoIP
Electrónica de red
Sistemas SCADA
…
Maltego plugins
71. El objetivo es el mismo que la técnica
footprinting. Conseguir INFORMACIÓN.
Se consigue la información de manera
indirecta, en base a las respuestas del sistema
operativo.
Se requiere una interactuación directa con la
víctima.
Entra dentro del proceso de auditoría de caja
blanca y negra.
72. Listado de puertos de un equipo
Lista de servicios que oferta
Productos y versiones
Configuraciones
Vulnerabilidades de seguridad en aplicaciones
Sistemas operativos
Topología de red
Etc..
Cualquier herramienta o técnica que ayude a recabar este tipo de
información será considerada como de fingerprinting.
73. Un puerto abierto no es malo
Analizar qué tipo de puertos hay abiertos (TCP, UDP)
TCP es un protocolo orientado a conexión
Conexiones fiables
Garantía de llegada y recepción de paquetes
http, smtp, ftp, etc..
UDP no es un protocolo orientado a conexión
No hay garantías de recepción
No exige fases de establecimiento y conexión
Streaming, Voz, Messenger, etc..
74. Escaneo “Connect”
Puerto Abierto
Utiliza las llamadas al sistema
para conectar, por lo que no
requiere privilegios
Mayor probabilidad de que la
conexión quede registrada
Puerto Cerrado puesto que se completa
75. Escaneo “SYN”
Puerto Abierto Menor probabilidad de que la
conexión quede registrada
puesto que no llega a
completarse, además de ser
más rápido
Puerto Cerrado Requiere privilegios de
administrador
76. Escaneo “ACK”
Puerto No Filtrado Proporciona mapeo de reglas
de firewall
Sólo válido para firewalls
“stateful”
Puerto Filtrado
77. Escaneo „ftp-bounce‟
Puerto Abierto Requiere privilegios para
conectarse al FTP
Permite escanear un host
remoto utilizando para ello el
servidor FTP
Puerto Cerrado
78. Escaneo “Idle”
Análisis IPID Análisis IPID
Se basa en la predictibilidad del
Spoofeo SYN incremento de IPID
Actualmente es difícil encontrar una pila
TCP/IP vulnerable
La IP del atacante nunca queda registrada
por el objetivo
79. Escaneo UDP
Puerto Abierto Puerto Cerrado
Puerto Filtrado/Abierto Requiere privilegios de
administrador
Suele tardar mucho más que un
escaneo TCP
Límite de mensajes ICMP: Port
Unreachable
81. Escaneo „ping‟
Host Encendido Las tramas ICMP son
comunes, por lo que tienen mayor
probabilidad de pasar
desapercibido
No proporciona gran información
No distingue entre host apagado e
Host Apagado / Filtrado ICMP filtrado
Se puede realizar a nivel 2 – ARP
Se pueden utilizar también
paquetes TCP con diversas “flags”
83. Análisis de código
Existe mucha información contenida en el
propio código de cualquier aplicación.
Los comentarios de código de páginas web
pueden ofrecer Ips internas, nombre de los
desarrolladores, rutas de zonas internas o incluso
contraseñas.
Esto mismo ocurre con aplicaciones en
flash, java…
84. Jugando con el TTL
Su utilidad es evitar que un paquete entre en bucle
Campo de 8 bits de la cabecera del protocolo IP
Disminuido en uno por cada host antes de
procesarlo
Si el TTL llega a 0 antes de alcanzar su destino se
devuelve un datagrama ICMP con el código 11:
Time Exceeded
85. Traceroute
Utiliza el TTL para conocer la distancia en saltos
entre dos host
Proporciona información adicional sobre la latencia
En Windows se utilizan mensajes ICMP
En Linux se utilizan datagramas UDP
93. Método para detectar un sistema operativo en base
a la información ofrecida por el Stack TCP/IP de
cada SO
Métodos activo – pasivo
Activo.- Respuestas de los paquetes enviados por el SO
Pasivo.- Observación de tramas
El descubrimiento es posible gracias a que cada SO
implementa la pila de diferente manera
Cambiando la pila TCP/IP de Linux:
http://his.sourceforge.net/proy_his/papers/nmap
/nmap.es.html
94. Piensa por ejemplo en una auditoría de
servidores.
Encuentras un servicio alojado en un puerto
determinado
Sabes qué aplicación puede estar usando ese puerto
Si supieses bajo qué SO trabaja, te ahorrarás trabajo
95. El SO se puede actualizar:
Diferentes versiones de la pila
Bug crítico – Diferentes parches (Diferentes SO)
Hardening TCP/IP
96. Modo activo
Uso de Telnet
Envío de cabeceras HTTP para obtener respuestas
sobre el Banner del servidor
97.
98. Suelen ocultar banner de la aplicación o SO
Se pueden configurar para ello
El SO también se puede configurar
99. ▫ Los ataques de DoS son hoy en día carne de cañón para un atacante.
Causan perdidas económicas bastante significativas. Para aumentar
(Esta técnica no nos resuelve el problema) la resistencia a estos
ataques hay unas claves en el registro que debemos añadir o
modificar.
HKLMSystemCurrentControlSetServicesTcpipP
arameters
▫ Más información:
Q315669 “HOW TO: Harden The TCP/IP Stack in
Windows 2000 Against Denial of Service”
101. Nombre de valor: SynAttackProtect
Clave: TcpipParameters
Tipo del valor: REG_DWORD
Intervalo válido: 0,1
Valor predeterminado: 0
Este valor del Registro hace que el Protocolo de control
de transporte (TCP) ajuste la retransmisión de SYN-
ACKS. Cuando configura este valor, las respuestas de
conexión superan el tiempo de espera antes durante un
ataque SYN (un tipo de ataque por denegación de
servicio).
102. Para discernir si existe un ataque o no, el SO
utiliza estas otras tres claves de registro:
TcpMaxPortsExhausted
TCPMaxHalfOpen
TCPMaxHalfOpenRetried
103. Nombre de valor: EnableDeadGWDetect
Clave: TcpipParameters
Tipo del valor: REG_DWORD
Intervalo válido: 0, 1 (falso, verdadero)
Valor predeterminado: 1 (verdadero)
Cuando la detección de puertas de enlace inactivas está
habilitada, TCP puede pedir al Protocolo Internet (IP)
que cambie a una puerta de enlace de reserva si hay
varias conexiones que tienen dificultades
104. Nombre de valor: EnablePMTUDiscovery
Clave: TcpipParameters
Tipo del valor: REG_DWORD
Intervalo válido: 0, 1 (falso, verdadero)
Valor predeterminado: 1 (verdadero)
Microsoft recomienda configurar el valor
EnablePMTUDiscovery como 0. Si lo hace, se utilizará una
MTU de 576 bytes para todas las conexiones que no sean
hosts en la subred local. Si no configura este valor como 0, un
atacante podría forzar que el valor MTU fuera muy pequeño y
sobrecargar la pila.
105. Nombre de valor: KeepAliveTime
Clave: TcpipParameters
Tipo del valor: REG_DWORD (tiempo en milisegundos)
Intervalo válido: 1-0xFFFFFFFF
Valor predeterminado: 7.200.000 (dos horas)
Este valor controla la frecuencia con la que TCP intenta
comprobar si una conexión inactiva sigue intacta enviando
un paquete de mantenimiento de conexiones activas. Si el
equipo remoto sigue siendo accesible, confirmará el paquete
de mantenimiento de conexiones activas. La configuración
recomendada para este valor es 300.000(5 minutos).
106. Modo pasivo
Ven la información que se intercambia con el Host
Efectiva con Host que no vemos de forma directa
(Firewalls)
Hay tipos de fingerprint que se basan en respuestas
ICMP. Pero… Y si no hay respuesta ICMP?
107. Salida de un paquete específico de Linux:
TTL:64
Windows: 5840
TCP Options: Sets
MSS, Timestamps, sackOK, wscale and 1 nop
Packet Length:60
108. Salida ObenBSD:
TCP Options: Usa las mismas opciones que Linux
menos el indicativo nop, OpenBSD usa 5 nops
IP ID: Random. Se necesitaría más de un paquete
para poder identificar con éxito
Total Packet Length: 64 Bytes. Indicador de clave
109. P0f
Creada por Michael Zalewski
Nmap
Nessus
110. HTTP Firewall SQL
request Database
(cleartext or
SSL) Web app
DB
Web app
Web Web
Client Server Web app
DB
Web app
HTTP reply
(HTML,
Javascript, •Apache Plugins: Database
VBscript, etc) •IIS •Perl connection:
•Netscape •C/C++ •ADO,
etc… •JSP, etc •ODBC, etc.
111. Similar a la detección de SO
Enviar peticiones HTTP
Esperar información
Evaluar la información recibida
112. Objetivo muy, muy atractivo
Muchos y muy fáciles de encontrar
Gran cantidad de vulnerabilidades
No todos los Servidores Web tienen todos los
parches (Actualizaciones descentralizadas)
113. Cómo es posible la identificación?
La implementación del HTTP RFC es diferente para
cada Servidor Web
El RFC está “ahí”, pero cada uno lo implementa a su
manera
Mismas preguntas !=Respuestas==Huella
Proceso automatizable
114. Metodología empleada
Semántica.- Interpretación de las respuestas
Sintáctica.- Orden y contexto en los elementos
devueltos
Léxica.- Palabras
especiales, frases, puntuaciones, etc..
Estableciendo métricas en base a esta metodología, se
hace posible la identificación
115. Búsqueda Léxica
Ejemplo para el código de error 404:
Apache usa “Not Found”
Microsoft IIS/5.0 usa “Object Not Found”.
Diferencia de palabras
Content-Length
Content-length
Mirar campo Server:
116. Búsqueda Sintáctica
Buscar variaciones en campos
Ejemplo con campo Date
Servidores Apache: Anterior al campo Server
Servidores IIS.- Después del campo Server
117. Búsqueda Semántica
Nos basamos en la interpretación de un Servidor Web a una petición
específica
Ejemplo sin peticiones
Mandar palabra “Hola” sin ningún verbo
Apache.- No manda cabeceras, Invalid URI, etc…
IIS.- Manda un tipo de error 400 (Bad Request)
Se pueden cambiar las peticiones para evaluar las respuestas
“GET”
"GET / HTTP/999.99”
"GET / HTTP/9.Q“
"HEAD /////////// HTTP/1.0"
118. HPP Y HPC
Métodos para la evasión de IDS/WAF
También útiles para realizar finguerprinting de
servidores WEB debido a la diferente respuesta
de los servicios en función de su origen y
versión.
www.example.com/?id=3&id=5
www.example.com/?id=%003