Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
roca — ROCA: Infineon RSA कुंजी भेद्यता | Kitploit
उपकरण/GitHubGitHub/crocs-muni/roca
स्थैतिक विश्लेषणभेद्यता विश्लेषणक्रिप्टोग्राफी
GitHubcrocs-muni/roca

roca

ROCA: Infineon RSA कुंजी भेद्यता

रिपॉजिटरी देखेंवेबसाइट
495965 साल पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

ROCA पहचान उपकरण

Build Status

यह उपकरण ACM CCS 2017 सम्मेलन पेपर #124 Return of the Coppersmith’s Attack: Practical Factorization of Widely Used RSA Moduli से संबंधित है।

यह आपको सार्वजनिक RSA कुंजियों में वर्णित कमजोरी की उपस्थिति का परीक्षण करने में सक्षम बनाता है।

अपडेट 4.11.2017: Python 2.7, 3.4+ समर्थित।

अपडेट 30.10.2017: हमले का पेपर पहले से ऑनलाइन है, ACM संस्करण।

अपडेट 30.10.2017: असतत लघुगणक डिटेक्टर अब Python में लागू किया गया है और डिफ़ॉल्ट के रूप में उपयोग किया जाता है। यह गुणनखंड एल्गोरिथ्म द्वारा उपयोग की जाने वाली अभाज्य संख्याओं में संरचना का पता लगाता है।

वर्तमान में उपकरण निम्नलिखित कुंजी प्रारूपों का समर्थन करता है:

  • X509 प्रमाणपत्र, DER एन्कोडेड, प्रति फ़ाइल एक, *.der, *.crt
  • X509 प्रमाणपत्र, PEM एन्कोडेड, प्रति फ़ाइल अधिक, *.pem
  • X509 प्रमाणपत्र हस्ताक्षर अनुरोध, PEM एन्कोडेड, प्रति फ़ाइल अधिक, *.pem
  • RSA PEM एन्कोडेड निजी कुंजी, सार्वजनिक कुंजी, प्रति फ़ाइल अधिक, *.pem (सही हेडर -----BEGIN RSA... होना चाहिए)
  • SSH सार्वजनिक कुंजी, *.pub, "ssh-rsa" से शुरू होने वाली, प्रति पंक्ति एक
  • ASC एन्कोडेड PGP कुंजी, *.pgp, *.asc। प्रति फ़ाइल अधिक, सही हेडर -----BEGIN PGP... होना चाहिए
  • APK एंड्रॉइड एप्लिकेशन, *.apk
  • प्रति पंक्ति एक मॉड्यूलस टेक्स्ट फ़ाइल *.txt, मॉड्यूलस हो सकता है a) base64 एन्कोडेड संख्या, b) हेक्स कोडित संख्या, c) दशमलव कोडित संख्या
  • JSON फ़ाइल मॉड्यूलस के साथ, प्रति पंक्ति एक रिकॉर्ड, मॉड्यूलस वाले रिकॉर्ड में कुंजी "mod" (int, base64, hex, dec एन्कोडिंग समर्थित) कुंजी "cert" वाले प्रमाणपत्र / कुंजी "certs" वाले प्रमाणपत्रों की सरणी समर्थित है, base64 एन्कोडेड DER।
  • LDIFF फ़ाइल - LDAP डेटाबेस डंप। ;binary:: में समाप्त होने वाले किसी भी फ़ील्ड को X509 प्रमाणपत्र के रूप में डिकोड करने का प्रयास किया जाता है।
  • Java की स्टोर फ़ाइल (JKS)। खाली पासवर्ड और कुछ सामान्य का प्रयास करता है, --jks-pass-file के साथ और अधिक निर्दिष्ट करें।
  • उपयोगकर्ता प्रमाणपत्र के साथ PKCS7 हस्ताक्षर

पहचान उपकरण जानबूझकर आसान एकीकरण/हस्तक्षेप के लिए एक-फ़ाइल कार्यान्वयन है।

गलत सकारात्मक

गलत सकारात्मक पहचान दरें:

  • मॉड्यूलस डिटेक्टर: 2^-27
  • असतत लघुगणक डिटेक्टर: 2^-154

असतत लघुगणक डिटेक्टर केवल Python कोड में लागू किया गया है, डिफ़ॉल्ट पहचान विधि के रूप में उपयोग किया जाता है।

Java और C# कोड पोर्ट मूल प्रकाशन के बाद से अनुरक्षित नहीं हैं और हम इन डिटेक्टरों को अधिक सटीक विधि में अपग्रेड करने की योजना नहीं बनाते हैं। हालाँकि PR का स्वागत है!

ऑनलाइन जाँचकर्ता

https://keychest.net/roca

ऑनलाइन जाँचकर्ता असतत लघुगणक डिटेक्टर एल्गोरिथ्म का उपयोग करता है।

pip के साथ स्थापित करें

डिटेक्टर लाइब्रेरी + उपकरण को pip के साथ स्थापित करें (सभी निर्भरताएँ स्थापित करता है):

root@kitploit:~
pip install roca-detect

स्थानीय स्थापना

पैकेज के रूट फ़ोल्डर में निष्पादित करें:

root@kitploit:~
pip install --upgrade --find-links=. .

निर्भरताएँ

अतिरिक्त निर्भरताएँ स्थापित करना आवश्यक हो सकता है ताकि pip उदा. क्रिप्टोग्राफी पैकेज स्थापित कर सके।

CentOS / RHEL:

root@kitploit:~
sudo yum install python-devel python-pip gcc gcc-c++ make automake autoreconf libtool openssl-devel libffi-devel dialog

Ubuntu:

root@kitploit:~
sudo apt-get install python-pip python-dev build-essential libssl-dev libffi-dev swig

उपयोग

मूल उपयोग को प्रिंट करने के लिए:

root@kitploit:~
# यदि pip / मैन्युअल रूप से स्थापित किया गया हो
roca-detect --help

# स्थापना के बिना (निर्भरताएँ गायब हो सकती हैं)
python roca/detect.py

परीक्षण उपकरण इनपुट तर्क के रूप में कई फ़ाइल नाम / निर्देशिकाएँ स्वीकार करता है। यह रिपोर्ट लौटाता है जो दर्शाता है कि कितनी फ़ाइलों का फ़िंगरप्रिंट लिया गया है (और कौन सी हैं)।

उदाहरण (कोई कमजोरी नहीं मिली):

मेरी सभी SSH कुंजियों और known_hosts पर पुनरावर्ती रूप से चल रहा है:

root@kitploit:~
$> roca-detect ~/.ssh
2017-10-16 13:39:21 [51272] INFO ### सारांश ####################
2017-10-16 13:39:21 [51272] INFO परीक्षित रिकॉर्ड: 92
2017-10-16 13:39:21 [51272] INFO .. PEM प्रमाणपत्र: . . . 0
2017-10-16 13:39:21 [51272] INFO .. DER प्रमाणपत्र: . . . 0
2017-10-16 13:39:21 [51272] INFO .. RSA कुंजी फ़ाइलें: . 16
2017-10-16 13:39:21 [51272] INFO .. PGP मास्टर कुंजी: 0
2017-10-16 13:39:21 [51272] INFO .. PGP कुल कुंजियाँ:  0
2017-10-16 13:39:21 [51272] INFO .. SSH कुंजियाँ:  . . . 76
2017-10-16 13:39:21 [51272] INFO .. APK कुंजियाँ:  . . . 0
2017-10-16 13:39:21 [51272] INFO .. JSON कुंजियाँ: . . . 0
2017-10-16 13:39:21 [51272] INFO .. LDIFF प्रमाणपत्र: . . 0
2017-10-16 13:39:21 [51272] INFO .. JKS प्रमाणपत्र: . . . 0
2017-10-16 13:39:21 [51272] INFO .. PKCS7: . . . . . 0
2017-10-16 13:39:21 [51272] INFO कोई फ़िंगरप्रिंटेड कुंजी नहीं मिली (ठीक है)
2017-10-16 13:39:21 [51272] INFO ################################

उदाहरण (कमजोरियाँ मिलीं):

मेरी सभी SSH कुंजियों और known_hosts पर पुनरावर्ती रूप से चल रहा है:

root@kitploit:~
$> roca-detect ~/.ssh
<b>2017-10-16 13:39:21 [51272] चेतावनी प्रमाणपत्र में फ़िंगरप्रिंट मिला</b>
...
2017-10-16 13:39:21 [51272] INFO ### सारांश ####################
2017-10-16 13:39:21 [51272] INFO परीक्षित रिकॉर्ड: 92
2017-10-16 13:39:21 [51272] INFO .. PEM प्रमाणपत्र: . . . 0
2017-10-16 13:39:21 [51272] INFO .. DER प्रमाणपत्र: . . . 0
2017-10-16 13:39:21 [51272] INFO .. RSA कुंजी फ़ाइलें: . 16
2017-10-16 13:39:21 [51272] INFO .. PGP मास्टर कुंजी: 0
2017-10-16 13:39:21 [51272] INFO .. PGP कुल कुंजियाँ:  0
2017-10-16 13:39:21 [51272] INFO .. SSH कुंजियाँ:  . . . 76
2017-10-16 13:39:21 [51272] INFO .. APK कुंजियाँ:  . . . 0
2017-10-16 13:39:21 [51272] INFO .. JSON कुंजियाँ: . . . 0
2017-10-16 13:39:21 [51272] INFO .. LDIFF प्रमाणपत्र: . . 0
2017-10-16 13:39:21 [51272] INFO .. JKS प्रमाणपत्र: . . . 0
2017-10-16 13:39:21 [51272] INFO .. PKCS7: . . . . . 0
2017-10-16 13:39:21 [51272] INFO फ़िंगरप्रिंटेड कुंजियाँ मिलीं: 1
2017-10-16 13:39:21 [51272] INFO चेतावनी: संभावित कमजोरी
2017-10-16 13:39:21 [51272] INFO ################################

PGP कुंजी

अपनी PGP कुंजी का परीक्षण करने के लिए आप इसे अपने ईमेल क्लाइंट से निर्यात कर सकते हैं या PGP कुंजी सर्वर जैसे https://pgp.mit.edu/ से डाउनलोड कर सकते हैं।

आप अपनी सार्वजनिक कुंजी निर्यात करने के लिए gpg कमांड लाइन उपयोगिता का भी उपयोग कर सकते हैं:

root@kitploit:~
gpg --armor --export [email protected] > mykey.asc

उन्नत उपयोग मामला

पहचान उपकरण कुंजी के बारे में जानकारी निकालता है जिसे प्रदर्शित किया जा सकता है:

root@kitploit:~
roca-detect.py --dump --flatten --indent  ~/.ssh/

TLS/SSL पहचान

roca-detect-tls दूरस्थ TLS/SSL पोर्ट से प्रमाणपत्रों का पता लगाता है। नई पंक्ति-सीमांकित address:port प्रविष्टियों वाली एक फ़ाइल प्रदान करें और उस फ़ाइल को इनपुट के रूप में उपयोग करें।

उदाहरण फ़ाइल: tls_list.txt

root@kitploit:~
github.com:443
google.com:443
internal.example.com:8080

फिर चलाएँ:

roca-detect-tls tls_list.txt

नकली मॉड्यूलस

ऐसे मॉड्यूलस उत्पन्न करना संभव है जो मॉड्यूलस फ़िंगरप्रिंटिंग परीक्षण पास करते हैं लेकिन वास्तव में गुणनखंड एल्गोरिथ्म द्वारा उपयोग की जाने वाली संरचना नहीं रखते हैं। Dlog मॉड्यूलस परीक्षण उन्हें सकारात्मक के रूप में चिह्नित नहीं करता है।

उन्नत स्थापना विधियाँ

वर्चुअल वातावरण

परियोजना के लिए एक नया Python वर्चुअल वातावरण बनाने की सामान्यतः अनुशंसा की जाती है:

root@kitploit:~
virtualenv ~/pyenv
source ~/pyenv/bin/activate
pip install --upgrade pip
pip install --upgrade --find-links=. .

अलग Python 2.7.13

हमने उपकरण का Python 2.7.13 के साथ परीक्षण किया और यह काम करता है (अधिक जानकारी के लिए Travis देखें)। हमारे पास रिपोर्ट हैं जो कहती हैं कि निचले संस्करण (<=2.6) ठीक से काम नहीं करते हैं इसलिए हम अद्यतित Python 2.7 का उपयोग करने की अत्यधिक अनुशंसा करते हैं।

यदि आप सिस्टम Python को अपडेट नहीं कर सकते/नहीं चाहते हैं तो स्थानीय रूप से एक नया Python संस्करण स्थापित करने के लिए pyenv का उपयोग करें।

यह आंतरिक रूप से Python स्रोतों को डाउनलोड करता है और इसे ~/.pyenv में स्थापित करता है।

root@kitploit:~
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec $SHELL
pyenv install 2.7.13
pyenv local 2.7.13

Python 3

पहचान उपकरण Python 3.4+ के साथ भी काम करता है।

Docker कंटेनर

पर्यावरण असंगति से बचने के लिए Docker कंटेनर के माध्यम से चलाएँ। Dockerfile स्रोत https://hub.docker.com/r/unnawut/roca-detect/ पर ऑडिट किया जा सकता है।

root@kitploit:~
docker run --rm -v /path/to/your/keys:/keys --network none unnawut/roca-detect

कंटेनर के नेटवर्क कनेक्शन को अक्षम करने और चलाने के बाद कंटेनर को हटाने के लिए --rm और --network none फ़्लैग का उपयोग करना सुनिश्चित करें।

लाइसेंसिंग

कोड अनुमत MIT लाइसेंस के तहत लाइसेंस प्राप्त है।

चूंकि दोहरे लाइसेंसिंग के अनुरोध थे (संगतता पर कुछ संदेहों के कारण) Apache 2.0 लाइसेंस के तहत, हम कोड को Apache 2.0 लाइसेंस के तहत भी लाइसेंस दे रहे हैं।

वह लाइसेंस चुनें जो आपको बेहतर लगे, MIT या Apache 2.0।

भाषा पोर्ट

इस अनुभाग में भाषा पोर्ट वाले विभिन्न GIT रिपॉजिटरी के लिंक हैं

  • Go
टूल डाउनलोड करें