Knoppia

Wiki de Informática y otras historias

Herramientas de usuario

Herramientas del sitio


mwr:tema1

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
mwr:tema1 [2024/09/30 15:31] thejuanvisumwr:tema1 [2024/09/30 16:11] (actual) thejuanvisu
Línea 178: Línea 178:
  
 === Thread === === Thread ===
 +
 +Son planificados y ejecutados por el sistema operativo
 +  * Pertenecen a un solo proceso y comparten su espacio de dirección
 +  * Tienen su propio thread context y stack
 +
 +en API:
 +  * CreateThread
 +  * CreateRemoteThread
 +
 +Thread Context mantiene el control del estado de cada hilo:
 +  * Es necesario cuando hay muchos hilos en un sistema
 +  * El estado viene definido por valores de registro.
  
 ==== Nivel Usuario ==== ==== Nivel Usuario ====
Línea 184: Línea 196:
  
 === DLL === === DLL ===
-Dynamin Link Library+Dynamin Link Library. Todos los rpocesos comparten las DLL cargadas, esto ahorra almacenamiento ya que solo se almacenan en memoria una sola vez. Los cambios solo afectan a cada espacio de dirección de proceso. El método DllMain es llamado automáticamente cuando se carga una DLL. 
 +en API: 
 +  * LoadLibrary 
 +  * GetProcAddress 
 +  * 
 === Registro === === Registro ===
 +
 +Se usa para almacenar información de todo:
 +  * Clave: similar a una carpeta
 +  * Value Entry: Similar a un archivo.
 +Se puede navegar por el registro con regedit.
 +
 +En API:
 +  * RegOpenKey
 +  * RegSetValue
 +  * RegEnumKey
  
 === Service === === Service ===
 +Similares a un proceso, pero son instalados en el disco o en el registro. El programador puede interactuar con los servicios mediante el service manager "services.exe" que permite arrancar, parar, suspender, programar o autoarrancar los servicios.
 +
 +en API:
 +  * CreateService
 +  * OpenSCservice
  
 === Handle === === Handle ===
 +
 +Es un puntero abastracto a algo:
 +  * Un proceso específico, archivo, clave de registro, service, etc....
 +  * A veces es un puntero de memoria.
  
 === COM === === COM ===
 +Component Object Model es un estándar de interfaz binaria creada por microsoft en 1993. Es una forma de lenguaje neutral de implementar objetos que pueden ser usados en entornos diferentes unos de los otros. Es usa para habilitar comunicación entre procesos y la creación de objetos en un rango enorme de lenguajes de programación y ha sido la base para muchas otras tecnologías y frameworks de microsoft.
 +
 +Es un ejecutable de 8 bits de la época de CP-M y MS-DOS con un tamaño máximo de 64KB para almacenar código y datos. Algunos malware se aprovecha del desconocimiento de los archivos con extensiones .COM ya que la gente los confunde con enlaces .com.
 +
 +===== Análisis de malware y herramientas =====
 +
 +==== Creación de un sandbox ====
 +Normalmente se trata de evitar que un malware pueda tener contacto con una red real:
 +  * Se unsa una red Host Only en la plataforma de virtualización
 +  * Se establecen servicios reales en el Host o en otras máquinas virtuales
 +  * Se crean puertos de escuchas y se interactua con un cliente basado en texto
 +  * Se crean servidores de control.
  
 +==== Laboratorio de virtualización ====
  
 +Construir un laboratorio para el análisis de malware requiere contemplar los pros y los contras de usar máquinas virtuales o hardware real. Las recomendaciones habituales suelen ser las de usar máquinas virtuales para reducir el coste de hardware que necesita una o dos máquinas físicas. Una de las mejores características de las máquinas virtuales es que se pueden crear snapsots
  
 +Los probllemas son que algunos malware pueden detectar si están en una máquina virtual, parando su ejecución. El software de virtualización tampoco es perfecto y puede dar problemas. Algunos Gusanos 0 day, si detectan que están en una máquina virtual pueden escapar y acceder al host, pudiendo llegar a escapar por la red.
  
 +==== Virtualuzando el laboratorio ====
  
 +Normalmente se consuderan dos jungadores
 +  * Un servidor linux o windows comprometido
 +  * Una máquina cliente arrancando el sistema operativo objetivo.
  
 +Se recomienda tomar snapsots cada cierto tiempo, además de hacerlo justo antes de comenzar el análisis de un malware. Lo normal es realizar primero el análisis estático ya que esto nos proporciona información que se puede utilizar durante el análisis dinámico.
 +==== Herramientas de anáisis dinámico ====
 +  * Monitorizadores de cambios
 +  * Escaneadores de malware basado en rootkits
 +  * Sniffers, port scanners
 +  * Buscar archivos ocultos en el disco duro
 +  * Detector de cambios de archivos
 +  * Escuchador de puertos TCP/UDP
 +  * Generadores de MD5 para revisar la integridad de los archivos
 +  * Editores Hex
  
mwr/tema1.1727710273.txt.gz · Última modificación: 2024/09/30 15:31 por thejuanvisu