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

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

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

Selam arkadaşlar, ben CyberAlp0. HTB tarafından sunulan, “Crocodile” adlı yeni bir Tier 1 çözümüne hoş geldiniz. Crocodile makinesi, servis yanlış yapılandırması ve servisler arası keşif gibi temel kavramları tanıtmak için tasarlanmıştır. Bu makine, güvensiz FTP ve web servisi yapılandırmalarını tespit etmeye ve istismar etmeye odaklanır ve bir servisten sızan bilgilerin başka bir servisi ele geçirmek için nasıl kullanılabileceğini gösterir.

Yönetici Özeti

İşte izleyeceğimiz adımların yönetici özeti:

Aşama I: Tarama

İlk keşif, dışarıya açık birden fazla servisi ortaya çıkardı. Ağ taraması iki temel açık port gösterdi: 21 numaralı portta FTP ve 80 numaralı portta HTTP. Servis parmak izi analizi, vsftpd 3.0.3 ve Apache HTTP Server 2.4.41 varlığını doğruladı; bu da hem dosya aktarımı hem de web servisleri barındıran Linux tabanlı bir hedefe işaret ediyordu. Dışarıya açık FTP servisi, daha fazla incelenmeye değer olası bir yanlış yapılandırmanın işaretiydi.

Aşama II: Keşif (Enumeration)

FTP servisinin keşfi, anonim kimlik doğrulamanın etkin olduğunu ve dolayısıyla sunucuya kimlik doğrulaması yapmadan erişilebildiğini doğruladı. Giriş yapıldıktan sonra erişilebilir dosyalar listelendi ve indirildi; bunların arasında birden fazla kullanıcı adı içeren allowed.userlist adlı bir dosya vardı. Bunlardan biri, yüksek yetkiye sahip olduğu izlenimi veren admin hesabıydı ve bu da kimlik bilgilerinin servisler arasında yeniden kullanıldığına işaret ediyordu.

HTTP servisine karşı dizin kaba kuvvet (brute-force) yöntemiyle eş zamanlı yürütülen web keşfi, birkaç gizli PHP dosyası tespit etti. Özellikle bir login.php uç noktası keşfedildi; bu da bir kimlik doğrulama arayüzünü ortaya çıkararak saldırı yüzeyini genişletti. Bu aşama, FTP üzerinden sızan bilgiler ile web kimlik doğrulama mekanizması arasında net bir bağlantı kurdu.

Aşama III: İstismar (Exploitation)

İstismar, keşif sırasında elde edilen kimlik bilgileri kullanılarak gerçekleştirildi. FTP üzerinden erişilen dosyada tespit edilen admin kullanıcı adı, web uygulamasının giriş portalına başarıyla kimlik doğrulaması için kullanıldı. Başarılı kimlik doğrulamasının ardından uygulamaya kısıtlamasız erişim sağlandı ve doğrudan root bayrağı.

Girişte daha fazla vakit kaybetmeyelim ve ayrıntılı hacklemeye başlayalım!

Adım 1: Starting Point Labs Sunucularına Bağlanmak.

Hedef makineye saldırmak için aynı ağda bulunmanız gerekir. Hedef makineye adım adım nasıl bağlanacağınız konusunda size rehberlik edecek olan blog yazımı okuyabilirsiniz.

Adım 2: Makineyi Başlatmak ve Görevleri Çözmeye Başlamak.

Görev 1: Bir tarama sırasında varsayılan betiklerin kullanılmasını sağlayan Nmap tarama anahtarı hangisidir?

Cevap: -sC

Çözüm:

Hedef makinede çalışan portları belirlemek için ağı Nmap ile tarayacağız. Nmap için ya geleneksel yolu kullanıp çalıştırmak istediğimiz bayrakları elle belirtebiliriz ya da Nmap'i belirli tarama türleriyle birlikte otomatik olarak çalıştıran bir araç kullanabiliriz.

Bu otomatik araca “Nmap Automator” denir. Aşağıdaki bağlantı üzerinden indirebilirsiniz.

Bu aracı hedefin IP'sinde tam bir tarama çalıştırmak için kullanacağım. Araç, nihai tarama sonuçlarına ulaşmak için Nmap tarafından önceden tanımlanmış tüm olası seçenekleri ve bayrakları kullanacak.

Aracın kullanımı çok kolaydır ve GitHub'daki açıklama bölümünden daha fazla bilgi edinebilirsiniz. Tam bir tarama yapmak için aşağıdaki komutu yazın:

bash nmapAutomator.sh --host 10.129.2.54 --type all
Hedef makinede Nmap taraması yapılıyor.
Hedef makinede Nmap taraması yapılıyor.

Nmap taraması sonucunda şunlar görülüyor:

  • 21 numaralı port üzerinden “FTP” adlı bir servis çalışıyor.
  • 80 numaralı port üzerinden “httpd” adlı bir servis çalışıyor.

Görev 2: 21 numaralı portta çalışan servis sürümü nedir?

Cevap: vsftpd 3.0.3

Çözüm:

Taramadan alınan önceki ekran görüntüsüne göre, FTP servisinin sürümünün “vsftpd 3.0.3” olduğu görülüyor.

Görev 3: “Anonymous FTP login allowed” mesajı için bize hangi FTP kodu döndürülüyor?

Cevap: 230

Çözüm:

21 numaralı portta çalışan bir “FTP” servisimiz olduğundan, aşağıdaki komutu kullanarak anonim girişle bağlanmayı deneyeceğiz:

ftp -p anonymous@10.129.1.15
FTP açığı bulunan makineye, 21 numaralı port üzerinden, anonim giriş kullanılarak bağlanılıyor.
FTP açığı bulunan makineye, 21 numaralı port üzerinden, anonim giriş kullanılarak bağlanılıyor.
TIER 0 — Starting Point Aşaması'nda “FAWN” adlı bir makineyi ve yine TIER 0 — Starting Point Aşaması'nda “FUNNEL” adlı başka bir makineyi ele almıştık. Bu makineler, FTP protokollerini nasıl istismar edebileceğiniz konusunda daha iyi bir genel bakış sunacaktır. O blog yazılarına da göz atmanızı şiddetle tavsiye ederim.

Önceki ekran görüntüsünde görüldüğü gibi, yanıt kodunun 230 olduğu anlaşılıyor.

Görev 4: ftp istemcisini kullanarak FTP sunucusuna bağlandıktan sonra, anonim olarak giriş yapmamız istendiğinde hangi kullanıcı adını gireriz?

Cevap: anonymous

Çözüm:

FTP istemcisine anonim olarak giriş yapmak için, önceki ekran görüntüsünde gösterildiği gibi “anonymous” kullanıcı adını kullanarak giriş yapmayı deneyeceğiz.

Görev 5: FTP sunucusuna anonim olarak bağlandıktan sonra, FTP sunucusunda bulduğumuz dosyaları indirmek için hangi komutu kullanabiliriz?

Cevap: get

Çözüm:

Bir FTP istemcisinde gezinmek, bir dosya sisteminde gezinmeye çok benzer. Mevcut yolu “pwd” komutuyla gösterebilir ve dizinlerin içeriğini “ls” komutuyla listeleyebiliriz. Herhangi bir dosyayı da “Get” komutuyla indirebiliriz.

FTP istemcisinde gezinme ve dosyaları indirme.
FTP istemcisinde gezinme ve dosyaları indirme.

Görev 6: FTP sunucusundan indirdiğimiz ‘allowed.userlist’ dosyasındaki yüksek yetkiye sahip olduğu izlenimi veren kullanıcı adlarından biri nedir?

Cevap: admin

Çözüm:

ftp istemcisinden indirilen dosyalara ve “allowed.userlist” adlı dosyanın içeriğine bakıldığında, kullanıcı adı listesindeki en yüksek yetkiye sahip olanın “admin” olduğu görülüyor.

İzin verilen kullanıcı listelerinin içeriğinin ve parolalarının keşfedilmesi.
İzin verilen kullanıcı listelerinin içeriğinin ve parolalarının keşfedilmesi.

Görev 7: Hedef ana bilgisayarda çalışan Apache HTTP Server sürümü nedir?

Cevap: 2.4.41

Çözüm:

İlk adımda yaptığımız tarama aşamasına göre, “HTTP” servisinin sürümünün 2.4.41 olduğunu göreceğiz.

ftp istemcisinde çalışan HTTP servisinin sürümü.
ftp istemcisinde çalışan HTTP servisinin sürümü.

Görev 8: Belirli dosya türlerini aradığımızı belirtmek için Gobuster ile hangi anahtarı kullanabiliriz?

Cevap: -x

Çözüm:

Gobuster şu işe yarayan bir dizin ve dosya kaba kuvvet (brute-force) aracıdır ve şu alanda kullanılır: web keşfi (enumeration). Gizli dizinleri (örn. /admin, /backup), gizli dosyaları (örn. login.php, config.php), web sitesinde bağlantısı verilmemiş içerikleri veya yanlış yapılandırılmış ya da unutulmuş web kaynaklarını bulmanıza yardımcı olur. Bu bilgiler genellikle şunlar için kullanılır: giriş sayfalarını bulmak, hassas dosyaların konumunu belirlemek, daha ileri istismar için saldırı yüzeylerini tespit etmek.

“-x” anahtarı, belirli uzantılara sahip dosyaları listeler ve gobuster'da genellikle “dir” moduyla birlikte kullanılır. Kullanılacak komut şu şekildedir:

gobuster dir -u 10.129.1.15 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php
Gobuster, orta boyutlu bir dizin kelime listesi kullanarak 10.129.1.15 adresindeki web sunucusunu tarıyor ve herkese açık olarak bağlantısı verilmemiş herhangi bir dizin veya PHP dosyasının var olup olmadığını kontrol ediyor.
Gobuster, orta boyutlu bir dizin kelime listesi kullanarak 10.129.1.15 adresindeki web sunucusunu tarıyor ve herkese açık olarak bağlantısı verilmemiş herhangi bir dizin veya PHP dosyasının var olup olmadığını kontrol ediyor.

Ayrıca, kullanılan komutun ayrıntılı açıklaması şu şekildedir:

“Crocodile” makinesinin dizinlerini kaba kuvvetle taramak için kullanılan komutun ayrıntılı açıklaması.
“Crocodile” makinesinin dizinlerini kaba kuvvetle taramak için kullanılan komutun ayrıntılı açıklaması.

Görev 9: Web servisine kimlik doğrulaması yapma fırsatı sunacak olan hangi PHP dosyasını dizin kaba kuvvet yöntemiyle tespit edebiliriz?

Cevap: login.php

Çözüm:

gobuster aracı kullanılarak elde edilen tarama sonucuna göre, çıkarılan çeşitli PHP dosyaları olduğunu fark edeceksiniz. Bu PHP dosyaları arasında, web servisine kimlik doğrulaması yapma şansı verecek olan bir dosya bulunuyor: “login.php”.

-x filtreleme seçeneğini kullanarak farklı PHP dosyalarını görmek için crocodile makinesinin dizinlerini kaba kuvvetle tarama.
-x filtreleme seçeneğini kullanarak farklı PHP dosyalarını görmek için crocodile makinesinin dizinlerini kaba kuvvetle tarama.

Görev 10: Root Bayrağını Gönderin

Answer: c7110277ac44d78b6a9fff2232434d16

Çözüm:

Önceki göreve göre, web servisiyle kimlik doğrulaması yapmamıza olanak tanıyan bir giriş sayfası olduğunu görüyoruz. Dolayısıyla, tarayıcıya aşağıdaki URL'yi yazdığımızda: http://10.129.1.15/login.php, kullanıcı adı ile parolayı girmemizi isteyen aşağıdaki web sayfasına yönlendirileceğiz.

6. görevde olduğu gibi, admin kimlik bilgileriyle giriş yapacağız; burada:

  • Kullanıcı adı: admin
  • Parola: rKXM59ESxesUFHAd
  • Kimlik bilgilerini kullanarak giriş yaptığınızda, bayrağı açığa çıkaran aşağıdaki web sayfasını göreceksiniz.
  • Umarım HTB — Tier 1 — Starting Point Aşaması'ndaki “Crocodile” makinesinin çözümüyle ilgili blog yazımı okumaktan keyif almışsınızdır.
  • Başka bir yazıda görüşmek üzere!

[ #crocodile ][ #Kali Linux ][ #OSCP Preperations ][ #Penetration Testing ][ #Web Application Penetration Testing ][ #cyberskii ][ #cyberalp0 ][ #ftp client ][ #ftp ][ #burpsuite ][ #bug bounty ]