VulnHub - GoldenEye: 1 CTF Çözümü

13 Nis 2022
179
113
тüяκıчe
Merhabalar. Bu konumda, VulnHub plartformunda bulunan “GoldenEye: 1” isimli zafiyetli makinenin çözümünü sizlere göstermeye çalışacağım. Çözüm biraz uzun olduğu için bazı basit ve temel işlemleri görsel olarak göstermeyeceğim, daha çok çözüm odaklı görseller ile anlatmaya çalışacağım.

968135.jpg


Öncelikle netdiscover aracı ile hedef makinemizin ip adresini tespit edip Nmap taramamızı başlatıyoruz:

image_750x_618442f855cf0.jpg


Nmap raporumuzda görüldüğü üzere 80 portunda HTTP servisi çalışmakta. Web üzerinden sunucuya bağlanmayı deneyebiliriz. Diğer servislere bakacak olursak SSL ve POP3 servisinin çalıştığını görüyoruz. POP3 servisi, mail protokollerinde kullanılan bir servis olduğunu biliyoruz. Bu zafiyette böyle bir servisin çalışması gidişat yolumuza biraz ışık tutuyor. İlk olarak IP adresini ziyaret ederek web sunucumuzu kontrol ediyoruz:

3-129.png


Web sunucumuzda en alt kısımda “oturum açmak için /sev/home/ konumuna gidin” şeklinde bir bilgi veriyor. Bu arada sitemize yönelik gizli url dizin taramasını da yaptım fakat değerli herhangi bir sonuç elde edemedim. Elimizde ki tek bilgi bize verilen dizin sayfası. Bu sebepten url kısmına /sev/home yazıp oturum açma paneline gidiyoruz:

1*R13_IsveVLa2sHRp8gjEeQ.png


Bu kısımda ise herhangi bir kullanıcı adı ve şifre bilgisine sahip olmadığımız için site içerisinde biraz kurcalama yapıyoruz ve ilk bulunduğumuz sayfanın kaynak kodlarında bulunan “terminal.js” kodlarına girdiğimizde bazı bilgiler ile karşılıyoruz:

5-82.png


golden-primary-admin-s-x-http-192-168-o-108-ter-3.png


Burada bizim için bırakılmış bazı yorum satırları var. Boris ve Natalya adında iki kullanıcı olabileceğini düşünüyoruz ve alt kısımlara doğru bize şifreyi encoded şekilde verdiğini söylüyor. Aldığımız bu kodu decode etmeye çalışacağız. Bunun için Google üzerinden online decoder sitelerinde şifreyi çözmeye çalıştım fakat başarılı olamadım. Kodu çözmek için BurpSuit aracımızın decoder etme özelliğini kullanıyoruz. “HTML” ile şifrelenmiş kodumuzu bu şekilde çözmüş oluyoruz:

0*_42Ug9tTYaUR8TIT.png


Oturum açma panelimize “/sev/home” geri dönüp kullanıcı adı şifre denemesi yapıyoruz. Kullanıcı adı olarak Boris ve Natalya isimlerini deniyoruz. Biraz uğraştıktan sonra küçük harflerle yazılmış “boris” isminin kullanıcı adını olduğunu bulup elde ettiğimiz şifre ile panelimize giriş yapıyoruz:

sev-home.jpg


0*l3YfJvN8_SQXMfx4.png


Panelimizde bize yine bazı bilgiler verilmekte. Buradaki bilgi ile bize POP3 servisinden bahsediliyor. Panelimizi biraz kurcaladıktan sonra bu bilgi haricinde bir şey elde edemiyoruz. Elimizdeki tek bilgi olan POP3 servisini NETCAT aracımız ile dinlemeye başlıyoruz. Komutumuzu yazdığımız anda bizi direkt olarak POP3 sunucuna yönlendiriyor. POP3 sunucusunda yazılacak komutları Google aracılığı ile bulabilirsiniz, bende öyle yaptım. İlk başlarda girdiğimiz boris kullanıcı adı ve şifremizle giriş demesi yapıyoruz. Kullanıcı adımızı kabul ediyor fakat parolayı kabul etmediğini görüyoruz:

7-48.png


Evet kullanıcı bilgilerimizi de almış bulunmaktayız.

Aynı şekilde Natalya isimli kullanıcımızda da aynı işlemleri yapıyoruz fakat yine parola kısmını sunucumuz kabul etmiyor. Bu kısımda elimizdeki iki adet kullanıcı ismimizi (boris,natalya) kullanarak bir BRUTE FORCE saldırısı yapmaya başlıyoruz. Brute force yapmak için HYDRA isimli aracımızı ve wordlist olarak da Kali makinemizde hazır bulunan wordlistleri kullanıyoruz:

0*cB8rjTFnxGfbCtGE.png


Brute force saldırımız sonucunda “boris” isimli kullanıcımızın parolasını elde ediyoruz. Fakat bulduktan hemen sonra aracımız hata verdiği için “natalya” isimli kullanıcımıza özel yeni bir saldırıyı tekrar başlatıyoruz. Bu sefer “natalya” isimli kullanıcımızın da parola bilgisini elde etmiş oluyoruz:

image_750x_6184446d674eb.jpg


Elde ettiğimiz bilgilerle POP3 sunucusuna giriş yapıyoruz. Bu kısımda gelen mesajları okumaya başlıyoruz. Boris isimli kullanıcımızın mesajlarından herhangi bir bilgi elde edemiyoruz:

image_750x_61844478157f7.jpg


Natalya isimli kullanıcımızın mesajlarını okuyunca kullanıcı adı, parola ve web sunucusu ile alakalı bazı bilgilere ulaşıyoruz:

image_750x_61844480d33ef.jpg


ZAFİYETLİ MAKİNE ÇÖZÜMÜ | GoldenEye:1

CTF (Makine çözümü) Kasım 5, 2021 570 Okuma Listesine Ekle
ZAFİYETLİ MAKİNE ÇÖZÜMÜ | GoldenEye:1

Merhabalar. Bu yazımda, VulnHub plartformunda bulunan “GoldenEye: 1” isimli zafiyetli makinenin çözümünü sizlere göstermeye çalışacağım. Çözüm biraz uzun olduğu için bazı basit ve temel işlemleri görsel olarak göstermeyeceğim, daha çok çözüm odaklı görseller ile anlatmaya çalışacağım.
Öncelikle netdiscover aracı ile hedef makinemizin ip adresini tespit edip Nmap taramamızı başlatıyoruz:
image_750x_618442f855cf0.jpg

Nmap raporumuzda görüldüğü üzere 80 portunda HTTP servisi çalışmakta. Web üzerinden sunucuya bağlanmayı deneyebiliriz. Diğer servislere bakacak olursak SSL ve POP3 servisinin çalıştığını görüyoruz. POP3 servisi, mail protokollerinde kullanılan bir servis olduğunu biliyoruz. Bu zafiyette böyle bir servisin çalışması gidişat yolumuza biraz ışık tutuyor. İlk olarak IP adresini ziyaret ederek web sunucumuzu kontrol ediyoruz:

Web sunucumuzda en alt kısımda “oturum açmak için /sev/home/ konumuna gidin” şeklinde bir bilgi veriyor. Bu arada sitemize yönelik gizli url dizin taramasını da yaptım fakat değerli herhangi bir sonuç elde edemedim. Elimizde ki tek bilgi bize verilen dizin sayfası. Bu sebepten url kısmına /sev/home yazıp oturum açma paneline gidiyoruz:

Bu kısımda ise herhangi bir kullanıcı adı ve şifre bilgisine sahip olmadığımız için site içerisinde biraz kurcalama yapıyoruz ve ilk bulunduğumuz sayfanın kaynak kodlarında bulunan “terminal.js” kodlarına girdiğimizde bazı bilgiler ile karşılıyoruz:

image_750x_618444224cea0.jpg

Burada bizim için bırakılmış bazı yorum satırları var. Boris ve Natalya adında iki kullanıcı olabileceğini düşünüyoruz ve alt kısımlara doğru bize şifreyi encoded şekilde verdiğini söylüyor. Aldığımız bu kodu decode etmeye çalışacağız. Bunun için Google üzerinden online decoder sitelerinde şifreyi çözmeye çalıştım fakat başarılı olamadım. Kodu çözmek için BurpSuit aracımızın decoder etme özelliğini kullanıyoruz. “HTML” ile şifrelenmiş kodumuzu bu şekilde çözmüş oluyoruz:

Oturum açma panelimize “/sev/home” geri dönüp kullanıcı adı şifre denemesi yapıyoruz. Kullanıcı adı olarak Boris ve Natalya isimlerini deniyoruz. Biraz uğraştıktan sonra küçük harflerle yazılmış “boris” isminin kullanıcı adını olduğunu bulup elde ettiğimiz şifre ile panelimize giriş yapıyoruz:



Panelimizde bize yine bazı bilgiler verilmekte. Buradaki bilgi ile bize POP3 servisinden bahsediliyor. Panelimizi biraz kurcaladıktan sonra bu bilgi haricinde bir şey elde edemiyoruz. Elimizdeki tek bilgi olan POP3 servisini NETCAT aracımız ile dinlemeye başlıyoruz. Komutumuzu yazdığımız anda bizi direkt olarak POP3 sunucuna yönlendiriyor. POP3 sunucusunda yazılacak komutları Google aracılığı ile bulabilirsiniz, bende öyle yaptım. İlk başlarda girdiğimiz boris kullanıcı adı ve şifremizle giriş demesi yapıyoruz. Kullanıcı adımızı kabul ediyor fakat parolayı kabul etmediğini görüyoruz:

Aynı şekilde Natalya isimli kullanıcımızda da aynı işlemleri yapıyoruz fakat yine parola kısmını sunucumuz kabul etmiyor. Bu kısımda elimizdeki iki adet kullanıcı ismimizi (boris,natalya) kullanarak bir BRUTE FORCE saldırısı yapmaya başlıyoruz. Brute force yapmak için HYDRA isimli aracımızı ve wordlist olarak da Kali makinemizde hazır bulunan wordlistleri kullanıyoruz:

Brute force saldırımız sonucunda “boris” isimli kullanıcımızın parolasını elde ediyoruz. Fakat bulduktan hemen sonra aracımız hata verdiği için “natalya” isimli kullanıcımıza özel yeni bir saldırıyı tekrar başlatıyoruz. Bu sefer “natalya” isimli kullanıcımızın da parola bilgisini elde etmiş oluyoruz:
image_750x_6184446d674eb.jpg

Elde ettiğimiz bilgilerle POP3 sunucusuna giriş yapıyoruz. Bu kısımda gelen mesajları okumaya başlıyoruz. Boris isimli kullanıcımızın mesajlarından herhangi bir bilgi elde edemiyoruz:
image_750x_61844478157f7.jpg

Natalya isimli kullanıcımızın mesajlarını okuyunca kullanıcı adı, parola ve web sunucusu ile alakalı bazı bilgilere ulaşıyoruz:
image_750x_61844480d33ef.jpg


Okuduğumuz mesajın en alt kısmında IP yönlendirmesi yapmamız gerektiğini söylüyor. /etc/hosts ayarlarını bizden istediği şekilde yapılandırıp kaydediyoruz:

0*lWf3SJhN2hXKflUp.png


Ayarlarımızı yaptıktan sonra bize verilen web adresine gidiyoruz. Web adresimizde bulunan login kısmından pop3 mesajlarından elde ettiğimiz kullanıcı adı ve şifre ile giriş yapıyoruz:

0*uEEuKV27nugaSChp.jpeg


Panelimizde biraz geziniyoruz. Kaynak kodları ve url dizinleri ile alakalı bir şey elde edemiyoruz. Tek dikkatimizi çeken kısım mesajlar kısmında “Dr Doak” isimli bir kullanıcının olduğunu anlamamız oluyor. Netcat ile bağlandığımız pop3 sunucumuzda user kısmına doak yazıp böyle bir kullanıcının olduğunu öğrenmiş oluyoruz. Bu bilgiden sonra “doak” isimli kullanıcımıza yine bir brute force saldırısı yapıp parolasını bulmaya çalışıyoruz:

image_750x_618444a7ae920.jpg


Brute force saldırımız sonucunda “doak” isimli kullanıcımızın da POP3 sunucusu parolasını bu şekilde elde etmiş oluyoruz. POP3 sunucumuza giriş yaptıktan sonra mesajlar kısmını kontrol ediyoruz ve yine en alt kısımda bize kullanıcı adı ve parola bilgisini verdiğini görüyoruz:

image_750x_618444bc59a3d.jpg


Web sitemize dönerek “xenia” isimli profilimizden logout oluyoruz ve “goak” kullanıcımıza ait elde ettiğimiz bilgiler ile tekrardan login oluyoruz. “Dr Doak” isimli profilimizde yine gezinme işlemlerini yapıyoruz. Bu sefer sistemde bir adet “s3cret.txt” dosyasının olduğunu fark ediyoruz. Dosyamızı indirip okuduğumuzda ise bize bazı bilgiler veriyor:

10-25.png


image_750x_618444d0b63e1.jpg


Elde etmiş olduğumuz bu dosyada bize url dizini verdiğini görüyoruz. Web sitemizin url kısmına burada verilen dizini girip incelemeye başlıyoruz:

image_750x_618444d7eb347.jpg


Bu kısımda bize bir adet “JPG” dosyası verdiğini görüyoruz. Bu fotoğrafta bazı bilgiler saklanmış olabilir şüphesiyle dosyamızı kaydedip exiftool isimli aracımız ile resmimizin exif bilgilerine bakıyoruz:

image_750x_618444dda8980.jpg

ZAFİYETLİ MAKİNE ÇÖZÜMÜ | GoldenEye:1


image_750x_618444dda8980.jpg


Exif raporumuzu incelerken “Image Description” kısmında “base64” şifreleme metoduna benzeyen encoded bir metin görüyoruz. Yine BurpSuit aracımızın decoder özelliğini kullanıyoruz. Base64 metodu ile şifre çözme işlemimizi başarılı bir şekilde yapıp parolamızı elde etmiş oluyoruz.

image_750x_618444ed5c332.jpg


Web sayfamıza geri dönerek incelemelerimize devam ediyoruz. Bir adet şifre elde ettik fakat nerede kullanacağımızı bulmaya çalışıyoruz. Bu kısımda ise yine mesajlar kısmından yola çıkarak admin kullanıcısının olduğunu ve bu şifrenin de ona ait olabileceğini tahmin ediyoruz:

image_750x_6184450730463.jpg


“Dr Doak” isimli kullanıcımızdan logout oluyoruz ve admin olarak sisteme girmeye çalışıyoruz. “Admin User vb.” isimleri deniyoruz fakat başarısız oluyoruz. Hepsi küçük harfle “admin” olarak girmeye çalıştığımızda ise başarılı bir şekilde giriş yapıyoruz. Artık sistemde admin olarak bulunduğumuz için sitedeki kullanılabilir arayüz sayı da artmış oluyor. Yine sitemizde gezinmeler yaparken kod çalıştırabileceğimiz bir panel buluyoruz:

image_750x_618445183277b.jpg


Kod çalıştırabileceğimiz bir alan bulduktan sonra hemen “reverse shell” çalıştırmayı deniyoruz. Pentestmonkey sitesinde reverse shell kodları oldukça kullanışlı oluyor, bende bu tür kodları ararken genelde bu siteden alıyorum. Reverse shell kodumuzu çalıştırmadan önce sitede bazı ayarları yapmamız gerekiyor yoksa hiçbir türlü kodu çalıştıramıyoruz. Sitemizin alt kısmında bulunan arama kısmına “Spell” yazarak karşımıza gelen alttaki görsel de gözüktüğü gibi default olarak gelen “Google Spell” ayarını “PSpellShell” olarak ayarlıyoruz ve kaydediyoruz:

image_750x_6184452365398.jpg


ZAFİYETLİ MAKİNE ÇÖZÜMÜ | GoldenEye:1

CTF (Makine çözümü) Kasım 5, 2021 570 Okuma Listesine Ekle
ZAFİYETLİ MAKİNE ÇÖZÜMÜ | GoldenEye:1

Merhabalar. Bu yazımda, VulnHub plartformunda bulunan “GoldenEye: 1” isimli zafiyetli makinenin çözümünü sizlere göstermeye çalışacağım. Çözüm biraz uzun olduğu için bazı basit ve temel işlemleri görsel olarak göstermeyeceğim, daha çok çözüm odaklı görseller ile anlatmaya çalışacağım.
Öncelikle netdiscover aracı ile hedef makinemizin ip adresini tespit edip Nmap taramamızı başlatıyoruz:
image_750x_618442f855cf0.jpg

Nmap raporumuzda görüldüğü üzere 80 portunda HTTP servisi çalışmakta. Web üzerinden sunucuya bağlanmayı deneyebiliriz. Diğer servislere bakacak olursak SSL ve POP3 servisinin çalıştığını görüyoruz. POP3 servisi, mail protokollerinde kullanılan bir servis olduğunu biliyoruz. Bu zafiyette böyle bir servisin çalışması gidişat yolumuza biraz ışık tutuyor. İlk olarak IP adresini ziyaret ederek web sunucumuzu kontrol ediyoruz:

Web sunucumuzda en alt kısımda “oturum açmak için /sev/home/ konumuna gidin” şeklinde bir bilgi veriyor. Bu arada sitemize yönelik gizli url dizin taramasını da yaptım fakat değerli herhangi bir sonuç elde edemedim. Elimizde ki tek bilgi bize verilen dizin sayfası. Bu sebepten url kısmına /sev/home yazıp oturum açma paneline gidiyoruz:

Bu kısımda ise herhangi bir kullanıcı adı ve şifre bilgisine sahip olmadığımız için site içerisinde biraz kurcalama yapıyoruz ve ilk bulunduğumuz sayfanın kaynak kodlarında bulunan “terminal.js” kodlarına girdiğimizde bazı bilgiler ile karşılıyoruz:

image_750x_618444224cea0.jpg

Burada bizim için bırakılmış bazı yorum satırları var. Boris ve Natalya adında iki kullanıcı olabileceğini düşünüyoruz ve alt kısımlara doğru bize şifreyi encoded şekilde verdiğini söylüyor. Aldığımız bu kodu decode etmeye çalışacağız. Bunun için Google üzerinden online decoder sitelerinde şifreyi çözmeye çalıştım fakat başarılı olamadım. Kodu çözmek için BurpSuit aracımızın decoder etme özelliğini kullanıyoruz. “HTML” ile şifrelenmiş kodumuzu bu şekilde çözmüş oluyoruz:

Oturum açma panelimize “/sev/home” geri dönüp kullanıcı adı şifre denemesi yapıyoruz. Kullanıcı adı olarak Boris ve Natalya isimlerini deniyoruz. Biraz uğraştıktan sonra küçük harflerle yazılmış “boris” isminin kullanıcı adını olduğunu bulup elde ettiğimiz şifre ile panelimize giriş yapıyoruz:



Panelimizde bize yine bazı bilgiler verilmekte. Buradaki bilgi ile bize POP3 servisinden bahsediliyor. Panelimizi biraz kurcaladıktan sonra bu bilgi haricinde bir şey elde edemiyoruz. Elimizdeki tek bilgi olan POP3 servisini NETCAT aracımız ile dinlemeye başlıyoruz. Komutumuzu yazdığımız anda bizi direkt olarak POP3 sunucuna yönlendiriyor. POP3 sunucusunda yazılacak komutları Google aracılığı ile bulabilirsiniz, bende öyle yaptım. İlk başlarda girdiğimiz boris kullanıcı adı ve şifremizle giriş demesi yapıyoruz. Kullanıcı adımızı kabul ediyor fakat parolayı kabul etmediğini görüyoruz:

Aynı şekilde Natalya isimli kullanıcımızda da aynı işlemleri yapıyoruz fakat yine parola kısmını sunucumuz kabul etmiyor. Bu kısımda elimizdeki iki adet kullanıcı ismimizi (boris,natalya) kullanarak bir BRUTE FORCE saldırısı yapmaya başlıyoruz. Brute force yapmak için HYDRA isimli aracımızı ve wordlist olarak da Kali makinemizde hazır bulunan wordlistleri kullanıyoruz:

Brute force saldırımız sonucunda “boris” isimli kullanıcımızın parolasını elde ediyoruz. Fakat bulduktan hemen sonra aracımız hata verdiği için “natalya” isimli kullanıcımıza özel yeni bir saldırıyı tekrar başlatıyoruz. Bu sefer “natalya” isimli kullanıcımızın da parola bilgisini elde etmiş oluyoruz:

image_750x_6184446d674eb.jpg


Elde ettiğimiz bilgilerle POP3 sunucusuna giriş yapıyoruz. Bu kısımda gelen mesajları okumaya başlıyoruz. Boris isimli kullanıcımızın mesajlarından herhangi bir bilgi elde edemiyoruz:

image_750x_61844478157f7.jpg


Natalya isimli kullanıcımızın mesajlarını okuyunca kullanıcı adı, parola ve web sunucusu ile alakalı bazı bilgilere ulaşıyoruz:

image_750x_61844480d33ef.jpg

Okuduğumuz mesajın en alt kısmında IP yönlendirmesi yapmamız gerektiğini söylüyor. /etc/hosts ayarlarını bizden istediği şekilde yapılandırıp kaydediyoruz:

Ayarlarımızı yaptıktan sonra bize verilen web adresine gidiyoruz. Web adresimizde bulunan login kısmından pop3 mesajlarından elde ettiğimiz kullanıcı adı ve şifre ile giriş yapıyoruz:

Panelimizde biraz geziniyoruz. Kaynak kodları ve url dizinleri ile alakalı bir şey elde edemiyoruz. Tek dikkatimizi çeken kısım mesajlar kısmında “Dr Doak” isimli bir kullanıcının olduğunu anlamamız oluyor. Netcat ile bağlandığımız pop3 sunucumuzda user kısmına doak yazıp böyle bir kullanıcının olduğunu öğrenmiş oluyoruz. Bu bilgiden sonra “doak” isimli kullanıcımıza yine bir brute force saldırısı yapıp parolasını bulmaya çalışıyoruz:
image_750x_618444a7ae920.jpg


Brute force saldırımız sonucunda “doak” isimli kullanıcımızın da POP3 sunucusu parolasını bu şekilde elde etmiş oluyoruz. POP3 sunucumuza giriş yaptıktan sonra mesajlar kısmını kontrol ediyoruz ve yine en alt kısımda bize kullanıcı adı ve parola bilgisini verdiğini görüyoruz:

image_750x_618444bc59a3d.jpg


Web sitemize dönerek “xenia” isimli profilimizden logout oluyoruz ve “goak” kullanıcımıza ait elde ettiğimiz bilgiler ile tekrardan login oluyoruz. “Dr Doak” isimli profilimizde yine gezinme işlemlerini yapıyoruz. Bu sefer sistemde bir adet “s3cret.txt” dosyasının olduğunu fark ediyoruz. Dosyamızı indirip okuduğumuzda ise bize bazı bilgiler veriyor:

image_750x_618444d0b63e1.jpg


Elde etmiş olduğumuz bu dosyada bize url dizini verdiğini görüyoruz. Web sitemizin url kısmına burada verilen dizini girip incelemeye başlıyoruz:


Bu kısımda bize bir adet “JPG” dosyası verdiğini görüyoruz. Bu fotoğrafta bazı bilgiler saklanmış olabilir şüphesiyle dosyamızı kaydedip exiftool isimli aracımız ile resmimizin exif bilgilerine bakıyoruz:
image_750x_618444dda8980.jpg

Exif raporumuzu incelerken “Image Description” kısmında “base64” şifreleme metoduna benzeyen encoded bir metin görüyoruz. Yine BurpSuit aracımızın decoder özelliğini kullanıyoruz. Base64 metodu ile şifre çözme işlemimizi başarılı bir şekilde yapıp parolamızı elde etmiş oluyoruz.

image_750x_618444ed5c332.jpg


Web sayfamıza geri dönerek incelemelerimize devam ediyoruz. Bir adet şifre elde ettik fakat nerede kullanacağımızı bulmaya çalışıyoruz. Bu kısımda ise yine mesajlar kısmından yola çıkarak admin kullanıcısının olduğunu ve bu şifrenin de ona ait olabileceğini tahmin ediyoruz:

image_750x_6184450730463.jpg


“Dr Doak” isimli kullanıcımızdan logout oluyoruz ve admin olarak sisteme girmeye çalışıyoruz. “Admin User vb.” isimleri deniyoruz fakat başarısız oluyoruz. Hepsi küçük harfle “admin” olarak girmeye çalıştığımızda ise başarılı bir şekilde giriş yapıyoruz. Artık sistemde admin olarak bulunduğumuz için sitedeki kullanılabilir arayüz sayı da artmış oluyor. Yine sitemizde gezinmeler yaparken kod çalıştırabileceğimiz bir panel buluyoruz:

image_750x_618445183277b.jpg


Kod çalıştırabileceğimiz bir alan bulduktan sonra hemen “reverse shell” çalıştırmayı deniyoruz. Pentestmonkey sitesinde reverse shell kodları oldukça kullanışlı oluyor, bende bu tür kodları ararken genelde bu siteden alıyorum. Reverse shell kodumuzu çalıştırmadan önce sitede bazı ayarları yapmamız gerekiyor yoksa hiçbir türlü kodu çalıştıramıyoruz. Sitemizin alt kısmında bulunan arama kısmına “Spell” yazarak karşımıza gelen alttaki görsel de gözüktüğü gibi default olarak gelen “Google Spell” ayarını “PSpellShell” olarak ayarlıyoruz ve kaydediyoruz:

image_750x_6184452365398.jpg



Şimdi tekrardan kod yazacağımız panele geri dönüyoruz. Bazı reverse shell kodlarını deneyerek (bash,php vb.) başarısız oldum fakat “python reverse shell” kodunda başarılı bir şekilde çalıştırabiliyoruz. Kodumuzu panele yazdıktan sonra “reverse shell kodumuzu yazarken kendinize göre düzenleyip (IP ve PORT bilgisini) yazmayı unutmayın” kaydettikten sonra sol taraftaki menülerden, “My profile > Blogs > Add a new entry” arayüzüne giriyoruz ve rastgele bir şeyler yazıp check butonuna basıyoruz. Check işlemini yapmadan önce NETCAT ile reverse shell de verdiğimiz IP ve PORT üzerinden dinleme açıyoruz ve check butonuna basıp Netcat terminalimize dönüyoruz:

image_750x_618445304639d.jpg


image_750x_6184454128608.jpg


“www-data” kullanıcısı olarak sistemimize girmeyi başardık. Sistemde “sudo -l” yazarak sudo yetkilerimizin olup olmadığını kontrol ediyoruz fakat sudo yetkisi ile herhangi bir komut çalıştıramayacağımızın bilgisini bize veriyor. Bazı manuel yetki yükseltme işlemlerini yaptıktan sonra işlemleri hızlandırmak adına linPEAS aracını kullanıyorum. LinPEAS aracı yetki yükseltmede bize yardımcı olmak için gayet kullanışlı bir araç. Kendi apache servisime linPEAS aracımı hazır olarak koymuştum. Hedef makinemizden /tmp dizinine giderek wget komutu ile aracımızı indirmeye çalışıyoruz:

image_750x_6184454f4ae47.jpg


Aracımızı çalıştırmak için “chmod 777 linpeas.sh” ve “chmod +x linpeas.sh” komutlarını yazarak aracımızı çalıştırabilir hale getiriyoruz . Son olarak “./linpeas.sh” yazarak aracımızı çalıştırıyoruz:

image_750x_61844555128c2.jpg


LinPEAS aracımız bize yetki yükseltebileceğimiz açıklıkları (RED/YELLOW) şeklinde renklendirdiğini belirtiyor. Taramamızın başında Linux versiyonumuzdan bir zafiyet olabileceğini ve bunu kullanarak yetki yükseltmesi yapabileceğimizi söylüyor. Bu bilgiyi aldıktan sonra “searchsploit” ile versiyon bilgimizi girerek bir arama yapıyoruz.

29.png


Arama sonucumuzda ilk exploitimizin url adresine gidip indiriyoruz. Daha öncesinden denediğim için hedef sistemimizde “gcc” aracının olmadığını biliyorum. Yani indirdiğimiz bu exploiti çalıştırılabilir hale getirmek için “cc” aracımızı kullanacağız. Bunu ayarlamak için indirdiğimiz “37292.c” dosyamızı düzenleyici araçları ile açıp, alt satırlara doğru yazılmış olan “gcc” kısmını “cc” yapıyoruz ve kaydediyoruz.

image_750x_618445773d483.jpg


Düzenlemesini yaptığımız 37292.c dosyasını, apache sunucumuzun içerisine “new.c” şeklinde kaydediyoruz. Daha sonrasında hedef sistemimizden wget komutunu kullanarak “new.c” isimli exploitimizi indiriyoruz.

image_750x_618445800fe90.jpg


C dili ile yazılmış bu exploitimizi çalıştırabilecek hale getirmek için cc aracımızı kullanacağız. “cc new.c -o exploit” yazarak new.c isimli dosyamızı çalıştırılabilir bir araç haline getirmiş olduk.

image_750x_6184458cbfbea.jpg


Artık son aşamaya geldik. "./exploit" yazarak içerisinde ki exploit kodlarını çalıştırıyoruz. Yetki yükseltme işlemimiz başarıyla sonuçlanmış oldu. Kullanmış olduğumuz exploit bizi root yetkisine çıkartmış oldu. Şimdi ise son görevimiz olan flag dosyasını okuyup makinemizi tamamlamış oluyoruz :)

image_750x_6184459026991.jpg


Bu Konumuzda Vulnhub Platformunda ki GoldenEye:1 Makinası çözdük :)

968135.jpg


SAYGILARIMLA
 
Son düzenleme:

Helmsys

Ar-Ge Ekibi Kıdemli
16 Mar 2022
1,492
1,652
Merhabalar. Bu konumda, VulnHub plartformunda bulunan “GoldenEye: 1” isimli zafiyetli makinenin çözümünü sizlere göstermeye çalışacağım. Çözüm biraz uzun olduğu için bazı basit ve temel işlemleri görsel olarak göstermeyeceğim, daha çok çözüm odaklı görseller ile anlatmaya çalışacağım.

968135.jpg


Öncelikle netdiscover aracı ile hedef makinemizin ip adresini tespit edip Nmap taramamızı başlatıyoruz:

image_750x_618442f855cf0.jpg


Nmap raporumuzda görüldüğü üzere 80 portunda HTTP servisi çalışmakta. Web üzerinden sunucuya bağlanmayı deneyebiliriz. Diğer servislere bakacak olursak SSL ve POP3 servisinin çalıştığını görüyoruz. POP3 servisi, mail protokollerinde kullanılan bir servis olduğunu biliyoruz. Bu zafiyette böyle bir servisin çalışması gidişat yolumuza biraz ışık tutuyor. İlk olarak IP adresini ziyaret ederek web sunucumuzu kontrol ediyoruz:

3-129.png


Web sunucumuzda en alt kısımda “oturum açmak için /sev/home/ konumuna gidin” şeklinde bir bilgi veriyor. Bu arada sitemize yönelik gizli url dizin taramasını da yaptım fakat değerli herhangi bir sonuç elde edemedim. Elimizde ki tek bilgi bize verilen dizin sayfası. Bu sebepten url kısmına /sev/home yazıp oturum açma paneline gidiyoruz:

1*R13_IsveVLa2sHRp8gjEeQ.png


Bu kısımda ise herhangi bir kullanıcı adı ve şifre bilgisine sahip olmadığımız için site içerisinde biraz kurcalama yapıyoruz ve ilk bulunduğumuz sayfanın kaynak kodlarında bulunan “terminal.js” kodlarına girdiğimizde bazı bilgiler ile karşılıyoruz:

5-82.png


golden-primary-admin-s-x-http-192-168-o-108-ter-3.png


Burada bizim için bırakılmış bazı yorum satırları var. Boris ve Natalya adında iki kullanıcı olabileceğini düşünüyoruz ve alt kısımlara doğru bize şifreyi encoded şekilde verdiğini söylüyor. Aldığımız bu kodu decode etmeye çalışacağız. Bunun için Google üzerinden online decoder sitelerinde şifreyi çözmeye çalıştım fakat başarılı olamadım. Kodu çözmek için BurpSuit aracımızın decoder etme özelliğini kullanıyoruz. “HTML” ile şifrelenmiş kodumuzu bu şekilde çözmüş oluyoruz:

0*_42Ug9tTYaUR8TIT.png


Oturum açma panelimize “/sev/home” geri dönüp kullanıcı adı şifre denemesi yapıyoruz. Kullanıcı adı olarak Boris ve Natalya isimlerini deniyoruz. Biraz uğraştıktan sonra küçük harflerle yazılmış “boris” isminin kullanıcı adını olduğunu bulup elde ettiğimiz şifre ile panelimize giriş yapıyoruz:

sev-home.jpg


0*l3YfJvN8_SQXMfx4.png


Panelimizde bize yine bazı bilgiler verilmekte. Buradaki bilgi ile bize POP3 servisinden bahsediliyor. Panelimizi biraz kurcaladıktan sonra bu bilgi haricinde bir şey elde edemiyoruz. Elimizdeki tek bilgi olan POP3 servisini NETCAT aracımız ile dinlemeye başlıyoruz. Komutumuzu yazdığımız anda bizi direkt olarak POP3 sunucuna yönlendiriyor. POP3 sunucusunda yazılacak komutları Google aracılığı ile bulabilirsiniz, bende öyle yaptım. İlk başlarda girdiğimiz boris kullanıcı adı ve şifremizle giriş demesi yapıyoruz. Kullanıcı adımızı kabul ediyor fakat parolayı kabul etmediğini görüyoruz:

7-48.png


Evet kullanıcı bilgilerimizi de almış bulunmaktayız.

Aynı şekilde Natalya isimli kullanıcımızda da aynı işlemleri yapıyoruz fakat yine parola kısmını sunucumuz kabul etmiyor. Bu kısımda elimizdeki iki adet kullanıcı ismimizi (boris,natalya) kullanarak bir BRUTE FORCE saldırısı yapmaya başlıyoruz. Brute force yapmak için HYDRA isimli aracımızı ve wordlist olarak da Kali makinemizde hazır bulunan wordlistleri kullanıyoruz:

0*cB8rjTFnxGfbCtGE.png


Brute force saldırımız sonucunda “boris” isimli kullanıcımızın parolasını elde ediyoruz. Fakat bulduktan hemen sonra aracımız hata verdiği için “natalya” isimli kullanıcımıza özel yeni bir saldırıyı tekrar başlatıyoruz. Bu sefer “natalya” isimli kullanıcımızın da parola bilgisini elde etmiş oluyoruz:

image_750x_6184446d674eb.jpg


Elde ettiğimiz bilgilerle POP3 sunucusuna giriş yapıyoruz. Bu kısımda gelen mesajları okumaya başlıyoruz. Boris isimli kullanıcımızın mesajlarından herhangi bir bilgi elde edemiyoruz:

image_750x_61844478157f7.jpg


Natalya isimli kullanıcımızın mesajlarını okuyunca kullanıcı adı, parola ve web sunucusu ile alakalı bazı bilgilere ulaşıyoruz:

image_750x_61844480d33ef.jpg


ZAFİYETLİ MAKİNE ÇÖZÜMÜ | GoldenEye:1

CTF (Makine çözümü) Kasım 5, 2021 570 Okuma Listesine Ekle
ZAFİYETLİ MAKİNE ÇÖZÜMÜ | GoldenEye:1

Merhabalar. Bu yazımda, VulnHub plartformunda bulunan “GoldenEye: 1” isimli zafiyetli makinenin çözümünü sizlere göstermeye çalışacağım. Çözüm biraz uzun olduğu için bazı basit ve temel işlemleri görsel olarak göstermeyeceğim, daha çok çözüm odaklı görseller ile anlatmaya çalışacağım.
Öncelikle netdiscover aracı ile hedef makinemizin ip adresini tespit edip Nmap taramamızı başlatıyoruz:
image_750x_618442f855cf0.jpg

Nmap raporumuzda görüldüğü üzere 80 portunda HTTP servisi çalışmakta. Web üzerinden sunucuya bağlanmayı deneyebiliriz. Diğer servislere bakacak olursak SSL ve POP3 servisinin çalıştığını görüyoruz. POP3 servisi, mail protokollerinde kullanılan bir servis olduğunu biliyoruz. Bu zafiyette böyle bir servisin çalışması gidişat yolumuza biraz ışık tutuyor. İlk olarak IP adresini ziyaret ederek web sunucumuzu kontrol ediyoruz:

Web sunucumuzda en alt kısımda “oturum açmak için /sev/home/ konumuna gidin” şeklinde bir bilgi veriyor. Bu arada sitemize yönelik gizli url dizin taramasını da yaptım fakat değerli herhangi bir sonuç elde edemedim. Elimizde ki tek bilgi bize verilen dizin sayfası. Bu sebepten url kısmına /sev/home yazıp oturum açma paneline gidiyoruz:

Bu kısımda ise herhangi bir kullanıcı adı ve şifre bilgisine sahip olmadığımız için site içerisinde biraz kurcalama yapıyoruz ve ilk bulunduğumuz sayfanın kaynak kodlarında bulunan “terminal.js” kodlarına girdiğimizde bazı bilgiler ile karşılıyoruz:

image_750x_618444224cea0.jpg

Burada bizim için bırakılmış bazı yorum satırları var. Boris ve Natalya adında iki kullanıcı olabileceğini düşünüyoruz ve alt kısımlara doğru bize şifreyi encoded şekilde verdiğini söylüyor. Aldığımız bu kodu decode etmeye çalışacağız. Bunun için Google üzerinden online decoder sitelerinde şifreyi çözmeye çalıştım fakat başarılı olamadım. Kodu çözmek için BurpSuit aracımızın decoder etme özelliğini kullanıyoruz. “HTML” ile şifrelenmiş kodumuzu bu şekilde çözmüş oluyoruz:

Oturum açma panelimize “/sev/home” geri dönüp kullanıcı adı şifre denemesi yapıyoruz. Kullanıcı adı olarak Boris ve Natalya isimlerini deniyoruz. Biraz uğraştıktan sonra küçük harflerle yazılmış “boris” isminin kullanıcı adını olduğunu bulup elde ettiğimiz şifre ile panelimize giriş yapıyoruz:



Panelimizde bize yine bazı bilgiler verilmekte. Buradaki bilgi ile bize POP3 servisinden bahsediliyor. Panelimizi biraz kurcaladıktan sonra bu bilgi haricinde bir şey elde edemiyoruz. Elimizdeki tek bilgi olan POP3 servisini NETCAT aracımız ile dinlemeye başlıyoruz. Komutumuzu yazdığımız anda bizi direkt olarak POP3 sunucuna yönlendiriyor. POP3 sunucusunda yazılacak komutları Google aracılığı ile bulabilirsiniz, bende öyle yaptım. İlk başlarda girdiğimiz boris kullanıcı adı ve şifremizle giriş demesi yapıyoruz. Kullanıcı adımızı kabul ediyor fakat parolayı kabul etmediğini görüyoruz:

Aynı şekilde Natalya isimli kullanıcımızda da aynı işlemleri yapıyoruz fakat yine parola kısmını sunucumuz kabul etmiyor. Bu kısımda elimizdeki iki adet kullanıcı ismimizi (boris,natalya) kullanarak bir BRUTE FORCE saldırısı yapmaya başlıyoruz. Brute force yapmak için HYDRA isimli aracımızı ve wordlist olarak da Kali makinemizde hazır bulunan wordlistleri kullanıyoruz:

Brute force saldırımız sonucunda “boris” isimli kullanıcımızın parolasını elde ediyoruz. Fakat bulduktan hemen sonra aracımız hata verdiği için “natalya” isimli kullanıcımıza özel yeni bir saldırıyı tekrar başlatıyoruz. Bu sefer “natalya” isimli kullanıcımızın da parola bilgisini elde etmiş oluyoruz:
image_750x_6184446d674eb.jpg

Elde ettiğimiz bilgilerle POP3 sunucusuna giriş yapıyoruz. Bu kısımda gelen mesajları okumaya başlıyoruz. Boris isimli kullanıcımızın mesajlarından herhangi bir bilgi elde edemiyoruz:
image_750x_61844478157f7.jpg

Natalya isimli kullanıcımızın mesajlarını okuyunca kullanıcı adı, parola ve web sunucusu ile alakalı bazı bilgilere ulaşıyoruz:
image_750x_61844480d33ef.jpg


Okuduğumuz mesajın en alt kısmında IP yönlendirmesi yapmamız gerektiğini söylüyor. /etc/hosts ayarlarını bizden istediği şekilde yapılandırıp kaydediyoruz:

0*lWf3SJhN2hXKflUp.png


Ayarlarımızı yaptıktan sonra bize verilen web adresine gidiyoruz. Web adresimizde bulunan login kısmından pop3 mesajlarından elde ettiğimiz kullanıcı adı ve şifre ile giriş yapıyoruz:

0*uEEuKV27nugaSChp.jpeg


Panelimizde biraz geziniyoruz. Kaynak kodları ve url dizinleri ile alakalı bir şey elde edemiyoruz. Tek dikkatimizi çeken kısım mesajlar kısmında “Dr Doak” isimli bir kullanıcının olduğunu anlamamız oluyor. Netcat ile bağlandığımız pop3 sunucumuzda user kısmına doak yazıp böyle bir kullanıcının olduğunu öğrenmiş oluyoruz. Bu bilgiden sonra “doak” isimli kullanıcımıza yine bir brute force saldırısı yapıp parolasını bulmaya çalışıyoruz:

image_750x_618444a7ae920.jpg


Brute force saldırımız sonucunda “doak” isimli kullanıcımızın da POP3 sunucusu parolasını bu şekilde elde etmiş oluyoruz. POP3 sunucumuza giriş yaptıktan sonra mesajlar kısmını kontrol ediyoruz ve yine en alt kısımda bize kullanıcı adı ve parola bilgisini verdiğini görüyoruz:

image_750x_618444bc59a3d.jpg


Web sitemize dönerek “xenia” isimli profilimizden logout oluyoruz ve “goak” kullanıcımıza ait elde ettiğimiz bilgiler ile tekrardan login oluyoruz. “Dr Doak” isimli profilimizde yine gezinme işlemlerini yapıyoruz. Bu sefer sistemde bir adet “s3cret.txt” dosyasının olduğunu fark ediyoruz. Dosyamızı indirip okuduğumuzda ise bize bazı bilgiler veriyor:

10-25.png


image_750x_618444d0b63e1.jpg


Elde etmiş olduğumuz bu dosyada bize url dizini verdiğini görüyoruz. Web sitemizin url kısmına burada verilen dizini girip incelemeye başlıyoruz:

image_750x_618444d7eb347.jpg


Bu kısımda bize bir adet “JPG” dosyası verdiğini görüyoruz. Bu fotoğrafta bazı bilgiler saklanmış olabilir şüphesiyle dosyamızı kaydedip exiftool isimli aracımız ile resmimizin exif bilgilerine bakıyoruz:

image_750x_618444dda8980.jpg


ZAFİYETLİ MAKİNE ÇÖZÜMÜ | GoldenEye:1

CTF (Makine çözümü) Kasım 5, 2021 570 Okuma Listesine Ekle
ZAFİYETLİ MAKİNE ÇÖZÜMÜ | GoldenEye:1

Merhabalar. Bu yazımda, VulnHub plartformunda bulunan “GoldenEye: 1” isimli zafiyetli makinenin çözümünü sizlere göstermeye çalışacağım. Çözüm biraz uzun olduğu için bazı basit ve temel işlemleri görsel olarak göstermeyeceğim, daha çok çözüm odaklı görseller ile anlatmaya çalışacağım.
Öncelikle netdiscover aracı ile hedef makinemizin ip adresini tespit edip Nmap taramamızı başlatıyoruz:
image_750x_618442f855cf0.jpg

Nmap raporumuzda görüldüğü üzere 80 portunda HTTP servisi çalışmakta. Web üzerinden sunucuya bağlanmayı deneyebiliriz. Diğer servislere bakacak olursak SSL ve POP3 servisinin çalıştığını görüyoruz. POP3 servisi, mail protokollerinde kullanılan bir servis olduğunu biliyoruz. Bu zafiyette böyle bir servisin çalışması gidişat yolumuza biraz ışık tutuyor. İlk olarak IP adresini ziyaret ederek web sunucumuzu kontrol ediyoruz:

Web sunucumuzda en alt kısımda “oturum açmak için /sev/home/ konumuna gidin” şeklinde bir bilgi veriyor. Bu arada sitemize yönelik gizli url dizin taramasını da yaptım fakat değerli herhangi bir sonuç elde edemedim. Elimizde ki tek bilgi bize verilen dizin sayfası. Bu sebepten url kısmına /sev/home yazıp oturum açma paneline gidiyoruz:

Bu kısımda ise herhangi bir kullanıcı adı ve şifre bilgisine sahip olmadığımız için site içerisinde biraz kurcalama yapıyoruz ve ilk bulunduğumuz sayfanın kaynak kodlarında bulunan “terminal.js” kodlarına girdiğimizde bazı bilgiler ile karşılıyoruz:

image_750x_618444224cea0.jpg

Burada bizim için bırakılmış bazı yorum satırları var. Boris ve Natalya adında iki kullanıcı olabileceğini düşünüyoruz ve alt kısımlara doğru bize şifreyi encoded şekilde verdiğini söylüyor. Aldığımız bu kodu decode etmeye çalışacağız. Bunun için Google üzerinden online decoder sitelerinde şifreyi çözmeye çalıştım fakat başarılı olamadım. Kodu çözmek için BurpSuit aracımızın decoder etme özelliğini kullanıyoruz. “HTML” ile şifrelenmiş kodumuzu bu şekilde çözmüş oluyoruz:

Oturum açma panelimize “/sev/home” geri dönüp kullanıcı adı şifre denemesi yapıyoruz. Kullanıcı adı olarak Boris ve Natalya isimlerini deniyoruz. Biraz uğraştıktan sonra küçük harflerle yazılmış “boris” isminin kullanıcı adını olduğunu bulup elde ettiğimiz şifre ile panelimize giriş yapıyoruz:



Panelimizde bize yine bazı bilgiler verilmekte. Buradaki bilgi ile bize POP3 servisinden bahsediliyor. Panelimizi biraz kurcaladıktan sonra bu bilgi haricinde bir şey elde edemiyoruz. Elimizdeki tek bilgi olan POP3 servisini NETCAT aracımız ile dinlemeye başlıyoruz. Komutumuzu yazdığımız anda bizi direkt olarak POP3 sunucuna yönlendiriyor. POP3 sunucusunda yazılacak komutları Google aracılığı ile bulabilirsiniz, bende öyle yaptım. İlk başlarda girdiğimiz boris kullanıcı adı ve şifremizle giriş demesi yapıyoruz. Kullanıcı adımızı kabul ediyor fakat parolayı kabul etmediğini görüyoruz:

Aynı şekilde Natalya isimli kullanıcımızda da aynı işlemleri yapıyoruz fakat yine parola kısmını sunucumuz kabul etmiyor. Bu kısımda elimizdeki iki adet kullanıcı ismimizi (boris,natalya) kullanarak bir BRUTE FORCE saldırısı yapmaya başlıyoruz. Brute force yapmak için HYDRA isimli aracımızı ve wordlist olarak da Kali makinemizde hazır bulunan wordlistleri kullanıyoruz:

Brute force saldırımız sonucunda “boris” isimli kullanıcımızın parolasını elde ediyoruz. Fakat bulduktan hemen sonra aracımız hata verdiği için “natalya” isimli kullanıcımıza özel yeni bir saldırıyı tekrar başlatıyoruz. Bu sefer “natalya” isimli kullanıcımızın da parola bilgisini elde etmiş oluyoruz:
image_750x_6184446d674eb.jpg

Elde ettiğimiz bilgilerle POP3 sunucusuna giriş yapıyoruz. Bu kısımda gelen mesajları okumaya başlıyoruz. Boris isimli kullanıcımızın mesajlarından herhangi bir bilgi elde edemiyoruz:
image_750x_61844478157f7.jpg

Natalya isimli kullanıcımızın mesajlarını okuyunca kullanıcı adı, parola ve web sunucusu ile alakalı bazı bilgilere ulaşıyoruz:
image_750x_61844480d33ef.jpg

Okuduğumuz mesajın en alt kısmında IP yönlendirmesi yapmamız gerektiğini söylüyor. /etc/hosts ayarlarını bizden istediği şekilde yapılandırıp kaydediyoruz:

Ayarlarımızı yaptıktan sonra bize verilen web adresine gidiyoruz. Web adresimizde bulunan login kısmından pop3 mesajlarından elde ettiğimiz kullanıcı adı ve şifre ile giriş yapıyoruz:

Panelimizde biraz geziniyoruz. Kaynak kodları ve url dizinleri ile alakalı bir şey elde edemiyoruz. Tek dikkatimizi çeken kısım mesajlar kısmında “Dr Doak” isimli bir kullanıcının olduğunu anlamamız oluyor. Netcat ile bağlandığımız pop3 sunucumuzda user kısmına doak yazıp böyle bir kullanıcının olduğunu öğrenmiş oluyoruz. Bu bilgiden sonra “doak” isimli kullanıcımıza yine bir brute force saldırısı yapıp parolasını bulmaya çalışıyoruz:
image_750x_618444a7ae920.jpg

Brute force saldırımız sonucunda “doak” isimli kullanıcımızın da POP3 sunucusu parolasını bu şekilde elde etmiş oluyoruz. POP3 sunucumuza giriş yaptıktan sonra mesajlar kısmını kontrol ediyoruz ve yine en alt kısımda bize kullanıcı adı ve parola bilgisini verdiğini görüyoruz:
image_750x_618444bc59a3d.jpg

Web sitemize dönerek “xenia” isimli profilimizden logout oluyoruz ve “goak” kullanıcımıza ait elde ettiğimiz bilgiler ile tekrardan login oluyoruz. “Dr Doak” isimli profilimizde yine gezinme işlemlerini yapıyoruz. Bu sefer sistemde bir adet “s3cret.txt” dosyasının olduğunu fark ediyoruz. Dosyamızı indirip okuduğumuzda ise bize bazı bilgiler veriyor:


image_750x_618444d0b63e1.jpg

Elde etmiş olduğumuz bu dosyada bize url dizini verdiğini görüyoruz. Web sitemizin url kısmına burada verilen dizini girip incelemeye başlıyoruz:
image_750x_618444d7eb347.jpg

Bu kısımda bize bir adet “JPG” dosyası verdiğini görüyoruz. Bu fotoğrafta bazı bilgiler saklanmış olabilir şüphesiyle dosyamızı kaydedip exiftool isimli aracımız ile resmimizin exif bilgilerine bakıyoruz:
image_750x_618444dda8980.jpg


Exif raporumuzu incelerken “Image Description” kısmında “base64” şifreleme metoduna benzeyen encoded bir metin görüyoruz. Yine BurpSuit aracımızın decoder özelliğini kullanıyoruz. Base64 metodu ile şifre çözme işlemimizi başarılı bir şekilde yapıp parolamızı elde etmiş oluyoruz.

image_750x_618444ed5c332.jpg


Web sayfamıza geri dönerek incelemelerimize devam ediyoruz. Bir adet şifre elde ettik fakat nerede kullanacağımızı bulmaya çalışıyoruz. Bu kısımda ise yine mesajlar kısmından yola çıkarak admin kullanıcısının olduğunu ve bu şifrenin de ona ait olabileceğini tahmin ediyoruz:

image_750x_6184450730463.jpg


“Dr Doak” isimli kullanıcımızdan logout oluyoruz ve admin olarak sisteme girmeye çalışıyoruz. “Admin User vb.” isimleri deniyoruz fakat başarısız oluyoruz. Hepsi küçük harfle “admin” olarak girmeye çalıştığımızda ise başarılı bir şekilde giriş yapıyoruz. Artık sistemde admin olarak bulunduğumuz için sitedeki kullanılabilir arayüz sayı da artmış oluyor. Yine sitemizde gezinmeler yaparken kod çalıştırabileceğimiz bir panel buluyoruz:

image_750x_618445183277b.jpg


Kod çalıştırabileceğimiz bir alan bulduktan sonra hemen “reverse shell” çalıştırmayı deniyoruz. Pentestmonkey sitesinde reverse shell kodları oldukça kullanışlı oluyor, bende bu tür kodları ararken genelde bu siteden alıyorum. Reverse shell kodumuzu çalıştırmadan önce sitede bazı ayarları yapmamız gerekiyor yoksa hiçbir türlü kodu çalıştıramıyoruz. Sitemizin alt kısmında bulunan arama kısmına “Spell” yazarak karşımıza gelen alttaki görsel de gözüktüğü gibi default olarak gelen “Google Spell” ayarını “PSpellShell” olarak ayarlıyoruz ve kaydediyoruz:

image_750x_6184452365398.jpg


ZAFİYETLİ MAKİNE ÇÖZÜMÜ | GoldenEye:1

CTF (Makine çözümü) Kasım 5, 2021 570 Okuma Listesine Ekle
ZAFİYETLİ MAKİNE ÇÖZÜMÜ | GoldenEye:1

Merhabalar. Bu yazımda, VulnHub plartformunda bulunan “GoldenEye: 1” isimli zafiyetli makinenin çözümünü sizlere göstermeye çalışacağım. Çözüm biraz uzun olduğu için bazı basit ve temel işlemleri görsel olarak göstermeyeceğim, daha çok çözüm odaklı görseller ile anlatmaya çalışacağım.
Öncelikle netdiscover aracı ile hedef makinemizin ip adresini tespit edip Nmap taramamızı başlatıyoruz:
image_750x_618442f855cf0.jpg

Nmap raporumuzda görüldüğü üzere 80 portunda HTTP servisi çalışmakta. Web üzerinden sunucuya bağlanmayı deneyebiliriz. Diğer servislere bakacak olursak SSL ve POP3 servisinin çalıştığını görüyoruz. POP3 servisi, mail protokollerinde kullanılan bir servis olduğunu biliyoruz. Bu zafiyette böyle bir servisin çalışması gidişat yolumuza biraz ışık tutuyor. İlk olarak IP adresini ziyaret ederek web sunucumuzu kontrol ediyoruz:

Web sunucumuzda en alt kısımda “oturum açmak için /sev/home/ konumuna gidin” şeklinde bir bilgi veriyor. Bu arada sitemize yönelik gizli url dizin taramasını da yaptım fakat değerli herhangi bir sonuç elde edemedim. Elimizde ki tek bilgi bize verilen dizin sayfası. Bu sebepten url kısmına /sev/home yazıp oturum açma paneline gidiyoruz:

Bu kısımda ise herhangi bir kullanıcı adı ve şifre bilgisine sahip olmadığımız için site içerisinde biraz kurcalama yapıyoruz ve ilk bulunduğumuz sayfanın kaynak kodlarında bulunan “terminal.js” kodlarına girdiğimizde bazı bilgiler ile karşılıyoruz:

image_750x_618444224cea0.jpg

Burada bizim için bırakılmış bazı yorum satırları var. Boris ve Natalya adında iki kullanıcı olabileceğini düşünüyoruz ve alt kısımlara doğru bize şifreyi encoded şekilde verdiğini söylüyor. Aldığımız bu kodu decode etmeye çalışacağız. Bunun için Google üzerinden online decoder sitelerinde şifreyi çözmeye çalıştım fakat başarılı olamadım. Kodu çözmek için BurpSuit aracımızın decoder etme özelliğini kullanıyoruz. “HTML” ile şifrelenmiş kodumuzu bu şekilde çözmüş oluyoruz:

Oturum açma panelimize “/sev/home” geri dönüp kullanıcı adı şifre denemesi yapıyoruz. Kullanıcı adı olarak Boris ve Natalya isimlerini deniyoruz. Biraz uğraştıktan sonra küçük harflerle yazılmış “boris” isminin kullanıcı adını olduğunu bulup elde ettiğimiz şifre ile panelimize giriş yapıyoruz:



Panelimizde bize yine bazı bilgiler verilmekte. Buradaki bilgi ile bize POP3 servisinden bahsediliyor. Panelimizi biraz kurcaladıktan sonra bu bilgi haricinde bir şey elde edemiyoruz. Elimizdeki tek bilgi olan POP3 servisini NETCAT aracımız ile dinlemeye başlıyoruz. Komutumuzu yazdığımız anda bizi direkt olarak POP3 sunucuna yönlendiriyor. POP3 sunucusunda yazılacak komutları Google aracılığı ile bulabilirsiniz, bende öyle yaptım. İlk başlarda girdiğimiz boris kullanıcı adı ve şifremizle giriş demesi yapıyoruz. Kullanıcı adımızı kabul ediyor fakat parolayı kabul etmediğini görüyoruz:

Aynı şekilde Natalya isimli kullanıcımızda da aynı işlemleri yapıyoruz fakat yine parola kısmını sunucumuz kabul etmiyor. Bu kısımda elimizdeki iki adet kullanıcı ismimizi (boris,natalya) kullanarak bir BRUTE FORCE saldırısı yapmaya başlıyoruz. Brute force yapmak için HYDRA isimli aracımızı ve wordlist olarak da Kali makinemizde hazır bulunan wordlistleri kullanıyoruz:

Brute force saldırımız sonucunda “boris” isimli kullanıcımızın parolasını elde ediyoruz. Fakat bulduktan hemen sonra aracımız hata verdiği için “natalya” isimli kullanıcımıza özel yeni bir saldırıyı tekrar başlatıyoruz. Bu sefer “natalya” isimli kullanıcımızın da parola bilgisini elde etmiş oluyoruz:
image_750x_6184446d674eb.jpg

Elde ettiğimiz bilgilerle POP3 sunucusuna giriş yapıyoruz. Bu kısımda gelen mesajları okumaya başlıyoruz. Boris isimli kullanıcımızın mesajlarından herhangi bir bilgi elde edemiyoruz:
image_750x_61844478157f7.jpg

Natalya isimli kullanıcımızın mesajlarını okuyunca kullanıcı adı, parola ve web sunucusu ile alakalı bazı bilgilere ulaşıyoruz:
image_750x_61844480d33ef.jpg

Okuduğumuz mesajın en alt kısmında IP yönlendirmesi yapmamız gerektiğini söylüyor. /etc/hosts ayarlarını bizden istediği şekilde yapılandırıp kaydediyoruz:

Ayarlarımızı yaptıktan sonra bize verilen web adresine gidiyoruz. Web adresimizde bulunan login kısmından pop3 mesajlarından elde ettiğimiz kullanıcı adı ve şifre ile giriş yapıyoruz:

Panelimizde biraz geziniyoruz. Kaynak kodları ve url dizinleri ile alakalı bir şey elde edemiyoruz. Tek dikkatimizi çeken kısım mesajlar kısmında “Dr Doak” isimli bir kullanıcının olduğunu anlamamız oluyor. Netcat ile bağlandığımız pop3 sunucumuzda user kısmına doak yazıp böyle bir kullanıcının olduğunu öğrenmiş oluyoruz. Bu bilgiden sonra “doak” isimli kullanıcımıza yine bir brute force saldırısı yapıp parolasını bulmaya çalışıyoruz:
image_750x_618444a7ae920.jpg

Brute force saldırımız sonucunda “doak” isimli kullanıcımızın da POP3 sunucusu parolasını bu şekilde elde etmiş oluyoruz. POP3 sunucumuza giriş yaptıktan sonra mesajlar kısmını kontrol ediyoruz ve yine en alt kısımda bize kullanıcı adı ve parola bilgisini verdiğini görüyoruz:
image_750x_618444bc59a3d.jpg

Web sitemize dönerek “xenia” isimli profilimizden logout oluyoruz ve “goak” kullanıcımıza ait elde ettiğimiz bilgiler ile tekrardan login oluyoruz. “Dr Doak” isimli profilimizde yine gezinme işlemlerini yapıyoruz. Bu sefer sistemde bir adet “s3cret.txt” dosyasının olduğunu fark ediyoruz. Dosyamızı indirip okuduğumuzda ise bize bazı bilgiler veriyor:


image_750x_618444d0b63e1.jpg

Elde etmiş olduğumuz bu dosyada bize url dizini verdiğini görüyoruz. Web sitemizin url kısmına burada verilen dizini girip incelemeye başlıyoruz:
image_750x_618444d7eb347.jpg

Bu kısımda bize bir adet “JPG” dosyası verdiğini görüyoruz. Bu fotoğrafta bazı bilgiler saklanmış olabilir şüphesiyle dosyamızı kaydedip exiftool isimli aracımız ile resmimizin exif bilgilerine bakıyoruz:
image_750x_618444dda8980.jpg

Exif raporumuzu incelerken “Image Description” kısmında “base64” şifreleme metoduna benzeyen encoded bir metin görüyoruz. Yine BurpSuit aracımızın decoder özelliğini kullanıyoruz. Base64 metodu ile şifre çözme işlemimizi başarılı bir şekilde yapıp parolamızı elde etmiş oluyoruz.
image_750x_618444ed5c332.jpg

Web sayfamıza geri dönerek incelemelerimize devam ediyoruz. Bir adet şifre elde ettik fakat nerede kullanacağımızı bulmaya çalışıyoruz. Bu kısımda ise yine mesajlar kısmından yola çıkarak admin kullanıcısının olduğunu ve bu şifrenin de ona ait olabileceğini tahmin ediyoruz:
image_750x_6184450730463.jpg

“Dr Doak” isimli kullanıcımızdan logout oluyoruz ve admin olarak sisteme girmeye çalışıyoruz. “Admin User vb.” isimleri deniyoruz fakat başarısız oluyoruz. Hepsi küçük harfle “admin” olarak girmeye çalıştığımızda ise başarılı bir şekilde giriş yapıyoruz. Artık sistemde admin olarak bulunduğumuz için sitedeki kullanılabilir arayüz sayı da artmış oluyor. Yine sitemizde gezinmeler yaparken kod çalıştırabileceğimiz bir panel buluyoruz:
image_750x_618445183277b.jpg

Kod çalıştırabileceğimiz bir alan bulduktan sonra hemen “reverse shell” çalıştırmayı deniyoruz. Pentestmonkey sitesinde reverse shell kodları oldukça kullanışlı oluyor, bende bu tür kodları ararken genelde bu siteden alıyorum. Reverse shell kodumuzu çalıştırmadan önce sitede bazı ayarları yapmamız gerekiyor yoksa hiçbir türlü kodu çalıştıramıyoruz. Sitemizin alt kısmında bulunan arama kısmına “Spell” yazarak karşımıza gelen alttaki görsel de gözüktüğü gibi default olarak gelen “Google Spell” ayarını “PSpellShell” olarak ayarlıyoruz ve kaydediyoruz:
image_750x_6184452365398.jpg


Şimdi tekrardan kod yazacağımız panele geri dönüyoruz. Bazı reverse shell kodlarını deneyerek (bash,php vb.) başarısız oldum fakat “python reverse shell” kodunda başarılı bir şekilde çalıştırabiliyoruz. Kodumuzu panele yazdıktan sonra “reverse shell kodumuzu yazarken kendinize göre düzenleyip (IP ve PORT bilgisini) yazmayı unutmayın” kaydettikten sonra sol taraftaki menülerden, “My profile > Blogs > Add a new entry” arayüzüne giriyoruz ve rastgele bir şeyler yazıp check butonuna basıyoruz. Check işlemini yapmadan önce NETCAT ile reverse shell de verdiğimiz IP ve PORT üzerinden dinleme açıyoruz ve check butonuna basıp Netcat terminalimize dönüyoruz:

image_750x_618445304639d.jpg


image_750x_6184454128608.jpg


“www-data” kullanıcısı olarak sistemimize girmeyi başardık. Sistemde “sudo -l” yazarak sudo yetkilerimizin olup olmadığını kontrol ediyoruz fakat sudo yetkisi ile herhangi bir komut çalıştıramayacağımızın bilgisini bize veriyor. Bazı manuel yetki yükseltme işlemlerini yaptıktan sonra işlemleri hızlandırmak adına linPEAS aracını kullanıyorum. LinPEAS aracı yetki yükseltmede bize yardımcı olmak için gayet kullanışlı bir araç. Kendi apache servisime linPEAS aracımı hazır olarak koymuştum. Hedef makinemizden /tmp dizinine giderek wget komutu ile aracımızı indirmeye çalışıyoruz:

image_750x_6184454f4ae47.jpg


Aracımızı çalıştırmak için “chmod 777 linpeas.sh” ve “chmod +x linpeas.sh” komutlarını yazarak aracımızı çalıştırabilir hale getiriyoruz . Son olarak “./linpeas.sh” yazarak aracımızı çalıştırıyoruz:

image_750x_61844555128c2.jpg


LinPEAS aracımız bize yetki yükseltebileceğimiz açıklıkları (RED/YELLOW) şeklinde renklendirdiğini belirtiyor. Taramamızın başında Linux versiyonumuzdan bir zafiyet olabileceğini ve bunu kullanarak yetki yükseltmesi yapabileceğimizi söylüyor. Bu bilgiyi aldıktan sonra “searchsploit” ile versiyon bilgimizi girerek bir arama yapıyoruz.

29.png


Arama sonucumuzda ilk exploitimizin url adresine gidip indiriyoruz. Daha öncesinden denediğim için hedef sistemimizde “gcc” aracının olmadığını biliyorum. Yani indirdiğimiz bu exploiti çalıştırılabilir hale getirmek için “cc” aracımızı kullanacağız. Bunu ayarlamak için indirdiğimiz “37292.c” dosyamızı düzenleyici araçları ile açıp, alt satırlara doğru yazılmış olan “gcc” kısmını “cc” yapıyoruz ve kaydediyoruz.

image_750x_618445773d483.jpg


Düzenlemesini yaptığımız 37292.c dosyasını, apache sunucumuzun içerisine “new.c” şeklinde kaydediyoruz. Daha sonrasında hedef sistemimizden wget komutunu kullanarak “new.c” isimli exploitimizi indiriyoruz.

image_750x_618445800fe90.jpg


C dili ile yazılmış bu exploitimizi çalıştırabilecek hale getirmek için cc aracımızı kullanacağız. “cc new.c -o exploit” yazarak new.c isimli dosyamızı çalıştırılabilir bir araç haline getirmiş olduk.

image_750x_6184458cbfbea.jpg


Artık son aşamaya geldik. "./exploit" yazarak içerisinde ki exploit kodlarını çalıştırıyoruz. Yetki yükseltme işlemimiz başarıyla sonuçlanmış oldu. Kullanmış olduğumuz exploit bizi root yetkisine çıkartmış oldu. Şimdi ise son görevimiz olan flag dosyasını okuyup makinemizi tamamlamış oluyoruz :)

image_750x_6184459026991.jpg


Bu Konumuzda Vulnhub Platformunda ki GoldenEye:1 Makinası çözdük :)

968135.jpg


SAYGILARIMLA
Kaynak paylaşımı için ayrıyeten teşekkürler
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.