Está en la página 1de 18

Especialidad de Posgrado en Seguridad Informática

Entrenamiento en protección
contra programas maliciosos
Clase 3
Juan Miguel Alonso Torres
juan.miguel@segurmatica.cu
Director de Desarrollo
Segurmática
Agenda

• Técnicas de inyección de malware


Inyección de DLL
Inyección directa de código
DLL Hijacking, orden de búsqueda.

• Keyloggers
• Botnet
Técnicas de inyección

Inyección de DLL
Inyección directa de código
DLL Hijacking, orden de búsqueda.
Inyección de DLL
Un proceso en memoria es forzado a cargar una DLL maliciosa
Inyección de DLL
Llamados a la API mas comunes:
• CreateToolhelp32Snapshot, Process32First, Process32Next
• OpenProcess
• VirtualAllocEx
• WriteProcessMemory
• GetModuleHandle
• GetProcAddress
• CreateRemoteThread
Llamadas a la API para inyección de DLL
Inyección directa de código
• A través de llamas a la API se inserta código en el espacio de memoria
de un proceso remoto.
• Técnica usada para insertar código compilado, y mas frecuentemente
shellcode
• Requiere habilidades en lenguaje ensamblador.
• VirtualAllocEx, WriteProcessMemory, and CreateRemoteThread
Shellcode
Conjunto de ordenes programadas generalmente en lenguaje
ensamblador y trasladadas a opcodes (conjunto de valores
hexagesimales) que son inyectados en la pila de ejecución de un
programa.

Ejemplo:
char shellcode=“\x31\xc0\x50\x2f\x2f\x73\….”
int main()
{
void (*fp)();
fp= (void*) &shellcode;
fp();
}
Lab: Describir método infección de Parite
1. Iniciar RegShot en VictimaXP
2. Clic 1rs shot
3. Correr Parite/malware.exe
4. Clic 2nd shot
5. Botón comparar

¿Que DLL es usada en la inyección?


¿Que llave de registro se modifica?
Lab: Observar OnlineGame
• Utilizar herramienta winApiOverride (monitro de la API)

• Correr onlinegames/2/malware.exe

• ¿Cuál de la dirección de LoadLibrary()?


• ¿Que proceso de Windows involucra?
• ¿Cual es el camino de la DLL que se va a inyectar?
Hijacking Orden de búsqueda de dLL
• Orden de búsqueda de DLLs:
1. DLLs conocidas y sus dependencias
HKLM\System\CurrentcontrolSet\Control\Sesion Manager\KnownDLLs
2. Directorio de la aplicación
3. Directorio de sistema c:\Windows\system32
4. Directorio de sistema16bits c:\Windows\system
5. Directorio de Windows
6. Directorio de trabajo actual
7. Directorios en %Path%
Lab: Chequear DLLs conocidas
• Buscar le valor de la llave de registro:
HKLM\System\CurrentcontrolSet\Control\Sesion Manager\KnownDLLs

• Usar WinObj.exe de SysIntenalsSuite


Lab: Observar Nitol
• Utilizar Process Monior
• Lanzar nitol/malware.exe

• ¿Qué DLL es usada y donde se escribe?


• Describir comportamiento
KeyLoggers
• Robo de información: Credenciales, información
sensible, costumbres de navegación, etc.

• Monitoreo de eventos legítimos de Windows:


•SeWindowsHooEx
•GetAsyncKeyState
•GetKeyState
Lab: Monitorear SetwindowsHookEx
1 Ejecutar Rohitab API monitor
2 Buscar y seleccionar las siguientes Apis en la ventana “Api filter”
• SetWindowsHookExA
• SetWindowsHookExW
• UnhookWindowsHookEx
3 Iniciar Magania/malware.exe

¿Qué procedimientos se instalan?


¿El malware monitorea el teclado?
Que proceso se esta llamado para robar los password?
Lab; Monitorear Actividad de red
• TCPview (sysInternal)
• Netstat –anob
• Procmon
Lab Phone home Bot
• Iniciar Inetsim
$sudo inetsim
• Capturar network traffic de vicitmaXP con wireshark

• En victmaXP iniciar Darkshell/malware

• Observar trafico, detener captura en wireshark.


• Detener inetsim
Lab: Phone home Bot
• Cual es el servidor de CnC
• Describa el trafico
• Que tipo de datos envía.

También podría gustarte