渗透教程|利用WMI代替psexec——WMIEXEC.vbs

访客4年前关于黑客接单1032

  内网渗透中经常用到psexec这个工具,可以很方便的得到一个半交互式的cmd shell。

  但是psexec也有一些问题:psexec需要对方开启ADMIN$共享,而且需要安装服务;另外,psexec退出时有可能服务删除失败,这个情况只是偶尔,但是我碰到过。

  安装服务会留下明显的日志,而且服务没有删除的风险更大,管理员很容易就会发现。

  WMI可以远程执行命令,所以我就想用VBS脚本调用WMI来模拟psexec的功能,于是乎WMIEXEC就诞生了。基本上psexec能用的地方,这个脚本也能够使用。

  -cache-e3e8e7ce5f1f01e53130f2dcc0d38cff_1

  WMIEXEC支持两种模式,一种是半交互式shell模式,另一种是执行单条命令模式。

  WMIEXEC需要提供账号密码进行远程连接,但是如果没有破解出账号密码,也可以配合WCE的hash注入功能一起使用,先进行hash注入,然后再使用WMIEXEC即可。

  半交互式shell模式

  提供账号密码,执行如下命令:

  cscript.exe //nologo wmiexec.vbs /shell 192.168.1.1 username password

  -cache-b023950f07f917c0a887cae936cd8fb9_2

  这样就获得了一个半交互式的shell,这个shell和psexec的shell没什么区别。之所以称为半交互式,是因为这个shell也不能执行实时交互的命令,和psexec是一样的。

  上个执行命令的图:

  -cache-f***1cb1c58062d6e254d5da2a***a69_3

  左边是虚拟机里面执行的命令,右边是WMIEXEC里面执行的。

  还可以抓取hash:

  -cache-80ceca561d03e132cacbfc470a3c9467_4

  单个命令执行的模式

  这个模式适用于只需要执行一个命令,或者说当前的环境不是交互式shell,没法运行WMIEXEC的shell模式时(比如在webshell里面)。

  cscript.exe wmiexec.vbs /cmd 192.168.1.1 username password "command"

  -cache-d3c3b3bbd4c16f748e0023ed64a37586_5

  上面是提供账号密码的情况,如果有时候我们抓取到的是hash,破解不了时可以利用WCE的hash注入,然后再执行WMIEXEC(不提供账号密码)就可以了。

  -cache-ac139612cc7033bc6a8e742c35f8c726_6

  Tips:

  如果抓取的LM hash是AAD3开头的,或者是No Password之类的,就用32个0代替LM hash即可。

  整个过程是先调用WMI通过账号密码或者NTLM认证(WCE注入)连接到远程计算机,然后如果提供了账号密码,则用这个账号密码建立一个到目标的IPC连接。随后WMI会建立一个共享文件夹,用于远程读取命令执行结果。

  当用户输入命令时,WMI创建进程执行该命令,然后把结果输出到文件,这个文件位于之前创建的共享文件夹中。最后,通过FSO组件访问远程共享文件夹中的结果文件,将结果输出。当结果读取完成时,调用WMI执行命令删除结果文件。最后当WMIEXEC退出时,删除文件共享。

  由于WMI只负责创建进程,没有办法可以判断命令是否执行完毕,所以脚本采用的 *** 是延迟1200ms后读取结果文件,但是如果命令执行的时间大于1200ms,比如systeminfo 或者ping之类的,这时候读取结果文件会导致读取的结果不完整,然后在删除结果文件时会出错。

  比如正常的执行ping:

  -cache-9d82e887846ee247161aa7d5baa2b085_7

  Ping结果没有读取完整,而且命令执行完后目标服务器上的wmi.dll结果文件并没有被删除!

  为了防止出现这种情况,于是在shell模式里面加入了-waitTIME选项,TIME是要等待的时间。当执行的命令后面跟上-wait5000时,表示这个命令等待5s后再读取结果.

  -cache-3e9c26c65e1c19f7fc3f5f0b0b01ce00_8

  由于正常的命令都要查看结果,所以执行的命令后面都会加上重定向符,把结果输出到文件中。

  所以用这个执行木马会有问题,因为木马进程会一直存在,导致结果文件被占用,不能删除,也不能改写,如果执行不带任何参数的nc.exe也是这种效果

  出现这种情况后由于结果文件被占用,所以WMIEXEC不能工作,除非手动更改脚本中的结果文件名。或者可以用taskkill 远程结束掉卡死的进程,然后WMIEXEC可以恢复工作。

  为了解决这个问题,加入了-persist选项。

  当命令加了persist选项后,程序会在后台运行,不会有结果输出,而且会返回这个命令进程的PID,方便结束进程。

  这样就可以运行nc或者木马程序了。

  下面是测试nc的结果:

  -cache-a55b0ca878eb92459bbad46a86919c73_9

  相关设定:

  Const Path = "C:"

  Const FileName="wmi.dll"

  Const timeOut=1200

  这段代码在脚本的一开始,是控制结果文件路径、文件名、以及默认代码执行时间的,可以自行更改

  测试中发现在Server 2008以及2012中,只有Administrator账号能进行远程连接,并且psexec也是一样的情况,还有IPC连接也是。就算是管理员用户组的其他用户也不能进行远程连接。

  后来发现是UAC的问题(参见安全脉搏《过Windows 7/8 UAC技术浅析》),默认UAC是开启的,这时候只有Administrator账户能够远程访问共享或者连接WMI。

  -cache-eddd0e7318e8d95c82c05248d5420903_10

  图中hehe是管理员用户组的用户,但是PSEXEC在连接时提示拒绝访问,WMIEXEC也是一样。

  Google查到可以通过禁用UAC然后psexec就可以使用了,如何禁用参考:http://support.microsoft.com/kb/942817

  禁用之后psexec可以通过hehe账户连接,但是是普通的权限,此时要加上-h选项即可获得管理员的权限。

  -cache-ea05a913cbb0f69d907c15064f6379e8_11

  禁用UAC后WMIEXEC用hehe账户连接直接就是管理员权限

  -cache-30542e1c772d3435740e0f60f8cd9433_12

  值得一提的是,UAC并不会拦截域管理员,就算UAC是开启的,域管理员也可以直接连接,可以直接使用PSEXEC或者WMIEXEC。

  还是用抓取server 2012域控上的hash作为例子吧,具体操作步骤就不介绍了,直接上图:

  -cache-9e91ac1f89dac745d134f50121a0c208_13

  -cache-abb6bb15a0bad1092a37a2ef93a16998_14

  -cache-652fe71227d9a6e29e556fa5eedd5f7b_15

  抓预控hash还有好用的工具可以在安全脉搏上发现。

  运行时间长的命令时,如ping,systeminfo之类的,记得加上-wait5000或者更久的时间选项

  运行nc反弹或者木马等不需要输出结果、同时需要一直运行的程序时,一定要加上-persist选项,不然你就只能去taskkill远程结束进程了

  应该还会有不少bug,大家用了有什么问题可以回帖或者直接PM

  WMIEXEC.vbs: wmiexec.rar (2.97 KB)

  12.15更新:

  现在单命令执行模式(/cmd)也可以解析-waitTIME 和 -persist选项了,这样就可以用单命令模式运行nc或者远控

  下载地址: wmiexec v1.1.rar(wmiexec v1.1.vbs)

  【原文:T00ls-利用WMI代替psexec——WMIEXEC.vbs作者:Twi1ight 安全脉搏意小周整理发布】

相关文章

微信民众号赚钱吗?小我私家微信民众号怎么赚钱?

现现在的互联网手艺是一个填满时机的服务平台,也是一个让成千上万人心浮气躁的区域,这儿的引诱过多。 一个刚触碰互联网手艺的新手,很有可能会以为四处都是时机,哪儿都是有金矿石,触碰一个新项目干了二天,以为...

什么是分布式架构(分布式架构有哪些技术)

1.组态的情况 伴随着分布式系统自动控制系统(通称dcs)的出現,“组态软件”的定义刚开始被大部分加工过程自动化技术专业技术人员所熟识。伴随着工业生产控制系统的持续发展趋势和运用,PC机(包含工业生...

洛杉矶县成美国首初恋夫妇终止拍摄个病例数破百万的县

  (抗击新冠肺炎)洛杉矶县成美国首个病例数破百万的县   中新社旧金山1月16日电 美国媒体报道称,加利福尼亚州洛杉矶县当地时间16日成为美国第一个新冠肺炎确诊病例数累计超过100万的县。   ...

借卵做试管的费用其中借卵多少钱详情你算过么

大龄妇女卵巢衰退是必然的结果借卵成为必选项,因生命个体有差异,有的人衰退的厉害,有的人衰退的晚些,我们经手的客户成功的年龄最高的是55岁。38岁是做借卵试管婴儿的分水岭,只要过了这年龄成功率就会骤降,...

偷偷查看姐妹历史的通话记录

  【莫雷签约76人】日前,一则“莫雷签约76人”引发关注。据悉,莫雷将会最快于本周末上任,他的业务能力还是得到了广泛的认可,因此76人选择将他签下。   据报道,ESPN记者沃纳罗斯基发布消息,7...

猫之宿约者第一章密码是什么 猫之宿约者第一章密码破解方法

猫之宿约者第一章密码是什么 猫之宿约者第一章密码破解方法

猫之宿约者第一章密码是什么?猫之宿约者是一款很有意思的解密游戏,目前该游戏已经开启测试了。今天优游网小编为大家带来的是猫之宿约者第一章密码破解方法,有兴趣的小伙伴们一起来看看吧! 猫之宿约者第一章...