2. Inyecciones comunes
• Pedir memoria en el proceso remoto
• VirtualAllocEx
• Copiar el código a ejecutar en el proceso remoto
• WriteProcessMemory
• Ejecutar el código copiado
• CreateRemoteThread
Proceso A
Proceso A
kernel32.dll
user32.dll
Proceso A
LoadLibrary
WriteProcessMemory
kernel32.dll
user32.dll
test.dll
CreateRemoteThread
Inyector
test.dll
LoadLibrary
2
3. Inyección con Telepathy
• Pedir memoria en el proceso remoto
•
VirtualAllocEx
• Copiar el nombre de la DLL
•
WriteProcessMemory
• Ejecutar LoadLibrary
•
CreateRemoteThread
Proceso A
Proceso A
kernel32.dll
user32.dll
Proceso A
test.dll
kernel32.dll
user32.dll
test.dll
WriteProcessMemory
CreateRemoteThread
test.dll
Telepathy
Valor de Retorno
3
4. Características Telepathy
•
Inyectar DLLs
• Llamando directamente a LoadLibrary (sin uso de códigos insertados)
•
Usar cualquier función del proceso remoto, incluidas sus DLLs
• Llamar funciones, tanto por nombre exportado como por dirección
• Usar parámetros en las funciones
• Recuperar su retorno tanto numérico como texto
•
Listar todas los OPCODE CALL (xE8)
• Lista actualizable de todos los CALL del proceso
4
5. ¿¿Para que??
•
Análisis de malware
• Uso de funciones de cifrado reversibles
• Uso de funciones de envió de datos cifrado
• Simulación de recepción de comandos de un panel de control
• …
5