Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Rooted2020 hunting malware-using_process_behavior-roberto_amado

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Hier ansehen

1 von 29 Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie Rooted2020 hunting malware-using_process_behavior-roberto_amado (20)

Anzeige

Weitere von RootedCON (20)

Anzeige

Rooted2020 hunting malware-using_process_behavior-roberto_amado

  1. 1. Hunting Malware using process behavior @ramado78 – Rooted Madrid 0x2020
  2. 2. Introducción DEMO
  3. 3. Introducción Técnicas y actores avanzados Trabajan en memoria sin tocar disco Usan los procesos legítimos del propio equipo Cuando crean algún proceso es de una imagen de disco legítima Pueden inyectarse en procesos sin ni siquiera crear un hilo remoto (APC) Su malware solo se ejecutan en los equipos víctima Suplantan la jerarquía de procesos
  4. 4. Introducción Estrategias de hunting Correlación temporal de sucesos Relación de jerarquía de los procesos Comportamiento habitual o línea base
  5. 5. Introducción Instrumentación / Monitorización SYSMON de SysInternals Focaliza en entornos Microsoft Windows Necesitamos poder monitorizar que sucede, que hacen los procesos del equipo Sysmon identifica 22 tipos de actividad
  6. 6. Instrumentación/Monitorización Capa de correlación Problema!! Eventos atómicos sin relación Solución!! Capa de correlación
  7. 7. Sysmon Process Correlator Engine • Desarrollo en Python • Licencia GNU GPL • Implementa 2 motores de correlación • Baseline Engine • Hierarchy Engine • Fuente de datos • Ficheros .evtx de sysmon • Eventlog de la máquina (incluso en tiempo real) • Alertas Eventlog y/o stdout • Detecta comportamiento anómalo de los procesos • Proceso de Hunting buscando actividad maliciosa en ficheros .evtx descargados de equipos sospechosos • Entornos sandbox como complemento de detección • Forense • Complemento de monitorización activa para Blue Team • Testeo previo de reglas de correlación en SIEM • Búsqueda eventos en ficheros .evtx Capacidades Usos (Sysmon Processes Correlation Engine)
  8. 8. Sysmon Process Correlator Engine – Baseline Engine • Establece una base de comportamiento de los principales procesos del sistema, en especial aquellos susceptibles a ser inyectados. • Línea base parte de un proceso de investigación con metodología empírica (No ML) de un conjunto de máquinas con diferentes SO de Microsoft. • El resultado es un catalogo de comportamiento modelado en eventos de Sysmon • Se establece un puntaje de confianza para cada uno de ellos, si alguno realiza una acción fuera de la línea base pierde puntos. 0 puntos ->Alerta BASELINE ENGINE Características OBJETIVO Detectar procesos legítimos con código inyectado
  9. 9. Sysmon Process Correlator Engine – Baseline Engine BASELINE ENGINE Funcionamiento Tipo Acción Sysmon Ej. (1) Process Create Baseline Eng. Comprueba OK Atributos no habituales Resta confianza al proceso Características ID 1 • Imagen • Padre • Path • Integridad • Sesión • … Baseline Rules No hay alerta OK Comprueba puntos Quedan puntos? NO Alerta
  10. 10. Sysmon Process Correlator Engine – Baseline Engine Modelado explorer.exe
  11. 11. Sysmon Process Correlator Engine – Baseline Engine Modelado comportamiento explorer.exe Comportamiento General Atributo Valor Momento de ejecución Cuando un usuario inicia sesión interactiva, por lo tanto en cualquier momento. Tiempo de vida TTL Normalmente minutos u horas incluso días. Podemos encontrar alguna ejecución que dura milésimas (<1s), que el SO mata por no ejecutar otra instancia de shell. Creación de procesos hijo Numerosa y diferente, anormal a partir de 20 en 1 hora Instancias de ejecución 1 por usuario y sesión, si esta esta iniciada. Es posible llegar a tener 2 por usuario, si se activa “Abrir ventanas de carpeta en un proceso independiente” (hija de svchost, no userinit) [1]
  12. 12. Sysmon Process Correlator Engine – Baseline Engine Modelado comportamiento explorer.exe
  13. 13. Sysmon Process Correlator Engine – Baseline Engine Modelado comportamiento explorer.exe ID Sysmon 1 Process Create Atributo Valor En general muy pocos eventos Imagen disco C:Windowsexplorer.exe Procesos Padre C:WindowsSystem32userinit.exe (Normal) C:WindowsSystem32winlogon.exe (Cuando Crash) C:Windowsexplorer.exe (Muy rara vez) C:WindowsSystem32svchost.exe (Muy rara vez, se instancia un objeto mediante DCOM, al habilitar “Abrir ventanas de carpeta en un proceso independiente”) Directorio de ejecución C:Windows Usuario Diferente siempre de System Sesión Diferente siempre de 0
  14. 14. Sysmon Process Correlator Engine – Baseline Engine Modelado comportamiento explorer.exe ID Sysmon 1 Process Create Atributo Valor En general muy pocos eventos Integridad Media (PE) Imagen Descripción Windows Explorer (PE) Compañía Microsoft Corporation (PE) Nombre original EXPLORER.EXE Instancias de ejecución 1 por usuario y sesión si esta esta iniciada y 2 si se habilita “Abrir ventanas de carpeta en un proceso independiente”
  15. 15. Sysmon Process Correlator Engine – Baseline Engine Modelado comportamiento explorer.exe ID Sysmon 2 File Creation Time Changed Atributo Valor Frecuencia En general muy pocos eventos Nombre fichero destino Por debajo de la jerarquía de la carpeta de usuario en especial en AppData Ej. C:Users[USUARIO]AppData … Menos de 30 al día ID Sysmon 3 Conexión Atributo Valor Frecuencia En general muy pocos eventos (Iniciadas por el) Puerto destino "80", "443", "3128“ (Proxy si se usa) Menos de 12 al día (Recibidas por el) Puerto destino No es normal que levante sockets a la escucha, por lo que no deberíamos ver intentos de conexión hacia el explorer.exe (Iniciadas por el) IP destino IPs de Microsoft
  16. 16. Sysmon Process Correlator Engine – Baseline Engine Modelado comportamiento explorer.exe ID Sysmon 7 Carga módulos Atributo Valor En general pocos eventos Path de la imagen en disco de la DLL Varias localizaciones, debido a extensiones, pero mayormente de: C:Windows C:Program Files C:Program Files (x86) C:PROGRA~1 OneDrive Firma Status Valid ID Sysmon 8 Create Remote Thread Atributo Valor Frecuencia En general muy pocos eventos Crea hilos remotos No debería generar eventos de este tipo Recibe creación de hilos de C:WindowsSystem32wbemWmiPrvSE.exe 1 por ejecución de explorer
  17. 17. Sysmon Process Correlator Engine – Baseline Engine Modelado comportamiento explorer.exe ID Sysmon 9 Escritura RAW Atributo Valor Frecuencia Acceso habitual Dispositivo DeviceHarddiskVolume Menos de 100 al día ID Sysmon 11 Creación ficheros Atributo Valor Frecuencia Normal que se produzca Menos de 100 al día ID Sysmon 12 Object create and delete Atributo Valor Frecuencia Normal que se produzca Alta ID Sysmon 10 Open process Atributo Valor Frecuencia Normal que se produzca Alta
  18. 18. Sysmon Process Correlator Engine – Baseline Engine Modelado comportamiento explorer.exe ID Sysmon 13 Value Set Atributo Valor Frecuencia Normal que se produzca Alta ID Sysmon 14 Key and Value Rename Atributo Valor Frecuencia No debería generar Nunca ID Sysmon 15 ADS Create Atributo Valor Frecuencia No debería generar Nunca
  19. 19. Sysmon Process Correlator Engine – Baseline Engine Modelado comportamiento explorer.exe ID Sysmon 18 PIPE CONNECT Atributo Valor Frecuencia Pocos eventos Nombre PIPE srvsvc MsFteWds wkssvc TDLN Menos de 20 a la hora ID Sysmon 17 Create PIPE Atributo Valor Frecuencia No debería generar Nunca
  20. 20. Introducción DEMO
  21. 21. Sysmon Process Correlator Engine – Hierarchy Engine • Permite detectar situaciones anómalas basadas en la jerarquía de los procesos (relación Padre->Hijo) y sus acciones asociadas. • Construye el árbol de ejecución de procesos y asigna las acciones que estos van haciendo al PID correspondiente. • Permite detectar situaciones reiteradas de un comportamiento (N veces un hecho) • Presenta una visión rápida de la cadena de sucesos de una amenaza alertada HIERARCHY ENGINE Características OBJETIVO Detectar ejecuciones de código malicioso basado en la cadena de acciones
  22. 22. Sysmon Process Correlator Engine – Hierarchy Engine Ejemplos de reglas Ataque de Phising {"RuleID":8, "Rulename":"Successful phising attack", "Content": [ {"1c":{"Image":"EMAIL_AGENTS"}}, {"1":{"Image":"OFFICE_PROCESS"},"3":{"Image":"OFFICE_PROCESS"}}, {"1c":{"Image":"SCRIPTING_ENGINES_AND_SHELLS"}} ]}, Conecta
  23. 23. Sysmon Process Correlator Engine – Hierarchy Engine Ejemplos de reglas Ataque de Phising {"RuleID":8, "Rulename":"Successful phising attack", "Content": [ {"1c":{"Image":"OFFICE_PROCESS"} {"3c":{"Image":“*“, “DstIP”:”INTERNET”}} ]}, Todavía más generalizable Conecta
  24. 24. Sysmon Process Correlator Engine – Hierarchy Engine Ejemplos de reglas Inyecciones de código mal gestionadas {"RuleID":17, "Rulename":"Possible bogus injected code in System process because too many werfaults", "Content": [ {"1c":{"Image":"wininit.exe"}}, {"N":2, "Seconds":86400}, {"1c":{"Image":“*"}}, {"1":{"Image":"werfault.exe"}} ]}, {"RuleID":18, "Rulename":"Too many explorer crashes, possible bogus injected code", "Content": [ {"1c":{"Image":"winlogon.exe"}}, {"N":3, "Seconds":86400}, {"1":{"Image":"explorer.exe"}} ]},
  25. 25. Sysmon Process Correlator Engine – Hierarchy Engine Ejemplos de reglas Elevaciones de privs {"RuleID":19, "Rulename":"System process on user session (priv scalation)", "Content": [ {"1c":{"-TerminalSessionId":"0", "User":"System","-Image":"SYSTEM_PROCESS_ON_USER_SESSION"}} ]}, {"RuleID":20, "Rulename":"User process create system process", "Content": [ {"1c":{"-TerminalSessionId":"0", "-User":"System"}}, {"1":{"User":"System"}} ]}, {"RuleID":21, "Rulename":"Accessing to a System token from sesion 1 (priv scalation)", "Content": [ {"1c":{"User":"system"},"110c":{"-SourceUser":"system", GrantedAccess":"PROCESS_QUERY_INFORMATION"}} ]} [2]
  26. 26. Introducción DEMO
  27. 27. Sysmon Process Correlator Engine – Hierarchy Engine Detección Real Parent 2: CreateRemoteThread EventID 8 'NewThreadId': '10916' 1: Copia código malicioso 3: Create process Proceso Malicioso PID 1234 Explorer.exe PID 3113 cmd.exe /c format c: EventID 1 ProcessID:666 Parent PID 3113 EventID 10 'ThreadId': '10916‘ ‘TargetProcessId’:666 Real Parent PID 1234
  28. 28. Referencias • [1] https://digital-forensics.sans.org/media/SANS_Poster_2018_Hunt_Evil_FINAL.pdf • [2] https://posts.specterops.io/understanding-and-defending-against-access-token-theft-finding-alternatives-to-winlogon-exe-80696c8a73b REFERENCIAS https://lab52.io/ https://www.securityartwork.es/ WEBS MEDIA @ramado78 ramado@s2grupo.es
  29. 29. BARCELONA BOGOTÁ Llull, 321, 08019 T. (+34) 933 030 060 Calle 89, nº 12-59, T. (+57) 317 647 10 96 info@s2grupo.es www.s2grupo.es www.securityartwork.es www.lab52.es MADRID Velázquez, 150, 2ª planta, 28002 T. (+34) 902 882 992 MÉXICO, D.F. Monte Athos 420 D.F., 11000 México T. (+52) 15521280681 VALENCIA Ramiro de Maeztu 7, 46022 T. (+34) 902 882 992

×