TryHackMe'nin Basic Pentesting odası başlangıç seviyesi kullanıcılar için hazırlanmış.
Çözüme giderken aşağıdakilerin öğrenilmesi hedefleniyor:
- Brute-force (Kabakuvvet saldırısı)
- Hash parolasını kırmak
- Servisler hakkında bilgi toplama
- Linux Bilgi toplama
Başlamadan önce, openvpn bağlantısının yapılmış
Task 1
Deploy the machine and connect to our network
İlk olarak makinanın deploy edilmesi (yeşil düğme) ve TryHackMe network'e bağlanılması gerekiyor.
Deploy tuşuna basınca biraz bekliyoruz ve karşı makinaya ait IP adresi geliyor.
Buarada zaman zaman "bağlı mıyım?" diye şüpheye düşerseniz ifconfig komutu bu sorunun yanıtını veriyor. 3 IP adresi gelmesi gerekiyor: En üstte eth0 sizin IP adresiniz, ortada 127.0.0.1 (local) ve en altta çıkan tun0 ise TryHackMe'nin IP adresi.
TryHackMe ise deploy dedikten sonra bize saldırabileceğimiz makinanın IP adresini veriyor.
Benim Basic Pentesting odasında kullanacağım IP adresi olarak 10.10.175.159 geldi.
Artık sorulara başlayabiliriz.
Soru 1: Find the services exposed by the machine
nmap -sV 10.10.175.159 komutu yeterli olacaktır.
(çıktı biraz uzun olduğu için ekran görüntüsünü koymadım, soruda istenen servislerin görülmesiydi zaten.)
Ardından hazır elimiz nmap'e değmişken mevcut zafiyetlerin listelenmesi (vulnerability scan) için aşağıdaki komutu da çalıştırabiliriz, ne de olsa bilgi topluyoruz:
nmap --script=vuln 10.10.179.171 -oN vuln_scan.nmap
Yukarıdaki komut aynı zamanda bir sonraki soruda sorulan "hidden directory" konusunda da bilgi verebiliyor:
Zafiyet taramasından başka elle tutulur bir sonuç elde edemedim ancak olsun, denemek önemli.
Hala bilgi toplama evresinde olduğumuz için atlamadan yapılması gereken bir işimiz daha var; tarayıcıdan IP adresine gitmeyi denemek (ne çıkacağı belli olmuyor).
Tarayıcıdan da bir yere gidemedim. Sayfa bakımda veya yeni yapılıyor gibi duruyor ancak bu da ümit verici çünkü böyle durumlarda uygulama geliştirenlere ait notlar, yazılıp unutulmuş ya da öylece bırakılmış bilgilere erişmek mümkün olabiliyor.
Soru 2: What is the name of the hidden directory on the web server(enter name without/)?
Hidden directory denilince akla gelen birkaç tool var: dirb, dirbuster, gobuster vb. Hangisini kullanmak istiyorsanız genel olarak aynı işleve sahip araçlar.
Bir üst soruda nmap taraması "Potentially interesting directory" : /development demişti zaten. Eğer denersek sorunun yanıtının da bu olduğunu görebiliriz ancak başka neler var diye yine de bir dirb çalıştıralım, komut gayet basit:
┌──(root💀sparta)-[/home/sinem]
└─# dirb http://10.10.175.159
Eğer gobuster çalıştırmak istenirse bunun için de aşağıdaki komut kullanılabilir:
gobuster dir -u http://10.10.175.159 -w /usr/share/wordlists/dirb/common.txt -o dirb_results.txt
(-u URL için, -w wordlist için, -o output yani çıktının yazılacağı yeri belirtmek için kullanılıyor. Ardından cat dirb_results.txt komutu ile sonuçlar görüntülenebilir.)
Yukarıdaki dirb sonuçlarından görülebileceği gibi 3 tane gizli dizin bilgisi geldi:
development, index.html ve server-status
Sorunun yanıtı development ancak hepsini tarayıcıda denemekte fayda var.
http:10.10.175.159/development adresine tarayıcıdan gidildiğinde aşağıdaki görüntüye ulaşıyoruz:
İncelemek gereken iki farklı doküman daha çıktı: dev.txt ve ve j.txt.
dev.txt'ye bakalım:
İşe yarayabilecek neler var? SMB konfigüre edilmiş, Apache set-up tamamlanmış ve iki kullanıcımız var: K ve J
j.txt'ye bakalım:
Soru 3: User brute-forcing to find the username & password
└─# enum4linux -a 10.10.175.159
Soru 4: What is the username?
Sorunun cevabını yukarıda bulduk, aslında ikisi de 3 harfli olduğundan her ikisi de olabilir ancak yazılması gereken (herhalde parolasının kolay kırıldığını daha önce tespit ettiğimiz için): janSoru 5: What is the password?
-l ile kullanıcı adını belirttim, -P ile kullanacağım wordlist'i belirttim, rockyou.txt kullanıyorum çünkü en sık kullanılan ve en çok işime yarayan wordlist bu ancak wordlists dizini altında yer alan farklı listeler de denenebilir.
Soru 6: What service do you use to access the server(answer in abbreviation in all caps)?
Soru 7: Enumerate the machine to find any vectors for privilege escalation
kay dizini altında karşıma bir sürü dosya çıkıyor:
Soru 8: What is the name of the other user you found(all lower case)?
Soru 9: If you have found another user, what can you do with this information?
Soru 10: What is the final password you obtain?
└─# scp jan@10.10.55.151:/home/kay/.ssh/id_rsa /home/sinem/TryHackMe/BasicPentesting
jan@10.10.55.151's password:
id_rsa
└─# /usr/share/john/ssh2john.py id_rsa > id_rsa.hash
Artık parolayı kırmayı deneyebiliriz:
Kay'in parolasını da aldık.
Bu defa Kay'e SSH ile bağlanmayı deniyoruz. Bunun için yazılması gereken komut aşağıdaki gibi:
jan@basic2:~$ ssh -i /home/kay/.ssh/id_rsa kay@10.10.55.151
Bağlantı kurduktan sonra cd ve ls -la komutlarıyla dosyaların arasında gezmek ve pass.bak dosyasını bulup cat komutu ile açarak son parolayı da bulup TryHackMe'ye yapıştırmak gerekiyor.


Hiç yorum yok:
Yorum Gönder