病毒丨3601lpk劫持病毒分析

news/2024/7/24 12:16:49 标签: 网络, windows, linux

作者:黑蛋

 

一、病毒简介

文件名称:
1f3e836b4677a6df2c2d34d3c6413df2c5e448b5bc1d5702f2a96a7f6ca0d7fb
文件类型(Magic):
PE32 executable (GUI) Intel 80386, for MS Windows
文件大小:
52.50KB
SHA256:
1f3e836b4677a6df2c2d34d3c6413df2c5e448b5bc1d5702f2a96a7f6ca0d7fb
SHA1:
8389fb0466449755c9c33716ef6f9c3e0f4e19c8
MD5:
304bbe0e401d84edf63b68588335ceb6
CRC32:
757BDFA1
SSDEEP:
768:QfvoyXXQkZuzQE98Fs+UwMVdPG42EmAjE/yQd07d21a1Xxu0HfqaWF6i5XcojY9U:QfvoyXgkAP2EFjtQd07k1sXPHijmU
ImpHash:
bdd8c968182d3c29007cb3a7a7e8fe4c

二、环境准备

系统

win7x86

三、行为分析

接下来借助火绒剑查看一下行为。

 

这里同样是生成了一个子病毒,我们简单进行一下过滤,文件创建写入,注册表创建,网络行为等:

 

可以看到,在c:\Windows下生成一个子病毒,当然也注意这里生成了一个hra33.dll:

 

然后通过cmd删除自身:

 

这就是母体干的事,接下来看看子病毒干的啥事:

 

首先这里是干了一些资源释放,在多个文件路径下创建lpk.dll,向下继续看的话,可以看到在很多路径下都有这个dll,他应该是遍历,在所有文件夹下面创建这个dll:

 

随后就是网络链接操作了:

 

 


可以看到一直在进行发包收包操作,结合沙箱的分析结果:

 

可以看到一共访问了三个域名:sbcq.f3322.org;www.520123.xyz;www.520520520.org
总结一下就是释放dll,网络链接;

四、静态分析

拖入PEID,啥也没,应该是被脱过了:

 

拖入IDA中,直接在winmain函数处F5:

 

4.1、sub_405A52

 

可以看到这里是一个简单的判断服务是否启动,启动的话进入else,服务名Ghijkl Nopqrstu Wxy;

4.2、sub_40561A

接下来看回调函数sub_40561A:

 

这里主要是创建了4个线程,首先看sub_405394;

4.2.1、sub_405394

进去之后再走到EnumFunc函数中:

 

这里是定位资源,然后再当前目录下创建文件,写入资源内容;

4.2.2、sub_4053A6

 

主要在这里,看病毒文件是否存在,存在就拿到句柄,把服务加入资源文件中。

4.2.3、sub_4034E5

 

这是一个简单的加载hra33.dll的函数;

4.2.4、sub_402DD5

 

首先可以看到这里,一些用户名和密码,这里应该是用来暴力测试;

 

这里不断地是获取主机名,再获取hostent结构,然后枚举用户名密码进入sub_402AD0,

 

这里就是建立连接,通过局域网传播病毒。

4.2.5、sub_4051E0、sub_405241、sub_40387C

这三个回调函数一样,在不同服务器上下载东西,执行,我们只看第一个,一直跟进回调函数到StartAddress:

 

 

 

 

 

 

可以看到这里都是一些在服务器中下载东西,然后跑起来,最后删除自己,其他俩个函数和这个函数一样,无非就是服务器地址不同,最后一个函数里面服务器域名是加密的,直接在OD运行到这里查看就行,是www.520520520.org:9426 ;

4.3、sub_405B6E

这里是在c:\Windows\system32下创建随机病毒文件;接下来是一些服务操作,结尾是sub_40355B函数,我们直接跟进去:

 

可以看到是一个删除自身的一个操作。

五、hra33.dll分析

看完病毒体,我们再看一下关键dll–>hra33.dll,直接在c:\windows\system32下找到hra33.dll,拖入IDA中分析,直接在主函数处F5:

 

5.1、sub_10001134

 

简单的查找病毒资源是否存在;

5.2、sub_10001338

 

判断当前模块名字是否为hrlxx.tmp;

5.3、sub_10001193

 

这里就是找到资源,定位资源位置,在临时文件目录中创建hrl,然后把资源内容拷贝进去。

5.4、sub_100012F6

 

加载lpk.dll

5.5、sub_100019E6

 

这里是判断磁盘类型,然后创建一个线程,我们跟进去回调函数:

 

可以看到是判断文件是否是exe,是的话创建lok.dll;如果是rar或者zip等压缩文件,则进去sub_1000142B:

 

解压文件,然后替换lpk.dll,随后重新打包,删除临时文件;

5.6、sub_100010CE

 

这里是保存了lpk的导出函数地址。

六、病毒总体思路总结

首先开始运行,判断是否有病毒的注册表:
是:注册函数设置服务请求–设置启动服务–找到dll,释放–把病毒和服务加到hra33.dll,然后加载此dll–
线程1(家里IPC链接,局域网内传播,定时启动)—后面三个线程链接服务器下载东西,根据指令进行不同操作;
否:启动病毒服务–设置键值–删除原病毒


http://www.niftyadmin.cn/n/232194.html

相关文章

什么是 SMART 并如何使用这个方法取得新的成就

SMART原则也许大家并不陌生,很多企业常常采用以激励员工更加高效的工作,或是被一些企业广泛采用,制定并实施绩效考核方案,SMART原则属于目标管理的范畴,最早是管理大师彼得德鲁克在著作中提出的。 ONLYOFFICE ONLYOFFI…

九耶丨钛伦特-java 中都有哪些引用类型?

(1)强引用 Java中默认声明的就是强引用,比如: Object obj new Object(); obj null; 只要强引用存在,垃圾回收器将永远不会回收被引用的对象。如果想被回收,可以将对象置为null; (2…

图解ThreadLocal核心方法

1、put方法逻辑 #mermaid-svg-NLFi4sbsreWb2dTK {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-NLFi4sbsreWb2dTK .error-icon{fill:#552222;}#mermaid-svg-NLFi4sbsreWb2dTK .error-text{fill:#552222;stroke:#552…

pytorch进阶学习(八):使用训练好的神经网络模型进行图片预测

课程资源: 【小学生都会的Pytorch】九、运用你的模型做预测(1)_哔哩哔哩_bilibili 笔记: pytorch进阶学习(四):使用不同分类模型进行数据训练(alexnet、resnet、vgg等&#xff09…

【数据结构】二叉树经典oj题

🚀write in front🚀 📜所属专栏:初阶数据结构 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是对…

同学在外包干了两年的点点点,24岁人就快废了

前言 简单的说下,我大学的一个同学,毕业后我自己去了自研的公司,他去了外包,快两年了我薪资、技术各个方面都有了很大的提升,他在外包干的这两年人都要废了,技术没一点提升,学不到任何东西&…

centos7.6部署DolphinScheduler3.0.0集群

部署DolphinScheduler调度器(ds版本3.0.0) 31.1. 配置用户免密及权限 创建部署用户ds,并且一定要配置 sudo 免密。 创建用户需使用 root 登录 useradd ds 添加密码 echo “password” | passwd --stdin ds 配置 sudo 免密 sed -i ‘$ads ALL=(ALL) NOPASSWD: NOPASSWD: ALL’…

微积分——用积分定义自然对数的动机

第6章 对数函数&#xff0c;指数函数和反三角函数 目录 第6章 对数函数&#xff0c;指数函数和反三角函数 6.1 引言 6.2 用积分定义自然对数的动机 内容来源&#xff1a;<> Tom M. Apostol 6.1 引言 每当有人将他的注意力集中到数量关系的时候&#xff0c;他要么是…