«WannaCry» в системах Linux: как вы защищаете себя?

73

Согласно статье rapid7, существует несколько уязвимых версий Samba, позволяющих удаленно выполнять код в системах Linux:

В то время как вымогатель WannaCry воздействовал на системы Windows и был легко идентифицируемым, с четкими шагами по исправлению, уязвимость Samba затронет системы Linux и Unix и может создать значительные технические препятствия для получения или развертывания соответствующих исправлений.

CVE-2017-7494

Все версии Samba начиная с 3.5.0 уязвимы для уязвимости удаленного выполнения кода, позволяющей злонамеренному клиенту загружать общую библиотеку в доступный для записи общий ресурс, а затем заставлять сервер загружать и выполнять ее.

Возможный сценарий атаки:

Исходя из двух факторов:

  • Уязвимость Samba еще не исправлена в некоторых дистрибутивах Linux.
  • В некоторых версиях ядра Linux существует не пропатченная локальная уязвимость повышения привилегий (например, CVE-2017-7308 в универсальном ядре Ubuntu 4.8.0-41).

Злоумышленник может получить доступ к машине Linux и повысить привилегии, используя уязвимость локального эксплойта, чтобы получить root-доступ и установить возможное будущее программное обеспечение ramsomware, аналогичное этому макету WannaCry Ransomware для Linux .

Обновить

В новой статье «Предупреждение! Хакеры начали использовать« SambaCry Flaw »для взлома Linux-систем», демонстрируется, как использовать уязвимость Sambacry для заражения Linux-машины.

Прогноз оказался довольно точным, так как созданный командой исследователей из « Лаборатории Касперского» honeypots захватил вредоносную кампанию, использующую уязвимость SambaCry для заражения компьютеров Linux программным обеспечением для майнинга криптовалют.

Другой исследователь безопасности, Омри Бен Бассат, самостоятельно обнаружил ту же кампанию и назвал ее «EternalMiner» .

По словам исследователей, неизвестная группа хакеров начала угон ПК на Linux всего через неделю после публичного раскрытия уязвимости Samba и установки обновленной версии «CPUminer», программного обеспечения для майнинга криптовалют, которое добывает цифровую валюту «Monero».

После взлома уязвимых машин с помощью уязвимости SambaCry злоумышленники выполняют две полезные нагрузки в целевых системах:

INAebsGB.so - обратная оболочка, обеспечивающая удаленный доступ злоумышленникам.

cblRWuoCc.so - бэкдор, включающий утилиты майнинга криптовалюты - CPUminer.

Отчет TrendLab, опубликованный 18 июля 2017 года: пользователям Linux настоятельно рекомендуется обновляться как новая угроза SambaCry

Как защитить систему Linux от атак?

GAD3R
источник
22
WannaCry - это вредоносная программа для Windows. Вирус Unix может быть написан с использованием этой не связанной проблемы с этой несвязанной реализацией того же протокола, но это не имеет никакого отношения к вредоносному ПО Windows. Эта ссылка, которую вы даете на WannaCry для Linux, является обманом, от просмотра исходного кода она выглядит как вывод некоторого графического программного обеспечения «создайте свой собственный графический интерфейс», без какой-либо реальной программы, но с графическим интерфейсом, который ничего не делает.
Никто
2
@ GAD3R, используя мой iPhone с Google Translate / режим камеры, комментарии на китайском говорят, что источник действительно не полный. Я бы посоветовал переработать вопрос о CVE, удалив ссылку на github, а не о вымогателе, которого до сих пор не существует; или если вы все еще хотите обойти эту идею, сделав ее явной, ссылка на github - всего лишь макет этой идеи
Руи Ф. Рибейро,
8
@ GAD3R Да, если кто-то может получить удаленный доступ к моей системе с высокими привилегиями, гораздо проще просто использовать нативные утилиты Linux для шифрования моего жесткого диска и записать графический интерфейс QT, подобный этому, в обмане. Все реальные функции (т.е. распространение) WannaCry зависят от эксплойтов Windows. Упоминание "WannaCry" - это наживка, чистая и простая.
Никто
6
@ Никто Чтобы быть достаточно справедливым, я считаю, что ОП добросовестно и не знает, что это всего лишь графический интерфейс; мы не китайцы, чтобы читать комментарии, и, как он сам говорит, он не очень разбирается в чтении исходного кода; ИМО параллели между двумя уязвимостями, давая время, также уместны. Дайте ему немного расслабиться. Тем не менее, последствия самого CVE вызывают беспокойство.
Руи Ф Рибейро
3
ИМО Я бы не советовал закрывать вопрос, если у кого-то другая идея, продолжайте. Я переработал текст вопроса, чтобы не упоминать вымогателей, которые еще не были сделаны. Обходной путь, о котором я упоминаю, был по крайней мере полезным в устаревшей системе, которая у нас еще есть.
Руи Ф. Рибейро

Ответы:

102

Эта новая уязвимость в Samba уже называется «Sambacry», а сам эксплойт упоминает «Eternal Red Samba», объявленную в твиттере (сенсационно) как:

Ошибка Samba, метасплоит, который запускается в одну строку, просто: simple.create_pipe ("/ path / to / target.so")

Возможные версии Samba - от Samba 3.5.0 до 4.5.4 / 4.5.10 / 4.4.14.

Если ваша установка Samba соответствует конфигурациям, описанным ниже, исправление / обновление должно быть выполнено как можно скорее, поскольку уже существуют эксплойты , другие эксплойты в модулях python и metasploit .

Более что интересно, уже есть дополнения к ноу приманке из приманок проекта, Дионея как к WannaCry и SambaCry плагинов .

Крик Samba, похоже, уже используется (ab) для установки большего количества крипто-майнеров «EternalMiner» или для удвоения в будущем вредоносного ПО .

Компания honeypots, созданная командой исследователей из «Лаборатории Касперского», запустила вредоносную кампанию, в которой используется уязвимость SambaCry для заражения компьютеров Linux программным обеспечением для майнинга криптовалют. Другой исследователь безопасности, Омри Бен Бассат, самостоятельно обнаружил эту же кампанию и назвал ее «EternalMiner».

Рекомендуемый обходной путь для систем с установленной Samba (который также присутствует в уведомлении CVE) перед его обновлением добавляет smb.conf:

nt pipe support = no

(и перезапуск службы Samba)

Предполагается, что это отключит параметр, который включает / отключает возможность анонимных подключений к службе Windows IPC по имени каналы. От man samba:

Этот глобальный параметр используется разработчиками, чтобы разрешить или запретить клиентам Windows NT / 2000 / XP возможность устанавливать подключения к конкретным для NT каналам SMB IPC $. Как пользователь, вам никогда не нужно отменять настройки по умолчанию.

Однако из нашего внутреннего опыта кажется, что это исправление несовместимо со старыми? Версии Windows (по крайней мере, некоторые клиенты Windows 7, похоже, не работают с ними nt pipe support = no), и в этом случае путь исправления может пойти в крайних случаях на установку или даже сборку Samba.

В частности, это исправление отключает список общих ресурсов в клиентах Windows, и, если они применяются, они должны вручную указывать полный путь к общему ресурсу, чтобы иметь возможность его использовать.

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

Официальный патч исходного кода безопасности находится здесь со страницы безопасности samba.org .

Вчера (24/5) Debian уже выпустил обновление, и соответствующее уведомление о безопасности DSA-3860-1 samba

Чтобы проверить, исправлена ​​ли уязвимость в Centos / RHEL / Fedora и произведена ли она, выполните:

#rpm -q –changelog samba | grep -i CVE
– resolves: #1450782 – Fix CVE-2017-7494
– resolves: #1405356 – CVE-2016-2125 CVE-2016-2126
– related: #1322687 – Update CVE patchset

Теперь есть nmapсценарий обнаружения: samba-vuln-cve-2017-7494.nse для обнаружения версий Samba или гораздо лучший nmapсценарий, который проверяет, уязвим ли сервис, по адресу http://seclists.org/nmap-dev/2017/q2/att-110/samba-vuln-cve. -2017-7494.nse , скопируйте /usr/share/nmap/scriptsи обновите nmapбазу данных или запустите ее следующим образом:

nmap --script /path/to/samba-vuln-cve-2017-7494.nse -p 445 <target>

О долгосрочных мерах по защите сервиса SAMBA: протокол SMB никогда не должен предлагаться напрямую Интернету в целом.

Само собой разумеется, что SMB всегда был запутанным протоколом, и что такого рода услуги должны быть защищены и ограничены внутренними сетями [которым они обслуживаются].

Когда требуется удаленный доступ, будь то дома или специально к корпоративным сетям, такой доступ лучше выполнять с использованием технологии VPN.

Как обычно, в таких ситуациях принцип Unix, заключающийся в установке и активации только минимального количества необходимых сервисов, оправдывает себя.

Взято из самого эксплойта:

Вечная красная самба эксплойт - CVE-2017-7494.
Заставляет уязвимый сервер Samba загружать общую библиотеку в корневой контекст.
Учетные данные не требуются, если на сервере есть гостевая учетная запись.
Для удаленного использования у вас должны быть права на запись хотя бы в одну папку.
Eternal Red просканирует сервер Samba на наличие общих ресурсов, которые он может записать. Это также определит полный путь удаленного общего ресурса.

    For local exploit provide the full path to your shared library to load.  

    Your shared library should look something like this

    extern bool change_to_root_user(void);
    int samba_init_module(void)
    {
        change_to_root_user();
        /* Do what thou wilt */
    }

Также известно, что системы с включенным SELinux не уязвимы для эксплойта.

Посмотрите, как семилетняя ошибка Samba позволяет хакерам получать удаленный доступ к тысячам компьютеров Linux

По данным поисковой системы Shodan, более 485 000 компьютеров с поддержкой Samba открыли порт 445 в Интернете, и, по мнению исследователей из Rapid7, более 104 000 конечных точек, подключенных к Интернету, работают с уязвимыми версиями Samba, из которых 92 000 являются запуск неподдерживаемых версий Samba.

Поскольку Samba является протоколом SMB, реализованным в системах Linux и UNIX, некоторые эксперты говорят, что это «версия EternalBlue для Linux», используемая вымогателями WannaCry.

... или я должен сказать SambaCry?

Принимая во внимание количество уязвимых систем и простоту использования этой уязвимости, недостаток Samba может быть использован в широких масштабах с ужасными возможностями.

Домашние сети с сетевыми устройствами хранения данных (которые также работают под управлением Linux) также могут быть уязвимы для этого недостатка.

См. Также Ошибка в выполнении кодов в Samba скрывается в течение 7 лет. Патч сейчас!

Семилетний недостаток, индексированный как CVE-2017-7494, может быть надежно использован всего лишь одной строкой кода для выполнения вредоносного кода, если выполняются несколько условий. Эти требования включают уязвимые компьютеры, которые:

(a) сделать порт 445 общего доступа к файлам и принтерам доступным в Интернете,
(b) настроить совместно используемые файлы, чтобы иметь права на запись, и
(c) использовать известные или предполагаемые пути к серверам для этих файлов.

Когда эти условия выполнены, удаленные злоумышленники могут загрузить любой код по своему выбору и заставить сервер выполнить его, возможно, с неограниченными привилегиями root, в зависимости от уязвимой платформы.

Учитывая легкость и надежность эксплойтов, эту дыру стоит закрыть как можно скорее. Вероятно, это лишь вопрос времени, когда злоумышленники начнут активно атаковать его.

Также Rapid 7 - патч CVE-2017-7494 в Samba: это круг жизни

И еще SambaCry: продолжение Linux для WannaCry .

Нужно знать факты

CVE-2017-7494 имеет оценку CVSS 7,5 (CVSS: 3,0 / AV: N / AC: H / PR: L / UI: N / S: U / C: H / I: H / A: H) 3.

Область угрозы

Запрос shodan.io «port: 445! Os: windows» показывает около миллиона хостов, отличных от Windows, с tcp / 445, открытым для Интернета, более половины из которых существует в Объединенных Арабских Эмиратах (36%) и США (16%). Хотя многие из них могут работать с исправленными версиями, иметь защиту SELinux или иным образом не соответствовать необходимым критериям для запуска эксплойта, возможная поверхность атаки для этой уязвимости велика.

PS Исправление коммита в github-проекте SAMBA представляется коммитом 02a76d86db0cbe79fcaf1a500630e24d961fa149

Руи Ф Рибейро
источник
2
Добро пожаловать. Я хотел бы добавить, что в моем часовом поясе я действовал в соответствии с уведомлением о безопасности Debian вчера около 9:00
Руи Ф. Рибейро,
6
В отличие от Windows, Samba не включена по умолчанию в большинстве дистрибутивов Linux, верно?
Рафаил
1
@raphael Действительно, но если бы я получил пенни за каждый сервер, который я нашел с полным набором установленных DVD-дисков ... Я немного отредактировал ответ, чтобы обратиться к этой идее.
Руи Ф Рибейро
9
Насколько я могу судить, скрипт nmap просто проверяет версию samba, а не если вы уязвимы. AFAICT, чтобы использовать эту уязвимость, нужно иметь возможность загружать файлы на сервер. Так что уязвимость нигде не является такой серьезной, как у Eternalblue Windows. Если вы разрешаете загружать файлы через Интернет без аутентификации, у вас есть проблема, уязвима ли samba или нет.
Стефан
1
@ StéphaneChazelas спасибо, у меня еще не было времени проверить сценарий
Руи Ф. Рибейро,
21

Большинство из нас, использующих серверы Samba, вероятно, используют его внутри локальных сетей, за брандмауэрами и не выставляют свои порты напрямую внешнему миру.

Это было бы ужасной практикой, если бы вы сделали это, и непростительным, когда есть простые, эффективные и бесплатные (как в пиве, так и в речи) решения для VPN, такие как OpenVPN. SMB не был разработан с учетом открытого Интернета (черт возьми, TCP / IP даже был задним числом в этом протоколе) и должен рассматриваться как таковой. Дополнительное предложение работает правило брандмауэра на хосте фактического общего доступа к файлам , которые БелОЕ только локальному (и в конце концов VPN) АДРЕС сети на все порты SMB ( 139/TCP, 445/TCP, 137/UDPи 138/UDP).

Кроме того, если ваш вариант использования позволяет, вам следует рассмотреть возможность запуска Samba непривилегированным (например, как sambaпользователь, который не является псевдонимом root). Я понимаю, что не так просто объединить ограничения NT ACL с POSIX ACL с этой настройкой, но если это возможно сделать в вашей конкретной настройке, это путь.

Наконец, даже с такой «блокировкой» все же рекомендуется применить исправление, если вы можете (потому что там есть блоки NAS, где это может быть невозможно), и проверить, работает ли ваш конкретный вариант использования с nt pipe supportустановленным на no.

Боян Маркович
источник
4
«Он доступен только в интрасети», вероятно, так думали некоторые администраторы в компаниях, где распространялся WannaCry.
Карстен С.