
भेद्यता मूल्यांकन और ऑडिटिंग फ्रेमवर्क सभी क्रिप्टो कार्यान्वयनों के लिए।
#LAMMA (BETA)
###सभी क्रिप्टो कार्यान्वयनों के लिए भेद्यता मूल्यांकन ढांचा।
(एक ओपन सोर्स पहल द्वारा - SECURITY MONX )
Lamma Framework दस्तावेज़ीकरण (beta)
फ़ाइल नाम : README
लेखक : @ajithatti
संगठन : Security Monx
संस्करण : 0.0.1
उद्देश्य : Lamma Framework (beta) का परिचय देता है
विषय सूची :
A. लाइसेंस संबंधी जानकारी
B. Lamma Framework (beta) का परिचय
C. निर्भरताएँ
D. LAMMA का उपयोग
E. विशेषताएँ
F. नोट
G. योगदानकर्ता
A. लाइसेंस संबंधी जानकारी
LAMMA Framework (beta) और इसके दस्तावेज़ किसी भी लाइसेंस से कवर नहीं हैं।
आप इसे किसी भी तरह से उपयोग करने के लिए स्वतंत्र हैं। कोई शर्त नहीं।
परियोजना के बारे में विवरण के लिए हमारी वेबसाइट पर जाएँ
"http://www.securitymonx.com/Project-LAMMA"
B. LAMMA Framework (beta) का परिचय
LAMMA Framework (beta) का उद्देश्य क्रिप्टोग्राफी, PKI और संबंधित कार्यान्वयनों के ऑडिट के लिए एक व्यापक सूट होना है।
LAMMA (beta) 4 प्रमुख मॉड्यूल का समर्थन करता है
REMOTE
CRYPTO
TRUST
SOURCE
REMOTE - मॉड्यूल SSL/TLS कॉन्फ़िगरेशन के लिए रिमोट होस्ट को स्कैन करता है, और पाई गई किसी भी कमी, भेद्यता की रिपोर्ट करता है।
प्राथमिक जाँच :
a) SSL/TLS संस्करण, सत्र प्रबंधन और सर्वर कॉन्फ़िगरेबल पैरामीटर
c) असुरक्षित/अप्रचलित सिफर सूट के उपयोग की जाँच
b) सर्वर प्रमाणपत्र परीक्षण
सत्यापन प्रकार (EV/OV/DV)
लागू SSL/TLS भेद्यताओं का समयरेखा विश्लेषण
सत्यापन, मान्यता
सूचना लीक
सामान्य मॉड्यूलस
हस्ताक्षर एल्गोरिथम शक्ति
वैकल्पिक नाम
CRYPTO - यह मॉड्यूल किसी भी अंतर्निहित फ्रेमवर्क द्वारा उत्पन्न विभिन्न क्रिप्टो प्रिमिटिव्स की गुणवत्ता, बैकडोर और सैनिटी की जाँच करता है। कुछ
प्राथमिक जाँच :
उत्पन्न यादृच्छिक संख्या के लिए गुणवत्ता परीक्षण
एकाधिक RSA कुंजियों में साझा अभाज्य संख्याओं के लिए सैनिटी जाँच
सुरक्षित और मजबूत अभाज्य परीक्षण
साझा मॉड्यूलस परीक्षण
MalSha, Malformed Digest Test
TRUST - मॉड्यूल विभिन्न ट्रस्ट और कुंजी स्टोर की जाँच करता है - असुरक्षित प्राइवेट कुंजियाँ और अविश्वसनीय प्रमाणपत्र।
प्राथमिक जाँच:
a) प्राइवेट कुंजियाँ
एन्क्रिप्शन के साथ/बिना संग्रहीत
पहुँच अनुमति
एकाधिक उदाहरणों को ट्रैक करें
CRYPTO मॉड्यूल परीक्षण के लिए अभाज्य निकालें
b) सार्वजनिक कुंजी
CRYPTO मॉड्यूल परीक्षण के लिए मॉड्यूलस निकालें
एकाधिक उदाहरणों को ट्रैक करें
b) प्रमाणपत्र
विश्वसनीय स्टोर और CRL में जाँच करें
पिन किए गए और अविश्वसनीय प्रमाणपत्रों की सूची बनाएँ
एकाधिक उदाहरणों को ट्रैक करें
सत्यापन, REMOTE मॉड्यूल के साथ सामान्य समयरेखा विश्लेषण
C. निर्भरताएँ : LAMMA को अपने कामकाज के लिए कुछ Python पैकेजों की आवश्यकता होती है। आवश्यक पैकेजों की सूची इस प्रकार है :
1. cmd2 - Lamma का कस्टम शेल चलाता है
pip install cmd2
2. subprocess - Openssl या अन्य स्क्रिप्ट को लागू करता है
pip install subprocess
3. pyOpenSSL - OpenSSL पर रैपर
pip install openssl
D. LAMMA का उपयोग :
LAMMA.py फ्रेमवर्क को एक स्वागत स्क्रीन के साथ शुरू करता है और LAMMA प्रॉम्प्ट की ओर ले जाता है
$> python LAMMA.py
__ _____ _____ _____ _____
| | | _ | | | _ |
| |__| | | | | | | | |
|_____|__|__|_|_|_|_|_|_|__|__|
(BETA)
Vulnerability Assessment and Auditing Framework
for all the Crypto Implementations.
(An Open Source Project)
by
SECURITY MONX
LAMMA :
आप "help module" कमांड का उपयोग करके प्रत्येक मॉड्यूल पर माइक्रो हेल्प देख सकते हैं
LAMMA : help trust
Scans a given trust/key stored for - untrusted certs, insecure private keys,
LAMMA : help source
Scans the source code for known weak or backdoored functions
LAMMA : help crypto
Generate keys, hashes, random number under various schemes for a given counts
LAMMA : help remote
Scans the remote host and reports the SSL/TLS configuration profile & applicable vulnerabilities
LAMMA :
यह जानने के लिए कि प्रत्येक मॉड्यूल का उपयोग कैसे करें, बस मॉड्यूल का नाम टाइप करें और आपको विस्तृत उपयोग सहायता मिलेगी।
LAMMA : remote
remote [-H] [-s] [-l] [-o] [-i] [-p] [-h]
Purpose : Scan a remote host with given plugin over SSL/TLS connection
-H [--help] : prints this usage help
-s [--script] : scan the target with given script id or 'all','gen', or 'reg'
-l [--list] : list all the plugins and plugin IDs
-o [--out] : reports are stored in this file else default file
-i [--in] : input file name with multiple IP:Port specified in each line
-p [--port] : port on which SSL or TLS connection is to be made
-h [--host] : IP or Domain name of the remote host to be connected
LAMMA :
E. विशेषताएँ :
LAMMA परियोजना एक कार्य प्रगति पर है। हम कई कार्यात्मक सुविधाओं के साथ इन बुनियादी सिद्धांतों का पालन करने का प्रयास कर रहे हैं :
1. सरल : इस फ्रेमवर्क का उपयोग करने के लिए उपयोगकर्ता को क्रिप्टोग्राफी की गहरी समझ की आवश्यकता नहीं है।
यह न्यूनतम सीखने के साथ सहज और उपयोग में सरल होना चाहिए।
2. विस्तार योग्य : फ्रेमवर्क विस्तार योग्य होना चाहिए। उपयोगकर्ता समुदाय को कस्टम प्लगइन्स जोड़कर कार्यक्षमताओं का आसानी से विस्तार करने में सक्षम होना चाहिए।
3. स्वतंत्र : फ्रेमवर्क स्वयं OpenSSL और उसके ऊपर Python रैपर का उपयोग करता है
लेकिन इसे क्रिप्टोग्राफी, PKI और संबंधित कार्यान्वयनों का परीक्षण करने के लिए उपयोग किया जा सकता है, जो उपयोग की गई तकनीक (जैसे Java,
NSS, GnuTLS, SChannel) से स्वतंत्र है।
4. स्वचालन : "क्रिप्टो-कार्यान्वयन का बड़े पैमाने पर मूल्यांकन, सहजता से" इस फ्रेमवर्क के डिज़ाइन के पीछे हमारा प्रमुख फोकस है।
F. नोट :
a. LAMMA(beta) एक जीवित परियोजना है।
b. वर्तमान में यह Linux प्लेटफ़ॉर्म के लिए बनाया गया है
c. कोड आपको सभी अधिकारों और बग्स के साथ बिना किसी गारंटी या जिम्मेदारी के प्रदान किया जाता है
लेखक से
d. हम बग्स, टिप्पणियाँ, आलोचना, योगदान या LAMMA (beta) के साथ आपके अनुभव पर एक साधारण नोट का स्वागत करते हैं। हमें लिखें
a j i t [ a t ] s e c u r i t y m o n x [ d o t ] c o m
G.योगदानकर्ता
1. Ajit Hatti - @ajithatti <twitter handle>
SOURCE - मॉड्यूल मुख्य रूप से आपके संगठन की "क्रिप्टोग्राफी समीक्षा बोर्ड" सिफारिशों को लागू करने के लिए है। यह मॉड्यूल स्रोत कोड में असुरक्षित और अप्रचलित क्रिप्टोग्राफ़िक योजनाओं के उपयोग के लिए स्कैन करता है।
a) अप्रचलित योजनाएँ
MD परिवार हैशिंग योजनाएँ
SHA/SHA1 हैश
ECB/CBC ब्लॉक सिफर मोड
rand() या /dev/rand फ़ंक्शन
<अधिक अप्रचलित/असुरक्षित योजनाएँ>
b) कमजोर योजनाएँ (बैकडोर योजनाएँ)
Dual_EC_DRBG
prime2566v1
p224r1
secp384r1
<अधिक कमजोर/बैकडोर योजनाएँ>
"remote" मॉड्यूल का नमूना उपयोग, हम gen प्लगइन्स के लिए "null.co.in" को स्कैन कर रहे हैं और परिणाम final.html फ़ाइल में संग्रहीत होंगे।
LAMMA : remote -h null.co.in -p 443 -s gen -o final.html
[*] Lamma Scanning Service [Started] ...
[+] Parametrs set for this Scan :
Tests to Run => gen Target Host => null.co.in
Target port => 443
Reports will be stored in file => final.html
[+] Starting the scan
Kick gen
[+] Kick Starting... /home/evader/Desktop/RELEASE/LAMMA/modules/remote-module/gen
Now Executing: server_config.py -h null.co.in -p 443 -o final.html
Now Executing: scan_ssl.py -h null.co.in -p 443 -o final.html
[+] Scanning complete...
LAMMA :
"null.co.in" के लिए "remote" स्कैनिंग मॉड्यूल का आउटपुट
--- Starting Server Config Checks for host - null.co.in ---
Server Response :
HTTP/1.1 500 Internal Server Error
Server: nginx
Date: Fri, 03 Jun 2016 18:05:58 GMT
Content-Type: text/html
Connection: close
X-Powered-By: PHP/5.5.9-1ubuntu4.16
Certificate Chain validation :
Cert of Digital Signature Trust Co. : is Valid
Cert of Let's Encrypt : is Valid
Cert of null.co.in : is Valid
Certificate Chain is verified & Trustable
--- Server Configuration checks Complete...
--- Scanning host started ---
Remote Host name :null.co.in
Remote Host IPv4 :104.237.152.34
Remote Host Port :443
Cipher Suite used : ECDHE-RSA-AES128-GCM-SHA256
Subject Name = null.co.in
Issuer Name = Let's Encrypt Authority X1
Start Date : 20160313112800Z
End Date : 20160611112800Z
Signature Algorithm : sha256WithRSAEncryption
subjectAltName:
jobs.null.co.in
null.co.in
www.null.co.in
[INFO] The Certificates Verification type : DV
Public Key Size [2048]
--- End of the SSL Scan ---