针对 Python shellcode 的逆向工程分析文章,该 shellcode 通过 APC 注入到 AnyDesk,使用 AES/RSA 经 HTTPS 外传到 C2,并通过注册表 GUID 键实现持久化。
此 x64dbg 视图显示 Python shellcode 使用文件操作(CreateFileW、DeleteFileA/W)和 JMP 跳板来动态调用 Windows API。
CreateFileW – 创建或打开文件(载荷投放)。DeleteFileA / DeleteFileW – 删除文件(痕迹清理)。DefineDosDeviceW – 定义 DOS 设备(驱动器操作)。jmp qword ptr ds:[<API>] – 动态解析 API 地址。INT3 (0xCC) – 反调试陷阱。C:\Users\dkaan\OneDrive\Desktop\output\shellcode.exe。
x64dbg 视图显示 CreateFileW、DeleteFileA/W 和 JMP 跳板。
此 x64dbg 视图显示 Python shellcode 调用 GetCommandLineW 读取命令行参数,同时使用 INT3 陷阱进行反调试。
jmp qword ptr ds:[<GetCommandLineW>] – 指向 GetCommandLineW 的 JMP 跳板。&"Sun" – 一个命令行参数字符串。mov [rsp+8], rbx、sub rsp, 0x20、xor ebx, ebx。test rdx, rdx、je kernel32.7FFBEC730A9。mov rdx, rsi、mov r8, rdi。GetCommandLineW。
x64dbg 视图显示 GetCommandLineW、命令行解析和 INT3 陷阱。
Process Hacker 内存分析显示,Python shellcode 对 AnyDesk.exe 执行 APC 注入,并使用高级加密算法进行数据外泄。
AnyDesk.exe (PID 8064) – 合法的远程桌面工具。AES for x86 / AES for Intel AES-NI – 对称加密。RSA for x86 – 非对称加密。SHA256 block transform – 哈希。RC4 for x86 – 流密码。Vector Permutation AES – SIMD 加速 AES。GHASH for x86 – GCM 认证。Montgomery Multiplication – RSA 加速。ECP_NISTZ256 for x86 – 椭圆曲线密码学。CreateRemoteThread 更隐蔽 – 不创建新线程。
Process Hacker 视图显示 AnyDesk 注入和加密算法(AES、RSA、SHA256、RC4)。
TCPView 分析显示,Python shellcode 使用 AnyDesk.exe 通过端口 443 (HTTPS) 将数据外泄至 141.227.178.79。
AnyDesk.exe (PID 5068) – 合法的远程桌面工具。141.227.178.79443 (HTTPS – 与合法流量混合)。Established(活动连接)。
TCPView 视图显示 AnyDesk.exe 通过端口 443 连接到 141.227.178.79。
Simplewall 分析显示,尽管 Python shellcode 尝试使用 AnyDesk.exe 通过端口 443 (HTTPS) 将数据外泄至 141.227.178.79,但当被阻止时,它会尝试连接到另一个合法地址(92.38.180.106)。
AnyDesk.exe (PID 5068) – 合法的远程桌面工具。92.38.180.106443 (HTTPS – 与合法流量混合)。Blocked(已阻止连接)。
Simplewall 视图显示 Anydesk.exe 通过端口 443 连接到 92.38.180.106 被阻止。
注册表分析显示,Python shellcode 在 HKLM\SYSTEM\CurrentControlSet\Control\ 下创建基于 GUID 的键以实现持久化。
{bf1a281b-ad7b-4476-ac95-f47682990ce7} – 随机生成的 GUID。GLOBALROOT\Device\HarddiskVolumeShadowCopy5\WINDOWS\system32\config\components。09 00 00 00 – 架构标识符。30 00 2e 00 30 00 2e 00 2e 00 36 00 – Unicode 中的 "0.0.0.6"。
注册表编辑器视图显示基于 GUID 的键和 StoreFormatVersion 值。
此分析揭示了一个高级 Python shellcode,它通过 APC 注入注入 AnyDesk,使用 AnyDesk 的合法 IP 地址与 C2 服务器建立连接,并使用 AES 和 RSA 加密算法隐藏流量。
141.227.178.79,如 TCPView 中所观察到的。GLOBALROOT\Device\HarddiskVolumeShadowCopy5\WINDOWS\system32\config\components。int3 陷阱频繁出现,旨在阻碍分析。分析的 Formbook 样本可在 MalwareBazaar 上获取,供希望进行自己分析的人使用:
MalwareBazaar 上的 Python Shellcode 样本
使用的工具: x64dbg、Process Hacker、Binary Ninja