您的位置:首页 > 运维架构 > Shell

Powershell之MOF后门

2016-01-25 11:27 666 查看

0x00 MOF

Managed Object Format (MOF)是WMI数据库中类和类实例的原始保存形式。具体介绍可以阅读《WMI 的攻击,防御与取证分析技术之防御篇》,Windows 管理规范 (WMI) 提供了以下三种方法编译到WMI存储库的托管对象格式 (MOF) 文件:

方法 1: 使用Mofcomp.exe。
方法 2: 使用 IMofCompiler 接口和
$ CompileFile
方法。
方法 3: 拖放到
%SystemRoot%\System32\Wbem\MOF
文件夹的 MOF 文件。

第三种方法仅为向后兼容性与早期版本(win2003)的 WMI 提供。

一个简单的MOF反弹shell示例:

0x01 MOF and Powershell

如果获取了管理员权限,使用MOF可以做一个永久的隐藏后门。对于很多后门来说,都需要一个触发,在这里,可以使用WMI Query Language(WQL)来查询事件,以便确定什么时候触发我们的后门。(更多详细的解释可在查看戳我戳我)。

比如,我们想做一个后门通过打开notepad来触发,可以使用以下查询:

如果想通过关闭Powershell来触发,可以使用以下查询:

如果想通过每小时在30分钟的时候触发,可使用以下查询:

当我们确定了我们的触发方式以后,我们就可以把我们的查询写成一个MOF过滤器:

比如我们使用打开Notepad作为触发条件,那么可以这样写:

下面我们就需要事件消费者的响应了,在这里我们可以使用不同的EventConsumer类,通过使用CommandLineEventConsumer,我们可以使用Veil输出的payload,同时也可以使用ActiveScriptEventConsumer来嵌入或者调用VBS脚本。下面是一个使用CommandLineEventConsumer的示例:

下面使用Veil来生成Powershell payload:



选择x86里面进行测试,payload如下:

接下来,我们把上面的payload放到下面的模板中:

这里要注意一点就是如果payload里面存在需要转义的
"
以及
\
这里可以使用双引号将qi其引用并用\进行转义。

最后我们所写的MOF文件是这样的:

如果觉得麻烦的话,可以使用这个工具unicorn来生成没有特殊字符的payload,使用方式很简单:

powershell_attack.txt
的内容复制进来,然后
msfconsole -r unicorn.rc
则可开启监听,修改后的MOF文件如下:

将以上内容保存为test.mof,如果拥有管理员权限,可以将test.mof放到
%SYSTEMROOT%/wbem/MOF
目录(xp以下操作系统),系统会自动编译执行此脚本,如果在XP 或者更高版本的操作系统上可以执行如下命令:

执行以后,当打开记事本的时候,则可生成meterpreter会话:



同时,这个mof文件是免杀的:



当然除了这个我们还可以做其他事情,比如关闭某个程序,当其启动时就关闭,MOF文件如下:

如果我们想要远程执行,可使用如下命令:

如果我们在域内,还可以用下面的Powershell脚本批量远程执行:

使用方式为:



0x02 Meterpreter Post Module

这里有一个msf的模块,可以实现此后门安装,地址:metasploit-modules,下载以后将其移动到
post/windows/
文件夹则可使用:

在获取meterpreter会话以后,安装此后门:

默认payload为
windows/meterpreter/reverse_tcp
,执行时间间隔为60秒,如果想通过触发方式启动,可以自行修改ruby脚本。



开启监听:



如果看到错误80041003,说明权限不够,可以试试试用bypassuac,具体怎么bypass,请戳我

当会话中断以后,由于mof自动执行,所以可以重新获取meterpreter会话。当对方电脑重启以后,仍可以获取会话。

如果想要清除后门,可以resource 生成的rc文件。



0x03 停止MOF

要停止mof,可进行如下操作:

第一
net stop winmgmt
停止服务,
第二 删除文件夹:
C:\WINDOWS\system32\wbem\Repository\

第三
net start winmgmt
启动服务

0x04 小结

本篇文章主要介绍了一些结合MOF与powershell来进行制作后门的方式方法,对于MOF大家可能接触最多的就是在MYSQL提权时使用MOF来提权,其实玩儿法还很多,大家可以继续来研究研究,希望此文对你有帮助。

0x05 参考

http://drops.wooyun.org/tips/10346
http://drops.wooyun.org/tips/9973
http://drops.wooyun.org/tips/8290
http://www.codeproject.com/Articles/27914/WMI-MOF-Basics
http://www.codeproject.com/Articles/28226/Creating-WMI-Permanent-Event-Subscriptions-Using-M
http://poppopret.blogspot.com/2011/09/playing-with-mof-files-on-windows-for.html
/article/4763167.html
http://www.jb51.net/article/52489.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: