发布时间:2020-08-20 12:19:05,来源:天融信
2020年7月共收录恶意程序150个,数量较上月增加0.67%。恶意程序按家族分类共有73个家族,主要家族有Gen:NN.ZemsilF.34130,Trojan.Malware.300983,Malicious.moderate.ml等,其中Gen:NN.ZemsilF.34130家族居多,数量为11个。详情见下图1-1。
图1-1 2020年7月收录恶意程序按家族分布图
2020年7月收录的恶意程序涉及150个挂马地址、71个域名。域名分布国家主要是美国,俄罗斯,中国,其次是英国,新加坡,德国等,详情见下图1-2。
图1-2 2020年7月收录恶意程序按挂马网站所属国家分布图
其中中国挂马网站相关IP地址分布在北京市,天津市等地,分布详情如下表1-1所示:
表1-1 中国挂马网站IP物理地址统计
IP | 国家 | 省份 | 市/区 | 运营商 |
120.53.238.96 | 中国 | 北京市 | 北京市 | 腾讯云 |
122.51.171.161 | 中国 | 上海市 | 上海市 | 腾讯云 |
125.36.180.248 | 中国 | 天津市 | 天津市 | 联通 |
218.11.11.245 | 中国 | 河北省 | 石家庄市 | 联通 |
124.160.126.238 | 中国 | 浙江省 | 温州市 | 联通 |
185.243.241.155 | 中国 | 香港 | 特别行政区 | |
202.146.222.249 | 中国 | 香港 | 特别行政区 |
二、典型病毒分析
样本家族:
Tojan.Stuxnet.Hijack,该样本为著名的“震网”攻击中的dll劫持模块,其替换原始白文件模块,来拦截发送给PLC(可编程逻辑控制器)的读/写请求,通过拦截这些请求,Stuxnet可以在PLC管理员没有察觉的情况下,修改发送至PLC或从PLC返回的数据。
特征说明:
样本将主机信息,与固定的配置信息组合字符串作为url以HTTP GET方法提交给C2服务器。
连接域名或URL:
www.MLCROSOFT.ninth.biz
编程环境:
Microsoft Visual C++ 6.0 *
文件属性:
PE32 DLL
逆向分析及功能描述:
样本为劫持模块,其伪装成 S7OTBLDX.DLL。
其使用字符串均使用异或动态解密,首先加载原始白文件模块s7otbxsx.dll。
检查当前宿主进程是否是 CCRtsLoader.exe。
获取原始白文件模块的导出函数地址,共109个。
其中有93种导出函数会直接转发给原始模块,也就是木马模块不关注这些函数的调用。
只有以下16种导出函数不会被简单的转发,而是被拦截,通过拦截这些函数请求,Stuxnet可以在PLC管理员没有察觉的情况下,修改发送至PLC或从PLC返回的数据,同时利用这些函数,Stuxnet可以将恶意代码隐藏在PLC中。
样本家族:
Win32.Downloader.GoldenSpy,样本为组件Plugin.exe,启动后等待2个小时后,将主机mac地址、请求下载文件名及版本号拼接成json串发送至服务器请求下载数据,从服务器返回数据中提取文件下载链接,再继续下载执行。
特征说明:
样本拼接json请求串,其中包含mac地址、要请求下载的文件名、版本等信息,以POST方法发送至服务器,请求下载数据,所提特征均为固定字符串。
连接域名或URL:
http://49.232.156.177:9002/version/downloadAddr
编程环境:
Microsoft Visual C++ 8.0 *
文件属性:
PE32 EXE
逆向分析及功能描述:
样本启动之后首先等待2个小时才会进入下载流程。
获取mac地址,保存到注册表
SOFTWARE\\IXINNUO\\Mac。
拼接json请求串,其中包含mac地址、要请求下载的文件名、版本等信息。
将拼接的json串以POST方法发送至硬编码的服务器,并请求下载数据(目前已无法下载)。
http://49.232.156.177:9002/version/downloadAddr
从服务器返回数据中提取要下载的文件url,在继续下载。
下载完毕后执行文件。
样本家族:
Tojan.Backdoor.GoldenSpy,该样本以命令行参数启动,其将自身安装为服务以持久化,对svm.exe进程进行守护,一旦svm进程被结束将会重新启动,然后会循环向服务器发起下载请求,从服务器返回数据中提取要下载的文件名和地址,再进行下载并执行,截止分析该样本时,服务器并未下发具体下载指令。
特征说明:
样本拼接json格式请求数据包,向服务器请求下载文件,所提特征均为固定字符串。
编程环境:
Microsoft Visual C++ 14.0 *
文件属性:
PE32 EXE
字符串:
svm.exe,svmm.exe,文件不存在,重新下载。进程不存在,重新启动。
样本介绍:
近期SWEED黑客组织大量针对全球制造、运输、能源等行业及部分医疗机构发起的鱼叉式钓鱼邮件定向攻击。从邮件的分析结果来看,受害者大多遍布于美国、加拿大、德国、中国、英国、法国、西班牙等国家和地区。攻击者以"装船通知单"、"装箱交货价单"、"紧急运输文件"等主题邮件作为诱饵向攻击目标植入信息窃密木马(Agent Tesla、Formbook、Lokibot)和远程控制程序(NanoCore、Remcos)。通过溯源分析确定此次攻击活动来自尼日利亚,并且关联出了大批量的黑恶意域名(攻击者使用境外的Duck DNS注册动态域名)和IP地址。通过追踪攻击者使用的网络基础设施,发现此次攻击活动最早可追溯到2020年1月。本次样本为钓鱼邮件body1.eml,诱导用户下载Guloader程序。
特征说明:
连接服务器时,发送给固定字符。
"*2\r\n$4\r\nAUTH\r\n${密码长度}\r\n{密码内容}"。
逆向分析及功能描述:
邮件内容如下,主题内容[ D.H.L ] Document Arrival Notice,内附两组附件。
打开Shipping Doc网页看到界面,要求输入密码访问到钓鱼网站。
网页内的钓鱼网站,连接后将会下载Guloader。
另一个附件0.dat其实也是网页,输入账户将会直接转入到谷歌云盘中。
样本介绍:
本次模块名称Tailor,功能为收集有关网络接口的信息。将收集的网络信息和日志都将会写入%systemroot%\Temp\s61cs3.dat文件中,使用0x61进行异或加密。该程序最低可Xp运行,判断当前程序版本将使用不同手法获取网络接口信息。Xp中将会遍历以下注册表HKLM\SOFTWARE\Microsoft\WZCSVC\Parameters\Interfaces,而win7则会调用wlanapi.dll相关函数进行获取WLAN网卡信息,枚举当前可用无线网络,获取当前已连接的网络的SSID、名称、密码等。
特征说明:
样本拼接json请求串,其中包含mac地址、要请求下载的文件名、版本等信息,以POST方法发送至服务器,请求下载数据,所提特征均为固定字符串。
字符串:
keyMaterial、protected、SSID、name。
逆向分析及功能描述:
程序核心功能由DllRegisterServer函数实现。
首先检查s61cs3.dat是否被创建,如果没有则进行创建。
读取主程序写入注册表的随机数据HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability ShutdownInterval,随后将一块写入到s61cs3.dat中。
s61cs3.dat开头为0xF864D376数据,后跟读取到的数值。
在进行异或加密0x61。
判断系统版本使用不同的获取手段。
对于XP来说将会打开以下注册表获取
HKLM\SOFTWARE\Microsoft\WZCSVC\Parameters\Interfaces Static#字段信息。
而如果是WIN7、Vista的话将会调用wlanapi.dll各项函数,如下所示等。
随后将具体到以下字段进行获取写入到日志文件中。
样本介绍:
本次模块名称UsbDir,功能为收集有关计算机驱动器的信息,样本有4组导出函数,主要实现函数RevertCache,首先创建事件对象{B336C220-B158}、Global\SmSrvReady,读取注册表HKLM\System\CurrentControlSet\services\Disk\Enum\0获取设备实例路径,程序还会遍历当前进程与AV列表与之对比,如果存在某款安全产品,则退出进程。尝试搜索注册表磁盘项,通过搜索“USBSTOR”字符串来确实是否有USB连接。窃取的数据和操作日志都将会存储至%Temp%\~mdk.tmp使用zlib压缩加密。
特征说明:
连接C2服务器发送的请求。
逆向分析及功能描述:
样本具有4组导出函数,RevertCache为主要实现函数。
ValidateEntry导出函数,将事件{B336C220-B158},设置使其为有信号状态,等待主线程结束,随后结束主线程。
RevertCache导出函数,创建一组线程实现主要功能。
创建两组事件{B336C220-B158}、Global\SmSrvReady。
遍历当前进程,进行与AV列表进行对比。
获取的每一个进程名称与之对比。如果存在任意一组程序将直接退出程序。
读取注册表
System\CurrentControlSet\services\Disk\Enum\0获取设备实例路径。
打开硬盘驱动器设备获取硬盘编号。
查询注册表中的磁盘枚举是否有USBSTOR字符串,判断有哪些USB设备连接过。
每次获取的驱动器信息都会保存在%Temp%\~mdk.tmp文件中,保存的信息都会使用zlib库进行压缩,随后进行写入。