- 19 May 2020
- 4
- 0
Hack The Box Traceback Writeup
merhaba arkadaşlar
Walkthrough
ilk olarak traceback adlı makinenin ip adresini hosts dosyamıza traceback olarak kayıt ediyoruz
makine üzerindeki açık portları belirlemek için nmap taraması gerçekleştiriyoruz. kendinize özgü parametreleri kullanabilirsiniz
80 portu üzerinde http, 22 portu üzerinde ise ssh servisinin çalıştığını görmekteyiz. tarayıcımızdan 80 portu üzerinde çalışan web servisini baktığımızda sayfanın sahiplendiğini ve bir arka kapı yerleştirildiğini söylüyor
sayfanın kaynak kodunu incelemediğimizde (chrome için [ctrl+u] tuş kombinasyonu) yorum satırı içinde bir not bırakıldığını görüyoruz
bu notu google üzerinde arama gerçekleştiğimizde, makineyi oluşturan kişi adına bir github reposu ile karşılaşıyoruz
ilgili linke giriş yaptığımızda repo içerisinde bazı webshelllerin olduğunu görüyoruz. hepsini manual olarak denedikten sonra smevk.php adlı webshellin 80 portu üzerinde çalışan web servisinden de bulunduğunu görüyoruz. username ve passwordun 'admin' olarak ayarlandığını kaynak kodu üzerinden görebiliriz.
web servis üzerinden smevk.php adresine giderek, admin kullanıcı ile giriş yapıyoruz
makinemiz üzerinde ssh portu da çalıştığını hatırlayalım. ssh anahtarı yardımı ile sisteme bağlanmak için karşımıza çıkan panelden aktif dizinimizi '/home/webadmin/.ssh' olarak değiştiriyoruz
ssh-keygen komutu ile ssh anahtarımız oluşturuyoruz. herhangi bir şifre belirleyebilirsiniz
oluşan id_rsa dosyası bizim private anahtarımız bizim sistemimizde bulunmalı, id_rsa.pub dosyası ise public anahtarımız, bağlantı sağlayabilmek için public dosyasımızı karşı sisteme yükleyeceğiz. id_rsa.pub dosyasını authorized_keys olarak ana dizinime kopyalıyorum
koplayadığımız authorized_keys dosyasını panel yardımı ile karşı sistemin ssh klasörüne upload ediyoruz
şimdi ssh ile webadmin kullanıcısına giriş yapabiliriz
sudo yetkimin ne haklara sahip olduğunu görmek için 'sudo -l' komutunu kullanıyorum ve sysadmin kullanıcısına ait luvit adlı bir dosyayı password sormadan çalıştırabilir olduğumu görüyorum. Lua bir programlama dilidir ve basit bir kod ile shell alıyoruz
artık sysadmin dizini içindeki user.txt dosyasını okuyabiliriz
webadmin kullanıcımıza ssh ile giriş yaparken, ssh login headerında 'Welcome to Xh4H land' texti bulunmaktaydı. bu ssh login header dosyasının sahibi root kullanıcıydı. ssh login header konfigürasyonunu bulmak için bir grep araması yapıyoruz ve root yetkileri ile çalıştırılan dosyanın sonuna root.txt dosyanı okumak için gerekli kodu ekliyoruz
yeni bir ssh bağlantısı gerçekleştirdiğimizde root flagini elde etmiş oluyoruz
tüm adımları video olarak da izleyebilirsiniz
https://youtu.be/-zUhBRdbBt8
Walkthrough
ilk olarak traceback adlı makinenin ip adresini hosts dosyamıza traceback olarak kayıt ediyoruz
makine üzerindeki açık portları belirlemek için nmap taraması gerçekleştiriyoruz. kendinize özgü parametreleri kullanabilirsiniz
80 portu üzerinde http, 22 portu üzerinde ise ssh servisinin çalıştığını görmekteyiz. tarayıcımızdan 80 portu üzerinde çalışan web servisini baktığımızda sayfanın sahiplendiğini ve bir arka kapı yerleştirildiğini söylüyor
sayfanın kaynak kodunu incelemediğimizde (chrome için [ctrl+u] tuş kombinasyonu) yorum satırı içinde bir not bırakıldığını görüyoruz
bu notu google üzerinde arama gerçekleştiğimizde, makineyi oluşturan kişi adına bir github reposu ile karşılaşıyoruz
ilgili linke giriş yaptığımızda repo içerisinde bazı webshelllerin olduğunu görüyoruz. hepsini manual olarak denedikten sonra smevk.php adlı webshellin 80 portu üzerinde çalışan web servisinden de bulunduğunu görüyoruz. username ve passwordun 'admin' olarak ayarlandığını kaynak kodu üzerinden görebiliriz.
web servis üzerinden smevk.php adresine giderek, admin kullanıcı ile giriş yapıyoruz
makinemiz üzerinde ssh portu da çalıştığını hatırlayalım. ssh anahtarı yardımı ile sisteme bağlanmak için karşımıza çıkan panelden aktif dizinimizi '/home/webadmin/.ssh' olarak değiştiriyoruz
ssh-keygen komutu ile ssh anahtarımız oluşturuyoruz. herhangi bir şifre belirleyebilirsiniz
oluşan id_rsa dosyası bizim private anahtarımız bizim sistemimizde bulunmalı, id_rsa.pub dosyası ise public anahtarımız, bağlantı sağlayabilmek için public dosyasımızı karşı sisteme yükleyeceğiz. id_rsa.pub dosyasını authorized_keys olarak ana dizinime kopyalıyorum
koplayadığımız authorized_keys dosyasını panel yardımı ile karşı sistemin ssh klasörüne upload ediyoruz
şimdi ssh ile webadmin kullanıcısına giriş yapabiliriz
sudo yetkimin ne haklara sahip olduğunu görmek için 'sudo -l' komutunu kullanıyorum ve sysadmin kullanıcısına ait luvit adlı bir dosyayı password sormadan çalıştırabilir olduğumu görüyorum. Lua bir programlama dilidir ve basit bir kod ile shell alıyoruz
artık sysadmin dizini içindeki user.txt dosyasını okuyabiliriz
webadmin kullanıcımıza ssh ile giriş yaparken, ssh login headerında 'Welcome to Xh4H land' texti bulunmaktaydı. bu ssh login header dosyasının sahibi root kullanıcıydı. ssh login header konfigürasyonunu bulmak için bir grep araması yapıyoruz ve root yetkileri ile çalıştırılan dosyanın sonuna root.txt dosyanı okumak için gerekli kodu ekliyoruz
yeni bir ssh bağlantısı gerçekleştirdiğimizde root flagini elde etmiş oluyoruz
tüm adımları video olarak da izleyebilirsiniz
https://youtu.be/-zUhBRdbBt8
Son düzenleme: