Anlisis Forense I' Escenario Malware en entornos Windows PowerPoint PPT Presentation

presentation player overlay
1 / 27
About This Presentation
Transcript and Presenter's Notes

Title: Anlisis Forense I' Escenario Malware en entornos Windows


1
Análisis Forense I.Escenario Malware en entornos
Windows
HOL-SEG03
  • Juan Garrido
  • Consultor Seguridad I64
  • jgarrido_at_informatica64.com

2
Agenda Nivel I
  • Tipos de Troyanos
  • Troyanos de conexión directa
  • Troyanos de conexión inversa
  • Herramientas
  • Netcat
  • Crypcat
  • Rootkits
  • Rootkits modo usuario
  • Rootkits modo Kernel
  • Phishing
  • Tipos de Phishing
  • Troyanos bancarios

3
Agenda Nivel II
  • Análisis Malware
  • Análisis estático
  • Análisis dinámico
  • Análisis RAM Memory
  • Volcados de memoria
  • Volcados de procesos
  • Tipos de Herramientas

4
Agenda Nivel III
  • Malware Indetectable
  • Antivirus
  • Verificación firmas
  • Heurística
  • Técnicas utilizadas
  • Encriptación
  • Morphing
  • Modificación firmas
  • Binders
  • Detección de firmas
  • Herramientas

5
Introducción
  • Los troyanos no son nada nuevo
  • Desde los 70 ya se conocían troyanos que imitaban
    la pantalla de Login.
  • La profesionalización del crimen online los ha
    resucitado como herramienta de fraude.
  • En el mercado hay tal cantidad de malware, que
    para las empresas antivirus es prácticamente
    imposible analizarlas todas.

6
Introducción
  • Los métodos tradicionales han ido pasando a la
    historia
  • Hoy en día lo que se lleva son los troyanos
    personalizados y específicos
  • Están desarrollados pensando en un fin específico
  • Diversidad en el código fuente (Malware
    multiplataforma)
  • Capacidad para adaptarse al entorno (conexiones
    inversas)

7
Tipos de Conexión
  • Conexión directa
  • Gran auge en los 80
  • El atacante tenía que establecer la conexión
  • Gran facilidad en aquella época (Usabilidad VS
    Seguridad)
  • Se ha ido perdiendo con el paso de los años
  • Conexión Inversa
  • La seguridad ha avanzado mucho (FW, IDS, etc..)
  • El troyano se conecta directamente al atacante
  • Facilidad para pasar Firewalls, burlar antivirus,
    etc..
  • En algunos casos se requiere conocer cómo
    funciona internamente un SO.

8
Herramientas
  • Netcat
  • La navaja suiza de los administradores
  • Herramienta adoptada por los atacantes
  • Detectada por algunos antivirus como Hack-Tool
  • Permite ejecutar Shell Remotas
  • Capacidad para compartir conexión con otras
    aplicaciones
  • Muy difícil de detectar en ciertas
    configuraciones
  • Crypcat
  • Su homólogo en versión cifrada

9
Rootkits
  • Objetivo
  • Ocultación total
  • Muy extendidos
  • En poco tiempo se han convertido en la primera
    línea de ataque
  • Técnicas
  • Inyección
  • DKOM
  • Tipos
  • Usuario
  • Kernel

10
Técnicas y Objetivos (Inyección)
  • Conocer qué aplicación llama a determinada API
    del sistema
  • Utilizada ampliamente por spyware y rootkits
  • Los objetivos son varios
  • Escuchar mensajes de la aplicación
  • Modificar datos de la aplicación
  • Ocultación de todo tipo de elementos del SO
  • Aplicación original ejecute código nuestro

11
Arquitectura Windows
  • La arquitectura i386 admite hasta 4 anillos o
    niveles de privilegios (0,3)
  • Impide que código con privilegios inferiores
    sustituya código y datos de sistema (0)
  • Anillo 0.- El más elevado
  • Anillo 3.- Menos elevado (UserLand)
  • Windows emplea dos niveles de privilegio (0 y 3)
  • Se diseñó así para que se pudiese ejecutar en
    arquitecturas que no admitiesen los 4 anillos o
    niveles

12
Ejemplos
  • Nivel 3 (UserLand)
  • Internet Explorer
  • Word
  • Notepad
  • Etc
  • Nivel 0
  • Controladores (drivers)
  • Plug Play
  • Memoria virtual
  • Etc

13
Cómo funciona
  • Aplicaciones de usuario solicitan constantemente
    información a la capa de Kernel, y ésta al
    hardware
  • Estas peticiones se realizan mediante llamadas al
    sistema. Todo ello conforma el subsistema Win32
  • User32.dll
  • Gdi32.dll
  • Kernel32.dll
  • Shell32.dll
  • Etc

14
Caminos a recorrer
  • Llamada al subsistema
  • Gestiona la solicitud de forma local, sin
    realizar llamadas al kernel
  • Realizar la llamada a un proceso de la capa de
    usuario (csrss.exe), responsable de mantener todo
    el susbistema Win32. Éste mantiene la información
    de los procesos Win32 y se los devuelve a la API
    que ha efectuado la llamada
  • Envía una llamada de procedimiento remoto (RPC)
    para que actúe como enlace (Ej.- Recursos
    compartidos)
  • Llama a alguna API que necesite servicios de
    Kernel. Realizará una llamada a una librería de
    sistema (ntdll.dll)
  • Ntdll.dll.- Librería especializada que contiene
    funciones de soporte interna, distribución de
    servicios
  • Kernel32.dll.- Se suele confundir con el kernel
    de Windows. En realidad es una librería que opera
    en Ring 3 y únicamente transmite la información o
    llamadas a la librería ntdll.dll, también cargada
    en Ring3
  • Ntoskrnl.exe.- Contiene las funciones de kernel.
    Coopera internamente con otro driver de sistema
    (win32k.sys)

15
Rootkits
  • Deben alterar este camino o flujo de ruta para
    conseguir sus objetivos, sean cuales sean
  • Este modo de alteración o modificación se puede
    realizar a través de un proceso llamado
    enganche o hooking
  • La propia arquitectura de Windows permite una
    rápida implementación de este tipo de técnica, lo
    que permite flexibilidad y capacidad de
    ampliación a una herramienta, sea cual sea su fin
  • Por regla general los rootkits modifican los
    datos que devuelven las llamadas de funciones del
    sistema de Windows para ocultar procesos,
    entradas de registro, etc

16
Tipos de Hooks
  • Los más conocidos
  • System Hooks (Inyección)
  • IAT Patching
  • Información sobre Hooks
  • http//msdn2.microsoft.com/en-us/library/ms644990.
    aspx
  • http//msdn2.microsoft.com/en-us/library/ms997537.
    aspx

17
Hooks propiamente dichos
  • Un hook (gancho) es un mecanismo por el cual una
    función puede interceptar eventos antes de llegar
    a su destino, llegando en algún caso a poder
    modificar el evento.
  • Hay muchos tipos de hooks
  • De teclado
  • De ratón
  • De mensaje a ventana
  • De evento a ratón
  • Etc

18
Hooks propiamente dichos
  • Las funciones que reciben los eventos son
    llamadas funciones filtro y se clasifican de
    acuerdo al tipo de evento que interceptan.
  • Para mantener y acceder a este tipo de funciones,
    las aplicaciones utilizan las siguientes
    funciones
  • SetWindowsHookEx
  • UnHookWindowsHookEx

19
Hooks en Windows
  • Las aplicaciones basadas en Windows utilizan las
    siguientes funciones
  • SetWindowsHookEx
  • UnhookWindowsHookEx
  • CallNextHookEx
  • HHOOK SetWindowsHookEx(int idHook,HOOKPROC
    lpfn,HINSTANCE hMod,DWORDdwThreadId)

20
Algunos tipos de Inyección
  • Inyecciones DLL
  • Proxy DLL
  • Parchear llamadas
  • Parchear la API
  • Romper las barreras del espacio de memoria
  • Winsock Hooking

21
Proxy DLL
  • Uno de los más fáciles
  • Muy antiguo
  • Se logra muy fácilmente creando un proxy dll, la
    cual contendrá funciones exportadas de la
    librería original de Windows (Winsock). Si
    renombramos esta librería a la original de
    Windows (wsock32.dll) y enlazada en el mismo
    directorio, la intercepción de mensajes ocurre al
    instante.
  • Como contrapartida cabe decir que muchas de las
    funciones de la librería Winsock de Microsoft, no
    están documentadas, por lo que una copia de ésta
    restaría funcionalidad al sistema, siendo más
    fácil su detección.
  • Info http//www.microsoft.com/msj/0997/hood0997.
    aspx

22
Inyección DLL
  • Nuestro código (el maligno), debe estar en el
    mismo espacio de memoria que el ejecutable o dll
    a inyectar
  • Podemos modificar la librería del ejecutable
    legítimo
  • Crear Hilos de forma remota (CreateRemoteThread)
  • http//msdn2.microsoft.com/en-us/library/ms682437.
    aspx
  • Inyección a través de extensión de aplicaciones
  • Su diseño (IE, Explorador de Windows, etc)
    permite que se puedan extender sus
    funcionalidades.
  • HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Cu
    rrentVersion\Windows\AppInit_DLLs

23
Rootkits Modo Kernel
  • Programación en modo kernel la utilizan
    habitualmente aplicaciones legítimas (drivers,
    antivirus, etc)
  • Los rootkits en modo kernel necesitan cargarse en
    el espacio de memoria reservado para el kernel
  • Una vez que están instalados funcionan de manera
    similar a como si lo estuviesen haciendo en
    Ring3, pero con la salvedad de que se están
    ejecutando en un espacio reservado para el
    Kernel
  • Entra en juego nuevas técnicas
  • Modificación de la tabla de descriptores del
    sistema (SSDT)
  • Ej.- Crear Carpeta (NTcreateFile)
  • Kernel32.dll ?ntdll.dll?ntoskrnl.exe?SSDT?Crea
    Carpeta
  • Rootkit modificaría la tabla SSDT para que apunte
    a una función específica del rootkit
  • Se descubren fácilmente
  • Se puede comparar la tabla SSDT con el
    TaskManager para ver los procesos en ejecución

24
DKOM
  • Direct Kernel Object Manipulation
  • Modifica los objetos del kernel directamente
  • Muy peligroso
  • Puede dar pantallas azules (BSOD)
  • Llama directamente al administrador de objetos de
    Windows (Se puede ver con WinObj)
  • Al modificar directamente los objetos, éste puede
    ocultar directamente los procesos sin que pasen a
    formar parte de una lista interna

25
http//Windowstips.wordpress.com
26
http//legalidadinformatica.blogspot.com
27
TechNews de Informática 64
  • Suscripción gratuita en technews_at_informatica64.com
Write a Comment
User Comments (0)
About PowerShow.com