
साइबर रेंज वातावरण के लिए पूर्व-निर्धारित व्यवहारों के साथ Android मशीनों का प्रबंधन करें।
RoboDroid
RoboDroid एक अत्याधुनिक सॉफ्टवेयर उपकरण है जिसे साइबर रेंज वातावरण में उपयोग के लिए Android मशीनों के प्रबंधन (और बहुत जल्द तैनाती) की प्रक्रिया को सरल बनाने के लिए डिज़ाइन किया गया है। RoboDroid के साथ, उपयोगकर्ता अपनी Android मशीनों के लिए पूर्व-परिभाषित व्यवहार आसानी से सेट और अनुकूलित कर सकते हैं, जिससे वे जटिल साइबर हमले के परिदृश्य बना सकते हैं और विभिन्न प्रकार के खतरों के विरुद्ध अपनी सुरक्षा का परीक्षण कर सकते हैं।
मोबाइल उपकरण आज की दुनिया में सर्वव्यापी हो गए हैं। लोग अपने जीवन के लगभग हर पहलू के लिए स्मार्टफोन का उपयोग करते हैं, जिसमें बैंकिंग, खरीदारी और संचार शामिल हैं। परिणामस्वरूप, मोबाइल उपकरण अब साइबर अपराधियों के लिए एक प्राथमिक लक्ष्य हैं।
हालाँकि, साइबर सुरक्षा प्रशिक्षण और परीक्षण वातावरण में मोबाइल उपकरणों की सुरक्षा को अक्सर अनदेखा किया जाता है। यह संगठनों को उन हमलों के प्रति संवेदनशील बना सकता है जो मोबाइल उपकरणों की कमजोरियों का शोषण करते हैं। इसलिए, वर्तमान दुनिया के अनुकूल होने के लिए अगली पीढ़ी के साइबर-रेंज में मोबाइल घटकों को शामिल करना महत्वपूर्ण है जो तेजी से स्मार्टफोन-आदी होती जा रही है।
RoboDroid को इस अंतर को भरने में मदद करने के लिए डिज़ाइन किया गया है, जो मानव-समान स्मार्टफोन व्यवहार का अनुकरण करने वाले उपकरणों का एक सेट प्रदान करता है। पूर्व-परिभाषित व्यवहार Frida का उपयोग करके बनाए जाते हैं और RoboDroid Library रिपॉजिटरी में प्रबंधित किए जाते हैं।
RoboDroid का लक्ष्य साइबर रेंज वातावरण में मोबाइल घटकों को शामिल करने का एक सरल तरीका प्रदान करना है। इसका मुख्य उद्देश्य उपयोगकर्ताओं को एक उपयोग में आसान प्लेटफ़ॉर्म प्रदान करना है जो उन्हें मोबाइल उपकरणों पर मानव-समान व्यवहार और क्रियाओं का अनुकरण करने की अनुमति देता है।
RoboDroid एप्लिकेशन-विशिष्ट व्यवहार चलाने के लिए Frida तकनीक का लाभ उठाता है, जबकि अन्य सभी कार्यों के लिए ADB का उपयोग करता है। यह शक्तिशाली संयोजन उपयोगकर्ताओं को पूर्व-निर्धारित व्यवहारों की वर्कफ़्लो बनाने में सक्षम बनाता है जो एक मोबाइल उपयोगकर्ता के कार्यों का अनुकरण कर सकते हैं।
एक वर्कफ़्लो का उदाहरण जिसका उपयोग साइबर रेंज वातावरण में किया जा सकता है, इसमें एक मोबाइल उपयोगकर्ता को फ़िशिंग ईमेल प्राप्त करना, ईमेल में निहित लिंक पर क्लिक करना और उसके बाद मैलवेयर डाउनलोड करना शामिल है।
निम्नलिखित चित्र इसे सारांशित करता है:

वर्कफ़्लो को निम्नलिखित चरणों में विभाजित किया जा सकता है:
इस तरह के वर्कफ़्लो बनाकर और चलाकर, उपयोगकर्ता यथार्थवादी साइबर हमले के परिदृश्यों का अनुकरण कर सकते हैं और विभिन्न प्रकार के खतरों के विरुद्ध अपनी सुरक्षा का परीक्षण कर सकते हैं। यह सुनिश्चित करने में मदद करता है कि सिस्टम और नेटवर्क संभावित कमजोरियों से अच्छी तरह सुरक्षित हैं, और उपयोगकर्ता हमले की स्थिति में प्रभावी ढंग से प्रतिक्रिया देने के लिए तैयार हैं।

RoboDroid, RoboDroid Library द्वारा प्रदान किए गए Frida एजेंट के साथ संदेशों के माध्यम से संवाद करता है, जो कुशल इंटरैक्शन प्रदान करता है। जब RoboDroid कोई विशिष्ट व्यवहार शुरू करता है, तो यह Frida एजेंट से एक संदेश की प्रतीक्षा करता है। संदेश या तो FAILURE या COMPLETED प्रकार का हो सकता है।
यदि संदेश प्रकार FAILURE है, तो RoboDroid सफल समापन सुनिश्चित करने के लिए वर्तमान व्यवहार को पुनरारंभ करता है। यदि संदेश प्रकार COMPLETED है, तो वर्तमान चरण पूर्ण के रूप में चिह्नित किया जाता है, और RoboDroid अगले चरण पर चला जाता है।
इसके अलावा, COMPLETED प्रकार का एक संदेश आउटपुट भी शामिल कर सकता है जिसका उपयोग बाद के चरणों में किया जा सकता है। यह सुनिश्चित करता है कि उपकरण मोबाइल उपकरणों पर मानव-समान क्रियाओं का सटीक अनुकरण प्राप्त करने के लिए अपने व्यवहार को अनुकूलित कर सके।
इस मजबूत संचार प्रक्रिया को प्रदान करके, RoboDroid Frida एजेंट को अपने टूलसेट में सहज एकीकरण सुनिश्चित करता है, और साइबर रेंज वातावरण में मोबाइल उपकरणों के अनुकरण के लिए जटिल वर्कफ़्लो के निर्माण की सुविधा प्रदान करता है।
आप इसे निम्न चलाकर आसानी से स्थापित कर सकते हैं:
pipx install robodroid
हमारा सुझाव है कि आप pip के बजाय pipx का उपयोग करें क्योंकि भविष्य के Python संस्करणों में वर्चुअल वातावरण के बाहर pip के साथ पैकेज स्थापना हटा दी जाएगी।
RoboDroid में RoboDroid Library रिपॉजिटरी से स्वचालित व्यवहार डाउनलोड (और जल्द ही स्वचालित अपडेट) के लिए अंतर्निहित समर्थन है। यदि आप कोई नया Frida व्यवहार जोड़ना चाहते हैं, तो हमारा सुझाव है कि आप विशिष्ट रिपॉजिटरी पर जाएँ और एक Pull Request बनाएँ।
robodroid --help
यह उपकरण के लिए सहायता प्रदर्शित करेगा:
&&&&&&&&&&&
&&&& &&&&
&&& &&&
(&&&& &&&& &&&& &&&)&
&(&&&& &&&&)&
&&&& &&&&
&&&&&&&&&&&&&
&&& &&&&&&&&&&&&&&& &&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&&&&&&&&&
&&&& &&&&
&&&& &&&&
RoboDroid v0.0.3
Usage: robodroid [OPTIONS] COMMAND [ARGS]...
Manage and deploy Android machines with pre-defined behaviors for Cyber Range environments
╭─ Options ──────────────────────────────────────────────────────────────────────────────────╮
│ --help -h Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────────────╮
│ run Run RoboDroid. |
| update-library Update the RoboDroid Library to the latest version |
│ version Print the current version and exit. │
╰────────────────────────────────────────────────────────────────────────────────────────────╯
run कमांडआप robodroid को दो अलग-अलग मोड में चला सकते हैं:
default) &&&&&&&&&&&
&&&& &&&&
&&& &&&
(&&&& &&&& &&&& &&&)&
&(&&&& &&&&)&
&&&& &&&&
&&&&&&&&&&&&&
&&& &&&&&&&&&&&&&&& &&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&& &&&&&&&&&&&&&&& &&&&
&&&&&&&&&&&
&&&& &&&&
&&&& &&&&
RoboDroid v0.0.3
Usage: robodroid run [OPTIONS]
Run RoboDroid.
╭─ Options ───────────────────────────────────────────────────────────────────────────╮
│ --log-mode [silent|normal|debug] Set logging mode [default: normal] │
│ --mode -m [interactive|managed] Set run mode [default: interactive] │
│ --config -c TEXT Name of the managed config file to load │
│ --help -h Show this message and exit. │
╰─────────────────────────────────────────────────────────────────────────────────────╯
इंटरैक्टिव मोड में एक प्रॉम्प्ट होता है जो उपयोगकर्ता को ADB होस्ट, पोर्ट और उपयोग करने के लिए डिवाइस का चयन करने देता है, जबकि प्रबंधित मोड एक कॉन्फिग फ़ाइल का उपयोग करता है जिसे $HOME/.RoboDroid/config के अंतर्गत yaml प्रारूप में रखा जाना चाहिए। प्रबंधित मोड उपयोगकर्ता इनपुट/कॉन्फ़िगरेशन की आवश्यकता के बिना प्रयोगशाला/वातावरण स्थापित करते समय उपयोग करने के लिए उपयुक्त मोड है।
निम्नलिखित तालिका कॉन्फिग फ़ाइल में उपयोग किए जाने वाले फ़ील्ड का विवरण प्रदान करती है:
| कुंजी | आवश्यक | विवरण |
|---|---|---|
| device | हाँ | उपयोग करने के लिए डिवाइस के बारे में जानकारी |
| workflow | हाँ | उपयोग करने के लिए वर्कफ़्लो (फ़ाइल का नाम) |
इसे वास्तव में चलाने से पहले आपको कम से कम एक मान्य वर्कफ़्लो फ़ाइल प्रदान करनी होगी जिसे $HOME/.RoboDroid/workflows के अंतर्गत yaml प्रारूप में रखा जाना चाहिए।
यह कॉन्फिग फ़ाइल निष्पादित होने वाले वर्कफ़्लो के सभी चरणों को परिभाषित करती है, आप कुछ मान्य कॉन्फ़िगरेशन के लिए examples फ़ोल्डर देख सकते हैं। निम्नलिखित तालिका वर्कफ़्लो फ़ाइल में उपयोग किए जाने वाले फ़ील्ड का विवरण प्रदान करती है:
| कुंजी | आवश्यक | विवरण |
|---|---|---|
| id | हाँ | वर्कफ़्लो का आईडी |
init अनुभाग में आप उन APK को सेट कर सकते हैं जिन्हें इंस्टॉल किया जाना चाहिए और उन पैकेजों को सेट कर सकते हैं जिन्हें वास्तविक वर्कफ़्लो चलाने से पहले साफ किया जाना चाहिए (स्टोरेज और कैश)। इस अनुभाग की संरचना इस प्रकार है:
| कुंजी | आवश्यक | विवरण |
|---|---|---|
| install | हाँ | इंस्टॉल करने के लिए APK के पथों की सूची |
| clear | नहीं | साफ करने के लिए पैकेजों की सूची (स्टोरेज और कैश) |
behaviors अनुभाग में वास्तविक वर्कफ़्लो है। यह उन तत्वों की एक सूची है जिन्हें चरण कहा जाता है और जिन्हें क्रमिक रूप से निष्पादित किया जाना है। प्रत्येक चरण की निम्नलिखित संरचना होती है:
अंत में, प्रत्येक इनपुट की निम्नलिखित संरचना होती है:
| कुंजी | आवश्यक | विवरण |
|---|---|---|
| id | हाँ | इनपुट का आईडी |
| value | हाँ | इस इनपुट को असाइन करने का मान |
अंतिम बात यह है कि आप पिछले चरणों के आउटपुट को अगले चरणों के इनपुट के रूप में भी उपयोग कर सकते हैं। ऐसा करने के लिए, आप आरक्षित उपसर्ग robodroid.outputs का उपयोग करके इनपुट का मान सेट कर सकते हैं, उसके बाद चरण का आईडी और आउटपुट का आईडी, उदाहरण के लिए:
...
- id: get-link
name: k9-mail-refresh-and-get-link
type: frida
- id: open-and-download
name: firefox-android-open-link-and-download
type: frida
inputs:
- id: link
value: robodroid.outputs.get-link.link
...
CLI विकल्पों को env वेरिएबल्स के माध्यम से भी सेट किया जा सकता है (विशेष रूप से Docker के अंदर चलाते समय उपयोगी); निम्नलिखित तालिका वर्तमान उपलब्ध env वेरिएबल्स की सूची प्रदान करती है:
| कुंजी | विवरण |
|---|---|
| ROBODROID_LOG_MODE | RoboDroid का लॉग स्तर [silent |
| ROBODROID_RUN_MODE | रन मोड [interactive |
| ROBODROID_MANAGED_CONFIG_NAME | उपयोग करने के लिए प्रबंधित कॉन्फिग का नाम (managed मोड में चलाते समय) |
TODO
हमने एक संक्षिप्त डेमो वीडियो बनाया है जो RoboDroid को एक टेम्पलेट के साथ क्रियान्वित दिखाता है जो निम्नलिखित कार्य करता है:
यह वर्कफ़्लो एक सामान्य फ़िशिंग हमले (हालांकि सरलीकृत) का अनुकरण करता है जिसका उपयोग Android मोबाइल उपकरणों से युक्त अगली पीढ़ी के साइबर रेंज में किया जा सकता है।
RoboDroid एक नवजात उपकरण है और इसे अभी भी बढ़ने की आवश्यकता है! वर्तमान में ये वे सुविधाएँ हैं जिन्हें हम बहुत जल्द जोड़ने की योजना बना रहे हैं:
बेशक हम RoboDroid Library में और अधिक व्यवहार और इस रिपोजिटरी में और अधिक adb कमांड जोड़ने की योजना बना रहे हैं। हम प्रत्येक उपयोगकर्ता को इस प्रोजेक्ट में योगदान देने और इसे बेहतर बनाने के लिए प्रोत्साहित करते हैं!
एंजेलो डेलिकैटो @SecSI द्वारा विकसित
RoboDroid GPL-3.0 LICENSE के अंतर्गत जारी किया गया है।
| init | नहीं | init अनुभाग, इसमें प्रारंभिक सेटअप क्रियाएँ शामिल हैं |
| behaviors | हाँ | निष्पादित करने के लिए व्यवहारों की सूची |
| कुंजी | आवश्यक | विवरण |
|---|
| id | हाँ | चरण का आईडी |
| name | हाँ | व्यवहार का नाम (RoboDroid Library में या कमांड सूची में) |
| type | हाँ | व्यवहार का प्रकार ("frida-behavior", "adb") |
| inputs | नहीं | इनपुट की सूची |