[Wykładowca] Teraz, w tym wykładzie i kilku
następnych wykładach, chcę zacząć mówić o Człowieku w środkowych atakach.
Są to ataki, które
możemy przeprowadzić tylko wtedy, gdy jesteśmy
w stanie przechwycić komunikację między dwoma urządzeniami.
Stąd nazwa Man In The Middle Attacks.
Tak więc normalna komunikacja wyglądałaby tak,
gdy urządzenie komunikuje się bezpośrednio z bytem, z
którym chce się komunikować.
W grze Man In
The Middle Attack haker byłby w stanie
ustawić się na
środku połączenia, pozwalając mu przechwycić i
zobaczyć wszystko, co jest przenoszone między dwoma urządzeniami.
Istnieje wiele sposobów na osiągnięcie tego.
Pierwszą metodą, którą omówimy w
tym kursie, jest użycie ataku fałszowania ARP.
Fałszowanie ARP pozwala nam przekierowywać przepływ pakietów,
więc zamiast przepływu, jak pokazano na tym
schemacie, przepływałby przez mój własny komputer.
Tak więc wszelkie wysłane zapytania i odpowiedzi otrzymane przez
komputer docelowy będą
musiały przepływać przez komputer hakera.
Oznacza to, że wszelkie wiadomości, strony internetowe, obrazy,
nazwy użytkowników, hasła wprowadzone przez cel będą musiały
przepływać przez mój komputer.
To pozwala mi czytać te informacje,
modyfikować je lub upuszczać.
Jak widać,
jest to bardzo poważny i bardzo silny atak.
A powodem tego jest
to, że ARP nie jest bardzo bezpieczny.
Teraz, aby zrozumieć, jak
to działa, musisz mieć podstawową wiedzę na temat ARP.
ARP oznacza Address Resolution Protocol i jest
to bardzo prosty protokół,
który pozwala nam łączyć adresy IP z adresami MAC.
Załóżmy na przykład, że mamy tutaj sieć, mamy urządzenia
A, B, C i D.
Wszystkie są podłączone do tej samej sieci.
Mamy tutaj router dla tej sieci.
Widzimy, że każde urządzenie ma adres IP i adres MAC.
Załóżmy, że urządzenie A musi komunikować
się z urządzeniem C.
Teraz założymy
również, że urządzenie A zna adres IP urządzenia C.
Ale jak dotychczas wiemy,
aby te urządzenia mogły komunikować się
w tej samej
sieci, urządzenie A musi znać adres MAC urządzenia C.
Ponieważ, jak
powiedzieliśmy wcześniej, komunikacja w
sieci odbywa się przy użyciu
adresu MAC, a nie adresu IP.
Jest to więc całkowicie normalna sytuacja, w której klient
musi znać adres MAC innego
klienta, aby mógł się z nim komunikować.
Więc co robi ten klient, używa protokołu ARP.
Co mam przez to na myśli?
Zasadniczo wysyła wiadomość rozgłoszeniową.
Wysyła więc żądanie ARP do wszystkich klientów w sieci z informacją, kto
ma 10. 0. 2) 6?
Teraz wszystkie te urządzenia zignorują ten pakiet, z wyjątkiem
tego, który ma ten adres IP,
czyli 10. 0. 2) 6, czyli urządzenie C.
Tak więc wszystkie urządzenia nic nie
zrobią, a jedynym urządzeniem, które odpowie, jest
urządzenie C wysyłające odpowiedź ARP.
W tej odpowiedzi urządzenie C powie, że mam 10. 0. 2) 6, mój
adres MAC to ten adres MAC.
W ten sposób urządzenie A będzie miało adres MAC urządzenia C,
a teraz będzie mogło komunikować się z
urządzeniem C i wykonywać wszelkie zadania, które chciałby wykonać na początku.
Cała ta
komunikacja jest ułatwiona dzięki protokołowi ARP.
Jak powiedziałem, protokół ARP
jest, jak widać, bardzo prostym protokołem.
Wszystko, co ma, to żądania i odpowiedzi, a
cały ten cel polega
na tym, że możemy łączyć adresy IP z adresami
MAC lub tłumaczyć adresy IP na adresy MAC.
Tak więc urządzenie może wysłać żądanie z prośbą o adres
MAC, a następnie urządzenie, które ma
adres MAC, odpowie na swój adres MAC.
Każdy komputer ma więc tabelę ARP, która łączy
adresy IP w tej samej sieci z
ich adresami MAC.
Więc jeśli pójdę na maszynę Kali i wykonam ARP-a, możesz zobaczyć
moją tabelę ARP tutaj i jak widać,
łączy ona adres IP routera z adresem MAC routera.
Teraz to samo, jeśli pójdę
do komputera z systemem Windows i uruchomię CMD i wykonam ARP-a, zobaczysz
ponownie, że łączy on adres IP routera z jego adresem MAC.
Tak więc to
urządzenie, za każdym razem, gdy musi wysłać dowolne żądanie do
Internetu, przekieruje je na ten adres MAC, na adres
MAC powiązany z adresem IP routera, który wynosi
10. 0. 2) 1.
Teraz tę wartość można łatwo zmodyfikować,
wykorzystując protokół ARP.
Wróćmy więc do moich
diagramów, a tutaj mamy schemat typowej sieci i widać,
że normalnie każde urządzenie podłączone
do sieci, jeśli chce wysłać żądanie,
wyśle je do routera,
router przejdzie i wyśle to żądanie
do Internetu, zaczeka na odpowiedź, a następnie prześle
odpowiedź do
urządzenia, które o nią poprosiło.
Więc jeśli haker,
ofiara lub inny komputer
w sieci
chciał wysłać żądanie, wyśle je bezpośrednio do routera.
Teraz możemy wykorzystać protokół ARP i wysłać
dwie odpowiedzi ARP, jedną
do bramki, a drugą do ofiary.
Powiemy bramie, że
jestem pod adresem IP ofiary, więc
punkt dostępu zaktualizuje swoją tablicę ARP i
skojarzy adres IP celu z moim
adresem MAC.
Zrobimy to samo z
ofiarą, więc wyślemy jej odpowiedź ARP.
Powiemy, że mam 10 lat. 0. 2) 1,
więc zaktualizuje swoją tabelę ARP i powiąże
adres IP 10. 0. 2) 1 z własnym adresem MAC.
W rezultacie ofiara pomyśli, że jestem
routerem, a router pomyśli, że
jestem ofiarą.
Więc za każdym razem, gdy ofiara chce wysłać jakieś
żądania, będą musiały przepłynąć przez mój
komputer i przekażę je routerowi.
A potem za każdym razem, gdy punkt
dostępu lub router chce wysłać odpowiedzi, pójdą na moją
maszynę, ponieważ myśli, że
jestem ofiarą, a następnie przekażę ją ofierze.
Jak więc widzisz,
stawia mnie to w środku połączenia i
daje mi tyle mocy, a my
zobaczymy wszystkie rzeczy, które możemy zrobić, kiedy
staniemy się Człowiekiem w środku.
Głównym powodem, dla którego możemy to
wszystko zrobić, jest to, że ARP nie jest bezpieczny.
Ponieważ przede wszystkim klienci mogą akceptować odpowiedzi, nawet
jeśli nie wysłali żądania.
Tak jak powiedziałem wcześniej,
wyślemy odpowiedź do punktu dostępu i
odpowiedź dla ofiary,
informując ją, że jestem pod konkretnym adresem IP
bez pytania, kim jestem lub
bez pytania o ten adres IP.
Po prostu wyślę
odpowiedź, a oni i tak ją zaakceptują.
Nie tylko,
no cóż, nie zamierzają też zweryfikować, kim jestem.
Więc kiedy mówię, że mam 10 lat. 0. 2) 7 Najwyraźniej
nie jestem pod tym adresem IP,
ponieważ ten komputer jest pod tym adresem IP.
Ale punkt dostępu zaufa temu i
faktycznie zaktualizuje swoją tabelę ARP na podstawie
przesłanych przeze mnie informacji.
To samo dotyczy ofiary.
Powiem, że mam 10 lat. 0. 2) 1 to
zaufa i uwierzy w to, nawet
jeśli wyraźnie nie jestem pod tym adresem IP, ponieważ
punkt dostępu znajduje się pod tym adresem IP.
Są to więc dwie główne słabości protokołu ARP, które
pozwalają nam przeprowadzać ataki fałszowania ARP.