P4wnP1 A.L.O.A.
P4wnP1 A.L.O.A. द्वारा MaMe82 एक ढाँचा है जो Rapsberry Pi Zero W को एक लचीले, कम लागत वाले प्लेटफ़ॉर्म में बदल देता है
पेंटेस्टिंग, रेड टीमिंग और भौतिक कार्यों के लिए ... या "एक छोटी सी आक्रामक उपकरण" में।
0. कैसे स्थापित करें
नवीनतम छवि रिलीज़ टैब के अंतर्गत मिल सकती है।
एक ताज़ा P4wnP1 A.L.O.A. स्थापना तक पहुँचने का सबसे आसान तरीका वेब क्लाइंट का उपयोग करना है जो उत्पन्न WiFi के माध्यम से होता है (PSK
MaMe82-P4wnP1 है, URL http://172.24.0.1:8000) या SSH (डिफ़ॉल्ट पासवर्ड toor है)।
1. विशेषताएँ
प्लग & प्ले USB उपकरण अनुकरण
- USB कार्य:
- USB ईथरनेट (RNDIS और CDC ECM)
- USB सीरियल
- USB मास स्टोरेज (फ्लैशड्राइव या CD-Rom)
- HID कीबोर्ड
- HID माउस
- USB स्टैक का रनटाइम पुनर्विन्यास (कोई रीबूट नहीं)
- कनेक्ट/डिस्कनेक्ट का पता लगाने से P4wnP1 A.L.O.A. को चालू रखना संभव हो जाता है (बाहरी आपूर्ति) और ट्रिगर
कार्रवाई करना यदि अनुकरणित USB उपकरण किसी नए होस्ट से जुड़ा है
- विभिन्न आंतरिक ईथरनेट इंटरफ़ेस से निपटने की आवश्यकता नहीं, क्योंकि CDC ECM और RNDIS एक वर्चुअल ब्रिज से जुड़े हैं
- USB सेटिंग्स के लिए कॉन्फ़िगरेशन टेम्पलेट्स का लगातार भंडारण और लोड
HIDScript
- सीमित DuckyScript के लिए प्रतिस्थापन
- कीबोर्ड और माउस को स्वचालित करने के लिए परिष्कृत स्क्रिप्टिंग भाषा
- 8 HIDScript जॉब तक समानांतर में चल सकते हैं (एक जॉब को माउस झटकने के लिए चालू रखें, जबकि अन्य मांग पर शुरू होते हैं)
मनमाने माउस और कीस्ट्रोक इंजेक्शन को निर्बाध रूप से करने के लिए
- HIDScript JavaScript पर आधारित है, जिसमें सामान्य पुस्तकालय उपलब्ध हैं, जो अधिक जटिल स्क्रिप्ट की अनुमति देता है (फ़ंक्शन कॉल,
माउस गणनाओं के लिए
Math का उपयोग आदि)
- कीबोर्ड
- UTF-8 पर आधारित, इसलिए ASCII वर्णों तक सीमित नहीं
- NUMLOCK, CAPSLOCK और SCROLLLOCK के LED स्थिति परिवर्तनों को पढ़कर होस्ट के वास्तविक कीबोर्ड से प्रतिक्रिया पर प्रतिक्रिया कर सकता है (यदि लक्ष्य OS सभी जुड़े कीबोर्ड पर LED स्थिति साझा करता है, जो OSX के लिए मामला नहीं है)
- LED प्रतिक्रिया के आधार पर HIDScript में शाखा निर्णय ले सकता है
- माउस
- सापेक्ष गति (तेज़, लेकिन सटीक नहीं)
- चरणबद्ध सापेक्ष गति (धीमी, लेकिन सटीक ... माउस को 1 DPI चरणों में चलाता है)
- विंडोज़ पर पूर्ण स्थिति निर्धारण (पिक्सेल परिपूर्ण यदि लक्ष्य की स्क्रीन आयाम ज्ञात हैं)
- कीबोर्ड और माउस न केवल एक ही स्क्रिप्टिंग भाषा द्वारा नियंत्रित होते हैं, दोनों का उपयोग एक ही स्क्रिप्ट में किया जा सकता है। यह
उन्हें संयोजित करने की अनुमति देता है ताकि ऐसे लक्ष्य प्राप्त किए जा सकें जो केवल कीबोर्ड या माउस का उपयोग करके प्राप्त नहीं किए जा सकते।
- वर्तमान भाषा लेआउट: br, de, es, fr, gb, it, ru और us
ब्लूटूथ
- Bluez स्टैक के लिए पूर्ण इंटरफ़ेस (वर्तमान में दूरस्थ उपकरण खोज/कनेक्शन के लिए समर्थन नहीं)
- ब्लूटूथ नेटवर्क एक्सेस पॉइंट (NAP) चलाने की अनुमति देता है
- अनुकूलन योग्य पेयरिंग (PIN आधारित लीगेसी मोड या SSP)
- उच्च गति समर्थन (WiFi जैसी स्थानांतरण दर प्राप्त करने के लिए 802.11 फ्रेम का उपयोग करता है)
- ब्लूटूथ स्टैक का रनटाइम पुनर्विन्यास
- नोट: PANU भी संभव है, लेकिन वर्तमान में समर्थित नहीं है (कोई दूरस्थ उपकरण कनेक्शन नहीं)
- ब्लूटूथ सेटिंग्स के लिए कॉन्फ़िगरेशन टेम्पलेट्स का लगातार भंडारण और लोड
WiFi
- संशोधित फर्मवेयर (Nexmon ढाँचे के साथ निर्मित)
- KARMA की अनुमति देता है (दूरस्थ उपकरणों द्वारा खोजे गए एक्सेस पॉइंट्स के लिए मान्य उत्तरों का अनुकरण और संघ की अनुमति)
- अतिरिक्त बीकन प्रसारित करने के लिए, कई SSID का अनुकरण करने के लिए
- WiFi गुप्त चैनल
- नोट: Nexmon लीगेसी मॉनिटर मोड शामिल है, लेकिन P4wnP1 द्वारा समर्थित नहीं है। मॉनिटर मोड अभी भी बगी है और संभावित रूप से
फर्मवेयर को क्रैश कर सकता है यदि कॉन्फ़िगरेशन बदलता है।
- आसान एक्सेस पॉइंट कॉन्फ़िगरेशन
- आसान स्टेशन मोड कॉन्फ़िगरेशन (मौजूदा AP से कनेक्ट)
- फेलओवर मोड (यदि लक्ष्य एक्सेस पॉइंट से कनेक्ट करना संभव नहीं है, तो अपना स्वयं का एक्सेस पॉइंट स्थापित करें)
- WiFi स्टैक का रनटाइम पुनर्विन्यास
- WiFi सेटिंग्स के लिए कॉन्फ़िगरेशन टेम्पलेट्स का लगातार भंडारण और लोड
नेटवर्किंग
- आसान ईथरनेट इंटरफ़ेस कॉन्फ़िगरेशन के लिए
- ब्लूटूथ NAP इंटरफ़ेस
- USB इंटरफ़ेस (यदि RNDIS/CDC ECM सक्षम है)
- WiFi इंटरफ़ेस
- प्रति इंटरफ़ेस समर्पित DHCP सर्वर का समर्थन करता है
- DHCP क्लाइंट मोड के लिए समर्थन
- मैन्युअल कॉन्फ़िगरेशन
- प्रत्येक इंटरफ़ेस के लिए कॉन्फ़िगरेशन टेम्पलेट्स का लगातार भंडारण और लोड
उपकरण
यहाँ कहने के लिए बहुत कुछ नहीं है, P4wnP1 A.L.O.A. KALI लिनक्स द्वारा समर्थित है, इसलिए सब कुछ आपकी उंगलियों पर होना चाहिए (या apt का उपयोग करके स्थापित किया जा सकता है)
CLI के माध्यम से कॉन्फ़िगरेशन और नियंत्रण, यदि आवश्यक हो तो दूरस्थ रूप से
- अब तक उल्लिखित सभी विशेषताओं को CLI क्लाइंट का उपयोग करके कॉन्फ़िगर किया जा सकता है
- P4wnP1 कोर सेवा एक एकल बाइनरी है, जो systemd इकाई के रूप में चलती है जो रनटाइम स्थिति को संरक्षित करती है
- CLI क्लाइंट इस सेवा के साथ RPC (विशेष रूप से gRPC) के माध्यम से इंटरफ़ेस करता है ताकि कोर की स्थिति बदल सके
- चूंकि CLI एक RPC दृष्टिकोण का उपयोग करता है, इसका उपयोग दूरस्थ कॉन्फ़िगरेशन के लिए भी किया जा सकता है
- यदि P4wnP1 SSH के माध्यम से एक्सेस किया जाता है, तो CLI क्लाइंट वहाँ आपके आदेशों (या आपके टैब पूर्णता कुंग फू) की प्रतीक्षा कर रहा है
- CLI Go में लिखा गया है (जैसा कि अधिकांश कोड है) और इस प्रकार अधिकांश प्रमुख प्लेटफ़ॉर्म और आर्किटेक्चर के लिए संकलित होता है
इसलिए यदि आप दूरस्थ Windows होस्ट पर चल रही एक बैच फ़ाइल का उपयोग करके P4wnP1 को कॉन्फ़िगर करना चाहते हैं ... कोई समस्या नहीं:
- क्लाइंट को विंडोज़ के लिए संकलित करें
- सुनिश्चित करें कि आप किसी भी तरह P4wnP1 से कनेक्ट कर सकते हैं (ब्लूटूथ, WiFi, USB)
- अपने क्लाइंट आदेशों में
host पैरामीटर जोड़ें
- ... और CLI का उपयोग उसी प्रकार करें जैसे आप स्थानीय पहुँच के साथ करते हैं।
वेब क्लाइंट के माध्यम से कॉन्फ़िगरेशन और नियंत्रण
यद्यपि शुरू में योजना नहीं थी, P4wnP1 A.L.O.A. को वेब क्लाइंट का उपयोग करके कॉन्फ़िगर किया जा सकता है।
भले ही क्लाइंट की योजना नहीं थी, यह एक अच्छे सॉफ़्टवेयर के रूप में विकसित हुआ। वास्तव में यह P4wnP1 A.L.O.A. के लिए मुख्य कॉन्फ़िगरेशन उपकरण बन गया।
वेब क्लाइंट में ऐसी क्षमताएँ हैं जो CLI से एक्सेस नहीं की जा सकतीं (टेम्पलेट्स भंडारण, "TriggerActions" का निर्माण)।
मुख्य विशेषताएँ:
- अधिकांश प्रमुख मोबाइल और डेस्कटॉप ब्राउज़रों पर काम करना चाहिए, सुसंगत रूप और अनुभव के साथ (Quasar Framework)
- वेबसॉकेट के माध्यम से gRPC का उपयोग करता है (कोई RESTful API नहीं, कोई XHR नहीं, लगभग CLI के समान दृष्टिकोण)
- इस इंटरफ़ेस के कारण, वेब क्लाइंट केवल अनुरोध और उत्तर योजना पर निर्भर नहीं करता, बल्कि P4wnP1 कोर से "पुश घटनाएँ" प्राप्त करता है। इसका मतलब है:
- यदि आप (या कोई स्क्रिप्ट) P4wnP1 A.L.O.A. की स्थिति बदलते हैं, तो ये परिवर्तन तुरंत वेब क्लाइंट में प्रतिबिंबित होंगे
- यदि आपके पास एक से अधिक वेब क्लाइंट चल रहे हैं, तो कोर की स्थिति में परिवर्तन एक क्लाइंट से सभी अन्य क्लाइंट्स में प्रतिबिंबित होगा
- एक HIDScript संपादक शामिल है, जिसमें
- सिंटैक्स हाइलाइटिंग
- ऑटो-पूर्णता (
CTRL+SPACE)
- HIDScripts के लिए लगातार भंडारण और लोड
- ब्राउज़र से सीधे HIDScript का मांग पर निष्पादन
- एक HIDScript जॉब प्रबंधक (चल रही जॉब्स को रद्द करना, जॉब स्थिति और परिणामों का निरीक्षण)
- TriggerActions के लिए एक अवलोकन और संपादक शामिल है
- अब तक वर्णित सभी विशेषताओं के लिए पूर्ण टेम्पलेट समर्थन
- वेब क्लाइंट एक एकल पृष्ठ अनुप्रयोग है, एक बार लोड होने पर सब कुछ क्लाइंट साइड चलता है, केवल gRPC अनुरोधों का आदान-प्रदान होता है
स्वचालन
पुराने P4wnP1 संस्करण (स्थैतिक बैश स्क्रिप्ट) के स्वचालन दृष्टिकोण का अब उपयोग नहीं किया जा सकता।
P4wnP1 A.L.O.A. के स्वचालन दृष्टिकोण को इन आवश्यकताओं को पूरा करना था:
- उपयोग करने और समझने में आसान
- वेब क्लाइंट से उपयोग करने योग्य
- एक साथ सामान्य और लचीला होना
- पुराने "बैश स्क्रिप्ट" दृष्टिकोण से जो कुछ भी किया जा सकता था, वह अभी भी संभव होना चाहिए
- सभी उप-प्रणालियों (USB, WiFi, ब्लूटूथ, ईथरनेट इंटरफ़ेस, HIDScript ...) तक पहुँचने में सक्षम
- पुन: प्रयोज्य भागों के साथ मॉड्यूलर
- (सरल) तार्किक कार्यों का समर्थन करने की क्षमता बिना अतिरिक्त कोड लिखे
- GPIO पोर्ट का उपयोग करके भौतिक कंप्यूटिंग की अनुमति देना
तथाकथित "TriggerActions" की शुरूआत और उन्हें टेम्पलेट सिस्टम (सभी उप-प्रणालियों के लिए लगातार सेटिंग्स भंडारण) के साथ संयोजित करके सभी आवश्यकताओं को संतुष्ट किया जा सकता है। TriggerActions पर विवरण कार्यप्रवाह अनुभाग में पाया जा सकता है।
उपयोग ट्यूटोरियल
2. कार्यप्रवाह भाग 1 - HIDScript