İPUCU

Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

vsFTPd 2.3.4 için Exploit Yazalım

b0mb - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Nereden:
İzmir
Yaş:
17
Mesajlar:
471
Konular:
64
Teşekkür (Etti):
143
Teşekkür (Aldı):
221
Ticaret:
(0) %
02-08-2017 04:31
#1
vsFTPd 2.3.4 için Exploit Yazalım
[COLOR="LemonChiffonMerhaba arkadaşlar,

vsFTPd’nin 2.3.4 versiyonunda bulunan command execution açığı ile ilgili bir çok videoya, anlatıma basit bir Google araması ile ulaşabilirsiniz.

Bu konuda, bu açığı sömüren bir program yazmaya çalışacağız, her ne kadar asıl mesele açığı keşfetmek olsa da.

Métasploit için yazılmış modül: https://github.com/rapid7
GitHub: https://github.com/blackvkng/vsFTPd-v2.3.4-Exploit

Bu yazıyı, bir nevi şuranın çevirisi olarak görebilirsiniz.



En başta, gerekli gördüğümüz modülleri içeri aktarıyoruz. Kullanmak üzere içeri aktardığımız en önemli modül, "socket" modülü. Bu modül ile hedefe bağlanacağız.


Kullanıcıya scripti nasıl kullanabileceğini göstermek için, "usage" fonksiyonunu yazdık. Buna göre, programa verilen ilk argüman "hedef" ikincisi ise "port" değişkenleri olacak.


Bu fonksiyon, önemli bir fonksiyon. Önce, oluşturduğumuz "check" adındaki soket objesi ile verilen hedefe, verilen port üzerinden bağlanmaya çalışıyor. Bağlanırsa, bağlandığını belirtip diğer işlemlere devam ediyor. Eğer bağlanamazsa, bunu belirtip, direk "False" değerini döndürüp fonksiyonu bitiriyor.

Bağlanabildiği senaryo üzerinden devam edelim. Bağlandığımıza göre, önce serverdan gelen ilk cevabı "banner" değişkenine atıyoruz, genelde bu gelen değer, port üzerinde çalışan servis ile alakalı bilgi verir, ki vsFTPd servisinde bu böyle. Bu değeri ekrana yazdırdıktan sonra, bir if sorgusu çalıştırıyoruz. Bu sorguda, gelen değer içinde, "vsFTPd 2.3.4" olup olmadığını kontrol ediyoruz. Eğer yoksa, direk "False" değerini döndürüp fonksiyonu bitiriyor.

Diyelim ki, banner değişkeninde "vsFTPd 2.3.4" bulunuyor, hemen servere rastgele bir username ve password değeri gönderiyoruz. Ardından, oluşturduğumuz soket objesini kapatıyoruz ve "True" değerini döndürtüp fonksiyonu bitiriyoruz.


Bu fonksiyon, programda çalışacak olan ilk fonksiyon. İlk olarak, "target" ve "port" değişkenlerini "sys.argv" listesinden alıyor. Eğer bir sorun ile karşılaşırsa, kullanımı yazdırıp programı kapatıyor.

Sonrasında gelen if bloğunda, eğer fonksiyonun döndürdüğü değer "True" değilse programdan çıkmasını sağlıyor. Az önce yukarıda anlattığım fonksiyon bu.

Şimdi "shellSocket" adında yeni bir socket nesnesi oluşturduk, shell’e bağlanmak için kullanacağız. Bir sonraki satırda bulunan, "shell" değişkeni gereksiz bir değişken. Silmeyi unutmuşum :P


Oluşturdğumuz "shellSocket" nesnesi ile hedefe 6200. port üzerinden bağlanıyoruz, bu port üzerinden veri aktarımı olacak. Eğer bir hata oluşmazsa, artık komut girmeye başlayabiliriz. Program, çalıştırılmak istenen komut "exit" olmadıkça verilen komutu servere gönderiyor ve geri dönütü ekrana yazdırıyor.

Dikkat ederseniz, bağlantı sağlandıktan hemen sonra böyle bir satır var "shellSocket.settimeout(3)", bunun önemi çok büyük. Serverin geri dönüş yapması için en fazla 3 saniye beklemesini sağlıyor programın. Diyelim ki, siz herhangi bir çıktısı olmayacak bir komut gönderdiniz servera(cd, mv, ...), eğer bir çıktı olmazsa, program normalde bağlantı kopana kadar serverdan dönüt bekler. Bir kere dizin değiştirdiniz mi bir daha komut çalıştıramazsınız, eğer bu 3 saniye sınırı olmasaydı.

Artık hazır, hemen test edelim,


Başarılı bir şekilde çalıştı. Okuduğunuz için teşekkür ederim, bir yanlışım olduysa özür dilerim.[/COLOR]
Plans, nS4f3, Ceen, Pentester, BufGix, BackBox, NoteCoder Teşekkür etti.
AkilAdam - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
02/2016
Mesajlar:
1.269
Konular:
176
Teşekkür (Etti):
49
Teşekkür (Aldı):
104
Ticaret:
(0) %
02-08-2017 07:10
#2
ellerine sağlı konunu renklendirmeni öneririm
b0mb Teşekkür etti.
"PurpposoLes - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
09/2016
Nereden:
DataBase
Mesajlar:
3.264
Konular:
263
Teşekkür (Etti):
920
Teşekkür (Aldı):
1071
Ticaret:
(0) %
02-08-2017 07:53
#3
Yararlı konu işime yarayacaktır. Teşekkürler (:
---------------------
ɱყ ŋąɱɛ ıʂ "℘ųཞ℘℘ơʂơƖɛʂ
ı'ɱ ą ცƖąƈƙ ɧąɬ

Öʅüɱʂüȥ αşƙʅαɾ ʋαɾԃα, öʅɱҽყҽɳ αşıƙ ʋαɾ ɱı?

єѕкι αηкα тιмι αѕιѕтαηı..
b0mb Teşekkür etti.
nS4f3 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2017
Mesajlar:
92
Konular:
4
Teşekkür (Etti):
32
Teşekkür (Aldı):
11
Ticaret:
(0) %
02-08-2017 08:25
#4
Dostum Eline sağlık
Güzel anlatım olmuş
---------------------
The Grass is always The Greener
on The OTHER SİDE...
b0mb Teşekkür etti.
Ceen - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
07/2017
Mesajlar:
219
Konular:
19
Teşekkür (Etti):
70
Teşekkür (Aldı):
75
Ticaret:
(0) %
02-08-2017 09:18
#5
Eline sağlık kardeşim.
b0mb Teşekkür etti.
BufGix - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
08/2015
Nereden:
Phobos/Space
Mesajlar:
1.023
Konular:
74
Teşekkür (Etti):
314
Teşekkür (Aldı):
446
Ticaret:
(0) %
02-08-2017 12:05
#6
Durmuyorsunuz yerinde hocam
Birde yas gercek mi?
---------------------
~Cahile gelmez benden hayır
b0mb Teşekkür etti.
Pentester - ait Kullanıcı Resmi (Avatar)
Researcher
Üyelik tarihi:
09/2016
Mesajlar:
1.169
Konular:
89
Teşekkür (Etti):
613
Teşekkür (Aldı):
484
Ticaret:
(0) %
02-08-2017 12:18
#7
Ellerine sağlık ortak
---------------------
"Benim naçiz vücudum, bir gün elbet toprak olacaktır. Fakat Türkiye Cumhuriyeti, ilelebet payidar kalacaktır."
Mustafa Kemal ATATÜRK

Yapabildiğimiz her şeyi yapsaydık, buna kendimiz bile şaşardık.
b0mb Teşekkür etti.
b0mb - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Nereden:
İzmir
Yaş:
17
Mesajlar:
471
Konular:
64
Teşekkür (Etti):
143
Teşekkür (Aldı):
221
Ticaret:
(0) %
02-08-2017 14:04
#8
Teşekkür ederim

Alıntı:
easyly´isimli üyeden Alıntı Mesajı göster
Durmuyorsunuz yerinde hocam
Birde yas gercek mi?
Evet

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı