Pouet

Wake me up before you code Go!

Cercat

Détecter les possibles sites de phishing en temps réel

Issif

2 minutes

En cette période de confinement, les phishers s’en donnent à coeur joie. La question qui se pose alors est : Comment les détecter le plus tôt possible?

Comme les sites de phishing servent souvent à récupérer des données confidentielles (n° de carte, mots de passe, etc), ils profitent de toutes les méthodes récentes pour récupérer des certificats gratuits afin de se donner une belle image avec un joli cadenas dans la barre d’URL.

Quelques recherches sur ce sujet m’a fait découvrir un superbe projet de chez Calidog : CertStream. Ils mettent à disposition un flux donnant en temps réel les certificats émis par Let’s Encrypt, Cloudflare, AWS, …

Il ne reste plus qu'à s’y connecter, faire une correspondance des domaines avec une regexp pour avoir en temps réel, les possibles sites de phishing.

D’autres ont eu la même idée : CertStreamMonitor mais les performances m’ont déçu (100% d’utilisation permanente d’un CORE) et j’ai trouvé intéressant de le faire moi-même.

Je vous présente donc Cercat aka Certificate Catcher.

Le principe est simple, le service se connecte via websocket au stream de Certstream, compare le domaine certifié à une regexp et si il y a correspondance, un message est posté sur Slack :

Certcat slack screenshot

et dans les logs :

2020/04/14 17:29:40 [INFO]  : A certificate for 'www.XXXX.fr' has been issued : {"domain":"www.XXXX.fr","SAN":["www.XXXX.fr"],"issuer":"Let's Encrypt","Addresses":["XX.XX.XX.183","XX.XX.XX.182"]}
2020/04/14 17:29:41 [INFO]  : A certificate for 'XXXX.fr' has been issued : {"domain":"XXXX.fr","SAN":["mail.XXXX.fr","XXXX.fr","www.XXXX.fr"],"issuer":"Let's Encrypt","Addresses":["XX.XX.XX.108"]}

La configuration est dans le README et des binaires pré-compilés sont fournis ICI parce que je suis gentil.

En faisant des tests sur les domaines en .fr je suis d’ailleurs tombé sur ça, un bel exemple de phishing :

{
   "domain":"google-france.fr",
   "SAN":[
      "eset.fr.nf",
      "google-france.fr",
      "page-accueil.info",
      "www.eset.fr.nf",
      "www.google-france.fr",
      "www.page-accueil.info"
   ],
   "issuer":"Let's Encrypt",
   "Addresses":[
      "X.X.X.24"
   ]
}

En espérant que ça serve à d’autres.

Enjoy

Posts récents

Voir plus

Catégories

A propos

Du Go, de l'AWS et autres par un SRE/FinOps