Hackviser NetGuard — Walkthrough
On this page
- NetGuard | Hackviser
- 1. Nmap ve Dirsearch Çıktılarının Analizi
- 2. FTP Sunucusuna Anonim Giriş
- 3. Varsayılan Firewall Kimlik Bilgileri
- 4. Blog Yazarı Bilgisi
- 5. NFS Paylaşımlarını Keşfetmek
- 6. Site Yedeğini İndirmek
- 7. Veritabanı Kimlik Bilgilerini Bulmak
- 8. MySQL’e Bağlanmak
- 9‑10. Tabloları İncelemek
- 11‑14. Parolayı Güncelleyerek CMS’ye Sızmak
- 15‑19. Reverse Shell Yüklemek
- 20‑24. Cron Yetki Yükseltmesi ile Root
- 25. Son Flag’ler
- Sonuç
NetGuard | Hackviser

Bu yazıda, Nmap taramasıyla başlayan ve sonrasında FTP, NFS servisleri ile Textpattern CMS üzerinden root yetkisine kadar ilerleyen adım‑adım süreci anlatıyorum.
1. Nmap ve Dirsearch Çıktılarının Analizi
21/tcp FTP (vsftpd 3.0.3) – anonim giriş açık, PDF dosyası mevcut
22/tcp SSH (OpenSSH 8.4p1)
80/tcp HTTP (Apache) – Textpattern CMS
111/tcp rpcbind (NFS & RPC servisleri)
2049/tcp NFS (v3–4) – paylaşılan dizin mount edilebilir
3306/tcp MySQL 8.0.36

Dirsearch taramasında da Textpattern CMS dizinini doğruladık:

Not: CMS’ye daha sonra döneceğiz.
2. FTP Sunucusuna Anonim Giriş
Anonim kullanıcı ile bağlanıp iki PDF dosyasını indirdik:
-
firewall-default-configuration.pdf -
firewall-documentation.pdf

3. Varsayılan Firewall Kimlik Bilgileri
firewall-default-configuration.pdf içinde “Firewall kurulumu için kullanılan varsayılan kullanıcı adı/şifre nedir?” sorusunun cevabı bulunuyor.

4. Blog Yazarı Bilgisi
Sitedeki Author alanından “Blog gönderilerini yazan yazar kimdir?” sorusunun cevabını aldık: Arthur.

5. NFS Paylaşımlarını Keşfetmek
Nmap çıktısı, NFS paylaşımlarını gösteriyordu. Mount edip içerik kontrolü yaptık:

6. Site Yedeğini İndirmek
Paylaşılan dizinde site-backup.zip bulduk ve çıkardık:

7. Veritabanı Kimlik Bilgilerini Bulmak
Yedekteki textpattern/config.php dosyasında database erişim bilgileri yer alıyordu. Böylece “Web sitesinin MySQL veritabanına erişim için kullandığı kullanıcı adı/şifre nedir?” sorusunu da yanıtladık.

8. MySQL’e Bağlanmak
Elde ettiğimiz kimlik bilgileriyle veritabanına giriş yaptık:

9‑10. Tabloları İncelemek
textpattern veritabanındaki tabloları listelerken txp_users özellikle dikkat çekiciydi:

Burada bcrypt ile hashlenmiş parola ve Arnold’ın e‑posta adresini bulduk.
11‑14. Parolayı Güncelleyerek CMS’ye Sızmak
Hash’i kırmak yerine, kendi oluşturduğumuz bcrypt hash’i ile admin parolasını güncelledik:


Ardından Textpattern arayüzüne textpattern:admin ile giriş yaptık:


15‑19. Reverse Shell Yüklemek
Paneldeki Upload bölümüne, revshells.com’dan düzenlediğim PHP reverse shell dosyasını yükledim. Dirsearch çıktısında gördüğümüz /files/ dizinine yüklenen dosyayı doğruladım ve dinleyici (listener) açarak shell’i tetikledim.



Sonuç: www‑data kullanıcısı ile başarılı bağlantı.
20‑24. Cron Yetki Yükseltmesi ile Root
Çalışan dizinde iki ilginç dosya fark ettim:

system_status_report.sh dosyasının her dakika root yetkisiyle çalıştığını, ayrıca başka bir .sh betiğini çağırdığını gördüm. system_status.log dosyasının içeriğini değiştirebildiğim için, içine reverse shell komutu ekledim:

Dinleyiciye geri döndüğümde root yetkisiyle shell elde ettim:

25. Son Flag’ler
Son olarak /project dizinine gidip kalan iki flag’i topladım:
-
“Firewall’ın dijital imzası nedir?”
-
“Firewall’a, administrator erişimi olan kişinin kullanıcı adı nedir?”

Sonuç
Zor olan bu senaryoda, başlangıçtaki temel port taramasından yola çıkarak FTP, NFS ve CMS zafiyetlerini zincir şeklinde kullanıp tam yetki (root) elde ettik. Adımların her biri, gerçek dünyadaki saldırı yüzeylerini anlamak açısından öğreticiydi. Umarım bu write‑up hem CTF çözenlere hem de sistemlerini güvence altına almak isteyenlere fayda sağlar.