Skip to content

Repository files navigation

OpenEASM Beta

OpenEASM Beta est une plateforme open source d’External Attack Surface Management permettant d’obtenir rapidement une première vision défensive de l’exposition Internet publique d’un domaine.

L’objectif est de répondre à une question simple :

Quelle est notre exposition Internet visible depuis l’extérieur ?

OpenEASM réalise des contrôles publics non exploitants : DNS, SPF, DMARC, MX, TLS/SSL, headers HTTP, sous-domaines publics, IP publiques, services exposés, Nmap service/version/port, corrélation CVE non exploitante, scoring de risque, Graph Explorer et rapports PDF / Excel / JSON.


Sommaire


Fonctionnalités principales

  • Avertissement juridique bloquant au lancement de l’application
  • Case d’acceptation obligatoire avant tout audit
  • Journalisation de l’acceptation : version du règlement, hash, date UTC, IP et user-agent
  • Audit DNS public
  • Analyse messagerie : SPF, DMARC, MX
  • Analyse Web : accessibilité HTTP/HTTPS et headers de sécurité
  • Analyse TLS/SSL : certificat, expiration, version TLS, score TLS
  • Découverte passive de sous-domaines publics
  • Inventaire des IP publiques
  • Distinction entre exposition principale, support et prestataires tiers
  • CTI légère via DNSBL
  • CVE potentielles passives basées sur les informations publiques
  • Nmap service/version/port non exploitant
  • Corrélation CVE locale depuis les versions détectées
  • Barre de progression avec temps écoulé et temps restant estimé
  • Score exécutif par piliers
  • Score technique cohérent sur 1000
  • Rapports PDF, Excel et JSON
  • Diagnostic système, dont présence de Nmap
  • Reporting Center
  • Vérification de propriété de domaine par DNS TXT
  • Graph Explorer relationnel

Captures d’écran

Interface d’audit

Interface d’audit OpenEASM Beta

Graph Explorer

Graph Explorer OpenEASM Beta

Rapport professionnel

Rapport professionnel OpenEASM Beta


Usage responsable

OpenEASM Beta est conçu pour un usage défensif, autorisé et responsable.

L’utilisateur reste seul responsable des domaines, sous-domaines, adresses IP ou services qu’il soumet à l’analyse.

Il doit disposer d’un droit, d’une autorisation explicite ou d’un motif légitime de sécurité informatique.

OpenEASM Beta ne réalise pas :

  • exploitation de vulnérabilités ;
  • bruteforce ;
  • attaque par déni de service ;
  • scripts NSE exploit, brute, dos ou intrusive ;
  • contournement d’authentification ;
  • modification de données ;
  • extraction frauduleuse de données.

Le scan Nmap est limité à l’identification des ports ouverts, des services et des versions.
La corrélation CVE est réalisée ensuite par OpenEASM à partir des informations de version visibles publiquement.


Installation en 7 étapes

1. Mettre à jour Linux

Sur Debian, Ubuntu ou Kali :

sudo apt update
sudo apt upgrade -y

2. Installer Git

sudo apt install git -y

Vérifier l’installation :

git --version

3. Installer Docker

sudo apt install docker.io -y
sudo systemctl enable --now docker

Vérifier Docker :

docker --version
sudo systemctl status docker

4. Installer Docker Compose

Selon la distribution, deux méthodes sont possibles.

Méthode classique :

sudo apt install docker-compose -y
docker-compose --version

Méthode moderne avec le plugin Docker Compose :

sudo apt install docker-compose-plugin -y
docker compose version

OpenEASM fonctionne avec les deux syntaxes :

docker-compose up -d --build

ou :

docker compose up -d --build

5. Autoriser l’utilisateur à utiliser Docker

Optionnel mais recommandé :

sudo usermod -aG docker $USER

Fermer puis rouvrir la session Linux.

Vérifier ensuite :

docker ps

Si la commande fonctionne sans sudo, Docker est prêt.


6. Installer OpenEASM depuis GitHub

Cloner le projet :

git clone https://github.com/Swapshadow/open-easm.git
cd open-easm

Vérifier les fichiers :

ls

Tu dois voir notamment :

backend/
docker-compose.yml
README.md
.env.example

7. Lancer OpenEASM Beta

Avec Docker Compose classique :

docker-compose up -d --build

Ou avec le plugin Docker Compose :

docker compose up -d --build

Vérifier les conteneurs :

docker-compose ps

ou :

docker compose ps

Ouvrir ensuite l’application dans un navigateur :

http://localhost:8000

Au premier lancement, OpenEASM affiche un avertissement juridique obligatoire.
L’application reste bloquée tant que l’utilisateur n’a pas accepté les conditions d’utilisation.

Vérifier l’API :

curl http://localhost:8000/api/health

Résultat attendu :

{
  "status": "ok",
  "service": "openeasm-beta",
  "version": "beta-1.0"
}

Commandes utiles

Voir les conteneurs

docker-compose ps

ou :

docker compose ps

Voir les logs de l’API

docker-compose logs -f open-easm-api

ou :

docker compose logs -f open-easm-api

Arrêter OpenEASM

docker-compose down

ou :

docker compose down

Redémarrer OpenEASM

docker-compose up -d --build

ou :

docker compose up -d --build

Réinitialiser complètement la base PostgreSQL

docker-compose down -v
docker-compose up -d --build

ou :

docker compose down -v
docker compose up -d --build

Attention : docker-compose down -v supprime les données PostgreSQL et l’historique des audits.


Installation depuis une archive ZIP

Télécharger l’archive du projet depuis GitHub, puis :

unzip open-easm-beta.zip
cd open-easm-beta
docker-compose up -d --build

ou :

unzip open-easm-beta.zip
cd open-easm-beta
docker compose up -d --build

Ouvrir ensuite :

http://localhost:8000

Structure du projet

backend/
  app/
    services/       # moteurs d'audit, Nmap service/version, scoring
    reports/        # génération PDF / Excel / JSON
    static/         # interface web
  Dockerfile        # installe Nmap dans l'image backend

docker-compose.yml
README.md
.env.example

Nmap service/version/CVE

OpenEASM Beta utilise Nmap pour identifier les ports ouverts, services et versions visibles publiquement.

La logique reste défensive :

nmap -sS -sV --version-all --reason -Pn --open

La corrélation CVE est ensuite réalisée côté OpenEASM, sans exploitation.

Exemples :

Apache httpd 2.4.49 -> CVE-2021-41773 potentielle
Apache httpd 2.4.50 -> CVE-2021-42013 potentielle

Ces résultats sont des corrélations de version.
Ils ne constituent pas une preuve d’exploitation.

Si une version n’est pas exposée, OpenEASM ne doit pas inventer de CVE.

Exemple :

Apache httpd détecté
Version exacte : non exposée
CVE corrélable : non

Graph Explorer

Le Graph Explorer permet de visualiser les relations entre :

  • domaine racine ;
  • sous-domaines ;
  • IP publiques ;
  • services exposés ;
  • ports Nmap ;
  • CVE corrélées ;
  • constats de sécurité.

L’onglet Graph Explorer ne lance aucun scan supplémentaire.
Il affiche uniquement les données collectées pendant l’audit OpenEASM.


Rapports

OpenEASM Beta génère trois formats de rapport :

  • PDF : rapport professionnel orienté direction et plan d’action ;
  • Excel : classeur structuré avec onglets d’analyse ;
  • JSON : export complet enrichi avec métadonnées.

Les rapports contiennent notamment :

  • synthèse exécutive ;
  • KPI ;
  • score global ;
  • score par pilier ;
  • plan d’action priorisé ;
  • constats localisés ;
  • inventaire IP ;
  • résultats Nmap ;
  • corrélations CVE ;
  • limites de l’audit ;
  • politique non exploitante.

Scoring OpenEASM Beta

OpenEASM Beta utilise un scoring par piliers :

  • DNS
  • Messagerie
  • Web
  • TLS/SSL
  • Surface exposée
  • CTI / Réputation
  • CVE passives
  • CVE service/version issues de la corrélation Nmap

Le score exécutif est calculé sur 100.

Le score technique est cohérent avec ce score :

Score technique /1000 = Score exécutif /100 × 10

Limites

OpenEASM Beta reste une base publique de démonstration et d’amélioration continue.

Certaines sources passives peuvent être temporairement indisponibles.

Les CVE corrélées depuis les versions doivent être considérées comme des indices de priorisation.

La présence exacte d’une vulnérabilité dépend :

  • de la distribution utilisée ;
  • des correctifs backportés ;
  • de la configuration ;
  • du contexte d’exposition ;
  • de la présence ou non d’un reverse proxy ;
  • de la fiabilité de la version exposée publiquement.

Une version masquée ne permet pas une corrélation CVE fiable.

Une version apparente peut être corrigée par backport de sécurité selon la distribution Linux utilisée.


Roadmap

  • Enrichissement de la base de corrélation CVE
  • Mode avancé réservé aux domaines vérifiés
  • Intégrations optionnelles Shodan / VirusTotal
  • Amélioration des comparaisons entre audits
  • Documentation utilisateur plus complète
  • Packaging de production
  • Amélioration continue des rapports
  • Ajout de nouvelles sources passives

Auteur

Projet imaginé par Jean-Baptiste Terrazzoni.

Développé avec l’assistance de GPT-5.5.


Avertissement

OpenEASM Beta doit être utilisé uniquement dans un cadre autorisé.

Aucun usage offensif ou non autorisé n’est encouragé.

L’utilisateur est responsable de l’usage qu’il fait de l’outil et doit respecter les lois applicables.

About

Plateforme open source d'External Attack Surface Management

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages