IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 17 Temmuz 2013, 20:05   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Yakalanmadan FTP İletişimi




Selamun Aleyküm.

Bilirsiniz üst düzey malware fonksiyonlarıyla uğraşmak zordur ve uzmanlık ister. Bu yüzden yeri geldiğinde basit çözümler etkili olabiliyor. FTP ile iletişim kuran malware programcıları eğer kernel mode rootkit, antivirüs bypass gibi konularda uzman değillerse kullandıkları ftp api, componentleri antivirüslere yakalandığında çaresiz kalabilir. Bunu bir nebze olsun aşmak için bir çözüm geliştirdim. Yaygın olarak kullanılan antivirüslerin çoğunda firewall özelliği yok. Benim hipotezim, ftp ile iletişim kurarken hazır apileri değil de kendi methodunuzu kullanırsanız antivirüslere yakalanmazsınız. Bu hipotezi sınamak için 2 gün boyunca uğraşarak ftp’yi çözmeye çalıştım ve ClientSocket’lerle iletişimi taklit ettim. Her aşamasını çözmek için baya uğraştığımı söyleyebilirim
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


Anladığım kadarıyla FTP’yi kısaca anlatıyorum.

FTP sunucusuna standart bağlantı portu 21’dir.

FTP’de komutlar sayılarla ifade edilir ama ingilizce olarak açıklamaları da paket içinde gönderilir.

Bir ftp sunucusuna 21 portundan bağlanırsanız ilk mesaj sunucudan gelir.

Sunucu Mesajı: 220 Welcome. FTP Server ready.

Bu mesajı alınca sizin sırayla komutları göndermeniz gerekir. Tek tek komutları açıklamıyorum çünkü asıl anlattığım protokol değil taklit.

İletişimi özetliyorum:

Gelen: 220 Welcome. FTP Server ready.

Giden: USER admin

Gelen: 331 Password required for admin

Giden: PASS Cyber

Gelen: 230 User admin logged in

Giden: OPTS UTF8 ON

Gelen: 200 UTF8 set to on

Giden: CWD /

Gelen: 250 CWD command successful

Giden: PWD

Gelen: 257 "/" is the current directory

Giden: TYPE A

Gelen: 200 Type set to A

Giden: PASV

Gelen: 227 Entering Passive Mode (255,255,255,255,185,77).

Burada benim öğrenmek için çok uğraştığım bir durum var. FTP iletişimi iki türlü yapılıyor: aktif ve pasif. Aktif’de bilgisayarınızda port açmanız gerekir ki normalde pasif modu kullanırız. Son gelen paket bize diyor ki verdiğim ip ve porttan veri iletim bağlantı noktasına bağlan. FTP’de yönlendirme komutları 21 portundaki bağlantıdan yapılır ama merkez bağlantının yükünün artmaması için veri aktarımı başka bağlantı noktalarından (port) gerçekleştirilir. Peki bu son gelen mesajı nasıl yorumlayacağız? Burada diyor ki ilk 4 sayı grubu bağlantı ip’si 255.255.255.255. Port numarasını ise bir formülle alıyorsunuz. IP’den sonraki ilk sayı bloğu yani baştan 5. bloğun 256 ile çarpılıp sonuca 6. bloğun eklenmesi bize port numarasını veriyor. Örneklendirirsek, Entering Passive Mode (k,l,m,n,a,b). şeklinde olan paket bize diyor ki veri aktarımını k.l.m.n:a*256+b bağlantı noktasına yap.

Bu paket geldikten hemen sonra ikinci bir client socket ile bu bağlantı noktasına bağlanırız ama veri yollamayız. Bağlandıktan sonra 21 port numaralı bağlantıdan sunucuya şu paket yollanır.

Giden: STOR Deneme.txt, Dosya uploada başlama komutu.

Gelen: 150 Opening ASCII mode data connection for Deneme.txt

Bu mesajı alınca başka bir bilgi içermeksizin ikinci client socket’e veri yollanır. Stream ya da text olması farketmiyor nasıl yollarsanız yollayın. Veri yollama bitince sunucunun anlaması için 2. client socketin bağlantısını kesmeniz gerekir. Kesince aktarım tamamlanmış ve belirttiğiniz dosya adına içerik yazılmış demektir. Aktarımın tamamlandığına dair şu mesajı alırsınız:

Gelen: 226 Transfer complete, Aktarımın tamamlandığı anlamına geliyor.

Ben bu iletişimi pratikte taklit etmeyi başardım. Gelişmiş bir şey değil ama işimi gördü. Birkaç noktaya değinmem lazım. Komut içeren paketlerde string sonuna boş bir satır ekleniyor yani iletişim şöyle kurulacak: ClientSocket1.SendText(’USER admin’+#10);. #10 etiketini her paket sonuna ekleyin (Dosyayı ikinci bağlantıdan gönderirken yapılmaz) yoksa anlamıyor sunucu. Son olarak da bazı komutların sunucudan gelen cevapları aynı sayı ile oluyor en son ne gönderdiğinizi takip etmeniz ya da sayının devamındaki veriyi programla okumanız gerekir. Ben ikincisini yaptım ama ilkini öneriyorum. Belki her ftp aynı açıklamayı kullanmıyordur.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

Alıntı
Düzenlendi.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
ftp, yakalanmadan, İletişimi


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

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


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
İletişimi Engelleyen Faktörler Cry Ruh Sağlığı 0 01 Mayıs 2012 20:23
Gelin-Kaynana İletişimi Cry Ruh Sağlığı 0 30 Nisan 2012 19:47
Etkili Aile İletişimi Cry Ruh Sağlığı 0 26 Nisan 2012 20:57
Ladin, ABD'ye yakalanmadan nasıl e-postalaştı? Soul Haber Arşivi 0 13 Mayıs 2011 12:49
Yakalanmadan aldatmanın altın kuralları hitman IF Ekstra 0 13 Mart 2006 04:24