社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 828阅读
  • 2回复

[分享]1KB病毒分析带杀毒脚本

楼层直达
z3960 
级别: 茶馆馆主
发帖
770868
飞翔币
207694
威望
215657
飞扬币
2511641
信誉值
8



序言


想起以前做实验的时候,机房电脑感染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[len(fName) - 1]:        return True    else:        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:            pass        finally:            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:                pass        elif "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:            pass    except 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 源码
关键词: bot 系统
我不喜欢说话却每天说最多的话,我不喜欢笑却总笑个不停,身边的每个人都说我的生活好快乐,于是我也就认为自己真的快乐。可是为什么我会在一大群朋友中突然地就沉默,为什么在人群中看到个相似的背影就难过,看见秋天树木疯狂地掉叶子我就忘记了说话,看见天色渐晚路上暖黄色的灯火就忘记了自己原来的方向。
级别: 超级版主
发帖
830655
飞翔币
224558
威望
224618
飞扬币
2423780
信誉值
0

只看该作者 1 发表于: 2019-05-17
来看一下
级别: 超级版主
发帖
830655
飞翔币
224558
威望
224618
飞扬币
2423780
信誉值
0

只看该作者 2 发表于: 2019-05-17
不错,了解了