引言
不知咋地,这几天在机房插过网线,拷过几个文件,其他的就不记得了。然而,昨天下午火绒突然报警,说sys.exe可疑,然后就删除,删了又回来了,再删,又回来,气到了,杀毒。导致没法做项目。火绒杀毒贼慢,好吧,上qq,整个机子卡住。,快杀加全杀,杀完,清新了,就把tx管家卸了(不喜欢他的占内存)。
今天早上10点,又报毒,而且事态更加严重,烽火狼烟,火绒不断报警。gg,气到了,本来想火绒杀的,算了,为了快(硬盘数据>400G),上腾讯,先快杀,再全杀。然后上360,全杀。360确实杀出了写漏网之鱼。事后,自己看着杀毒报告,再回去看剩下的几个脚本,略作分析。
for语句的基本结构:
image.png实例:
image.png image.png image.pngfor –f 会循环读取每一行 %%i就是那一行
image.png字符分割:delims
"delims=符号列表" 的开关,每行字符串都会被符号列表中罗列出来的符号切分开来。
如果没有指定"delims=符号列表"这个开关,那么,for /f 语句默认以空格键或跳格键作为分隔符号。
定点提取:tokens=3,4,5
image.png提取多行:
image.png
提取第一个用i,第二个j ,第三个就是k,依次下去
tokens=1,2,3,4,5
tokens=1-5
tokens=1-3,4,5
间用短横连接起来即可,比如 tokens=1,2,3,4,5 可以简写为 tokens=1-5 。
还可以把这个表达式写得更复杂一点:tokens=1,2-5,tokens=1-3,4,5,tokens=1-4,5……怎么方便就怎么写吧。
image.png
切1,3-4,剩下的不切,全部归入*
跳过前面n行:skip
image.png忽略指定字符开头的行:eol
image.png::在cmd窗口中,for之后的形式变量I必须使用单百分号引用,即%i;而在批处理文件中,引用形式变量i必须使用双百分号,即%%i。
::/d表示目录搜索,不会搜索文件,不会进入下一级
各种for /f
加了usebackq 可以容许空格
image.png然后开始解读病毒小脚本s.bat
image.png
第一行删除445.txt文件。估计是在组织信息的时候的缓存。
第二行暂且不论,
第三行:
遍历result.txt,eol=-过滤掉以-开头的行,delims=‘ ’按照空格分割,tokens=1,得到第一个切分段。
重定向输出到s1.txt
按此分析
3.4.5就是在将信息格式化提取到新的文件。
6.7.8就是删除文件
那么,可以得到,
1行执行前存在:445.txt
3行执行前至少有: result.txt,s1.txt,s2.txt;
执行后存在:445.txt, com.dll
剖析s.exe
接下来就是剖析s.exe干了什么,然并卵,s.exe被删除了
剖析开机小程序:TIME.2.bat
image.png@echo off是屏蔽执行语句的输出
-
ping –n 2 127.0.0.1>nul是ping测试本地网卡网络协议是否正常,不正常则输出错误
-
taskkill 终止rundllhost.exe:什么意思呢?这哥们好像也是被杀掉了。
-
schtasks /run 运行 /tn指定唯一识别这个计划任务的名称,伪装为google…
-
@sc stop Natihial停止natihial:没记错的也是被杀了,他自己也删除了
-
@sc delete Natihial 删除服务,这是病毒?
-
Wmic 如果当前存在进程name=cmd.exe 并且执行路径是…的,call Terminate,也就是结束进程。这里明显说明cmd被伪装了,ca
-
结束脚本,好吧
taskkill 解释
/f 强制
/t 顺便把所有子进程都终止
/im 指定映像名字
image.png image.png
schtasks详解
image.png小例子
-
创建计划任务 "gaming",每天从 12:00 点开始到14:00 点自动结束,运行 freecell.exe。
SCHTASKS /Create /SC DAILY /TN gaming /TR c:\freecell /ST 12:00 /ET 14:00 /K
schtasks /create /tn Mytask /tr notepad.exe /sc hourly /ru zly /rp windows
/sc
/TR taskrun 指定在这个计划时间运行的程序的路径
/ru {[Domain]User |System}
使用指定用户帐户的权限运行任务。默认情况下,使用本地计算机当前用户的权限,或者使用 /u 参数指定用户的权限(如果包含的话)运行任务。在本地或远程计算机上计划任务时,/ru 参数才有效。
/st StartTime
/et EndTime
/du Duration
指定“分钟”或“小时”计划的最大时间长度,格式为 HHHH:MM 24 小时格式。指定的时间过去之后,Schtasks 不重新启动任务,
/k
在 /et 或 /du 指定的时间停止任务运行的程序。如果没有 /k,Schtasks 在到达/et 或 /du 指定的时间之后不再启动程序,但它不会停止仍在运行的程序。该参数是可选的,并且仅对“分钟”或“小时”计划有效。 要查看示例,请参阅:
wmic详解
WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具),提供了从命令行接口和批命令脚本执行系统管理的支持。
dll分析
保存下一个dll,
image.png
查询一番,感觉是花指令的问题
这边尝试了几个查壳工具,反编译工具,不过效果不是很好,好吧,我就是纯粹玩玩。
好像又不是,查询后发现是vc++6.0写的,无语
反编译:
image.png
看不懂,好吧,到此为止。
各大杀毒引擎的效果
找其中的一个病毒,回过头去看看各大杀毒引擎的效果:
病毒:
杀毒查询:http://r.virscan.org/report/b92318be518d7ac812ffda2d50bea50b
image.png image.pngtx的杀毒报告:
image.png心疼我的电脑...!
网友评论