一个自称 lpk.dll 的病毒分析

来自:信安之路(微信号:xazlsec),作者:病毒分析小组

该样本将自己命名为 lpk.dll,与系统 lpk.dll 同名,在程序需要使用 lpk.dll 时,便会遭到该样本的劫持。

样本运行后,首先会判断当前运行的程序是病毒母体还是释放出来的子体,如果不是子体则将包含子体的资源文件导入到创建的临时文件中,并运行此临时文件。

接下来恶意代码会查找可以感染的逻辑磁盘,并创建线程进行感染,判断是否为目录,若是,则遍历目录进行感染;判断是否是 exe 文件,若是,则复制自身到当前目录下;判断是否为压缩文件,若是,则将自身添加到压缩文件中。

该恶意代码释放出来的子体会使用 taskkill 结束 360 主动防御进程。子体会判断服务 Nationalroi 是否存在,若存在,则运行服务函数。服务函数会创建 hra%u.dll 将 lpk.dll 写入此文件,会访问

http://204.72.210.221/admin.html

并读取网页 源代码,提取网页源代码中的域名,并进行连接,接收指令并执行。若服务 Nationalroi 不存在,则子体会复制自身到

C:\WINDOWS\system32\

目录下的文件 %s%s%s%s%s.exe 中,将此程序注册为服务,并作为服务启动,然后删除自身。

样本信息

MD5:B0E75EAA9316E037095F2F15EAC70F32

时间戳:2010-09-14 16:27:39

样本分析

lpk.dll 分析

样本运行后操作如下:

1、载入资源文件,此资源文件是一个字符串 Nationalroi。根据此字符串,创建同名互斥量,保证只有一个实例运行。

2、判断文件后缀名是否为 TMP,若是,则不导入资源文件。若不是,则导入资源文件。

3、将导入的资源文件存入临时文件中,创建进程运行此临时文件

4、判断当前加载的文件是否为 lpk.dll,如果是,则获取系统 lpk.dll 的函数填充到自己的同名函数中。

5、若当前加载的文件不是 lpk.dll,则扫描电脑上所有可以感染的逻辑磁盘,若可以感染,则创建线程进行感染。

6、搜索磁盘中的文件,判断是否为特殊文件或是目录。若是目录,则遍历目录进行感染。

7、若磁盘中的文件不是目录,则获取文件扩展名,判断是否有 exe 文件,若有,则将 lpk.dll 复制过去,并设置文件属性为隐藏。

8、判断磁盘中是否有 rar 文件或 zip 文件,若存在,则感染压缩包中的文件

9、感染压缩包。获取 winrar 的运行路径,若没有安装 winrar 就直接退出。

10、生成一个临时文件名 IRAR%s.tmp,查询压缩包中是否包含 lpk.dll,若不包含,将压缩文件中的所有 exe 解压到 IRAR%s.tmp\ 目录下,将此目录和文件 lpk.dll 一起压缩到 %s.zip 中。但是程序中使用的压缩语句语法错误,应该执行不了。

11、压缩完成后,删除 IRAR%s.tmp\ 目录。

hrl%s.tmp 分析

样本运行后操作如下:

1、使用 taskkill 结束 360 主动防御程序。

2、在注册表中查找 Nationalroi,如果不存在,就创建服务,复制自身到系统目录,设置为服务并启动,然后结束当前进程。如果存在,启动 Nationalroi 服务,运行服务函数。

3、创建互斥量,确保只有一个服务正在运行。

4、创建文件 hra%u.dll,并把资源文件写入此文件。

5、更新 hra%u.dll 的资源文件。

6、获取 hra%u.dll 的两个函数 StartWork 和 StopWork

7、通过异或解密,获得网址

8、访问 http://204.72.210.221/admin.html 并读取网页源代码。

9、根据网页源码内容,提取域名,转换成IP地址,进行连接。接收远程服务器的指令并进行相关操作。


10、获取操作系统版本信息,获取 CPU 信息等。

11、若 Nationalroi 服务不存在,则复制新的文件,并将此文件当做服务启动。

分析完毕

总结

该报告的行文以及排版值得所有人学习借鉴。lpk 后门虽然是老病毒,但每天的感染量依然很大,最好的解决方法就是少在下载站下软件,少下一些外挂程序等等

来自:信安之路(微信号:xazlsec)

信安之路.png

推荐↓↓↓
黑客技术与网络安全
上一篇:OSINT 之信息收集上 下一篇:贩卖 470 余万条 12306 用户数据的人被抓了!