免杀对抗-C2远控篇&C&C++&抗沙箱虚拟机&抗逆向调试&动态密钥抗分析&对抗VT云感知

Ethan医生2个月前系统安全70

对抗杀毒和感知云沙箱

常见沙盒沙箱检测技术

常见调试分析检测技术

https://github.com/a0rtega/pafish/

https://github.com/Arvanaghi/CheckPlease

https://github.com/wanttobeno/AntiDebuggers

https://github.com/LordNoteworthy/al-khaser

https://github.com/ZanderChang/anti-sandbox

https://github.com/nek0YanSu/CheckVM-Sandbox

https://github.com/sunn1day/malware-anti-techniques

https://bbs.kanxue.com/thread-225740.htm

https://anti-debug.checkpoint.com/techniques/debug-flags.html

 

➢C2远控-抗沙盒沙箱-机器特征&真机判断

举例:(唯一性)-原型&APC&XOR等

参考:https://github.com/ZanderChang/anti-sandbox

1、自定义循环延时执行:不使用自带的sleep,循环打印浪费时间

int seep()

{

int i = 0;

int j = 0;

char* strpi = NULL;

strpi = (char*)malloc(10000);

for (i = 0; i < 10000; i++)

{

strpi[i] = 0;

printf("%d,%d\n", strpi[i], i);

}

for (j = 0; j < 300; j++)

{

printf("%d,%d\n", strpi[j], j);

}

free(strpi);

return 0;

}

 

HANDLE hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);

WaitForSingleObject(hEvent, 10000);

printf("hello world\n");

CloseHandle(hEvent);

return 0;

 

2、检测目录文件是否正确:判断真机常见软件目录或当前目录自行创建的

bool Is_File_Exist(const std::string& file_path)

{

std::ifstream file(file_path.c_str());

return file.good();

}

BOOL isFileExists(TCHAR* szPath) {

DWORD dwAtrribt = GetFileAttributes(szPath);

return (dwAtrribt != INVALID_FILE_ATTRIBUTES) && !(dwAtrribt &

FILE_ATTRIBUTE_DIRECTORY);

}

BOOL isDirExists(TCHAR* szPath) {

DWORD dwAtrribt = GetFileAttributes(szPath);

return (dwAtrribt != INVALID_FILE_ATTRIBUTES) && (dwAtrribt &

FILE_ATTRIBUTE_DIRECTORY);

}

BOOL isExistsRegkey(HKEY hKey, TCHAR* regkey_s) {

HKEY regkey;

DWORD ret;

ret = RegOpenKeyEx(hKey, regkey_s, 0, KEY_READ, &regkey);

if (ret == ERROR_SUCCESS) {

RegCloseKey(regkey);

return TRUE;

}

else

return FALSE;

}

 

3、检测目标特征是否正确:判断真机目标IP地址或计算机名,用户名等特征

int gensandbox_username() {

char username[200];

size_t i;

DWORD usersize = sizeof(username);

GetUserNameA(username, &usersize);

 

for (i = 0; i < strlen(username); i++) {

username[i] = toupper(username[i]);

//printf(username);

}

if (strstr(username, "ADMIN") != NULL) {

return TRUE;

}

return FALSE;

}

 

 

➢C2远控-抗逆向调试-API&调试器行为功能

举例:(唯一性)-原型&APC&XOR等

参考:https://bbs.kanxue.com/thread-225740.htm

1、使用WindowsAPI

BOOL CheckDebug()

{

return IsDebuggerPresent();

}

 

 

BOOL CheckDebug()

{

BOOL ret;

CheckRemoteDebuggerPresent(GetCurrentProcess(), &ret);

return ret;

}

2、识别调试器行为

3、干扰调试器的功能


标签: C2远控

相关文章

免杀对抗-C2远控篇&PowerShell&C#&对抗AV-EDR&停用AMSI接口&阻断ETW跟踪&调用

免杀对抗-C2远控篇&PowerShell&C#&对抗AV-EDR&停用AMSI接口&阻断ETW跟踪&调用

➢ C2远控-PowerShell&C#-Bypass ETW➢ C2远控-PowerShell&C#-Bypass AMSI➢C2远控-PowerShell&am...

免杀对抗-C2远控篇&C&C++&SC转换格式&UUID标识&MAC物理&IPV4地址&减少熵值

免杀对抗-C2远控篇&C&C++&SC转换格式&UUID标识&MAC物理&IPV4地址&减少熵值

shellcode 部份分离,混淆不改变shellcode类型uuid mac ipv4 v6 改变类型格式-----------------------------------loader 部份内联...

免杀对抗-C2远控篇&C&C++&InlineHook挂钩&动态API调用&突破内存加密&导入表检测

➢ C2远控-Loader加载器-动态API➢ C2远控-Loader加载器-InlineHook➢ C2远控-DF-动态调用&InlineHook&混淆...

C2远控篇&C&C++&ShellCode定性分析&生成提取&Loader加载模式&编译执行

➢ C2远控-ShellCode-认知&环境➢ C2远控-ShellCode-分析&提取➢ C2远控-ShellCode-Loader加载#常见杀软特点总...

免杀对抗-C2远控篇&C&C++&APC注入&进程镂空&傀儡进程&伪装欺骗&指纹特征消除

➢ C2远控-红队技能-进程镂空&傀儡进程➢ C2远控-红队技能-APC注入&进程欺骗#C2远控-ShellCode-认知&环境1.创建工程时关闭SDL检查...

C2远控篇&Python&ShellCode分离&File提取&Http协议&Argv参数&Sock管道

#C2远控-ShellCode-认知&环境1.创建工程时关闭SDL检查2.属性->C/C++->代码生成->运行库->多线程 (/MT)如果是debug则设置成MTD3...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。