Instruktor: Teraz wszystko, co
zrobiliśmy do tej pory, działa tylko na stronach HTTP.
Powód, dla którego działa przeciwko
HTTP, ponieważ jak
widzieliśmy, dane w HTTP są wysyłane jako zwykły tekst.
Jest to więc tekst, który ludzie tacy jak my mogą czytać i rozumieć.
Dlatego będąc człowiekiem pośrodku,
jesteśmy w stanie przeczytać
ten tekst i jeśli chcemy, możemy go
dowolnie modyfikować.
Teraz jest to oczywiście
problem i ten problem został naprawiony w HTTPS.
Jak wiesz, większość stron internetowych korzysta z protokołu HTTPS.
Powodem, dla
którego, tak jak powiedziałem, jest bezpieczniejsza wersja HTTP
i zasadniczo sposób, w
jaki to działa, polega na tym, że dodaje dodatkową warstwę do
HTTP, z którego pochodzi S.
Jest to więc bezpieczny protokół
HTTP, a ta dodatkowa warstwa będzie szyfrować dane zwykłego tekstu
wysyłane przez HTTP.
Jeśli więc komuś uda się zostać człowiekiem pośrodku,
będzie mógł odczytać te dane,
ale dane będą bełkotliwe.
Nie będzie
czytelny dla osoby przechwytującej połączenie.
Teraz HTTPS opiera się na TLS lub SSL do szyfrowania danych, a
to jest bardzo trudne do złamania.
Dlatego, aby to ominąć,
najłatwiejszą
metodą jest zdegradowanie połączeń HTTPS do HTTP.
Skoro więc jesteśmy
człowiekiem pośrodku, możemy sprawdzić, czy cel żąda witryny
HTTPS i zamiast podawać mu wersję HTTPS tej
witryny, podamy mu wersję HTTP.
W ten sposób dane zostaną przesłane w postaci
zwykłego tekstu i będziemy mogli je odczytać dokładnie tak, jak
pokazałem w poprzednim wykładzie.
Aby to zrobić, będziemy
musieli ręcznie skonfigurować i użyć narzędzia o nazwie
SSL Strip i pokazuję, jak to zrobić na moich
bardziej zaawansowanych kursach, ale na szczęście Bettercap ma
caplet, który robi to wszystko za nas.
Sam też zmodyfikowałem ten caplet,
aby działał bardziej niezawodnie i na większej liczbie stron internetowych.
Dlatego upewnij się, że używasz niestandardowego obrazu
Kali, który zrobiłem
dla tego kursu, ponieważ domyślnie zawiera ten zmodyfikowany caplet.
Jeśli chcesz użyć oryginalnego Kali,
musisz ręcznie pobrać ten caplet i umieścić go
we właściwej ścieżce.
Używam tutaj niestandardowego Kali, więc
nie muszę tego robić.
Mogę po prostu uruchomić bettercap i używać
go, ale
zanim to zrobię, chcę tylko przejść do
katalogu domowego i zmodyfikować caplet spoof, którego używaliśmy
w poprzednich wykładach.
I chcę tylko zmienić jedną rzecz w tym.
Więc kliknę prawym
przyciskiem myszy i otworzę za pomocą Leafpad.
A to, co chcę zmodyfikować, to dodać tutaj
opcję do powąchania.
Więc jak wiesz, ta linia netto. sniff on
włączy mój sniffer
ale przed włączeniem
chcę ustawić siatkę. powąchać. lokalny na prawdziwy.
A co ta opcja
zrobi, powie Bettercap, aby sniffował wszystkie dane,
nawet jeśli uważa, że są to dane lokalne.
Powód, dla którego ustawiłem tę opcję
na true, ponieważ gdy użyjemy capletu omijania HTTPS, dane
będą wyglądać tak, jakby były wysyłane z
naszego komputera.
Więc Bettercap pomyśli, że te hasła należą
do mnie, do mojego
komputera i nie wyświetli mi ich na ekranie.
Dlatego ustawiamy to
na true, abyśmy mogli zobaczyć wszystkie
nazwy użytkowników i hasła wysyłane
na stronach internetowych, które zmienimy z HTTPS na HTTP.
Więc zamierzam to zapisać,
Control + S
i zamknąć, Control + Q
i teraz jesteśmy gotowi,
aby użyć tego capleta i zobaczyć, jak możemy zmienić
HTTPS na HTTP i ukraść hasła ze
stron logowania, które domyślnie używają HTTPS .
Więc pójdę do mojego terminala
i użyję Bettercap dokładnie tak, jak
używałem go wcześniej.
Więc robimy Bettercap, nazwę programu.
Nadajemy mu nasz
interfejs po argumencie iface.
Używamy argumentu
caplet, aby określić caplet, który
ma zostać uruchomiony, gdy tylko
uruchomimy program i uruchomimy
caplet fałszujący, ten, który zbudowaliśmy w
poprzednim wykładzie, który uruchomi polecenie fałszowania
ARP i uruchomi sniffer dla nas.
Więc wcisnę Enter.
Jak widać, wszystko zostało wykonane zgodnie z oczekiwaniami.
Jeśli pomożemy,
zobaczymy wszystkie działające moduły
i mamy arp. parodia i szperacz
biegnący z rozpoznaniem i sondą.
Więc to jest dokładnie to, czego chcieliśmy od naszej kapletki.
Przede wszystkim więc kaplet HSTS bypass
jest jednym z wielu kapletów, które oferuje Bettercap.
Jeśli chcesz wymienić wszystkie te kaplety,
możesz zrobić kaplety. show i jak
widzisz,
otrzymasz listę wszystkich capletów,
które posiadasz i ich lokalizację w systemie.
Teraz caplet, który chcesz uruchomić, to caplet hstshijack.
Ten tutaj.
Aby uruchomić dowolny
z tych capletów, wystarczy dosłownie wpisać jego nazwę.
I jak zwykle możesz użyć karty, aby automatycznie uzupełnić.
Aby uruchomić nasz caplet tutaj,
wystarczy dosłownie wpisać hs i nacisnąć
Tab, a jak
widać, automatycznie uzupełni się dla mnie
i wpisze nazwę capletu.
Teraz, jeśli nacisnę Enter, załaduje caplet ze
wszystkimi jego opcjami
i uruchomi go za mnie.
Jak widać, ponieważ nie widzimy żadnych
błędów, oznacza to, że wszystko zostało wykonane zgodnie z oczekiwaniami.
Przejdźmy więc do komputera z systemem
Windows, przejrzyjmy kilka stron
HTTPS i zobaczmy, czy możemy sniffować dane, nazwy
użytkowników, hasła i adresy URL, które wprowadzają na swoim komputerze.
Więc mam tutaj swój komputer z systemem Windows.
Mam zainstalowaną przeglądarkę Chrome.
To najnowsza wersja przeglądarki Chrome w
momencie nagrywania tego wykładu.
Naprawdę dobrym pomysłem przed wypróbowaniem wszystkich tych rzeczy
jest usunięcie danych przeglądania, ponieważ
strony internetowe, do których spróbujemy uzyskać dostęp, mogą być
buforowane i mogą być po prostu załadowane
z pamięci podręcznej.
Stanie się tak tylko wtedy, gdy będziesz
wielokrotnie odwiedzać tę samą witrynę, głównie podczas testowania.
Dlatego naprawdę dobrym
pomysłem jest wciśnięcie Control + Shift
+ Delete i kliknięcie na wyczyść dane przeglądania.
Upewnij się, że wszystko to jest kliknięte.
Upewnij się, że jest ustawiony
na cały czas i kliknij Wyczyść, aby usunąć wszystko.
Przejdźmy dalej i przejdźmy do strony internetowej korzystającej
z HTTPS.
Dobrym przykładem byłby więc LinkedIn. com.
I idealnie.
Jeśli spojrzysz tutaj
na górę, zobaczysz, że witryna ładuje się
przez HTTP, a nie przez HTTPS.
Dlatego będziemy mogli zobaczyć wszystko, co użytkownik wprowadzi w
tych polach.
Więc podajmy nazwę użytkownika.
Ustawmy to na zaid@zsecurity. org.
A hasło wpiszę jako 1234567890.
To naprawdę nie ma znaczenia.
Możesz użyć dowolnego hasła.
I wcisnę Enter, aby się zalogować.
To jest złe, więc oczywiście otrzymujemy komunikat o
błędzie, ale jeśli wrócimy
do Kali, jak widać, przechwytujemy wszystkie
te dane, ponieważ nie są już wysyłane przez HTTPS.
Jest wysyłany przez HTTP.
A jeśli zajrzysz
tutaj, zobaczysz, że przechwyciliśmy dane logowania.
Jest wysyłany na LinkedIn. com.
Wysłane na ten konkretny adres URL, adres URL logowania, a
nazwa użytkownika to zaid@zsecurity. org.
A hasło to 123 aż do 90.
Więc to jest naprawdę dobre.
Przejdźmy dalej i przetestujmy kolejną witrynę HTTPS.
Przejdźmy do StackOverflow. com.
Ponownie widać na górze,
że ładuje się przez HTTP, a nie HTTPS.
Więc kliknę na Zaloguj się.
I znowu wstawię mój e-mail.
Zaid@zsecurity. org.
I wpiszemy hasło jako 1234567890.
Wciśnij Enter.
I chodźmy znowu do maszyny Kali.
Tym razem przewiń w dół, bo utknęliśmy na szczycie.
I doskonale, widać, że mamy tutaj żądanie POST.
Jest wysyłany na ten konkretny adres URL.
Ponownie możesz zobaczyć login w adresie URL.
Możesz zobaczyć samą stronę.
Przepełnienie stosu. com.
A jeśli przewiniemy trochę dalej, zobaczymy, że
nazwa użytkownika to zaid@zsecurity. org i ponownie
hasło, 123, aż do 90.
Więc to jest naprawdę dobre.
Teraz możemy zmienić dowolne połączenie HTTPS na
HTTP, o ile docelowa witryna
korzysta z protokołu HTTPS, a nie HSTS.
Tak więc ta metoda będzie działać na
prawie wszystkich witrynach korzystających z protokołu HTTPS, z wyjątkiem naprawdę popularnych
witryn, takich jak Facebook, Twitter i tak dalej.
Pozwól więc, że pokażę ci szybki przykład.
Jeśli pójdę tutaj i spróbuję wejść na Facebooka. com, zobaczysz, że
witryna została załadowana przez HTTPS, a
nie przez HTTP, mimo
że poprawnie skonfigurowaliśmy nasz caplet i chociaż jesteśmy
w stanie obniżyć poziom połączeń HTTPS na wielu
stronach internetowych,
takich jak LinkedIn i Stack Overflow.
Dzieje się tak, ponieważ Facebook używa HSTS, który
jest nieco trudniejszy do ominięcia.
W
następnym wykładzie porozmawiamy o tym, czym jest HSTS,
dlaczego trudno jest go ominąć
i jak go częściowo ominąć, a mimo
to uzyskać nazwy użytkownika i hasła
z witryn, które go implementują,
takich jak Facebook, Twitter i tak dalej.