Kris远控木马的简单分析

栏目: 编程工具 · 发布时间: 6年前

内容简介:本文分析一个远程控制木马,它的众多恶意行为之一是操作注册表,实现开机自启动,在注册表中程序为自己命名为Kris。样本类型:PE32 executable (GUI) Intel 80386, for MS Windows, UPX compressed在国内某款知名沙箱系统中对恶意程序做自动分析,归纳出的执行流程如下:

前言

本文分析一个远程控制木马,它的众多恶意行为之一是操作注册表,实现开机自启动,在注册表中程序为自己命名为Kris。

一、基本情况

样本类型:PE32 executable (GUI) Intel 80386, for MS Windows, UPX compressed

1.1 程序基本流程

在国内某款知名沙箱系统中对恶意程序做自动分析,归纳出的执行流程如下:

Kris远控木马的简单分析

图1:程序的执行流程

自动分析的结果,归纳出此恶意程序有如下行为:

1.连接域名jesso.3322.org(59.42.71.178,广东省广州市白云区)

2.释放名为BJ.exe的可执行程序

3.创建进程,此进程会创建互斥体,并且连接动态域名

1.2 加壳信息

通过PEiD检查出该病毒被加壳,可以使用upx脱壳。本文后面分析的是利用upx对原程序脱壳后的PE文件。

Kris远控木马的简单分析

图2:通过PEiD检测恶意程序的加壳情况

1.3 注册表操作

恶意程序会创建HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Kris,键值为C:\Users\vbccsb\AppData\Local\Temp\sample.exe,此文件为原程序将自身拷贝到这个目录下,用于来实现开机自启动。

恶意程序还会检查注册表中是否有360safe,来判断宿主机器中是否安装了杀毒软件。

二、网络行为

运行恶意程序,并用wireshark抓包,发现恶意程序会发起针对jesso.3322.org的DNS查询:

Kris远控木马的简单分析

图3:恶意代码的网络行为

但是后续没有实质性的网络通信,经查,此IP地址仍旧存活但是域名已经失效:

Kris远控木马的简单分析

图4:与C2地址的网络通信

根据国内知名安全厂商的威胁情报显示,域名和IP地址都是恶意的。

Kris远控木马的简单分析

图5:域名的威胁情报

Kris远控木马的简单分析

图6:IP地址的威胁情报

三、程序分析

3.1 Main函数分析

程序的Main函数位于0x0040D990,首先会通过sub_47866C函数创建BJ.exe文件,随后调用sub_40D950函数延时60秒执行此文件。

Kris远控木马的简单分析

图7:创建BJ.exe并延时60s执行

程序会通过注册表查看系统中是否安装了360安全软件,如果没有安装,那么就调用sub_40D630函数,此函数用于实现开机自启动。

Kris远控木马的简单分析

图8:通过注册表检查目标系统中的360防护软件

通过sub_40D630函数通过注册表项“SOFTWARE\Microsoft\Windows\CurrentVersion\Run”实现开机自启动。

Kris远控木马的简单分析

图9:通过注册表实现开机自启动

Main函数会连接远程网址jesso.3322.org,通过sub_403300函数发起连接。

Kris远控木马的简单分析

图10:连接域名jesso.3322.org

3.2 Switch函数分析

恶意代码中的函数sub_40A050通过switch结构,实现了不同的恶意行为分支,即根据得到的指令,执行不同的操作。概述如下:

sub_409C00:创建新用户并添加到管理员组
sub_408070:提升进程权限
sub_4073E0:窃取系统磁盘信息并发送给远程主机
sub_4075A0:窃取桌面信息并发送给远程主机
sub_407760:窃取音频设备信息并发送给远程主机
sub_407920:击键记录器
sub_409320:关闭防火墙
sub_407F80:删除日志文件

3.2.1 创建新用户并添加到管理员组

sub_409C00函数实现创建新用户并添加到管理员组的功能:

Kris远控木马的简单分析

图11:用于添加用户并添加到管理员组的switch分支

通过调用函数NetUserAdd添加用户账户,随后调用NetLocalGroupAddMember函数,将新建的用户添加到管理员组。

Kris远控木马的简单分析

图12:sub_409C00函数实现添加用户并添加到管理员组的功能片段

3.2.2 提升权限

sub_408070实现提升进程权限的功能:

Kris远控木马的简单分析

图13:用于实现提升权限的switch分支

通过OpenProcessToken得到进程的令牌句柄,随后使用LookupPrivilegeValue查询进程权限,最后用AdjustTokenPrivileges函数提升权限。

Kris远控木马的简单分析

图14:sub_408070函数用于提升进程权限的功能片段

3.2.3 获取驱动器和磁盘卷信息并发送给远端主机

sub_4073E0函数用于获取磁盘以及驱动器的信息并发送给远端系统。它最终通过sub_405AC0来实现获取磁盘信息的功能,通过sub_403300用来实现连接远程主机并发送信息的功能。

Kris远控木马的简单分析

图15:用于实现获取磁盘信息并发送给远程主机的switch分支

sub_405AC0函数通过调用GetVolumeInformation获取磁盘卷信息,同时通过SHGetFileInfo函数获取文件系统对象的信息。

Kris远控木马的简单分析

图16:sub_405AC0函数用来获得磁盘信息

sub_403300函数通过一系列套接字函数实现网络通信,将窃取的信息发送给远程主机

Kris远控木马的简单分析

图17:sub_403300函数用来与远程主机通信

3.2.4 获取桌面信息并发送给远端主机

sub_4075A0通过调用sub_40F780函数实现截屏功能,发送给远端主机的功能仍然是通过sub_403300函数实现的,与3.2.3中相同。

Kris远控木马的简单分析

图18:用于实现获取桌面信息并发送给远端主机功能的switch分支

sub_40F780函数通过调用GetThreadDesktop得到桌面窗口所在线程,然后调用GetUserObjectInformation获取特殊的窗口站和桌面对象信息。

Kris远控木马的简单分析

图19:sub_40F780函数实现获取桌面信息的功能

3.2.5 窃取音频设备信息并发送给远端主机

sub_407760函数通过sub_401760函数窃取音频设备信息并通过sub_403300函数来实现连接远程主机并发送的功能,sub_403300在上面已经提到了。

Kris远控木马的简单分析

图20:用于实现窃取音频设备信息的switch分支

通过调用waveInGetNumDevs获得就绪的波形声音输入设备的数量:

Kris远控木马的简单分析

图21:sub_401760函数获得系统中波形声音输入设备的数量

3.2.6 击键记录器

sub_407920函数会调用sub_40A580函数实现击键记录功能,并且调用sub_403300函数向远程主机发送信息:

Kris远控木马的简单分析

图22:用于实现击键记录器的switch分支

sub_40A580函数调用GetKeyState, GetAsyncKeyState, GetKeyState三个函数实现击键记录的功能。

Kris远控木马的简单分析

图23:sub_40A580函数实现击键记录功能

3.2.7 关闭防火墙

sub_409320函数通过sub_409240函数实现关闭防火墙的操作:

Kris远控木马的简单分析

图24:用于实现关闭防火墙功能的switch分支

sub_409240函数构造”cmd /c net stop sharedaccess”指令,实现关闭Internet连接共享和防火墙服务的功能:

Kris远控木马的简单分析

图25:sub_409240函数实现关闭防火墙的功能

3.2.8 删除日志文件

恶意代码通过sub_407F80函数实现删除日志文件的功能:

Kris远控木马的简单分析

图26:用于实现删除日志文件功能的switch分支

程序首先通过OpenEventLog函数打开日志文件,如果成功打开,就调用ClearEventLog函数清除日志文件中的内容,最后通过CloseEventLog函数关闭日志文件。

Kris远控木马的简单分析

图27:sub_407F80函数实现删除日志的功能

四、总结

此样本是一个简单的远控木马,通过访问C2服务器获取指令,然后根据Switch分支操作执行诸如: 创建新用户并添加到管理员组、 提升进程权限、 窃取系统磁盘信息并发送给远程主机、 窃取桌面信息并发送给远程主机、 窃取音频设备信息并发送给远程主机、 击键记录器、 关闭防火墙、 删除日志文件等危险的操作。程序本身还会有拷贝自身、延时执行、查询系统中是否安装安全软件的操作,并以此来确保自身的安全,同时还会通过修改注册表实现开机自启动。

*本文作者:navyofficer,转载请注明来自FreeBuf.COM


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

设计模式

设计模式

[美] Erich Gamma、Richard Helm、Ralph Johnson、John Vlissides / 李英军、马晓星、蔡敏、刘建中 等 / 机械工业出版社 / 2000-9 / 35.00元

这本书结合设计实作例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。书中分类描述了一组设计良好、表达清楚的软件设计模式,这些模式在实用环境下特别有用。此书适合大学计算机专业的学生、研究生及相关人员参考。 书中涉及的设计模式并不描述新的或未经证实的设计,只收录了那些在不同系统中多次使用过的成功设计。一起来看看 《设计模式》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器