一、工具介紹
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加載