
WIP (कार्य प्रगति पर) पोस्ट-एक्सप्लॉइटेशन फ्रेमवर्क जो हाइपरवाइज़र के लिए विशेष रूप से तैयार किया गया है।
Reave एक पोस्ट-एक्सप्लॉइटेशन फ्रेमवर्क है जो हाइपरवाइज़र एंडपॉइंट्स के लिए तैयार किया गया है, जो Python में लिखा गया है। यह वर्तमान में विकास के अंतर्गत है।
Reave पारंपरिक लिस्नर/एजेंट मॉडल का अनुसरण करता है, जहाँ उपयोगकर्ता एकाधिक लिस्नर सेट कर सकता है, जो किसी भी संख्या में एजेंट को स्वीकार कर सकते हैं। फ्रेमवर्क वर्तमान में एक Python एजेंट प्रदान करता है और निम्नलिखित उद्देश्यों का समर्थन करता है:
Reave का लक्ष्य एक ऐसा फ्रेमवर्क प्रदान करना है जिसका उपयोग करके कोई उन वातावरणों में पेनटेस्टिंग अभियानों को स्वचालित और तेज कर सके जो या तो भारी रूप से वर्चुअलाइज़्ड हैं, या जहाँ लक्ष्य/महत्वपूर्ण बुनियादी ढाँचा ESXi और Proxmox जैसे हाइपरवाइज़र प्लेटफार्मों पर होस्ट किया गया है।
सर्वर पर, बस app.py चलाएँ:
python3 reave/app.py
लक्ष्य एंडपॉइंट पर, agents/client.py के अंतर्गत स्थित Python एजेंट को अपलोड करें और इसे निष्पादित करें। निम्नलिखित कॉन्फ़िगरेशन विकल्प उपलब्ध हैं:
_LISTENER_HOST सर्वर का होस्टनाम/IP_LISTENER_PORTS पोर्टों की सूची जिनसे एजेंट राउंड-रॉबिन तरीके से कनेक्ट करने का प्रयास करेगा_LISTENER_SECRET उस लिस्नर का एसोसिएशन कुंजी जिससे एजेंट बाइंड होगा_AGENT_LOGLEVEL डीबग लॉगिंग स्तरBEACON_INTERVAL वह अंतराल जिस पर एजेंट बीकन करेगाBEACON_JITTER बीकन अंतराल में जोड़ा जाने वाला यादृच्छिक जिटर फैक्टरSTART_TIME दिन का कौन सा समय एजेंट बीकन करना शुरू करेगाEND_TIME दिन का कौन सा समय एजेंट बीकन करना बंद करेगाSOCKET_TIMEOUT एजेंट के सॉकेट के लिए टाइमआउटPID_FILE PID फ़ाइल जिसका उपयोग एजेंट यह सुनिश्चित करने के लिए करता है कि यह पहले से एंडपॉइंट पर नहीं चल रहा हैTRANSFER_BLOCK_SIZE ब्लॉक आकार जिसका उपयोग एजेंट सर्वर पर फ़ाइलें स्थानांतरित करते समय करेगाजब कोई एजेंट सफलतापूर्वक किसी लिस्नर से जुड़ गया है, तो आप इसे agent संदर्भ में प्रवेश करके और list (या ls) कमांड जारी करके देख सकते हैं। एजेंट द्वारा स्वचालित रूप से गणित सभी जानकारी देखने के लिए कमांड info <agent uuid> जारी करें। उदाहरण के लिए, यदि आपके एजेंट का uuid 18ab है, तो आप info 18ab का उपयोग करेंगे।
एजेंट से एक मनमाना फ़ाइल प्राप्त करने के लिए, आप get 18ab /my/test/file जारी कर सकते हैं।
एंडपॉइंट पर एक इंटरैक्टिव शेल उत्पन्न करने के लिए, आप interact 18ab जारी कर सकते हैं।
कमांड लाइन में तीन अलग-अलग संदर्भ हैं जिनसे आप अलग-अलग संचालन को नियंत्रित कर सकते हैं:
लिस्नर संदर्भ में प्रवेश करने के लिए, कमांड listener का उपयोग करें। वहाँ से, कई विकल्प उपलब्ध हैं:
list सभी सक्रिय लिस्नरों की सूची दिखाएँ
add <host> <port> <secret> एक लिस्नर जोड़ें
remove <uuid> एक लिस्नर हटाएँ
back कमांड का उपयोग करके इस संदर्भ से बाहर निकलें।
एजेंट संदर्भ में प्रवेश करने के लिए, कमांड agent का उपयोग करें। वहाँ से, कई विकल्प उपलब्ध हैं:
list सभी एजेंटों की सूची दिखाएँ (उपनाम: ls)
info <uuid> एजेंट की जानकारी दिखाएँ, जिसमें कोई भी स्वचालित गणना डेटा शामिल है
interact <uuid> एजेंट के साथ इंटरैक्टिव टर्मिनल सत्र।
'quit' से बाहर निकलें।
get <uuid> <file> एजेंट एंडपॉइंट से फ़ाइल को डाउनलोड्स निर्देशिका में स्थानांतरित करें
back कमांड का उपयोग करके इस संदर्भ से बाहर निकलें।
payload संदर्भ में प्रवेश करने के लिए, कमांड payload का उपयोग करें। वहाँ से, कई विकल्प उपलब्ध हैं:
list सभी लोड किए गए पेलोडों की सूची दिखाएँ
info <name> किसी पेलोड के बारे में जानकारी प्राप्त करें
use <name> उपयोग के लिए पेलोड चुनें
set <option> <value> पेलोड विकल्प को मान पर सेट करें
run agent <uuid> पेलोड को किसी एक एजेंट पर चलाएँ
back कमांड का उपयोग करके इस संदर्भ से बाहर निकलें।
Reave यह भी परिभाषित करने का समर्थन करता है कि आप गणना डेटा को किस फ़ॉर्मेट में देखना चाहते हैं। किसी विशेष फ़ॉर्मेट पर स्विच करने के लिए:
format json जानकारी को तालिका प्रारूप में आउटपुट करें।
format table जानकारी को JSON प्रारूप में आउटपुट करें।