| 关键词: 病毒 线程 函数 注册表 分析 文件 信息 dll 服务 数据 |
样本信息病毒名称:3601劫持病毒 病毒的主要恶意行为先利用云沙箱获取基本运行情况,如下图所示。 行为分析使用火绒剑对病毒的行为进行分析,可以归为以下四类:对文件的操作、对注册表的操作、对进程的操作、对网络的操作。 ② 删除原始的病毒文件: ③ 创建hra33.dll文件和临时文件,并写入数据: ④ 在多个文件夹中创建lpk.dll并写入数据: 对注册表的操作 对进程的操作 对网络的操作 病毒对注册表进行了操作,并且有网络连接。
恶意代码分析经查壳工具PEID检查,发现该病毒加了UPX壳。根据ESP定律进行脱壳处理。 ![]() 主程序首先通过查看注册表键值来确定服务是否创建,若服务未创建则创建并启动服务;若服务已经创建,则对自己进行复制,并且修改相关服务,最后删除自己。并且病毒释放了一个hra33.dll文件。 病毒为了防止重复操作,会先检测服务是否创建。 继续跟进,发现病毒在ADVAPI32.dll中加载函数,并遍历文件。 病毒利用时间随机数来生成文件名并进行拼接,最后复制到C:Windows目录下。 继续分析,病毒创建了服务,并且修改了相关的配置,启动服务。 紧接着病毒添加了注册表键。 可以运行病毒,去查看注册表进行对比。 病毒通过字符串拼接来执行CMD命令删除自己。 此时,病毒创建了新的线程,自己已经删除,继续分析新的线程。新的程序进行了服务初始化操作。 在跟到4053a6函数中,会对注册表进行检查,并且打开了hra33.dll,复制了相关资源到hra33.dll。 对资源进行了更新操作。 通过OD可以看到具体的资源。 继续分析,发现hra33.dll被释放,这个dll具有劫持功能,将exe相同目录复制lpk.dll。 ![]() 继续分析创建线程的函数。 其中第一个线程会初始化一些字符串,用于获取主机名和网络连接相关的函数,有可能是利用弱口令进行局域网传播病毒。 ![]() 经过以上分析,可以判定第一个线程是通过弱口令感染局域网其他主机,当用户名和密码通过后,可以使用共享目录将病毒传播。 继续分析创建的第二个线程。 ![]() 跟到回调函数中,发现有创建了一个子线程。 继续分析回调函数。 ![]() 发现这个函数进行了网络连接。若连接成功,就继续运行,失败了就返回。 继续分析,发现该线程获取了一些系统信息,用来判断系统型号。 同时获取了CPU信息。 继续获取了适配器信息。 ![]() 获取了内存信息。 发现函数4060f0加载了一些dll,并且尝试发送了数据。 使用接收到的数据进行判断,并作出相应的处理。 信息为0x10时,从网络上下载恶意代码保存到临时文件,并执行。 信息为0x12,根据时间随机生成数拼接文件名,并初始化信息。 通过网页下载新的病毒,下载成功删掉原来的所有信息。 自身会被删除。 当信息为0x14时,会打开IE浏览器。 当信息为0x6时,则执行的操作与0x12一样。 当信息为其他情况时,基本上都是进行了初始化Socket操作。 接下来对线程三进行分析,跟进子线程回调函数。 ![]() 继续分析回调函数。 继续跟进子线程回调函数。 ![]() 发现函数与线程基本一样,但是连接的的域名改变了。 用IDA Pro加载hra33.dll,对它进行分析。 发现10019e6添加lpk函数时,会遍历文件,如果遇到exe文件就在相同目录下拷贝lpk.dll,如果有.rar或者.zip文件,就用100142b进行感染。 等线程执行完毕后退出线程,使用10001123释放dll。 查杀方案病毒特征:关键字符串 Ghigkl 写yara 规则: 然后可以使用ClamAv进行查杀。 手工查杀 ①结束相关进程树; |
| 本文出处: https://www.toutiao.com/a6882459054589870600/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|