
Cadre d'évaluation des vulnérabilités et d'audit pour toutes les implémentations cryptographiques.
#LAMMA (BETA)
###Cadre d'évaluation des vulnérabilités pour toutes les implémentations cryptographiques.
(Une initiative Open Source par - SECURITY MONX)
Documentation du Framework Lamma (beta)
Nom du fichier : README
Auteur : @ajithatti
Organisation : Security Monx
Version : 0.0.1
Objectif : Donne une introduction au Framework Lamma (beta)
Table des matières :
A. Informations sur les licences
B. Introduction au Framework Lamma (beta)
C. Dépendances
D. Utilisation de LAMMA
E. Fonctionnalités
F. Note
G. Contributeurs
A. Informations sur les licences
Le Framework LAMMA (beta) et ses documents ne sont couverts par aucune licence.
Vous êtes libre de l'utiliser comme vous le souhaitez. Aucune condition.
Pour plus de détails sur le projet, visitez notre site web
"http://www.securitymonx.com/Project-LAMMA"
B. Introduction au Framework LAMMA (beta)
Le Framework LAMMA (beta) vise à être une suite complète pour
auditer la cryptographie, la PKI et les implémentations associées.
LAMMA (beta) prend en charge 4 modules principaux
REMOTE
CRYPTO
TRUST
SOURCE
REMOTE - Le module analyse les hôtes distants pour la configuration SSL/TLS et signale toute lacune ou vulnérabilité découverte.
Vérifications principales :
a) Version SSL/TLS, gestion des sessions et paramètres configurables du serveur
c) Vérification de l'utilisation de suites de chiffrement vulnérables/obsolètes
b) Test du certificat serveur
Type de vérification (EV/OV/DV)
Analyse chronologique des vulnérabilités SSL/TLS applicables
Vérification, validation
Fuites d'informations
Modulus commun
Force de l'algorithme de signature
Noms alternatifs
CRYPTO - Ce module vérifie diverses primitives cryptographiques générées par tout framework sous-jacent pour la qualité, les portes dérobées et la cohérence. Parmi les
Vérifications principales :
Test de qualité pour les nombres aléatoires générés
Tests de cohérence pour les nombres premiers partagés dans plusieurs clés RSA
Test de nombre premier sûr et fort
Test de modulus partagé
MalSha, test de condensé malformé
TRUST - Le module vérifie divers magasins de confiance et de clés pour les clés privées non sécurisées et les certificats non fiables.
Vérifications principales :
a) Clés privées
Stockées avec ou sans chiffrement
Permissions d'accès
Suivi des instances multiples
Extraction des nombres premiers pour le test du module CRYPTO
b) Clé publique
Extraction du modulus pour le test du module CRYPTO
Suivi des instances multiples
b) Certificats
Vérification dans le magasin de confiance et la CRL
Liste des certificats épinglés et non fiables
Suivi des instances multiples
Vérification, analyse chronologique commune avec le module REMOTE
SOURCE - Le module sert principalement à appliquer les recommandations du "Cryptography Review Board" de votre organisation. Ce module analyse le code source pour détecter l'utilisation de schémas cryptographiques non sécurisés et obsolètes.
a) Schémas obsolètes
Famille de hachage MD
Hachages SHA/SHA1
Mode de chiffrement par blocs ECB/CBC
Fonctions rand() ou /dev/rand
<Autres schémas obsolètes/non sécurisés>
b) Schémas faibles (schémas avec portes dérobées)
Dual_EC_DRBG
prime2566v1
p224r1
secp384r1
<Autres schémas plus faibles/avec portes dérobées>
C. Dépendances : LAMMA nécessite quelques paquets Python pour fonctionner. La liste des paquets requis est :
1. cmd2 - Exécute le shell personnalisé de Lamma
pip install cmd2
2. subprocess - Invoque Openssl ou d'autres scripts
pip install subprocess
3. pyOpenSSL - Wrapper autour d'OpenSSL
pip install openssl
D. Utilisation de LAMMA :
LAMMA.py lance le framework, avec un écran d'accueil et mène à l'invite LAMMA
$> python LAMMA.py
__ _____ _____ _____ _____
| | | _ | | | _ |
| |__| | | | | | | | |
|_____|__|__|_|_|_|_|_|_|__|__|
(BETA)
Cadre d'évaluation et d'audit des vulnérabilités
pour toutes les implémentations cryptographiques.
(Un projet Open Source)
par
SECURITY MONX
LAMMA :
Vous pouvez consulter l'aide rapide de chaque module avec la commande "help module"
LAMMA : help trust
Analyse un magasin de confiance/clés donné pour - certificats non fiables, clés privées non sécurisées,
LAMMA : help source
Analyse le code source pour les fonctions faibles ou avec portes dérobées connues
LAMMA : help crypto
Génère des clés, des hachages, des nombres aléatoires selon divers schémas pour un nombre donné
LAMMA : help remote
Analyse l'hôte distant et rapporte le profil de configuration SSL/TLS et les vulnérabilités applicables
LAMMA :
Pour savoir comment utiliser chaque module, tapez simplement le nom du module et vous obtiendrez une aide d'utilisation détaillée.
LAMMA : remote
remote [-H] [-s] [-l] [-o] [-i] [-p] [-h]
Objectif : Analyser un hôte distant avec un plugin donné via une connexion SSL/TLS
-H [--help] : affiche cette aide d'utilisation
-s [--script] : analyser la cible avec l'ID de script donné ou 'all','gen', ou 'reg'
-l [--list] : liste tous les plugins et leurs ID
-o [--out] : les rapports sont stockés dans ce fichier, sinon fichier par défaut
-i [--in] : nom du fichier d'entrée avec plusieurs IP:Port spécifiés sur chaque ligne
-p [--port] : port sur lequel la connexion SSL ou TLS doit être établie
-h [--host] : adresse IP ou nom de domaine de l'hôte distant à connecter
LAMMA :
Exemple d'utilisation du module "remote", nous analysons "null.co.in" pour les plugins dans gen et les résultats seront stockés dans le fichier final.html.
LAMMA : remote -h null.co.in -p 443 -s gen -o final.html
[*] Service d'analyse Lamma [Démarré] ...
[+] Paramètres définis pour cette analyse :
Tests à exécuter => gen Hôte cible => null.co.in
Port cible => 443
Les rapports seront stockés dans le fichier => final.html
[+] Démarrage de l'analyse
Kick gen