Trojanlardan Veya Soket Programlamada Çakanlar
-
Mürid arkadaslar, diyelim ki karsıda bir yerel ağda 3 tane pc var. Bu pc lerden birinde bir sunucu programı 3000. portu dinliyor.
Bizim mesela telnet ile bu sunucuya bağlanmamız için adamın 2000. portu kendi yerel ip sine yönlendirmiş olması gerekiyor.
Yani mesela adam 3000. portu dinleyecekse bunu modem den 192.168.1.5 --> 3000 şeklinde yönlendirme yapmasılazım.
Her neyse şimdi bu trojanlar da sunucu program sonuçta ama açtığı porta direkt bağlanılabiliyor. Trojanlar bunu nasıl yapıyor.
Bir tekniği mi var yada kodla mı yapılıyor. Antiky ve holy antirus un kaynak kodunu biliyor nasıl olduğunu anlatırlarsa böyük sevaba girerler.
kendimi düşünüyorsam namerdim :)
-
Kafa biraz dağınık kusura bakmayın ordaki 2000, 3000 olacak. bir de holly ile antikky Turkojan ı görmüştü :)
-
NAT dedikleri seyi bir arastir kesin emin degilim. sadece bir okumuslugum vardi. " network adress transformation gibi birseydi" dikkatini cekebilir.
-
Açıkçası ne demek istediğini pek anlamadım umarım yazacaklarım kafandaki sorulara çözüm olur.
Bilgisayarda 65535 tane port vardır. Ve bu portlar standar olarak kapalıdır. Sorunda trojanlardan bahsetmişsin ama aynı zamanda local hosttan örnek vermişsin. Olaya iki türlü bakmak gerekir..
localhostta port açmak da herhangi bir sorun yok, winsock nesnesi kullanarak herhangi bir programlama diliyle port açabilirsin ve o portu rahatlıkla dinleyebilirsin.
Trojanlara gelince, dial-up modemler gidince (com port modem diyebilrsin) yerine dsl teknolojisi geldi. Eskiden trojanların çalışma sistemi local hosttaki gibi oluyordu ancak dsl de firewall denilen bir kavram var ve trojanına şak diye port açtıramıyorsun (farklı dalları var ama onlar ileri seviye..) O yüzden reverse connection denilen bir bağlantı türü keşfedildi (zaten vardı da kullanılmıyordu) Reverse connection, yani ters bağlantı. bunu biraz açayım
ben sana bir exe yolluyorum ve open 565 desem dsl modemde 565.ci portu açtıramam çünkü modemin firewallı engeller. Modemden erişim iznini vermem gerek, NAT denilen network address translation ile hangi portları kullanacaksan onlar açılır. standart olarak bir kaç portun dışındaki tüm portlar kapalıdır.Bu portları açabilmek içinse modeme girip NAT kısmından o portu açacaksın. Sen bir hacker olarak kullanıcıya böyle yap diyemezsin ve modemin admin şifresini bilmiyorsan da bunu o şekilde yapamazsın (dediğim gibi ileri uygulamaları var onlara girmeyeceğim).Ve sonuç olarak ona bağlanamıyorsun. İşte burada ters bağlantı devreye giriyor. Mantık basit, sen ona bağlanamıyorsan o sana bağlansın :)
Ters bağlantıda hacker kendine bir sabit ip alır ve modeminden belli bir portu açar, 565 gibi bir port. Yazdığı trojanın server uygulaması da, sabitip:port şeklinde hackerın bilgisayarına bağlanır. Ip belli, port adresi belli ve o port açık.Bu şekilde bağlantı kurulur, bağlantı kurulduktan sonra, hacker arkadaş, kendi bilgisayarında ne yapabiliyorsa, yeteneği ve bilgisi varsa aynısını karşı bilgisayarda da yapabilir..
anlamadığın yerleri sorabilirsin
Dark-Coder
-
Öncelikle teşekkürler. aslında benim trojanla pek işim yok ancak yazdıgım chat sunucusunu çalıştırmam için
port açmam gerekiyor. yerel ağdaki bir bilgisayar her hangi bir portu dinlerken gelen bağlantıların dinleyen programa
ulaşabilmesi için nat ın o portun hangi yerel ip ile eşleştirildiğini bilmesi gerek aksi halde gelen isteği bloke ediyor.
isterseniz basitçe deneyebilirsiniz. bind ve listen fonksiyonları ile bir portu dinlemeye alın. eğer o port modemden
sizin yerel ip ye yönlenmiş değilse internetten birisi telnetle sizin ip ye o porttan bağlanmaya çalışırsa bağlanamaz. ama
mesela 2000 portunu ben kendime yönlendirdim isteyen benim wan ip mi ve ilgili portu kullanarak bana bsağlana bilir
mesela denemek için 81.215.97.49 ipsine 2000. porttan bağlana bilirsiniz. benim ip dir ve bu mesajı yazarken sunucu programıda açıyordum.
telnetten iki sohbet ederiz :P
telnet 81.215.97.49 2000
-
yine birşey anlamadım :) yerel ile geneli karıştırıyorsunuz. yapacağınız program nasıl program onu da anlamış değilim..
eğer local ağda port açmak istiyorsanız nat ile işiniz yok. eğer genel için bir chat programı yazmışsanız ve herkesin yararlanmasını istiyorsanız, sabit bir ip alın ve portunuzu açın yeter.
-
sana ileri seviye birşey söyleyeyim o zaman..
denedim masasına girip windows firewallı aç.istisnalar sekmesine bak. oradaki programlar otomatik olarak belli portları açtırmışlardır. Yani reverse connection yok yada herhangi birşey. Kendi yazdığın programı da o listeye eklettirirsen kullanıcının portunu açmış olacaksın ve herhangi bir şifreye gerek duymadan yada NAT lara bulaşmadan bunu yaparsın.. bunu bir çok kişi bilmez, tehlikeli birşeydir de bu. eğer istersen nasıl yapıldığını anlatabilirm
-
legion_of_doom bunu yazdı:
-----------------------------yine birşey anlamadım :) yerel ile geneli karıştırıyorsunuz. yapacağınız program nasıl program onu da anlamış değilim..
eğer local ağda port açmak istiyorsanız nat ile işiniz yok. eğer genel için bir chat programı yazmışsanız ve herkesin yararlanmasını istiyorsanız, sabit bir ip alın ve portunuzu açın yeter.
-----------------------------keşke dediğin gibi alakası olmasa :) ama var malesef.
anlattığım gibi mesela senin yerel ip 192.168.1.10, ve sen 2000 portunu dinliyorsun programla. bu durumda 2000 porta gelen bağlanma istekleri router tarafından 192.168.1.5 vs ye mi yollanacak yoksa senin pc ye mi. bunu belirlemek için port yönlendirme işi yapılır.
yani programla sadece 2000 portunu dinlemek herkesin sana bağlanması için yeterli değildir. router ler ve modemler olmadan önce öyleydi.
ha eğer bağlantı yapacaksan baska. 88.67.66.77 vs y3 80. porttan bağlan dersin. işletim sistemi sana rasgele bir port açar ve bağlanırsın.
ancak sunucu olmak okadar kolay değil.
bu arada kimse telnete bağlanmadı :))