🕵️

Email Phishing

Cours sur les emails

I) What makes up an email address?

  1. User Mailbox (or Username)
  1. @
  1. Domain

II) Protocols

A) POP3

B) IMAP

Each port has an unsecured and a secured version :

III) Email components

Syntax : see Internet Message Format

A) Email Headers

It contains information about the email, such as the email servers that relayed the email.

Main fields :

  1. From - the sender's email address
  1. Subject - the email's subject line
  1. Date - the date when the email was sent
  1. To - the recipient's email address

Other fields of interest.

  1. X-Originating-IP The IP address of the email was sent from (this is known as an X-header)
  1. Smtp.mailfrom/header.from - The domain the email was sent from (these headers are within Authentication-Results)
  1. Reply-To / Return-Path - This is the email address a reply email will be sent to instead of the From email address

Warning : a malicious email sender can try to hide its real email address setting a legitimate address in the “Reply-To” field.

X-Originating-IP

Once you find the email sender's IP address, you can check the online reports on :

B) Email Body

The important points regarding the structure and components of email bodies are the attachments and the links. For the link, you can check them using this (mainly online) tools :

For the attachment, here are the main fields :

IV) Recap

Comment analyser un email ?

I) Collecte des Informations Essentielles

>En tĂŞtes

Objectif : retracer le chemin emprunté par le message

Champs :

>Corps du Message / Pièces Jointes

II) Analyse des En-TĂŞtes

>Outils en Ligne

>Vérification des Protocoles d'Authentification

>Analyse de l'Adresse IP

III) Analyse du Corps du Message

Dans un premier temps, il est souvent intéressant de rechercher des fautes d’orthographe, ainsi que la cohérence du message.

Ensuite, il faut extraire et analyser les liens contenus dans le corps du message.

IV) Analyse des Pièces Jointes

Récupérer les pièces jointes, calculer leurs hashes, les analyser :

>Analyse dynamique

Sandboxes en Ligne :

  • Any.Run
  • Joe Sandbox

Observation des Comportements :

  • Connexions rĂ©seau;
  • Modifications du registre ou du système de fichiers;
  • Processus créés ou injectĂ©s.

Projets d’analyse d’emails

I) https://github.com/keraattin/EmailAnalyzer

Ce projet réalisé en python et dédié à l’analyse de fichiers .eml permet de faciliter l’analyse d’un email. Il prend en entrée un email, et sort un rapport de l’analyse au format HTML . Il dispose de plusieurs options pour récupérer un ensemble de données d’analyse :

  -H, --headers         To get the Headers of the Email
  -d, --digests         To get the Digests of the Email
  -l, --links           To get the Links from the Email
  -a, --attachments     To get the Attachments from the Email
  -i, --investigate     Activate if you want an investigation

Il permet aussi des résultats en ligne de commande, bien que la version sur navigateurs soit plus appropriée pour facilement naviguer sur les sites d’analyse.

II) https://github.com/cyberdefenders/email-header-analyzer

Email Header Analyzer est une alternative aux solutions proposées par Google, Mxtoolbox et Microsoft. Il est développé en Flask, et se dit plus exhaustive. Il permet les actions suivantes :

On notera que son fonctionnement est le meme que celui souhaité dans l’application à développer.

III) https://github.com/borjaRivera/email-analyzer-vt

Ce projet permet d’analyser les emails d’un compte gmail.

IV) https://github.com/wahlflo/eml_analyzer

eml_analyzer est un script CLI qui permet d’analyser un fichier .eml. Il permet notamment d’afficher sa structure et d’extraire toutes ses pièces jointes.

V) https://github.com/emalderson/ThePhish

ThePhish est un application web développée en Flask et basée sur TheHive, Cortex and MISP. Elle automatise tout le processus d’analyse d’email. C’est un outil très puissant qui se suffit à lui-même.