银狐远控暗桩分析及去除所有暗桩
原文链接: https://mp.weixin.qq.com/s?__biz=Mzk0NTg3ODYxNg==&mid=2247485868&idx=1&sn=ed683bd3f696604e6e33da6b7309f461
银狐远控暗桩分析及去除所有暗桩
信安一把索 2025-07-14 02:24
免责声明
锦鲤安全的技术文章仅供参考,此文所提供的信息仅供网络安全人员学习和参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。如有侵权烦请告知,我们会立即删除并致歉。本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!谢谢!
前言
银狐远控也就是 winos,尽管这款远控比较久远了,但由于源码已经公开及操作简单仍然有很多人在用,但还是需要谨慎使用,因为源码中仍然
藏
有许多暗桩,尽管大部分已经失效但不排除仍然存在有效的暗桩。
这篇会从静态和动态等几个方面分析其中的暗桩,并去除其中的所有暗桩,除此之外意外的达到了免杀效果,生成的 exe 直接免杀某 60 了。
由于不是专业的恶意分析师,这里只是简单分析。
本篇内容大部分是属于早期写的,后面加了一些补充。
一、暗桩分析
暗桩基本存在于原代码中主插件目录下的静态链接库中:
SDL2_32_r.lib 是确定存在暗桩的静态链接库,只有在 release 模式编译时这个暗桩才存在,除此之外
HPSocket.lib 是比较可疑可能存在暗桩的
静态链接库,其他
静态链接库可能也有
。
除此之外,附送在
OtherPlugins 目录下
的 dll 插件也存在暗桩:
- SDL2_32_r.lib
静态分析
通过对 VirtualAlloc 函数查找交叉引用找到第一个暗桩:
选择最后一个交叉引用找到第暗桩,VirtualAlloc 申请可执行内存,如何 memcpy 复制 shellcode 到内存反射执行:
暗桩执行前先使用字符串 LJPXYXC 创建互斥体,通过对 SDL2_32_r.lib 查找该互斥体可以发现该字符串确实存在:
进入 loc_A13CD0 查看原始 shellcode,开头是一个跳转语句:
跳转到 loc_A14167,然后 call PEB_Parser 进行了 PEB 导出函数攀爬:
在 PEB_Parser 函数中通过 SelfGetProcAddress 函数攀爬 dll 导入表获取了几个函数的地址:
SelfGetProcAddress 函数:
2. SDL2_32_r.lib 动态分析
SDL2_32_r.lib 是用在娱乐屏幕上的,在会话上线后点击娱乐屏幕就会执行暗桩:
跟进v2():
依次获取 GetProcAddress、LoadLibraryA、VirtualAlloc 等函数保存在WinAPI 数组中:
由于是早期写的,只分析到了这里。
- dll 插件
暗桩分析
用 ida 随便打开一个提权插件反汇编就可以发现这些插件在尝试远程下载 exe 和 dll:
里面的链接已经失效了,但不排除重新启用的可能。
二、lib 暗桩去除
重新编译所有 lib 库,release 模式使用 /MT 编译,debug 模式使用 /MTD 编译,都使用无全程序优化。
和winos 编译时出现 xxx 已经在 xxx.lib 中定义时使用链接器参数:
/FORCE:MULTIPLE
强制链接即可。
大部分开源库的版本号可以在它们的头文件中找到关于版本号的宏定义。
除了 G729a 库未找到,重新编译后的所有 lib 库如下,可以发现
HPSocket.lib 库要比原本的要大很多,足足大了 20MB,不知道原本的是怎么编译的这么小,估计是删了很多无用模块:
替换所有 lib 后,编译的控大小要大了很多,183 MB:
再看一下旧的大小,38 MB:
替换 lib 后直接生成的 exe 免杀效果也变好了,这里没有做任何免杀修改就直接免杀某 60 和 wdf 了:
lib 库编译
这里给出各个 lib 库的编译方法,有兴趣的可以自行编译,如果你想要编译好的 lib 库,可以在内部的在线平台进行下载。
SDL2 库
官网:
https://github.com/libsdl-org/SDL/
使用版本:2.0.9
用途:娱乐屏幕
使用 cmake-gui.exe 进行编译。
HP-Socket 库
官网:
https://github.com/ldcsaa/HP-Socket
旧版本:
https://github.com/qyweiyy/HP-Socket
使用版本:5.8.5
下载最新版重新编译。
zlib 库
官网:
https://github.com/madler/zlib
使用版本:1.2.11
用途:高速屏幕、后台屏幕
下载最新版重新编译(relib.lib、delib.lib)。
turbojpeg 库
官网:
https://github.com/libjpeg-turbo/libjpeg-turbo
使用版本:2.1.1
用途:高速屏幕、后台屏幕
使用 cmake-gui.exe 进行编译。
xvid 库
官网:
https://labs.xvid.com/source/
使用版本:1.3.2
用途:视频查看
libyuv 库
官网:
https://chromium.googlesource.com/libyuv/libyuv/
镜像:
https://github.com/sergey-safarov/freeswitch/tree/master/libs/libyuv
使用版本:1724
用途:娱乐屏幕
libpeconv 库
官网:
https://github.com/hasherezade/libpeconv
用途:反射dll注入
WinlicenseSDK 库
官网:
https://www.oreans.com/download.php
三、dll 插件暗桩去除
这个很简单,自己重新编写一下插件即可,赠送的都是一些垃圾插件,没什么用。
仿照主插件的格式及根据插件的加载流程部分代码自己编写一下 dll 即可,没什么难度:
最后
这篇文章差不多一年前写的,分析着玩。
小密圈
扫描下方二维码退出内部交流群
长按-识别-关注
锦鲤安全
一个安全技术学习与工具分享平台
点分享
点收藏
点点赞
点在看