HackTheBox – Başlangıç Noktası Aşaması – Seviye 1/

HTB Labs — Tier 1 — “Ignition” Makinesi Çözümü | Yazan: CyberAlp0

YAZARCyberAlp0
YAYINLANMA TARİHİ4 Temmuz 2026
OKUMA SÜRESİ06 DK
HTB Labs — Tier 1 — “Ignition” Makinesi Çözümü | Yazan: CyberAlp0

Selam millet, ben CyberAlp0. HTB destekli yeni bir walkthrough ile yine karşınızdayım: Tier 1, adı “Ignition”. Ignition, HackTheBox’ın Tier 1 — Starting Point aşamasındaki VIP laboratuvarlardan biridir. Magento, keşif (reconnaissance), yaygın uygulamalar ve web sitesi yapısı keşfi gibi birçok yöne odaklanır ve birçok beceriyi güçlendirir.

Laboratuvar; dizin brute-force’u ve diğer bazı temel beceriler dâhil olmak üzere web keşfi becerilerinizi güçlendirmeye odaklanır. Ayrıca, yönetici parola ayarlarının hatalı yapılandırılmasının ne kadar önemli olduğunu vurgular.

Yönetici Özeti

İzleyeceğimiz adımların yönetici özeti şöyledir:

Aşama I: Tarama

Tarama aşaması, Ignition makinesinde açıkta olan tek bir servisi ortaya çıkarıyor: bir HTTP sunucusu, port 80 üzerinde çalışıyor ve nginx 1.14.2 tarafından sağlanıyor. Başka açık servis bulunmadığından, makinenin tüm saldırı yüzeyi web uygulamasının kendisinde yoğunlaşıyor. Bu da değerlendirmenin çok servisli istismardan ziyade web keşfi, sanal sunucu (virtual host) tespiti ve uygulama yapılandırma hataları etrafında döneceğini gösteriyor.

Nmap taraması sonucunda aşağıdaki bilgileri bulacağız

  • Çalışan Servis: nginx
  • Servis Sürümü: 1.14.2.
  • Açık Port: 80/TCP

Aşama II: Numaralandırma

Numaralandırma (enumeration), makinenin beklenen sanal sunucusunu çözümleyerek ve web içeriğine ignition.htb üzerinden erişerek başlıyor. Sitenin verdiği yanıtları incelemek, sanal sunucu yönlendirmesinin gerekli olduğunu doğruluyor ve ana bilgisayar adını yerel olarak yapılandırma ihtiyacını pekiştiriyor. Ardından dizin brute-force işlemi, /admin rotası da dâhil olmak üzere gizli uygulama yollarını ortaya çıkarıyor — bu, Magento tabanlı bir e-ticaret platformunun giriş portalıdır.

Magento’nun belgelenmiş parola gereksinimlerinin incelenmesi ve yaygın zayıf parolaların denenmesi, yönetici hesabının kolayca tahmin edilebilir bir kimlik bilgisiyle korunduğunu ortaya koyar. Bu, kimlik bilgisi politikasının uygulanmasındaki kritik bir yapılandırma hatasına işaret eder ve ayrıcalıklı erişim için ana vektör hâline gelir.

Aşama III: İstismar

Ele geçirilen zayıf yönetici parolası kullanılarak Magento yönetici paneline tam erişim sağlanır. Magento yönetici arayüzleri genellikle sistem yapılandırması, durum bilgileri ve hassas uygulama verileri gibi yüksek ayrıcalıklı işlevleri açığa çıkardığından, giriş yapıldığı anda makinenin root bayrağı da açığa çıkar. İstismar yolu, üretim sistemlerinde zayıf parola hijyeninin taşıdığı riski vurgular; burada tek bir tahmin edilebilir kimlik bilgisi tüm uygulamayı ele geçirmeye yetebilir.

Girişte daha fazla zaman kaybetmeyelim ve hacklemeye başlayalım!

Adım 1: Starting Point laboratuvar sunucularına bağlanma.

Hedef makineye saldırmak için aynı ağda olmanız gerekir. Sizi hedef makineye bağlanma konusunda adım adım yönlendirecek blogumu okuyabilirsiniz.

Adım 2: Makineyi başlatma ve görevleri çözmeye başlama.

Görev 1: port 80 üzerinde hangi servis sürümü çalışıyor?

Cevap: nginx 1.14.2.

Çözüm:

Her zamanki gibi, Nmap veya RustScan gibi en iyi ağ haritalama araçlarından birini kullanarak ağ taraması yapıp hedef hakkında bilgi toplamakla başlayacağız.

Ben Nmap kullanacağım; terminale aşağıdaki komutu yazın:

nmap -sV -sC -A 10.129.1.27
Hedef hakkında bilgi toplamak için hedefin IP’si üzerinde Nmap taraması yapılması
Hedef hakkında bilgi toplamak için hedefin IP’si üzerinde Nmap taraması yapılması

Ekran görüntüsünde görüldüğü gibi, bir portun açık olduğunu fark edeceksiniz; bu port 80’dir ve şu adlı bir servisi çalıştırır: nginx, sürüm 1.14.2.

NGINX (“engine-x” şeklinde okunur), web uygulaması ve içerik dağıtımı görevleri için yaygın olarak kullanılan, popüler ve açık kaynaklı bir web sunucusu yazılımıdır.

İşte bazı özellikleri ve kullanım alanları:

1- Web sunucusu: NGINX’in temel işlevi web içeriğini [statik, dinamik] sunmaktır.

2- Ters Proxy (Reverse Proxy): İstemcilerden gelen istekleri bir veya daha fazla arka uç (backend) sunucuya iletir ve ardından bu istekleri istemcilere geri döndürür.

3- Yük Dengeleyici (Load Balancer): NGINX ayrıca yük dengeleyici olarak da kullanılır; performansı ve erişilebilirliği artırmak için trafiği birden fazla arka uç sunucuya dağıtır.

4- HTTP/HTTPS sunucusu: NGINX, HTTP ve HTTPS protokollerini destekler; böylece hem güvenli hem de güvensiz web içeriğini sunabilir.

5- Esneklik ve Yüksek Performans: NGINX yapılandırılabilir ve düşük ek yükle büyük miktarda eşzamanlı trafiği yönetebilir.

6- Çapraz Platform: NGINX; Linux, macOS ve Windows gibi çeşitli işletim sistemleri için açık kaynak biçiminde mevcuttur; bu da kaynak kodun değiştirilebilmesi için serbestçe erişilebilir olduğu anlamına gelir.

Görev 2: Aşağıdaki adresi ziyaret ettiğinizde döndürülen 3 haneli HTTP durum kodu nedir? http://{machine IP}/?

Cevap: 302 [Ancak açıklama bölümünde gösterildiği gibi, sonucun 200 olması gerekiyordu].

Çözüm:

Makineye web üzerinden erişebilmek için, makinenin IP adresini /etc/hosts dizini altında bulunan yerel DNS’te yerel olarak çözümleyebilirsiniz.

Aşağıdaki komutu yazarak “hosts” dosyasını düzenleyin:

sudo nano /etc/hosts
“Ignition” makinesinin IP’sinin, web üzerinden erişilebilir olması için “hosts” dosyası içinde çözümlenmesi
“Ignition” makinesinin IP’sinin, web üzerinden erişilebilir olması için “hosts” dosyası içinde çözümlenmesi

Şimdi, URI’ye [http://ignition.htb] adresini yazarsanız hedefin ana sayfasına yönlendirilirsiniz. Ancak HTTP durum kodunu bilmemiz gerekiyor. Trafiği yakalayıp durum kodunu öğrenmenin 3 farklı yolu var.

Birinci Yöntem: Şu komutu kullanmak: curl komutu.

İkinci Yöntem: Web sayfasını incelemek.

Üçüncü Yöntem: Burp Suite kullanmak

curl komutunu kullanacağım. Bu nedenle, sonucu görmek için terminale aşağıdaki komutu yazın.

curl -v http://ignition.htb

Sonuç, aşağıdaki ekran görüntüsündeki gibi görünecektir

HTTP sonuç kodu 200’dür; ancak bir sonraki soruya geçmek için görevde 302 yazın.
HTTP sonuç kodu 200’dür; ancak bir sonraki soruya geçmek için görevde 302 yazın.
Burp Suite de kullanabilirsiniz. Burp Suite’i doğru şekilde nasıl yapılandıracağınızı öğrenmek için şu Bloğa başvurun.

Görev 3: Web sayfasının hangi sanal sunucu adıyla erişilmeyi beklediği nedir?

Cevap: ignition.htb

Çözüm:

Önceki görevde açıklandığı gibi, HTB’nin Ignition makinesinin IP adresini yerel olarak ignition.htb’ye çözümleyeceğiz. Bu, /etc yolundaki host dosyasını düzenleyerek yapılacaktır.

Görev 4: Bir Linux bilgisayarında, alan adları ile IP adresi eşleşmelerinin yerel listesini tutan dosyanın tam yolu nedir?

Cevap: /etc/hosts

Çözüm:

Bu dosya, ana bilgisayar adlarını IP adreslerine eşlemek için kullanılır. Bu dosyayı bir metin düzenleyiciyle görüntüleyebilir veya düzenleyebilirsiniz; ancak değişiklik yapmak için genellikle süper kullanıcı (superuser) yetkilerine ihtiyaç duyarsınız.

Görev 5: Web sunucusundaki dizinleri brute-force ile denemek için bir araç kullanın. Magento giriş sayfasının tam URL’si nedir?

Cevap: http://ignition.htb/admin

Çözüm:

Magento giriş sayfasının tam URL’sini bir dizin brute-force aracıyla bulmak için Gobuster gibi bir araç kullanabilirsiniz. Bu araç, bir web sunucusundaki gizli dizinleri ortaya çıkarmaya yardımcı olur. Dizinleri brute-force ile denemek için aşağıdaki komutu çalıştırın

http://{target}/admin

{target} yerine makinenin URL’sini, yani “ignition.htb” yazın; çünkü URL’yi HTB makinesinin ilgili IP adresiyle zaten çözümledik. Bu URL genellikle, brute-force saldırıları için yaygın bir hedef olan Magento yönetici giriş sayfasına yönlendirir.

Görev 5: Magento’nun parola gereksinimlerini araştırın ve ayrıca 2023’ün en yaygın parolalarını aramayı deneyin. Hangi parola admin hesabına erişim sağlar?

Cevap: qwerty123

Çözüm:

Web sitesinin admin kullanıcısının parolasını bulmak için gobuster adlı brute-force aracını kullanacağız. Terminale aşağıdaki komutu yazın:

gobuster dir -u http://ignition.htb -w /usr/share/wordlists/dirb/common.txt

İşte komutun ayrıntılı açıklaması:

  • gobuster: Web sunucularındaki dizinleri ve dosyaları brute-force ile denemek için kullanılan Gobuster aracını çalıştıran komuttur.
  • dir: Bu bayrak, Gobuster’a bir dizin numaralandırması yapmak istediğinizi söyler. Dizinleri ve dosyaları aradığınızı belirtir.
  • -u bayrağı: Bu bayrak, taramak istediğiniz hedef URL’yi belirtir; burada bu http://ignition.htb’dir.
  • -w bayrağı: Gobuster’ın brute-force için kullanması gereken kelime listesini (wordlist) belirtmek için kullanılır; burada bu /usr/share/wordlists/dirb/common.txt olur.
Şu hatayla karşılaşabilirsiniz.
Sunucu, var olmayan URL’ler için verilen seçeneklerle eşleşen bir durum kodu döndürüyor.
Sunucu, var olmayan URL’ler için verilen seçeneklerle eşleşen bir durum kodu döndürüyor.

Hata şunu belirtir: “Sunucu, var olmayan URL’ler için verilen seçeneklerle eşleşen bir durum kodu döndürüyor → 200. Devam etmek için lütfen durum kodunu veya uzunluğu hariç tutun.”

Bu sorunu çözmek için “-b” bayrağını ekleyebilirsiniz.

gobuster dir -u http://ignition.htb -w /usr/share/wordlists/dirb/common.txt -b 200
  • Bu -b bayrağı ("status-codes-blacklist" kısaltması), sonuçlardan hariç tutulacak bir durum kodunu belirtir.
  • Bu durumda 200 olarak ayarlanmıştır; bu da Gobuster’ın 200 OK durum kodu döndüren hiçbir sonucu göstermeyeceği anlamına gelir. Bu kullanışlıdır, çünkü 200 yanıtı genellikle yolun var olduğunu ve erişilebilir olduğunu gösterir; bu da brute-force bağlamında yararlı bir bilgi olmayabilir.
200’e eşit bir HTTP durum kodunu hariç tutmak için komuta -b bayrağının eklenmesi
200’e eşit bir HTTP durum kodunu hariç tutmak için komuta -b bayrağının eklenmesi

Dizin brute-force işlemi biraz zaman alacaktır. Ancak brute-force common.txt dosyasıyla sonuç vermezse, /usr/share/wordlists içinde bulunan diğer kelime listelerini kullanabilirsiniz.

Parola, 2023’te kullanılan en popüler parolalardan biridir: qwerty123.

Görev 6: Root bayrağını gönderin

Cevap: 797d6c988d9dc5865e010b9410f247e0

Çözüm:

Kullanıcı adını, yani admin, ve parolayı qwerty123 olarak yazdığınızda, aşağıdaki ekran görüntüsünde olduğu gibi root bayrağını bulacaksınız:

Ignition HTB makinesi için root bayrağı — Tier 1 — Starting Point Aşaması.
Ignition HTB makinesi için root bayrağı — Tier 1 — Starting Point Aşaması.

HTB’nin Ignition makinesini — Tier 1 — Starting Point Aşaması — çözme hakkındaki blogumu okumaktan keyif aldığınızı umarım.

Başka bir write-up’ta görüşmek üzere!

[ #Ignition ][ #OSCP Preperations ][ #Penetration Testing ][ #Kali Linux ][ #Web Application Penetration Testing ][ #bug bounty ][ #Web Application Security ][ #burpsuite ][ #cyberskii ][ #cyberalp0 ]