Odszyfrowanie ruchu SSL/TLS z Wireshark

Odszyfrowanie ruchu SSL/TLS z Wireshark

W tym artykule skonfigurujemy i przechwytujemy HTTPS Linux (szyfrowany protokół HTTP) Pakiety w Wireshark. Następnie spróbujemy zdekodować szyfrowania SSL (Secure Socket Layer).

Zauważ, że: odszyfrowanie SSL /TLS może nie działać poprawnie za pośrednictwem Wireshark. To tylko próba, aby zobaczyć, co jest możliwe, a co nie jest możliwe.

Co to są SSL, HTTPS i TLS?

W rzeczywistości wszystkie te trzy techniczne terminy są powiązane. Kiedy używamy tylko HTTP (Protokół transferu hipertekstu), wówczas nie stosuje się bezpieczeństwa warstwy transportowej i możemy łatwo zobaczyć zawartość dowolnego pakietu. Ale gdy używane jest HTTPS, możemy zobaczyć TLS (Bezpieczeństwo warstwy transportowej) służy do szyfrowania danych.

Po prostu możemy powiedzieć.

Http + (ponad) tls/ssl = https

Uwaga: HTTP wysyła dane przez port 80, ale HTTPS używa portu 443.

Zrzut ekranu dla danych HTTP:

Zrzut ekranu dla danych HTTPS:

Ustaw Linux do opisu pakietu SSL

Krok 1
Dodaj poniżej zmienną środowiskową wewnątrz .plik bashrc. Otworzyć .plik bashrc i dodaj poniższy wiersz na końcu pliku. Zapisz i zamknij plik.

Eksportuj sslkeylogfile = ~/.Key SSL.dziennik

Teraz wykonaj poniższe polecenie, aby uzyskać efekt.

Źródło ~/.Bashrc

Teraz wypróbuj poniższe polecenie, aby uzyskać wartość „Sslkeylogfile ”

Echo $ sslkeylogfile

Oto zrzut ekranu dla wszystkich powyższych kroków

Krok 2
Powyższy plik dziennika nie jest obecny w Linux. Utwórz powyższy plik dziennika w Linux. Użyj poniższego polecenia, aby utworzyć plik dziennika.

Dotknij ~/.Key SSL.dziennik

Krok 3
Uruchom domyślnie zainstalowany Firefox i otwórz dowolną witrynę HTTPS, jak Linuxhint lub upwork.

Tutaj wziąłem pierwszy przykład jako UPWork.com.

Po otwarciu witryny Upwork w Firefox, sprawdź zawartość tego pliku dziennika.

Komenda:

cat ~/.Key SSL.dziennik

Jeśli ten plik jest pusty, Firefox nie używa tego pliku dziennika. Zamknij Firefox.

Postępuj zgodnie z poniższymi poleceniami, aby zainstalować Firefox.

Polecenia:

sudo add-apt-repozytory PPA: Ubuntu-Mozilla-Daily/Firefox-Auurora
Sudo apt-get Aktualizacja
sudo apt-get instaluj Firefox

Teraz uruchom Firefox i sprawdź zawartość tego pliku dziennika

Komenda:

cat ~/.Key SSL.dziennik

Teraz możemy zobaczyć ogromne informacje, takie jak poniższy zrzut ekranu. Jesteśmy gotowi iść.

Krok 4
Teraz musimy dodać ten plik dziennika wewnątrz Wireshark. Śledź poniżej ścieżki:

Wireshark-> edytuj-> Preferencje-> protokół-> ssl-> ”tutaj podaj główny tajny plik dziennika”.

Śledź poniższe zrzuty ekranu, aby uzyskać wizualne zrozumienie.

Po wykonaniu tych wszystkich ustawień, rób OK i uruchom Wireshark na wymaganych interfejsach.

Teraz konfiguracja jest gotowa zweryfikować deszyfrowanie SSL.

Analiza Wireshark

Po rozpoczęciu przechwytywania Wireshark umieść filtr jako „SSL„Tak więc tylko pakiety SSL są filtrowane w Wireshark.

Spójrz na poniższy zrzut ekranu, tutaj widzimy, że HTTP2 (HTTPS) jest otwarty dla niektórych pakietów, które były wcześniej szyfrowaniem SSL/TLS.

Teraz możemy zobaczyć zakładkę „Odszyfrowana SSL” w protokole Wireshark i HTTP2 są otwarte. Zobacz poniższy zrzut ekranu, aby uzyskać wskaźniki.

Zobaczmy różnice między „Przed włączeniem pliku dziennika SSL” i „po włączeniu pliku dziennika SSL” dla https: // linuxhint.com.

Oto zrzut ekranu dla pakietów Linuxhint, gdy „dziennik SSL nie był włączony”

Oto zrzut ekranu dla pakietów Linuxhint, gdy „włączono dziennik SSL”

Łatwo widzimy różnice. Na drugim zrzucie ekranu możemy wyraźnie zobaczyć adres URL, który był żądany przez użytkownika.

https: // linuxhint.com/bash_scripting_tutorial_beginners/\ r \ n

Teraz możemy wypróbować inne strony internetowe i obserwować, czy te metody działają, czy nie.

Wniosek

Powyższe kroki pokazują, jak skonfigurować Linux do odszyfrowania szyfrowania SSL/TLS. Widzimy, że działało dobrze, ale niektóre pakiety są nadal szyfrowane SSL/TLS. Jak wspomniałem wcześniej, może nie działać dla wszystkich pakietów lub całkowicie. Mimo to dobrze jest nauczyć się deszyfrowania SSL/TLS.