Scan TLS

Contexte

Il semblerait qu’une machine de notre rĂ©seau local soit compromise et utilisĂ©e par un attaquant pour rĂ©aliser des opĂ©rations de reconnaisse sur des machines exposĂ©es sur Internet.

Cela lui permet d’utiliser notre adresse IP publique, dans le but de dissimuler ses traces.

Dans ce challenge, vous disposez de l’enregistrement d’une connexion TLS suspecte depuis la machine compromise (192.168.5.103) vers un serveur Web.

MĂȘme si le flux est chiffrĂ©, il est tout de mĂȘme possible d’obtenir des informations sur cette connexion. Ici le client TLS utilisĂ© sur la machine compromise semble avoir une empreinte trĂšs spĂ©cifique qui laisse peu de place au doute.

Votre mission est de retrouver le client TLS utilisé, comme vous pourriez retrouver le navigateur Web utilisé à partir du User-Agent HTTP.

Analyse de la capture

La capture de trames est relativement courte, elle ne contient que 11 trames :

On remarque une seule et unique session d'Ă©change TCP via TLSv1.1.

La communication a lieu entre une ip locale (192.168.5.103) et le serveur web de l'APSSIS sur le port 443.

Le flux tcp n'affiche rien de particulier pour nous aider dans ce challenge :

....o...k..RH..#.:N..../.	T...y.h.....="... ..,..n.Y.bhl.(=':...o............(.
...9.k.5.=...	.#.....'.3.g.2...../.<.
.............syndication.twimg.com......
.................#.....g`..B...<.XO.iD.......=]..L. ..B...
...LDt}.....`~G...h?2.(q..*....(../....'..W....V:..YaJ....|..U.z...W.<.x..9.g.	...f.H=........+.?ye..l\.k.....5...,..2..W=^%...D..1(i.J.
3t..uO.................F

Quel est le client TLS utilisé ?

Le User-Agent d'une requĂȘte http est facile a rĂ©cupĂ©rer dans une capture de trame, celui d'une session HTTPS est plus difficile Ă  obtenir.

Heureusement, il existe un systĂšme d'empreinte pour faciliter la recherche de menace :

JA3 is a method for creating SSL/TLS client fingerprints that should be easy to produce on any platform and can be easily shared for threat intelligence.

salesforce a aussi publié un outil pour récupérer les empreintes JA3 dans un pcap :

 python3 ja3.py challenge_tls.pcap
[51.83.97.109:443] JA3: 770,49162-49172-57-107-53-61-49159-49161-49187-49169-49171-49191-51-103-50-5-4-47-60-10,61184-65281-10-11-35-13172-30031-5,23-24-25,0 --> 18e9afaf91db6f8a2470e7435c2a1d6b

Cet outil nous permet de récupérer le hash JA3 de la session TLS : 18e9afaf91db6f8a2470e7435c2a1d6b

salesforce met aussi Ă  disposition un outil de CTI pour ce type de hash :

En passant le hash dans l'outil, on découvre que le client TLS est "massscan" (un scanner réseau).

DerniĂšre mise Ă  jour