¿Sabes qué es un thread environment block y para qué se utiliza como técnica en el desarrollo de malwares? Los programas maliciosos de la actualidad cuentan con técnicas de desarrollo avanzadas que les permiten defenderse de los sistemas de ciberseguridad. En este post, hablaremos sobre uno de los métodos de antidebugging que utilizan los desarrolladores de malware para detectar cuándo sus programas están siendo analizados y, por ende, evitarlo.
¿Qué es un thread environment block en un malware?
Un thread environment block (TEB) es una estructura de datos de Win32, concretamente de la arquitectura x86, que sirve para almacenar información sobre el hilo que se está ejecutando en el sistema. La principal ventaja de un TEB para un malware es que se puede recurrir a este sin necesidad de llamar a la API de Windows. La estructura TEB está disponible en modo de usuario, es decir, la usan los módulos como Kernel 32 o NTDLL y no necesita depurar el kernel para conseguir información.
Uno de los métodos más frecuentes de thread environment block consiste en buscar algunas librerías mediante importaciones:
- Kernel.dll.
- KernelBase.dll.
- Ntdll.dll.
Con el fin de cargar funciones como:
- LoadLibrary.
- GetProcAddress.
¿Por qué se utiliza para el malware?
Ya hemos visto de manera muy breve qué es un thread environment block. Ahora, para concluir, hablaremos sobre otras utilidades del uso de la estructura TEB. Además de servir para saber si los hilos están siendo depurados, este proceso también le ofrece información a los atacantes sobre los hilos que se están ejecutando en el sistema. Estos datos pueden utilizarse para inyectar código o detener procesos, entre otras acciones malintencionadas.
Ya has aprendido qué es un thread environment block y en qué consiste esta técnica de desarrollo de malware. Si quieres saber más sobre análisis de malware y especializarte en ciberseguridad, entra a nuestro Ciberseguridad Full Stack Bootcamp y conviértete en experto en tan solo 7 meses. ¡No sigas esperando e inscríbete ahora!