首页| 论坛| 搜索| 消息
主题:1KB病毒分析带杀毒脚本
z3960发表于 2019-05-16 21:25
序言

想起以前做实验的时候,机房电脑感染1KB病毒, U盘中的文件出现全部成为了快捷方式. 这几天做病毒分析, 心血来潮那1KB病毒来开刀.
病毒总览

注册表/*开机运行*/HKCU\Software\Microsoft\Windows\CurrentVersion\Run = \C:\WINDOWS\system32\cmd.exe /c start wscript/e:VBScript %temp%\SysinfY2X.db/*修改文件显示选项,不显示隐藏文件*/HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden = 2
对文件操作
查找系统中驱动器的个数,对除了C盘之外之的其他盘进行感染. 感染的方式很简单, 拷贝SysinfY2X.db, 所有文件设置为隐藏文件,创建一个指向原文件夹的快捷方式, 快捷方式的一些属性targetPath = "cmd.exe"argument = /c start wscript /e:VBScript.Encode Manuel.doc & start explorer 文件/子文夹 & exit
这样,点击任何一个快捷方式, 直接触发又一次的传播.
网络行为
与http://realy.mooo.com/bot/lancer/index.php?cmd=命令进行交互, 这个网站已经挂了.
病毒运行过程

首先修改注册表, 将恶意文件保存在tmp目录下, 创建一个新进程运行恶意文件, 本身退出,新进程接着就会做上述行为.
弱点

这个病毒也有弱点, 只会在根目录下创建快捷方式, 不会递归的创建快捷方式, 着实有点缺心眼.
杀毒

首先在进程管理器中,停止wscript进程, 然后修改注册表, 删除快捷方式.import os, psutil, win32api, win32conimport winshelldef killProc(name):for p in psutil.process_iter(attrs=['name', 'pid']):if p.info['name'] == name:proc = psutil.Process(p.info['pid'])proc.terminate()def isLNK(fileName):fName = fileName.split('.', -1)if 'lnk' == fName:return Trueelse:return Falsedef modifiedOnlyRead(path):files = os.listdir(path)for i in xrange(len(files)):p = os.path.join(path, files)try:win32api.SetFileAttributes(p, win32con.FILE_ATTRIBUTE_NORMAL)except win32api.error:passfinally:passdef deleteFile(path):modifiedOnlyRead(path)files = os.listdir(path)for i in xrange(len(files)):p = os.path.join(path, files)if isLNK(files):link = winshell.shortcut(p)if ("cmd.exe" in link.path and "Manuel.doc" in link.arguments):os.remove(p)else:passelif "Manuel.doc" == files:os.remove(p)def modifyReg():run = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, win32con.KEY_ALL_ACCESS)try:SysinfY2X = win32api.RegQueryValueEx(run, "SysinfY2X")if "SysinfY2X.db" in SysinfY2X[0]:win32api.RegDeleteValue(run, "SysinfY2X")else:passexcept win32api.error:print "no registry entry"finally:win32api.RegCloseKey(run)Advanced = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", 0, win32con.KEY_ALL_ACCESS)try:hidden = win32api.RegQueryValueEx(Advanced, "Hidden")if 2 == hidden[0]:win32api.RegSetValueEx(Advanced, "Hidden", 0, win32con.REG_DWORD, 1)else:print "Modified"except win32api.error:print "no registry entry"finally:win32api.RegCloseKey(Advanced)killProc("wscript.exe")killProc("cscript.exe")deleteFile('E:\\') # U diskmodifyReg()
吐槽

vbs能够在U盘里面创建文件,却不能删除文件,着实奇怪。
GITHUB

1KB 源码
回帖(2):
2 # 任逍遥
05-17 08:29
不错,了解了
1 # 任逍遥
05-17 08:28
来看一下

全部回帖(2)»
最新回帖
收藏本帖
发新帖