-
UID:17777
-
- 注册时间2007-05-02
- 最后登录2025-05-03
- 在线时间18637小时
-
- 发帖786324
- 搜Ta的帖子
- 精华0
- 飞翔币211574
- 威望215717
- 飞扬币2615603
- 信誉值8
-
访问TA的空间加好友用道具
- 发帖
- 786324
- 飞翔币
- 211574
- 威望
- 215717
- 飞扬币
- 2615603
- 信誉值
- 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盘里面创建文件,却不能删除文件,着实奇怪。 GITHUB1KB 源码
|