Selam!
Bildiğiniz üzere HackTheBox (kısaca HTB); 1 seneyi aşkın bir süredir devam eden, çeşitli meydan okumalar içeren ve kendini "bir penetrasyon testi laboratuvarı" olarak tanıtan bir proje. Sunucularında birçok zor meydan okuma ve ele geçirilmeyi bekleyen hedef makine barındıran HTB, kullanıcılarını potansiyeli olan kişilerden seçmeye kararlı. Bu durum ise platforma giriş yapmayı bir oyuna çeviriyor.
HTB'ye üye olabilmek için davet sayfasındaki küçük bulmacayı çözmeniz gerektiğinden bahsettim. Bu bulmaca genel olarak tarayıcı bilginizi ve kod okuma yeteneğinizi ölçüyor. Bu konudaki hedefim de sizi bu sıkıcı yoldan kolayca geçirmek. Aşağıdaki adımları takip ederseniz kendinize kolayca bir HTB üyeliği alabilirsiniz.
- Adım 1: Hedef ne?
Ortadaki metin kutusuna bir davet kodu girmemiz gerektiğini kolayca anladık. Ama bu kodu nereden ve nasıl elde edeceğiz?
- Adım 2: Büyülü kombinasyon, CTRL-Shift-I
CTRL-Shift-I
Chrome, Opera gibi tarayıcılarda geliştirici araçlarına erişim sağlamak için kullanılan bir tuş kombinasyonu. Biz de bu özellikten faydalanacağız. Hadi bu tuşlara aynı anda basalım:Önümüze çıkacak menü bu şekilde olacak. Yine pek bir şey bulamadık fakat çarelerimiz hala tükenmedi.
Şimdi yapacağımız şey bu menüden Sources kısmına geçmek. Bu kısım, site üzerindeki dosyaları genel olarak incelemenizi sağlar. Belki de cevabımız oradadır:
Sitedeki dosyalar sağdaki Page kısmının altında bulunuyor. Önümüze çıkan dosyanın ismi
invite
. Aşağıdaki süslü parantez butonunu kullanarak kodu okunabilir bir hale getiriyoruz:Satır 26'da bir sorun var gibi. Oradaki uzun yazı gözümüze çarpıyor. İnceleyelim.
JavaScript:
('1 i(4){h 8={"4":4};$.9({a:"7",5:"6",g:8,b:\'/d/e/n\',c:1(0){3.2(0)},f:1(0){3.2(0)}})}1 j(){$.9({a:"7",5:"6",b:\'/d/e/k/l/m\',c:1(0){3.2(0)},f:1(0){3.2(0)}})}', 24, 24, 'response|function|log|console|code|dataType|json|POST|formData|ajax|type|url|success|api|invite|error|data|var|verifyInviteCode|makeInviteCode|how|to|generate|verify'.split('|'), 0, {}))
Okunabilen yazıyı çıkarıp inceleyelim. İçindekiler JavaScript fonksiyon adlarına benziyor. Acaba içinde neler var?
Kod:
response|function|log|console|code|dataType|json|POST|formData|ajax|type|url|success|api|invite|error|data|var|verifyInviteCode|makeInviteCode|how|to|generate|verify
Aha!
makeInviteCode
! Bunu Console kısmından parametresiz bir fonksiyon olarak,
makeInviteCode()
şeklinde çalıştırmayı deneyelim:Gerçekten de bir veriye ulaştık.
data
değerinin BASE64 ile şifrelendiğini görüyoruz. Davet kodumuz büyük ihtimalle bu şifrelenmiş yazının içinde. Herhangi bir BASE64 şifre çözücüsü ile şifreyi açalım:Anlaşıldı. Bizden HTB sitesine bir POST isteği göndermemizi istiyor. Bunu yapmanın en kolay yolu PowerShell üzerindeki
Invoke-WebRequest
komutunu kullanmak:Yine şifrelenmiş bir veri elde ettik. İlk başta kullandığımız BASE64 yöntemini yine deneyelim:
Başardık gibi görünüyor. Elde ettiğimiz kod bu şekilde olur:
Kod:
AAAAA-BBBBB-CCCCC-DDDDD-EEEEE
Artık bu kodu sitede kullanabiliriz:
- Adım 3: "Sign Up"
---
Bu uzun konuyu okuduğun için teşekkürler. Serinin devamı için yorumlarını bekliyorum <3