Tek Mesajı Görüntüle
Old 09-01-2005, 08:24 AM   #3
jackal
Geçerken Uğradım
 
Üyelik Tarihi: Aug 2005
Mesajlar: 99
Teşekkür Etme: 1
Thanked 50 Times in 23 Posts
Üye No: 5
İtibar Gücü: 1497
Rep Puanı : 2460
Rep Derecesi : jackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond reputejackal has a reputation beyond repute
Cinsiyet :
Varsayılan Ynt: Hacking Nedir

.4.4.1 inetd(EN BABA DAEMON

==============================

Şimdi ilk olarak daemon nedir onu bir açıklayalım. Daemonlar arka planda çalışan ve başka process'leri dinleyen programlardır. Bunları DOS'taki TSR(Terminate and Stay Resident) programlara benzetebilirsiniz. Burada bizim dinlediğimiz processler connection request'lerdir.

Şimdi herşeyi kısaca toplamak gerekirse; siz bir server'a bağlanmak istersiniz. Ancak bağlanırken bir port numarası da belirtmeniz gerekir. Çünkü her portu dinleyen başka bir process bulunmaktadır. Bu da -birazdan göreceğiz- aslında hangi protokolle haberleşmek istediğinizi belirtmektedir.

Bütün bu processlerin ayrı ayrı çalışması server'ın kaynaklarını yiyip bitirebilir. O yüzden bu processlerin hepsinin kendi portunu dinlemesindense bir tane ana daemon yapılmış ve dışarıdan gelen bütün istekleri dinlemesi sağlanmıştır. Bu daemon kendisine bir istek geldiği zaman isteği inceler ve onunla ilgili olan process'i çalıştırıp iletişimin kurulmasını sağlar. Yani inetd aslında bir nevi trafik polisliği yapmaktadır.

Bunun için inetd server'ın açılması ile beraber çalıştırılır ve ancak kapatılırken durdurulur. UNIX'de /etc dizinin altındaki inetd.conf dosyası ile inetd daemonunun hangi process'leri çalıştıracağını ayarlayabilirsiniz.

3.4.4.2 PORTLAR

===============

Sanırım yukarıdaki açıklamalardan portların ne olduğu hakkında bir fikriniz oldu. Son bir örnek vererek bu konuyu da kapatalım. Bir server üzerinde binlerce port bulunur. Server üzerinde çalışan ve network üzerinden iletişim sağlayacak olan programlar kendilerine atanmış özel portları dinlerler. Bir kullanıcı da bu server üzerindeki bir servise erişmek istiyorsa o server'ın IP adresini ve o servisin dinlediği port numarasını gönderir. Böylece o servisle iletişim kurmuş olur. Örneğin web server'lar genel olarak 80 numaralı portu dinlerler. Hepimizin kullandığı web browser'lar (yani burada client programlar) aslında adresini yazdığımız server'ın 80. portuna bir istek göndermektedir. Aşağıda şu an günümüzde standart olmuş belli başlı servislerin dinlendiği port numaralarını veriyorum.

FTP (File Transfer Protocol) -> 21

Telnet -> 23

SMTP (Simple Mail Transfer Protocol) -> 25

Gopher (Artık kalmadı ya neyse -> 70

Finger -> 79

Hypertext Transfer Protocol -> 80

Network News Transfer Protocol -> 119

*** Evet şimdi şöyle bir toparlayalım. TCP/IP suitini iki ana bölüme ayırmıştık. Öncelikle belli başlı network level prtokolleri inceledik. TCP protokolünde portların tanımını yaptık ve bu portları bazı servislerin dinlediğinden bahsettik. İşte yukarıdaki bahsedilen bütün servisler application level protokollerdir. Yani kullanıcının gözlemleyebildiği protokollerdir. Şimdi yukarıdaki tablodaki protokolleri kısaca inceleyelim.

3.4.5. TELNET

=============

Telnet genellikle UNIX makinelerde yaygın olarak kullanılmaktadır. Kullanıcıya bir terminal arayüzü sunar. Bu protokol sayesinde uzaktaki bir server'a login olabilir ve o makine üzerinde sanki o makineyi siz kullanıyormuş gibi komutlar çalıştırabilirsiniz. Genelde BBS(Bulletin Board System)'lerin arayüzüne çok benzemektedir. Ayrıca databaselere çok mükemmel bir terminal tabanlı arayüz sağlamaktadır. Şu an ABD'deki üniversitelerin %80'nin kütüphane kayıtlarına telnet üzerinden ulaşılabilmektedir.

Günümüzde GUI(Graphical User Interface) genelde ön plana çıksada bir çok sebepten ötürü telnet uzun yıllardır kullanılmaktadır. Bu sebeplerden bir tanesi text-temelli olduğu için network kaynaklarından çok az harcamaktadır. Ayrıca telnet'in güvenliğini sağlamak da çok basit bir iştir. Secure Shell gibi bu işi gerçekleştiren programlar mevcuttur.

3.4.6. FTP (FILE TRANSFER PROTOCOL)

===================================

FTP bir bilgisayardan diğer bir bilgisayara dosya transferi için standart prokoldür. FTP sayesinde dosyaları download ve upload edebilirsiniz.

NOT:Bu protokollerin daha fazla açıklamaya ihtiyacı olduğunu zannetmiyorum çünkü internetle uğraşan herkesin bu konuda temel bilgisi vardır. FTP ve diğer protokoller de yukarıda temellerini anlattığımız client/server tipinde çalışmaktadır.

3.4.7. GOPHER

=============

Gopher ilk çıkan prokollerden birisidir ve aslında HTTP'den sonra pabucu dama atıldı denilebilir. Genellikle dosya sistemi şeklinde bir ara yüze sahiptir.

3.4.8. HTTP (HYPERTEXT TRANSFER PROTOCOL)

=========================================

Herhalde en çok bilinen protokol budur. Öncelikle HTTP ve Gopher'ın Telnet'ten farkını söylemek istiyorum. Bir server'la telnet bağlantısı kurduğunuz zaman sanki gerçekten o bilgisayarın başında oturuyormuşsunuz gibi o bilgisayara login olursunuz ve çalıştırdığınız her komut server'ın kaynaklarından bir miktar harcar. Ancak HTTP ve Gopher'da durum farklıdır, login olan bir user yoktur. Server kendisine istek geldiği zaman client'a gerekli datayı gönderir o kadar, sadece bu esnada server'ın kaynakları kullanılmış olur. Bu sayede kullanıcı ile server'ın arasına bir mesafe koyulmuş olunur.

3.4.9. NNTP (NETWORK NEWS TRANSFER PROTOCOL)

============================================

USENET'i sanırım hepiniz duymuşsunuzdur. İşte bu protokol sayesinde bir haber grubuna bağlanabilir ve oradan dilediğiniz article'ı okuyabilirsiniz. Dilerseniz sizde bir mesaj postalayabilirsiniz.

3.4.10 SONUÇ

============

Sanırım artık sizde anladınız. TCP/IP=internet demek. Bu bölümde TCP/IP'nin temel bölümlemesini yaptık. Bunları teker teker inceledik. Unutmayın ki burada sadece belli başlı protokollerden bahsettik, daha yüzlerce protokol mevcut ve bunların bir çoğunda da hatalar var...
4.1. SCANNER NEDİR?

===================

Scanner'lar bir hacker'ın ilk olarak kullandığı programların başında gelir ve en önemli silahlarından birisi sayılabilir. Scannerlar gerçekte TCP/IP portlarına ve servislerine saldırırlar ve onlardan gelen cevapları kaydederler (Belli başlı servislerin bazı belli portları dinlediğini önceki bölümde anlatmıştık). Bu sayede hedefiniz hakkında bir çok önemli bilgiye ulaşırsınız. Ayrıca scannerlar hedefteki bazı güvenlik açıklarını da ortaya koyabilirler. Scannerların kontrol ettiği çeşitli güvenlik delikleri vardır. Bu delikleri yamamamış sistemleri bulmak için çok büyük domainler taranabilir. Tabii deliği bulduktan sonra içeri sızmayı becermek size kalıyor.

Bir scanner karşıdaki hedef bilgisayarı ya da networku bulabilmeli ve üzerinde hangi servislerin çalıştığını çıkartabilmelidir. Son basamak olarak da bu servisleri bilinen açıklar için test etmelidir.

Burada size detaylı olarak scannerları anlatmayacağım genel olarak ne yaptıklarından, hangi amaçlar için kullanılabileceklerinden en son olarak da en ünlü bir kaç scanner'ı tanıtmaya çalışacağım. Sonuçta bu programları internetten indirip kendi içindeki readme'lerini okuyorak öğrenmeniz gerekiyor.

4.2. HEDEFİ NASIL BULACAĞIZ?

============================

1995 yılında Silicon Graphics (SGI) WebForce modeli adında bir bilgisayar piyasa sürdü. SGI'ların üzerinde bir çeşit UNIX olan IRIX çalışmaktadır. Bu makinaları özel kılan ise DEFAULT olarak bazı temel print işlerinin yapılması için şifre gerektirmeden "lp" olarak login olabilmenizdir. Eğer bir makineye login olup shell'e düştüyseniz zaten işin büyük kısmı bitmiş demektir.

Böylece internetteki crackerler WebForce makinalarını aramaya başladılar. WebForce adminlerinin çoğu sistem güvenliğinden pek anlamadığından ftp dizinlerini (world readable) bırakıyorlardı. Yani bu da kolayca sistem loginlerinin ve şifrelerin tutulduğu /etc/passwd dosyalarına erişebilmeniz demek. altavista.digital.com gibi arama motorları bu dosyaları da listelemektedir. WebForce modeline özel bazı kelimeleri veya program adlarını kullanan querylerle bu makinelerin bir listesini elde edebilirsiniz. Bu bir yöntem, bazılarıda internic.net'deki whois servisini kullanarak bilgisayarların kayıtlı olduğu database'i araştırdı. Ancak en güvenilir yöntem bir scanner kullanmak. Scannerımızın yapacağı iş kendisine parametre olarak verilen ip numaralarına telnet bağlantısı yapmaya çalışmak ve eğer bağlantı kurabilirse karşı taraftan gelen cevabı bir text dosyasına saklamak. Bu çok özel bir durum ancak scannerların muhtemel bir hedefi bulmakta sağladığı kolaylığı göstermesi açısından güzel.

4.3. NETWORK UTILITIES

======================

UNIX'lerdeki bazı komutlar size çok önemli bilgiler sağlayabilirler. Aşağıdakilerin hepsi temel olarak UNIX programlarıdır ancak bu komutların diğer işletim sistemleri için olan çevrimleri(porting) de vardır. Webde küçük bir araştırma ile bu tip bir çok programa ulaşabilirsiniz. UNIX kullanıyorsanız bu komutların manuel page'lerini okuyarak parametrelerini öğrenmenizi ve herhangi bir domain üzerinde deneyip neler elde ettiğinizi kontrol etmenizi tavsiye ederim.

İlk olarak host komutunu ele alalım. Bu komutla bir networkle ilgili bir çok bilgiye sahip olabilirsiniz. Mesela hangi işletim sistemleri hangi makineler üzerinde çalışıyor bunu öğrenebilirsiniz.

Traceroute komutu ise bir makinenin yerini belirlemek için kullanılır. İsminden de anlaşılacağı gibi traceroute gönderilen datanın karşı makineye ulaşmak için dolaştığı domainlerin adını gösterir. Böylece sonuç olarak elimizde sadece IP varsa bunu coğrafik olarak konumlandırmak traceroute ile mümkün olmaktadır.

rusers ve finger komutları bir network üzerindeki kullanıcılar hakkında bilgiler verir. Böylece finger'ladığınız bir kullanıcının o an bağlı olup olmadığını da öğrenebilirsiniz.

Eğer hedefin exported dizinleri varsa showmount komutu -e parametresi ile kullanılarak bu dizinler mount edilebilir.

4.4. SCANNERLAR

==============

Şimdi belli başlı scannerlara kısaca bir göz atalım.

4.4.1. NSS(NETWORK SECURITY SCANNER)

==================================

NSS'yi diğer scannerlardan ayıran en büyük özelliği Perl'de yazılmış olmasıdır. Bu da C Compilerına ihtiyacınız anl***** geliyor. Bir çok yerde C Compiler'ına erişim hakkınız kısıtlanmış olabilir. Bir çok scanner programı da C kodu şeklinde dağıtılıyor. Yani kullanabilmek için önce compile etmeniz gerekiyor. Perl ise CGI programlamasında çok kullanılan bi program olduğundan genelde erişim izni verilir. Bu yüzden NSS çok popüler bir seçimdir.

NSS aslında DEC platformu için yazıldığı söyleniyor. Ancak üzerinde Perl 4 veya daha yukarısı oaln bilgisayarlarda kucuk (veya buyuk değişiklikler yaparak çalıştırılabiliyor. NSS'nin en büyük özelliği çok hızlı olması. yaptığı genel kontroller şunlar:

* sendmail

* Anon FTP

* TFTP

* Host.equiv (root olmanız gerek)

* Xhost

NSS genellikle tar.gz olarak şıkıştırılmış dağıtılmaktadır. Ancak açtığınız direk çalıştıramazsınız bazı enviroment variable'ları ayarlamanız gerekiyor. ($TmpDir,$YPX,$PING,$XWININFO). Ayrıca scan işlemini ağ üzerinde bir çok makineye yayabilirsiniz.

4.4.2. STROBE(THE SUPER OPTIMIZED TCP PORT SURVEYOR)

==================================================

Adından da anlaşılacağı gibi Strobe bir makinenin TCP portlarını scan edip butun açık portları bildirmektedir ve bayağı hızlıdır. Strobe bir makinede hangi servislerin çalıştığını söylemektedir.

4.4.3. SATAN(SECURITY ADMINISTRATOR'S TOOL FOR ANALYZING NETWORKS)

================================================== ==============

SATAN büyük ihtimalle en ünlü scannerdır. Aslında bunu da hakediyor. Yazılımında C ve Perl kullanılmış. SATAN'ı farklı kılan bir özelliği de user-friendliness için X ortamında HTML bir arayüze sahip olması. Programın kalitesi yazarlarından gelmekte: Dan Farmer (COPS'un yazarı) ve Weitse Venema(TCP Wrapper'ın yazarı-Firewall mantığının atası).

SATAN remote hostu bilinen güvenlik delikleri için arar ayrıca:

* FTPD delikleri ve yazılabilir FTP dizinleri

* NFS delikleri

* NIS delikleri

* RSH delikleri

* sendmail

* X server delikleri

Sizin farkına vardığınız gibi bunların hepsi bilinen deliklerdir ve hepsi elle de yapılabilir bu scannerların yaptığı bu işlerin otomatikleştirmektir.

4.4.4. JAKAL

==========

Jakal bir stealth scannerdır. Bu scanner sayesinde bir firewall'un arkasındaki domaini iz bırakmadan tarayabilirsiniz. Stealth scannerlar "half scan" metodunu kullanılırlar. Bu metodda karşıdaki bilgisayarla SYN|ACK transaction'ınını başlatır ama asla bitirmez!

4.4.5. IdentTCPscan

=================

IdentTCPscan özel bir scannerdır. Bu program sayesinde karşıdaki bilgisayarda çalışan servislerin hangi kullanıcı olarak çalıştıdığını bulabilirsiniz. Yani process'lerin UID'sini gösterir. Örneğin 80. portun karşısında Userid:root yazıyorsa bu o site için büyük bir tehlike demektir. Çünkü bazı CGI-bin dosyalarındaki açıklar kullanılarak bir cracker sadece bir browser kullanarak karşı tarafta istediği komutu çalıştırabilir(phf bunun en güzel örneğidir. Ancak şu an hemen hemen bütün sitelerde bu delik yamanmış durumda, boşuna uğraşıp zaman kaybetmeyin).
jackal çevrimdışı   Alıntı ile Cevapla