
outis एक कस्टम रिमोट एडमिनिस्ट्रेशन टूल (RAT) या ऐसा ही कुछ है। इसे विभिन्न ट्रांसपोर्ट विधियों (जैसे DNS) और प्लेटफार्मों (जैसे Powershell) को सपोर्ट करने के लिए बनाया गया था।
outis एक कस्टम रिमोट एडमिनिस्ट्रेशन टूल (RAT) या उस जैसा कुछ है। Meterpreter या Empire-Agent के बारे में सोचें। हालांकि, इस टूल का फोकस न तो एक्सप्लॉइट टूलकिट है (कोई एक्सप्लॉइट नहीं हैं) और न ही लक्ष्यों का स्थायी प्रबंधन। इसका फोकस सर्वर और लक्ष्य सिस्टम के बीच संवाद स्थापित करना और विभिन्न विधियों और प्लेटफार्मों का उपयोग करके फ़ाइलें स्थानांतरित करना, सॉकेट साझा करना, शेल प्रजनन करना आदि है।
होमर के ओडिसी में साइक्लोप्स पॉलीफेमस को नाम समाधान में कुछ समस्याएं थीं। जब उसने ओडीसियस का नाम पूछा, तो हैकर ने उसे बताया कि यह "Outis" है जिसका अर्थ प्राचीन ग्रीक में "कोई नहीं" है। इस प्रकार, जब पॉलीफेमस ने बाद में चिल्लाया कि कोई नहीं उसे मारने वाला है, तो अजीब तरह से कोई मदद नहीं पहुंची।
इस अद्भुत क्लासिक कहानी को याद रखने के लिए मार्सेल को मेरा धन्यवाद।
आर्क लिनक्स उपयोगकर्ता निम्नलिखित पैकेज स्थापित कर सकते हैं:
अन्य वितरणों में नाम भिन्न हो सकते हैं, उदाहरण के लिए, crypto नाम का एक मॉड्यूल और pycrypto नाम का एक मॉड्यूल है। हमें बाद वाले की आवश्यकता है।
साथ ही, पुराने संस्करण समस्याएं पैदा कर सकते हैं:
$ python3 -c 'import OpenSSL; print(OpenSSL.version.__version__)'
आप आसानी से एक पायथन वर्चुअल वातावरण स्थापित कर सकते हैं:
$ virtualenv outis-venv
$ source ./outis-venv/bin/activate
(outis-venv) $ pip install progressbar2 dnspython pycrypto pyopenssl
इसके परिणामस्वरूप निम्नलिखित पैकेज सूची मिलती है, जो मेरे लिए काम करती है:
$ pip freeze
appdirs==1.4.3
asn1crypto==0.22.0
cffi==1.10.0
cryptography==1.8.1
dnspython==1.15.0
idna==2.5
packaging==16.8
progressbar2==3.18.1
pycparser==2.17
pycrypto==2.6.1
pyOpenSSL==16.2.0
pyparsing==2.2.0
python-utils==2.1.0
six==1.10.0
इस git को recursive फ़्लैग के साथ क्लोन करें ताकि इसके सबमॉड्यूल भी thirdpartytools फ़ोल्डर में क्लोन हो जाएं:
git clone --recursive ...
हैंडलर Python 3 पर चलता है। इसकी निर्भरताएं स्थापित करें और इसे चलाएं। यह आपके लिए स्टेजर, एजेंट और बाकी सब कुछ उत्पन्न करेगा।
कम पोर्ट बाइंड करने के लिए रूट विशेषाधिकारों की आवश्यकता नहीं है, कैपेबिलिटी रैपर का उपयोग करने पर विचार करें।
POWERSHELL प्लेटफार्म के साथ स्टेज किए गए DNS ट्रांसपोर्ट का उपयोग करके फ़ाइल डाउनलोड करना इस प्रकार दिख सकता है:
$ outis
outis> set TRANSPORT DNS
outis> set ZONE zfs.sy.gs
outis> set AGENTDEBUG TRUE
outis> info
[+] Options for the Handler:
Name Value Required Description
----------------- ---------- -------- -----------------------------------------------------------------
TRANSPORT DNS True Communication way between agent and handler (Options: REVERSETCP,
DNS)
CHANNELENCRYPTION TLS True Encryption Protocol in the transport (Options: NONE, TLS)
PLATFORM POWERSHELL True Platform of agent code (Options: POWERSHELL)
PROGRESSBAR TRUE True Display a progressbar for uploading / downloading? (only if not
debugging the relevant module) (Options: TRUE, FALSE)
[+] Options for the TRANSPORT module DNS:
Name Value Required Description
--------- ----------- -------- ------------------------------------------------------------------------
ZONE zfs.sy.gs True DNS Zone for handling requests
LHOST 0.0.0.0 True Interface IP to listen on
LPORT 53 True UDP-Port to listen on for DNS server
DNSTYPE TXT True DNS type to use for the connection (stager only, the agent will
enumerate all supported types on its own) (Options: TXT, A)
DNSSERVER False IP address of DNS server to connect for all queries