| ||
| | #1 |
| !!! Netcat Nedİr !!!! Netcat, Telnet, Reverse Telnet, vs. Bu yazıda Unix'in efsanevi komutlarından belki de en gençlerinden birine sistem yöneticilerinin ve hackerların daim dostu NetCat'e basitçe değinmeyi amaçladım. Her ne kadar basitçe değinecek olsam networkle ilgilenenlerin işe yarar bir şeyler bulacağınıza inanıyorum bu yazıda. Özellikler Reverse Telnet birçok download meraklısının ilgisini çekecektir Unix'e aşina olanlar bilir. Unix'in temelinde yatan MO (Modus Operande; operasyon yöntemi) herbiri tek bir işi mükemmel yapan programcıkları biraraya getirmektir. Zaman zaman Emacs gibi kazalar olsa da bu mantık bu güne kadar belki de Unix'in en güçlü olduğu alan olmuştur. Her biri küçük küçük programcıklar olan basit temel Unix komutları: ls, cat, wc, yes, false, sleep vs. genellikle bir shell ortamında (sh, bash, tcsh vs.) yönlendirme komutlarıyla da biraya geldiklerinde oldukça başarılı işler ortaya koyar. En basitinden ls -al|more dediğinizde ls komutunun çıktısı takip edebileceğiniz gibi sayfa sayfa karşınıza gelir. Mesela ls komutu bir dizindeki dosyaları gösterirken, ls|wc -l komutu ls komutunun çıktısını wc (wordcount) komutuna gönderek o dizinde kaç dosya olduğunu gösterir. Görüyorsunuz iki alakasız komutla ls komutuna yeni fonksionlar kazandırdık. Birkaç kelimelik bu tür komutlarla yapabileceğiniz şeylerin ne kadar derine gidebildiğini görseniz şaşarsınız. Dahası bir shell ortamı gibi yapıştırıcı bir sahte-programlama dili ile birleştirildiğinde bu komutlar gerçekten uygulama düzeyinde işlerin altından kalkabilirler. İşte bu Unix felsefesinden gelen temel komutların hepsi onlarca yıldır kullanılmakta ve birçok ihtiyaca cevap verebilmekte. Bu temel komutlardan biri, herne kadar ağabeyleriyle karşılaştırıldığında çok genç kalsa da, yazılım mantığı ve işlevselliği açısından onları kesinlikle aratmayan bir komut: NetCat. İsminden de anlaşılacağı gibi cat komutundan yola çıkarak yazılmış bir komut. cat komutu ise Unix'in en temel komutlarından biri. Basitçe yaptığı bir dosyayı alıp standart çıktıya yönlendirmek. Tabi Unix denince bu basit tanımlı programla bir çok şey yapabilirsiniz. Bu çıktıyı bir yazıcıya yönlendirebileceğiniz gibi bir CD yazıcıya gönderip CD basabilir (büyük ihtimalle bozuk olur ya da ses kartına gönderip gürültü dinleyebilirsiniz. Tabii başka bir programla birleştirip bu sefer söz konusu dosyayı ses kartından insan sesi ile okutturabilir, dahası bu çıkan sesi audio cd olarak da basabilirsiniz. Ve işin güzel yanı bütün bunları yukardaki örnek gibi basit birkaç komutu birleştirerek yapabilirsiniz. Hemen bir örnek vermek gerekirse cat'in kuzeni olan zcat'i pratik olarak kullanabiliriz. Adından da anlaşılabileceği gibi zcat, cat komutunun zip algoritması ile bütünleştirilmiş halidir. Basitce .gz uzantılı dosyaları sanki sıkıştırılmamışlar gibi çıktıya verir. Eğer makinanızda netcat kurulu ise /usr/share/doc/netcat/README.gz diye bir dosya olacaktır büyük ihtimalle. Normalde bu bir text dosyası olsaydı bunu kolayca less README diye açabilirdik, fakat bu sıkıştırılmış bir dosya, peki şimdi ne yapacağız. Basit: zcat README.gz|less README.gz dosyasını standart çıktıya gönder (açıp) ve onu da less komutuna ver, sanki bir dosyaymış gibi. NetCat de işte bu temel Unix komutunun Network üzerinden TCP ve UDP soketlerle işleyen ve etkileşimli hali. Peki ne yapar bu NetCat? ------------------------- Öncelikle NetCat en basit anlamıyla bir telnet programıdır. Bu biraz İsviçre Çakısı bir bıçaktır demeye benziyor. Temelde hemen her türlü telnet ihtiyacı için kullanılan bir telnet programı. 1996'da Hobbit tarafından yazılan bu program bütün Unix varyantlarında bulunmakla birlikte NT başta olmak üzere diğer Windows platformlarına da aktarılmıştır edilmiştir. Dahası program geliştirilip ssh bağlantısı sağlayan cryptocat de kullanılabilir. Biz bu yazı içinde sade netcat'e bağlı kalıp örneklerimizi onun üstünde vereceğiz. Temel platform olarak Unix alınmıştır eğer başka bir platformda bunları denerseniz bilgisayarınız havaya uçabilir, kız arkadaşınız sizi terkedebilir ve belki de en kötüsü bir anda kahve bitebilir Ne yapıyorsanız kendi riskinize yapıyorsunuz, hiçbir şeyin garantisi yok; bunu hala öğrenemeyenler var o yüzden her yazıda bu satırları yazmak zorundayız Hayatınızı yaşayın ve öğrenin... Dosya Transferi ---------------- Ön Hazırlık ------------ Bu yazı boyunca yapacağımız işlemler için bir ön hazırlık yapmamız lazım. Zira yazı boyunca iki sanal makina arasındaki network bağlantısından sözedeceğiz. Bunu simüle etmek için de bazı düzenlemeler yapmamız gerekiyor. Bu makalede yazanları denemeniz için makinanızın Internet'e bağlı olması, hatta ethernet kartı olması bile gerekli değil. Unix makinaların tcp iletişim konusunda ethernet aygıtları gibi sanal bir aygıt olan lo (loopback) aygıtları bulunmaktadır. Adresi 127.0.0.1 olan bu aygıt, makinanın kendisine işaret eder. Linux altında bunun yerine 0 da kullanabilirsiniz. İşte biz de burada vereceğimiz örnekler için bu aygıtı lo'u kullanacağız. Fakat burda önemli nokta 127.0.0.1 adresine sahip lo aygıtına müdahale etmememiz gerektiği. Bu adresi değiştirmek bizim normal ağ bağlantılarımızı bozar. Bunun yerine lo:1 diye aynı aygıt üstünden yeni bir network aygiti tanımlayacağız. Bu işi eth0 veya eth1 gibi bir ethernet kartı üzerinden de yapıp bir ethernet kartına birçok IP numarası atayabilirdik. Yapacağımız işlem (tabi ki bunu root olarak yapmamız lazım) ifconfig lo:1 10.0.1.1 ifconfig lo:2 10.0.1.2 Şimdi ise ifconfig komutu ile baktığımızda şöyle bir şeyler görmemiz lazım lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:146 errors:0 dropped:0 overruns:0 frame:0 TX packets:146 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:7708 (7.5 KiB) TX bytes:7708 (7.5 KiB) lo:1 Link encap:Local Loopback inet addr:10.0.1.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 lo:2 Link encap:Local Loopback inet addr:10.0.1.2 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 Tamaam artık iki tane network aygıtımız var: lo:1 ve lo:2 bunlarla sanki bağımsız makinalarmış gibi NetCat deneyleri yapabileceğiz. Network Bağlantısı ------------------- Dediğimiz gibi netcat en basit haliyle bir telnet istemcisi gibi kullanılabilir. nc host port komutu ile sözkonusu host makinasına herhangi bir açık porttan bağlanıldığında yazdığınız her şey karşı tarafa gider, karşı tarafın her tepkisi de size gelir. Bu aradaki ağ bağlantısı kesilene kadar sürer (ki bu davranış, dosya-sonu (EOF) işareti gelene kadar bağlantıyı açık tutup bu işareti alınca kesen birçok programdan faklıdır). NetCat bir istemci olduğu gibi bir sunucudur da aynı zamanda. Şimdi iki tane konsol açalım: Bir tanesi bizim sunucumuz olacak 5600 nolu portu dinleyecek netcat -l -p 5600 Diğeri ise istemcimiz olacak ve bu porta bağlanacak: netcat 10.0.1.1 5600 Şu anda ikinci konsolda yazdığınız herşey ilk konsolda tekrarlanacaktır. İlk bağlantımızı gerçekleştirdik. Biraz deneyler yapın, entera basin, backspace basın, ctrl-d, ctrl-c yapın neler olduğunu gözlemleyin. Ctrl-C bağlantınızı kesmiş olsa gerek. Şimdi biraz daha farklı bir şey deneyeceğiz. İlk konsolda bu sefer netcat -l -p 5600 -vv yazın. İkincisindeki komut yine aynı: nc 10.0.1.1 5600 Bir farklılık gördünüz mü? listening on [any] 5600 ... 10.0.1.1: inverse host lookup failed: Unknown host connect to [10.0.1.1] from (UNKNOWN) [10.0.1.1] 33354 NetCat bu sefer size bir sürü bilgi verdi. Bunun sebebi kullandığımız -vv komutu. Bunu tek v ile kullanırsanız biraz daha az bilgi alırsınız, bazı problem çözme durumlarında çok hayat kurtarıcı olabilir bu özellik. Bu sefer ctrl-c ile kestiğimizde ise NetCat sunucu tarafında bize ne kadar veri gönderilip ne kadar veri alındığını belirtir. Böylece bir network aygıtından bir diğerine protokol, izin vs. derdi olmadan (firewall'lar elverdiğince) bağlandık. | |
| Hayat Kisa Degmez Bir Kiza !! Bazen arkada$lik bazen sevili olmakti a$k Bana gore a$k fedakarlikti Bazen susmayi bilmek bazende dogru $eyleri konu$makti A$in icinde engeller oyunlar firtinlar yoktu A$k birbirini yipratmak degildi cunku A$k sinirsizca sorgusuzca sonsuzca sevmekti blok sıteme gırıs : [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] | |
| | |
![]() |
| Tags: nedir, netcat, ___, ____ |
| Seçenekler | |
| Stil | |
| |