Wireshark ilə brauzerlərin TLS trafikinin deşifrələnməsi

Wireshark ilə brauzerlərin TLS trafikinin deşifrələnməsi

 Çoxlarınıza şəbəkə trafikinin analizatoru olan Wireshark proqramı tanışdır. Bu proqram şəbəkənin iş prinsipini öyrənməkdə, problemlərin diaqnostikasını səmərələşdirməkdə və proqramların test edilməsində köməkçi olur.

 1

 Wireshark istifadəçilərinin problemlərindən biri də şifrələnmiş trafikin(Məsələn: TLS) analizi zamanı çətinliklərdir.

Əvvəllər gizli açara malik olduqda Wireshark proqramı ilə şifrələnmiş SSL\TLS trafiki ələ keçirmək mümkün idi. Bu yalnız RSA şifrələnməsi istifadə edilən zaman mümkün idi. Hal hazırda, protokollarda “Perfect Forward Secrecy”  tətbiq edildiyindən hər şifrələmə sessiyası zamanı yeni sessiya açarları generasiya olunur və sessiyanın sonunda məhv edilir. Bu səbəbdən gizli açara malik olduqda belə, trafiki deşifrələmək mümkün olmur.

İkinci problem, gizli açarın gizli saxlanılması tələbləri onun klient, server və ya HSM(Hardware Security Module) avadanlığından çıxarılmasını çətinləşdirir.

Bu səbəbdən, “man-in-the-middle” tipli deşifrələmə texnikalarından istifadə etmək zərurəti yaranır.

 Sessiya açarlarının loqlanması

Mozilla Firefox və Google Chrome brauzerləri trafiki şifrələmək üçün istifadə edilən sessiya açarlarını faylda saxlamaq imkanına malikdir. Wireshark proqramı isə bu fayldan istifadə edərək sessiya çərçivəsində əldə edilmiş trafiki deşifrələyir.

Brauzerlerin konfiqurasiyası

 Brauzerlerin sessiya açarlarını faylda saxlaması üçün sistemə istifadəçi dəyişəninin(user variable) əlavə edilməsi vacibdir.

 Windows

 Komputerin xüsusiyyətləri(Properties) bölməsindən “Advanced system settings” sonra isə “Environment Variables” bölməsindən yeni istifadəçi dəyişəni əlavə edin. Dəyişənin adı SSLKEYLOGFILE, qiyməti isə açarları saxlamaq üçün fayla yol olmalıdır (Məsələn: c:\sslkeylog.log).

 2

 Linux və Mac OS X

 $ export SSLKEYLOGFILE=~/path/to/sslkeylog.log

 Hər yeni login zamanı dəyişəni əlavə etmək məcburiyyətindən qurtulmaq üçün, yuxarıdakl sətri Linux üçün ~/.bashrc , OS X üçün isə ~/.MacOSX/environment faylının sonuna əlavə edin.

 Firefox və Chrome brauzerlərinin növbəti icrasından sonra bütün sessiya açarları fayla yazılacaqdır.

 Qeyd: Bəzi OS X və bütün Linux əməliyyat sistemlərində istifadəçi dəyişənləri bir sessiya(tty, pty) çərçivəsində aktiv olduğundan, sessiya açarları fayla yazılmayacaqdır.

Bu halda proqramları bir terminaldan başlatmağı cəhd edin.

 # export SSLKEYLOGFILE=/Users/username/sslkeylogs/output.log

# open -a firefox

# wireshark

  

Wireshark konfiqurasiyası

 Qeyd edək ki, bu metodun işləməsi üçün Wireshark proqramının 1.6 və ya daha yeni versiyası tələb olunur. İlk öncə “Preferences” bölməsinə daxil oluruq.

 3

 Daha sonra “Protocols” siyahısını açırıq:

 4

 SSL seçirik və loq fayl üçün yol göstəririk:

 5

 Nəticə

 TLS paketlərinin analizi zamanı adətən gördüklərimiz:

 6

 “Decrypted SSL Data” əlavəsinə keçdikdə isə deşifrələnmiş trafiki görürük.

 7

Yekun

 Ümid edirəm ki, artıq TLS trafiki izləmək sizin üçün daha asan işə çevriləcəkdir. Təbii ki, brauzerlərdə https trafikin izlənməsi üçün imkanlar mövcuddur. Bunun üçün, sadəcə olaraq Firefox və Chrome brauzerlərində F12 düyməsini basmaq və şəbəkə bölməsinə keçmək kifayətdir.

Bu metodun üstün cəhəti odur ki, trafiki analiz ediləcək komputerə Wireshark proqramının yazılmasına ehtiyac yoxdur. Misal olaraq, sessiya açarları saxlanılan faylı şəbəkə diskində yerləşdirin (istifadəçi qrupu üçün bunu Group Policy ilə etmək olar), trafiki isə Wireshark-la uyğun formatda(.pcap, .cap) şəbəkə avadanlığından  əldə edin.

Redaktor tərəfindən düzəliş: 

Mənbəə: https://habrahabr.ru/post/253521/

Səs: +30. Bəyənilsin Zəifdir

Müəllif: Murad Qurbanov

Şərh yazın