Plática sobre utilizar diferentes técnicas para detener a scanners de seguridad y a la gente que los usa sin pensarlo.
Impartida en CISI 2018, DragonJARCON 2018, 8.8 Bolivia, 8.8 Perú y 8.8 México.
Grabación en video:
https://www.youtube.com/watch?v=NtQpzjgitao&t=1s
2. $whoami
• Pruebas de penetración, análisis de vulnerabilidades, análisis de
seguridad de código fuente, pruebas de ingeniería social y
consultoría especializada con Websec (http://websec.mx/).
• Autor con PacktPub (https://www.packtpub.com) y Pluralsight
(https://www.pluralsight.com).
• Disfruto escribir software libre, jugar con tecnologías nuevas e
investigar problemas de seguridad actuales.
• Líder de capítulo de OWASP Riviera Maya.
3. ¿Changos con scanners?
Chango
1. adj. Perteneciente o relativo a los changos.
2. m. Méx. mono (‖ simio).
Scanner
1. m. Del ingl. scanner; propiamente 'el que explora o registra'.
2. m. Software con el objetivo de identificar servicios o vulnerabilidades.
Chango con scanner
1. Referido a un simio o chango que utiliza scanners sin pensar ni entender el funcionamiento interno de
uno.
4. ¿De qué trata esta charla?
Hablaremos de algunas técnicas
para mantener lejos a esos
molestos changos con scanners.
6. ¿Cuando no se deben molestar?
Si es una prueba pagada y
NO ESTAS PROBANDO tus
controles de seguridad
(O a sus pentesters…)
¿Por qué?
7. Desde el inicio: Lo que todos sabemos
(o deberíamos saber)
AVs, IPS, IDS , etc, son efectivos únicamente
si están configurados correctamente.
El peor error (y el más común) son políticas
relajadas. Por ejemplo, reglas de bloqueo de
5, 10, o 15 minutos, ¡hay que bloquear por
más tiempo!
8. Desde el inicio: Lo que todos sabemos
(o deberíamos saber)
Actualiza tu software constantemente.
Nada molesta más a un atacante que
encontrarse todo el software actualizado
al día.
10. ¿Cómo funcionan la mayoría de los
scanners de vulnerabilidades?
La mayoría de scanners funcionan de manera
similar:
1. Reconomiento -> Nmap, TCP Full/SYN scanner,
Verificación de objetivo en línea.
2. Identificación de servicios -> Base de datos o
probes específicos por protocolo.
3. Identificación de vulnerabilidades -> Envio de
probes de ataque.
4. Explotación (En algunos casos).
14. ¿Qué pasa si deshabilitamos SMB1?
• ¿Estamos utilizando SMB1? Es la primer pregunta
que deberían hacerse.
• Muy pocas herramientas soportan SMB2/SMB3.
¡Usemos esto a nuestra ventaja!
15. ¿Qué pasa si deshabilitamos SMB1?
• ¿Estamos utilizando SMB1? Es la primer pregunta
que deberían hacerse.
• Muy pocas herramientas soportan SMB2/SMB3.
¡Usemos esto a nuestra ventaja!
16. ¿Qué pasa si deshabilitamos SMB1?
• ¿Estamos utilizando SMB1? Es por lo general la
primer pregunta.
• Muy pocas herramientas soportan SMB2/SMB3.
¡Usemos esto a nuestra ventaja!
Pueden deshabilitar SMB1 en sus equipos con Powershell:
Set-SmbServerConfiguration -EnableSmb1Protocol $false
18. ¿Y qué pasa si deshabilitamos SMB
completamente?
• Atacantes no podrán
probar/utilizar credenciales
comprometidas. (*)
• Si no hay otro software de
administración remota u
aplicación conectada al
dominio, esas credenciales
pierden valor.
21. El flujo infinito de datos
ncat -l 127.0.0.1 8080 -c
"echo 'HTTP/1.1 200
OKrnrn’; cat
/dev/urandom" –k
22. El flujo infinito de datos
Tan pronto un scanner abra un socket y realice una
operación de lectura sobre él, recibirá un flujo infinito
de datos basura.
Scanners que hagan operaciones de lectura infinitas
leerán los datos sin parar (consumiendo toda la
memoria disponible y deteniendo el proceso de
escaneo).
25. Enviando a los changos por agujeros
negros
Web scanners 'tontos'
son vulnerables a
ataques a web
crawlers viejos.
¿Por qué?
26. ¿Cómo podríamos atorar a un web
crawler?
• Estructuras infinitas de directorios como
http://atacante.com/ab/cd/ab/cd/
• Páginas que dinámicamente generen contenido
infinito.
• Páginas con una cantidad enorme de datos.
• Servidores web que siempre regresen código 200 y
contenido diferente.
32. Falsificando servicios
Existen diferentes maneras de fastidiar scanners:
• Mostrar todos los servicios como abiertos.
• Regresen un servicio diferente para cada puerto abierto.
No podrán distinguir rápidamente entre los resultados…
• Regresar siempre el nombre de un servicio muy
vulnerable para incitar a los atacantes a hacer más ruido.
No hace falta implementarlo. Prueben Portspoof!
(https://github.com/drk1wi/portspoof)
34. Falsificando respuestas
¿Se puede falsificar el tipo de sistema operativo que tenemos?
• Se utilizan especificaciones TCP/IP para identificar el sistema
operativo, pero podemos cambiar algunos de estos valores.
• Algunos equipos de seguridad ya están implementado esto.
• Puede ser realizado con cambios tan sencillos como cambiando el
valor de TTL:
Linux: echo 129 | sudo tee /proc/sys/net/ipv4/ip_default_ttl
• Recuerden que si hacen fallar a Nmap, todas las otras
herramientas que dependen de Nmap fallarán.
35. Explotando vulnerabilidades en
scanners
• Recuerden que también los atacantes usen
contraseñas por default. Especialmente en máquinas
temporales o de prueba!
• ¿Qué pasa si explotamos los scanners de los
atacantes?
• Muchas vulnerabilidades han sido publicadas. Ejem.
Acunetix, Nessus, CylanceProtect, McAfee EPO, etc.
39. ¿Qué otras cosas podemos hacer?
• Habilitar packet rate limiting cuando sea posible.
• Ocultar servicios utilizando port knocking.
• Existen otras técnicas de engaño como documentos
con canary tokens
(https://canarytokens.org/generate), honeypots, etc.
¿Qué otras ideas se les ocurre?
40.
41. ¡Herramienta próxima!
• Holbox (Agujero negro en Maya) será un set de
scripts para levantar un servicio/instalar en
aplicaciones 'trampas' que implementen técnicas de
las que hablamos.
Encuéntrenlo en https://github.com/cldrn/
Que es un chango, Como consecuencia, nuestra seguridad de red se fortalece.
Que es un chango, Como consecuencia, nuestra seguridad de red se fortalece.
Que es un chango, Como consecuencia, nuestra seguridad de red se fortalece.
Most attacks are automated.
So few profesionals with skills if you take away their tools.
La segmentación de red es pieza clave para contener ataques y movimiento lateral a través de equipos comprometidos.
La segmentación de red es pieza clave para contener ataques y movimiento lateral a través de equipos comprometidos.
La segmentación de red es pieza clave para contener ataques y movimiento lateral a través de equipos comprometidos.
If they don’t use smb, disable it. Attackers wont even be able to test credentials against those systems.
La mayoría de herramientas automatizadas de seguridad dejan de funcionar. Y muchos no sabrán porque.
If they don’t use smb, disable it. Attackers wont even be able to test credentials against those systems.
La mayoría de herramientas automatizadas de seguridad dejan de funcionar. Y muchos no sabrán porque.
If they don’t use smb, disable it. Attackers wont even be able to test credentials against those systems.
(*) si no hay RDP o
La segmentación de red es pieza clave para contener ataques y movimiento lateral a través de equipos comprometidos.
¿Algun otro que se les ocurra?
DEMO de portspoof
Los scanners son software. Todo software tiene vulnerabilidades. Hennce, los scanners tienen vulnerabilidades.
Los scanners son software. Todo software tiene vulnerabilidades. Hennce, los scanners tienen vulnerabilidades.
Los scanners son software. Todo software tiene vulnerabilidades. Hennce, los scanners tienen vulnerabilidades.