Merhabalar arkadaşlar, bu yazımda sizlerle InfoSecWarriorCTF – 01 isimli zafiyetli makinenin WriteUp’ını paylaşacağım. Adım adım ekran görüntülerini ekleyerek ve açıklamalar yaparak detaylı bir WriteUp hazırlamaya çalıştım. İyi okumalar dilerim.
Okumanıza başlamadan önce sizlere küçük bir uyarı vermek istiyorum. InfoSecWarriorCTF makinelerinin WriteUp’larını özellikle teknik bilgi gereksinimini en alçak seviyede tutarak hazırlıyorum. Bu sebepten dolayı belirli bir teknik bilgiye sahip kişiler için fazla detay ve açıklama içeren bu InfoSecWarriorCTF WriteUp’ları sıkıcı gelebilir.
O hâlde başlayalım
Step 1 : Öncelikle kendi saldırgan makinemizin IP’sini öğrendik.
Step 2 : Ağ keşfi için yani ağda ki aktif cihazları bulabilmek için “nmap -sn 10.0.2.0/24” komutu kullandık. Nmap toolunda ki <-sn> parametresi ile “Ping Scan” yaptırabiliyoruz.
Step 3 : Kurban makinede “nmap -sS -sV -p- 10.0.2.13” komutunu çalıştırdık. 22. portunda bir SSH servisi ve 80. portunda bir http servisi çalıştığını gördük.
Step 4 : Bir tarayıcı üzerinden saldırgan makinenin 80. portuna gittiğimizde, orada bir Apache test sayfasının yayınlandığını gördük.
Step 5 : İnternet sitesinde bulunan başka dizinleri brute-force(kabakuvvet) saldırısı ile bulan “dirb” toolunu kullandık. Bulunan dizinlerde tek tek dolaşarak bir ipucu var mı diye arayacağız.
Step 6 : Aşağıda ki ekran görüntülerinde belirtilmiş olan dizinlerde “bağlantı hatası” veya “boş” sayfa bulduk.
Step 7 : Bu dizin,(wp-includes) wordpress’in çalışması için gerekli olan çekirdek dosyalarını bulundurur. Normal şartlarda burada bir şey çıkması mümkün değil fakat diğer dizinlerde bir şey bulamazsak bu klasörler arasında araştırmalar yapabiliriz.
Step 8 : Ekran görüntüsünde belirtilen dizine geldiğimizde, “url” tag’lerinin arasında bir adres belirtildiğini gördük. Fakat adresin “index.html” değil de “index.htnl” olarak verilmesi oldukça şaşırtıcı geldi.
Step 9 : Kurban makinemizin IP’si sonuna “/index.htnl” yazdıktan sonra asıl işimizin olduğu sayko GIF içeren internet sitesine erişebildik
Step 10 : Sayfa kaynak kodunu incelediğimizde /cmd.php sayfasında çalışan “hidden” yani gizlenmiş bir form gördük.
Step 11 : Inspect Element ile ilgili form’un “hidden=True” değerinin olduğu satırı bulduk.
Step 12 : Bu satırdan “hidden=True” parametresini tamamen sildik.
Step 13 : Sayfamızda ki form görünür hale geldi.
Step 14 : Burası bir komut satırı gibi gözüktüğü için(cmd.php) kendi makinemize ping atmayı denedik.
Step 15 : Fakat bir hata aldık ve pingimizi atamadık.
Step 16 : Bu defa listeleme komutu olan “ls” komutunu çalıştırmayı deneyeceğiz. Inspect Elements ile tekrar incelediğimde bu formun GET methoduyla çalıştığına gözümüze çarptı. Methodu “POST” olarak değiştirdikten sonra kodumuzu gönderdik.
Step 17 : Gönderdiğimiz “ls” komutunun başarıyla çalıştığını gördük. Cmd.php’in de bulunduğu dizinde başka hangi dosyaların var olduğunu görebildik.
Okumanıza başlamadan önce sizlere küçük bir uyarı vermek istiyorum. InfoSecWarriorCTF makinelerinin WriteUp’larını özellikle teknik bilgi gereksinimini en alçak seviyede tutarak hazırlıyorum. Bu sebepten dolayı belirli bir teknik bilgiye sahip kişiler için fazla detay ve açıklama içeren bu InfoSecWarriorCTF WriteUp’ları sıkıcı gelebilir.
O hâlde başlayalım
Step 1 : Öncelikle kendi saldırgan makinemizin IP’sini öğrendik.
Step 2 : Ağ keşfi için yani ağda ki aktif cihazları bulabilmek için “nmap -sn 10.0.2.0/24” komutu kullandık. Nmap toolunda ki <-sn> parametresi ile “Ping Scan” yaptırabiliyoruz.
Step 3 : Kurban makinede “nmap -sS -sV -p- 10.0.2.13” komutunu çalıştırdık. 22. portunda bir SSH servisi ve 80. portunda bir http servisi çalıştığını gördük.
Step 4 : Bir tarayıcı üzerinden saldırgan makinenin 80. portuna gittiğimizde, orada bir Apache test sayfasının yayınlandığını gördük.
Step 5 : İnternet sitesinde bulunan başka dizinleri brute-force(kabakuvvet) saldırısı ile bulan “dirb” toolunu kullandık. Bulunan dizinlerde tek tek dolaşarak bir ipucu var mı diye arayacağız.
Step 6 : Aşağıda ki ekran görüntülerinde belirtilmiş olan dizinlerde “bağlantı hatası” veya “boş” sayfa bulduk.
Step 7 : Bu dizin,(wp-includes) wordpress’in çalışması için gerekli olan çekirdek dosyalarını bulundurur. Normal şartlarda burada bir şey çıkması mümkün değil fakat diğer dizinlerde bir şey bulamazsak bu klasörler arasında araştırmalar yapabiliriz.
Step 8 : Ekran görüntüsünde belirtilen dizine geldiğimizde, “url” tag’lerinin arasında bir adres belirtildiğini gördük. Fakat adresin “index.html” değil de “index.htnl” olarak verilmesi oldukça şaşırtıcı geldi.
Step 9 : Kurban makinemizin IP’si sonuna “/index.htnl” yazdıktan sonra asıl işimizin olduğu sayko GIF içeren internet sitesine erişebildik
Step 10 : Sayfa kaynak kodunu incelediğimizde /cmd.php sayfasında çalışan “hidden” yani gizlenmiş bir form gördük.
Step 11 : Inspect Element ile ilgili form’un “hidden=True” değerinin olduğu satırı bulduk.
Step 12 : Bu satırdan “hidden=True” parametresini tamamen sildik.
Step 13 : Sayfamızda ki form görünür hale geldi.
Step 14 : Burası bir komut satırı gibi gözüktüğü için(cmd.php) kendi makinemize ping atmayı denedik.
Step 15 : Fakat bir hata aldık ve pingimizi atamadık.
Step 16 : Bu defa listeleme komutu olan “ls” komutunu çalıştırmayı deneyeceğiz. Inspect Elements ile tekrar incelediğimde bu formun GET methoduyla çalıştığına gözümüze çarptı. Methodu “POST” olarak değiştirdikten sonra kodumuzu gönderdik.
Step 17 : Gönderdiğimiz “ls” komutunun başarıyla çalıştığını gördük. Cmd.php’in de bulunduğu dizinde başka hangi dosyaların var olduğunu görebildik.