免杀生成器之Charlotte解析
一、工具介绍
charlotte是一款Python编写的自动化免杀工具,用来生成免杀的dll文件,在线查杀是1/26报毒,总的来说免杀效果还可以
下载地址:https://github.com/9emin1/charlotte,需要mingw-w64环境,直接使用以下命令安装即可
apt-get install mingw-w64*
二、代码分析
利用动态导出以及xor编码实现了对杀软的绕过。通过python操作cpp,然后使用mingw去编译为dll文件,最后删除生成的cpp文件。
注释python代码第195行,即可看到生成的代码
BOOL (WINAPI * pVirtualProtect)(LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWORD lpflOldProtect);
XOR((char *) virtual_alloc, va_len, va_key, sizeof(va_key));
pVirtualAlloc = GetProcAddress(GetModuleHandle("kernel32.dll"), virtual_alloc);
rvba = pVirtualProtect(exec_mem, calc_len, PAGE_EXECUTE_READ, &oldprotect);
具体是由python实现,获取随机字符串
xor异或函数
替换,最后生成dll
三、测试效果
使用CS生成raw格式的shellcode
使用python脚本生成dll,获取dll和key
总的来说效果还可以,可以直接过掉360全家桶和火绒,利用白名单rundll32加载