Pada artikel ini, kami ingin berbicara tentang teknologi sidik jari TLS, yang tidak memiliki cukup bahan di segmen berbahasa Rusia. Mari kita coba untuk memperbaikinya. Artikel menerjemahkan sebagian materi tematik penulis metode yang dijelaskan ( di sini dan di sini ), dan juga berisi deskripsi implementasi praktis dari Acribia.
Kami tidak akan mendalami detail cara kerja SSL/TLS (selanjutnya disebut TLS), namun detailnya akan kami jelaskan secara singkat.
Menggunakan TLS adalah berkah tersendiri, karena mengenkripsi data. Namun di sisi lain, pembuat malware menggunakannya untuk bersembunyi di lalu lintas terenkripsi (artikel ini hanya akan bias ke arah ini) dan membuatnya sulit untuk dideteksi dan dinetralkan.
Untuk memulai sesi TLS, klien mengirimkan "paket" halo ke server setelah jabat tangan TCP tiga arah. "Paket" ini dan cara pembuatannya bergantung pada paket dan metode enkripsi yang digunakan untuk membuat aplikasi klien. Jika server menerima koneksi TLS, server akan merespons dengan paket halo, sehingga melanjutkan negosiasi enkripsi.
Karena negosiasi enkripsi TLS ditransmisikan dalam teks yang jelas, aplikasi klien dapat dilacak dan diidentifikasi.
Ini adalah inti dari teknologi sidik jari TLS, singkatnya. Dan sekarang sedikit lebih detail.
TLS fingerprinting
, . ยซ ยป . :
TLS;
TLS;
;
;
.
, ( ):
;
;
.
(, ).
:
โ TLS-. , .
TLS . , , , , , - .
, .
TLS Fingerprinting โ . , . / , , .
, Exchange , OWA, Python .
: TLS Fingerprinting TLS- TLS-. , PCAP .
, :
JA3 JA3S;
TLS โ JARM.
JA3 JA3S
JA3 : TLS, , TLS, . , ยซ,ยป ยซ-ยป .
:
TLSVersion,Ciphers,Extensions,EllipticCurves,EllipticCurvePointFormats
:
771,49196-49162-49195-52393-49161-49200-49172-49199-52392-49171-159-57-56-107-158-52394-51-50-103-22-19-157-53-61-156-47-60-10,0-23-65281-10-11-13-28,29-23-24-25,0
ClientHello TLS, :
769,4โ5โ10โ9โ100โ98โ3โ6โ19โ18โ99,,,
MD5. JA3:
c8446f59cca2149cb5f56ced4b448c8d
JA3S โ . JA3S : TLS, TLS. , , ยซ,ยป ยซ-ยป .
, :
TLSVersion,Cipher,Extensions
:
769,47,65281โ0โ11โ35โ5โ16
Server Hello TLS, .
:
769,47,
MD5 32- .
JA3S:
4835b19f14997673071435cb321f5445
JA3 JA3S โ TLS. JA3 , TLS, JA3S . .
JARM.
JARM
JARM , 10 TLS . TLS JARM. JARM , TLS . JARM , 62- .
JARM :
, TLS;
, , , Google, Yandex Apple;
;
.
30 TLS, 10 . ยซ000ยป , . 32 SHA256 , , x509. JARM, 30 , 32 , , , , , .
, (IOC) (IOA). / .. - , TI IP, , .. ยซ ยป. , , .
- JARM IOC . , JARM, JARM , IP . , .
JARM , , , , . JARM .
, . JARM Palo Alto Networks API JARM.
Palo Alto ., , , Zeek ( Bro) โ open-source , .
Zeek TLS, .. . , , TLS, , .
Zeek TLS JA3\JA3S.
Zeek, , SIEM ( SIEM, Zeekโ ). , SIEM . Zeek , .
JARM , Palo Alto, . github , , . JARM.
JA3\JA3S. , , Emotet TrickBot:
JA3 = 4d7a28d6f2263ed61de88ca66eb011e3 (Emotet) JA3S = 80b3a14bccc8598a1f3bbe83e71f735f (C2 Server Response) JA3 = 6734f37431670b3ab4292b8f60f29984 (Trickbot) JA3S = 623de93db17d313345d7ea481e7443cf(C2 Server Response)
JA3, .
, , , , - โ . , , .
JA3 .
, , . , , , . โ .
JA3\JA3S .
.
C&C JARM.
TLS-, , JARM ( , SOAR), , C&C , , .
JA3 , .
Windows JA3 , Linux (Android/IOS), . ( / NAT). , , IT.
JA3 , .
Firefox Chrome ( NAT ). , , Fingerprint. .
JA3 , .
, C/C++. , Python Golang. , requests ( python) http ( Golang), . , , . , ยซยป , , . JA3 , .
: JARM ( JA3S ) C&C , .
, JARM , .
, TLS Fingerprinting, , , TLS 1.3.
TLS 1.3 , โ SNI (Server Name Indication). HTTPS HOST, IP HTTPS-. , fingerprint, , . , , SNI.
TLS 1.3 โ Encrypted SNI (ESNI), , .
ESNI , . ESNI , , TLS fingerprinting , .
:
, SOC-;
, Threat Intelligence @AAMinin;
, .