<title></title> ⼤灰狼远控⽊⻢分析⼤灰狼RAT分析样本为远控客户端,样本联⽹下载⼤灰狼远控dll,其导出函数DllFuUpgradrs注册⾃启服务、连接服务端,接收服务端指令来控制⽤户系统。haidragon2022-11-06¨NBSP;15:21安全狗的⾃我修养样本执⾏流程1.样本概况1.1样本信息File:菲律宾确诊新型肺炎病毒.exeSize: 217088bytesMD5:30C13ED8030DDA8A578E822B60E3B24FSHA1:A54F9C32425AD9FDBA48938418508BA54582EDE6CRC32: 1B8896E51.2测试环境及⼯具运⾏平台:Windows 7 X64系统监控⼯具:⽕绒剑调试⼯具:IDA Pro、OD2.沙箱监控打开N62.dll⽂件(解密该⽂件)释放⾃身到系统⽬录并启动写⼊的注册表键值3.逆向分析3.1菲律宾确诊新型肺炎病毒.exe分析PE⽂件基本信息3.1.1⼊⼝函数检查当前系统版本配置分辨率。判断系统版本设置屏幕分辨率3.1.2 payload的下载与解密检查payload⽂件是否存在:⽂件不存在,则下载N62.dll:⽂件存在则读取N62.dll,检查标识是否⼀致检查payload标识动态调 试下查看到payload打开位置:读取C:\Program Files\AppPath\N62.dll检查payload存在且标识正确后,解密N62.dll,并加载它,遍历导出表寻找到payload的需要的导出 函数地 址:DllFuUpgradrs动态调 试dump解密后的N62.dll, 下图可以看到解密后的PE⽂件魔数”MZ”。N62.dll解密完成3.1.2.1解密算法解密函数观察解密操作特征,得知加密算法为RC4算法,其为对称算法,通过简单的异或实现加解密。RC4算法初始化函数加解密函数3.1.2.2加载payload: N62.dll通过读取PE⽂件关键字段:imagebase加载基址、sizeofimage加载在内存中的⼤⼩。根据基址和⼤⼩,在基址地址申请相应⼤⼩的空间,加载dll并修改内存属性为可执⾏。3.1.2.3获取并调⽤导出函数DllFuUpgradrs解析导出表实现⼿段:根据加载基址获取数据⽬录表,获取到数据表的第0项:导出表地址。遍历导出表得到需要的函数地址。对⽐导出函数名称简单验证地址⾮零后,样本直接调⽤DllFuUpgradrs函数,参数为⼀段密⽂与密钥。调⽤DllFuUpgradrs([密⽂],[key])N62.dll导出表DllFuUpgradrs地址3.2 payload-N62.dllDump得到N62.dll,⽂件被加壳(upx壳)。N62.dll⽂件信息N62.dll脱壳后信息3.2.1导出函数DllFuUpgradrs动态调 试查看函数调⽤时的寄 存器、堆栈与内存信息:DllFuUpgradrs调⽤函数DllFuUpgradrs⾏为基本描述:(1)传⼊参数分别为密⽂和密钥(2)解密密⽂,将得到的明⽂赋值给各个全局变量(3)明⽂内容包括服务器信息,各类设置的参数(4)复制⾃身到系统⽬录运⾏,并设置开机⾃启(5)创建多个注册表键值(6)连接服务端,并创建线程接收处理服务端指令(7)主要远控功能包括:⽂件管理、屏幕监视、摄像头记录、⾳频记录、键盘记录、远程shell、系统管理。解密并根据明⽂赋值解密密⽂操作:异或根据明⽂给各变量赋值获取本进程路径检查运⾏在系统⽬录创建服务开机⾃启DllFuUpgradrs查询注册表检查⾃身服务是否开启:检查服务查询注册表DllFuUpgradrs检查服务完成,开始连接服务端,并获取功能分发函数OnRecvive:连接服务端3.2.2连接服务端样本与服务端通讯使⽤TCP socket,host与port均为前⽂解密的明⽂数据。Host:91.193.102.149Port: 0x51Socket通信连接完成,创建线程接 收服务端数 据,并处理对应指令:创建线程:recv & OnReceive3.2.3接收&处理指令线程上节中,连接服务端完成后,则 创建线程接 收并处理服务端指令。新线程基本操作:(1)接收服务端数据;(2)解密数据(rc4算法);(3)解析数据包获取指令;(4)分发功能执⾏OnReceive函数。具体⻅下图。接收数据,并解密解析获取指令,并执⾏功能分发函数3.2.4功能分发功能分发函数OnRecvive地 址如下 :OnRecvive地址OnRecvive地址在函数DllFuUpgradrs中,随服务端地址、服务端端⼝、创建的本地服务名称⼀同保存到结构体对象(类对象) ,作 为参数 提供给各种成员函数引⽤。获取功能分发函数地址OnRecvive分发执⾏主要功能如下,包括:⽂件管理、屏幕监视、摄像头、键盘记录、录⾳、系 统管理、远程shell等 等。OnRecvive3.2.4.1⽂件管理⽂件管理3.2.4.2屏幕监控基本流程为:扫描光标资源保存,扫描屏幕 并转化为 位图,将数 据发送。屏幕监视线程屏幕监视初始化函数发送图⽚数据3.2.4.3摄像头压缩视频数据,并发送XViD视频编码3.2.4.4键盘记录拦截键盘消息记录键位虚拟码读取记录⽂件发送3.2.4.5录⾳录⾳3.2.4.6 Shell管理远程运⾏cmd,并获取回显3.2.4.7系统管理操作各项系统设置4.⽹络⾏为4.1服务端主机信息IP地址为91.193.102.149;Port端⼝为81(0x51)、9090(0x2382)。4.2上线⽅式除C&C服务器接 收消息,还额外有三种上线⽅式:其他3种上线⽅式其它学习教程。
点击关注,共同学习!
安全狗的自我修养