Uso de huellas digitales TLS para identificar amenazas

En este artículo, queremos hablar sobre la tecnología de huellas dactilares TLS, sobre la cual no hay suficientes materiales en el segmento de habla rusa. Intentemos arreglarlo. El artículo traduce parcialmente los materiales temáticos de los autores de los métodos descritos ( aquí y aquí ), y también contiene una descripción de la implementación práctica de Acribia.





No profundizaremos en los detalles de cómo funciona SSL / TLS (en lo sucesivo, TLS), pero explicaremos brevemente los detalles.





El uso de TLS es una bendición en sí mismo, ya que cifra los datos. Pero, por otro lado, los creadores de malware lo usan para esconderse en el tráfico cifrado (este artículo solo sesgará en esta dirección) y dificultará su detección y neutralización.





Para iniciar una sesión TLS, el cliente envía un "paquete" de saludo al servidor después de un protocolo de enlace TCP de tres vías. Este "paquete" y cómo se crea dependen de los paquetes y métodos de cifrado utilizados para crear la aplicación cliente. Si el servidor acepta la conexión TLS, responderá con un paquete de saludo, continuando así la negociación de cifrado.





TLS , .





TLS fingerprinting, . .





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,451091009836191899,,,
      
      



MD5. JA3:





c8446f59cca2149cb5f56ced4b448c8d
      
      



JA3S – . JA3S : TLS, TLS. , , «,» «-» .





, :





TLSVersion,Cipher,Extensions
      
      



:





769,47,6528101135516
      
      



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 , .





JA3 – . , API JA3 – .





JA3S, , . , , , , .





JARM , Palo Alto, . github , , . JARM.





, . Splunk JA3/JA3S. . SIEM.





  • 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;





, .








All Articles