【新人】对一个DLL病毒的简单分析
本帖最后由 BearBrine 于 2020-10-14 18:45 编辑大家好啊我是一枚萌新,这是我第一次写这种分析病毒的文章。
由于自己真的没什么水平,难免会出现很多疏漏和错误,也请大家见谅。
如果可以的话希望大佬们可以帮忙指点一下,我会非常感激的。
---
### 基本信息
| 病毒信息 | 病毒描述 |
| :---: | :---: |
| 文件名 | RarExt32.dll,rasadhlp.dll |
| 文件类型 | DLL,动态链接库 |
| MD5 | 73C06C75BD9AA0A194B0DC73AB38CAC5 |
| SHA1 | 7604D4BE31E6C017E3BD9A1E5590A81A7AAFB40F |
| CRC32 | 9F0B3396 |
| 文件大小 | 346783 字节,338 KB |
| 压缩壳 | nSPack |
| 编译器 | Microsoft Visual C++ (易语言?) |
| 编译时间 | 2016-12-27 / 22:52:11 |
提示:以上信息可能经过混淆 ~~(或者因为我太弱)~~ 而出现误差。
---
### 一个故事
一天~~我正在偷懒~~,从某游戏群中下载了一个游戏。
当我解压完这个压缩包的时候,杀软报毒了。
然后我立刻警觉了起来 ~~(其实当时我是很兴奋的)~~。
为了确认是否为误报,我首先选择召唤了度娘。
可以发现有不少病毒相关词条。并且在吾爱破解的官网上,也能发现一些求救贴。
然鹅似乎就是找不到一条分析贴……(也可能是我太弱了找不到QwQ)
于是我就自己试着分析了一下……
---
### 行为分析
首先通过PE文件分析工具可以获取一些病毒的基本信息。
部分信息已在上文给出。
其中编译时间可能被修改过不能保证准确性。
脱壳后可得知其使用的编译器。
(注:病毒的编译器也可能是易语言,但是由于我太弱了分析不出来QwQ)
#### 病毒运行方式
~~由于我还是不大会用IDA~~,我选择直接运行病毒qwq。
病毒会在部分同目录下的可执行文件运行时被同时加载,
不巧的是此含病毒文件的游戏执行时正会触发该病毒。
经过测试发现**火绒无法拦截该病毒**。
注:本次测试仅使用了火绒安全软件进行测试,其它杀软尚未测试。
经过一番研究可以发现,该病毒的文件名与 system32 文件夹下的一个系统文件同名。
该文件的大小与病毒有较大差距,可确认其与病毒文件为不同文件。
可以推测其通过会加载系统下的同名文件的可执行程序来执行本身,
这也解释了为什么只有一部分程序启动时会加载该病毒。
在不清除病毒的情况下运行压缩包内的游戏,
(注:如需实验病毒,请在虚拟机下实验)
此时火绒报出多个病毒,可以认为火绒拦截病毒失败。
注意到第一个文件名与其它的报毒文件不一样。
通过火绒报毒路径查找到文件位置,
该文件的各属性与原病毒文件一致,可认为是病毒本体复制。
#### 病毒显著行为
病毒一个很显著的行为就是在运行了部分程序后,
该程序根目录下会出现病毒文件,并且火绒无法拦截。
注意到报毒的图中第二个文件的路径:
该路径位于火狐浏览器的根目录下,
此时火狐浏览器及其它相关进程并未运行,
说明病毒可能还有其它的传播方式。
此时如果运行火狐浏览器,火绒可能会将浏览器看作病毒。
#### Procmon 分析
接下来使用 Procmon 对病毒的行为进行分析。
首先分析病毒文件启动时的行为。
可以注意到病毒将自身文件写入到了特定的目录下。
接下来**病毒创建了一个系统进程 svchost.exe**,
启动命令参数为:-K NetworkService
至于这个参数是干啥的萌新太弱了搞不懂QwQ
然后dll就结束运行了,此时病毒已经发作。
猜测病毒创建的 svchost.exe 实际上是傀儡进程,用于躲避杀软的扫描。
于是使用 Procmon 分析病毒创建的进程。
接下来我们可以看到,该进程读取了一个病毒路径下的病毒文件。
然后该进程会读取当前正在运行的一些进程,并拷贝病毒文件至其所在目录。
该进程还会遍历注册表的软件卸载项目,以此查找一些其它的程序,
然后进程会将病毒本体写入到这些程序的所在目录下。
之后此进程会反复执行这些流程。可以断定其为病毒的傀儡进程。
#### 在线分析
这里给出了病毒的一些在线分析结果,有兴趣的可以去看看。
(https://r.virscan.org/language/zh-cn/report/83e2af6facf91af59539905350a28959)
[微步在线云沙箱](https://s.threatbook.cn/report/file/fde687287ef8cd7e6a6ce655355eaca2fba25fd6c22cc1e4040281f73205ba90/?env=win7_sp1_enx86_office2013)
---
### 解决方案
至此我们已经对病毒有了一个基本的了解,
接下来可以制定一下中毒之后的解决办法。
#### 方案一:直接开杀
考虑到病毒会加载固定目录下的病毒文件并复制,
我们直接**用一个无毒的文件来替换掉它**,
同时**设置该文件的所有权限全部禁止**。
这样可以防止病毒的进一步传播。
然鹅这种方法的效果没有特别研究过,不一定完全可行。
但是还是推荐这么做一下保险一点。
关于修改文件权限的方法不懂的请自行度娘 ~~(其实是我不会)~~。
接下来我们直接**结束这个傀儡进程**,尽管之后运行软件还可能导致其再次被启动。
**病毒进程后面带有 \*32 的字样,并且用户名为当前运行中的用户名**。
不要把其它的同名进程也给终止了,不然可能会发生一些意想不到的错误。
做完了这些工作我们就可以开始全盘杀毒了!
由于病毒可能会在杀毒过程中传播,所以推荐**多杀几次直到没有报毒为止**。
杀完毒后记得**检查一下病毒进程是否还在运行**。
#### 方案二:PE查杀
在PE系统下病毒是不会继续传播的,此时我们就可以放心的杀毒。
我们借助PE系统和一些离线查杀工具来查杀病毒。
关于PE系统不懂的请自行度娘。
我自己用卡巴的急救查杀的测试结果似乎并不理想,
所以这里可以尝试一下手动查找病毒,或者**使用下面这个cmd代码**:
```dos
setlocal enabledelayedexpansion
for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
set var=%%i
set drive=!var:~-2!
fsutil fsinfo drivetype !drive!|find "固定">nul && del /a /f /s !drive!\rasadhlp.dll
)
pause
```
(注:此代码来源于网络上的一个专杀代码)
注意在运行这个代码前**最好备份一下System32和SysWOW64目录下的同名文件**,
否则文件丢失可能会引发一些不可预料的错误。
将以上代码保存为一个后缀为 .bat 的文件,然后运行即可。
运行后若系统目录下的文件丢失可以复制原来备份好的文件过去。
注意还要**手动删除 C:\Program Files\WinRAP 目录下的病毒文件**。
此方法未经实测,不敢保证可以绝对的清除病毒。
---
### 总结
到这里整个病毒的分析就结束了。
本人的水平不高(也可能是很差),可能会分析的不到位。
并且我还不会使用OD或者IDA之类的软件进行逆向分析QwQ。
如果有错误或疏漏的地方也希望大家能帮忙指点,我也能够学习学习。
这篇文章编写的主要目的还是能够给那些已经中毒的人一个解决方法,
并且希望能够让那些不怎么重视病毒还把杀软当梗玩的人能够重视一下。
说不定你们的电脑就已经中了毒,而且你们还浑然不知……
(看了其它大神的病毒分析帖子,感觉我发这么没技术的东西好丢脸啊QwQ) 我想看O泡 OOO 来分析一波嘛:keai
昨天就已经上热门了的手机APK病毒。安装后按键全失灵,不能关机,一起魔性循环 O泡果奶 我要O泡 O O O :lol 感谢分享 不知道什么东西 收下先看看 没有具体代码分析? 都是用工具做的然后你来收集到一起? 来学习了 先谢谢分享,鼓励这种安全意识的提升.但是真想分析病毒,不是简单的看看启动了什么进程PEPM抓记录.要看一下主要做了什么事. 比如这个病毒是一个盗号.或者一个勒索的.分析出与原理来.然后在针对的写专杀工具.或者提特征.这样才算完整的分析了一个好的病毒. 谢谢楼主分享· 这个病毒的目标是什么? k network你都不知道是啥你还有勇气转载别人的帖子?