
outis هي أداة تحكم عن بعد مخصصة (RAT) أو شيء من هذا القبيل. تم بناؤها لدعم طرق نقل متنوعة (مثل DNS) ومنصات (مثل Powershell).
outis هي أداة إدارة عن بعد (RAT) مخصصة أو شيء من هذا القبيل. فكر في Meterpreter أو Empire-Agent. ومع ذلك، فإن تركيز هذه الأداة ليس مجموعة أدوات استغلال (لا توجد استغلالات) ولا إدارة مستمرة للأهداف. التركيز هو التواصل بين الخادم والنظام المستهدف ونقل الملفات ومشاركة المقابس (sockets) وفتح الصدف (shells) وما إلى ذلك باستخدام طرق ومنصات مختلفة.
الكيكلوب بوليفيموس في ملحمة هوميروس "الأوديسة" واجه بعض المشاكل في حل الأسماء. عندما سأل عن اسم أوديسيوس، أخبره الهاكر بأنه "أوتيس" (Outis) والتي تعني "لا أحد" في اليونانية القديمة. وهكذا، عندما صرخ بوليفيموس لاحقًا بأن "لا أحد" على وشك قتله، لم يصل أي مساعدة بشكل غريب.
شكري لمارسيل على تذكيري بهذه القطعة الرائعة من القصة الكلاسيكية.
يمكن لمستخدمي Archlinux تثبيت الحزم التالية:
في التوزيعات الأخرى قد تختلف الأسماء، على سبيل المثال، هناك وحدة باسم 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
استنساخ هذا المستودع مع علامة متكررة (recursive flag) لاستنساخ الوحدات الفرعية أيضاً في مجلد thirdpartytools:
git clone --recursive ...
يعمل المعالج على بايثون 3. قم بتثبيت تبعياته وشغّله. سيقوم بتوليد أدوات التهيئة (stagers) والعملاء (agents) وكل شيء آخر لك.
لربط المنافذ المنخفضة بدون الحاجة إلى صلاحيات الجذر، فكر في استخدام غلاف الصلاحيات (capability wrapper).
قد يبدو تنزيل ملف باستخدام نقل DNS المهيأ مع منصة POWERSHELL كالتالي:
$ 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