
Сканер для проверки уязвимостей SaltStack CVE-2020-11651 и CVE-2020-11652.
Что это?
Инструмент сканирования для проверки уязвимостей SaltStack CVE-2020-11651 и CVE-2020-11652.
Уязвимости позволяют злоумышленнику, который может подключиться к порту "request server", обойти все средства аутентификации и авторизации и публиковать произвольные управляющие сообщения, читать и записывать файлы в любом месте файловой системы "master" сервера и украсть секретный ключ, используемый для аутентификации на master-сервере как root. Последствия — полное удаленное выполнение команд от имени root как на master-сервере, так и на всех подключенных к нему minions.
Как это установить.
Инструмент требует Python 2.7 или Python 3. Внешние зависимости можно установить с помощью pip или easy_install. Например:
sudo pip install -r requirements.txt
Как это использовать?
Включены 2 метода обнаружения:
Раскрытие токена (-t)
Этот метод вызывается с опцией -t и пытается прочитать корневой токен Salt, используя уязвимость. Хотя этот метод является самодостаточным, он работает только на более новых версиях, некоторые старые версии не поддерживаются.
Удаленное выполнение кода для Out-of-Band (DNS) (-c)
Этот метод использует уязвимость, выполняя команду nslookup для запуска DNS-запроса к серверу Appcheck Sentinel. Затем сканер обращается к DNS-серверу AppCheck, чтобы определить, было ли выполнение. Для этого инструменту необходимо подключиться к https://ptst.io/
Примечание: Для получения дополнительной информации о Sentinel см. раздел [4] ниже
Рекомендуемая командная строка: salt_rce_scanner.py -r cidr_ip_range -t -c
[Параметры командной строки]
/ _ \ / __ \ | | |
/ /\ _ __ _ __ | / / |__ ___ | | __
| _ | ' | ' | | | ' \ / _ / __| |/ /
| | | | |) | |) | _/\ | | | / (| <
_| |/ ./| ./ _/| ||_|___||_
| | | |
|| |_|
Сканер SaltStack (CVE-2020-11651 и CVE-2020-11652)
Автор: Гари О'Лири-Стил
Версия: 0.1 Альфа
Используйте -h, чтобы увидеть параметры использования
дополнительные аргументы: -h, --help показать это справочное сообщение и выйти -r CIDR_RANGE Целевой хост или диапазон CIDR для сканирования -p PORT Целевой порт (по умолчанию 4506) -c Включить тест удаленной инъекции команд (внеполосный DNS для AppCheck Sentinel) -t Включить проверку раскрытия корневого токена -T THREADS Максимальное количество потоков (по умолчанию 50) -o OUTPUT_FILE Выходной файл
[4] AppCheck Sentinel
= Общая информация =
Традиционно уязвимости веб-приложений обнаруживаются путем изменения входных данных, предоставленных клиентом, в попытке вызвать определенный ответ от сервера. Например, уязвимости SQL-инъекций часто обнаруживаются путем отправки полезных нагрузок, которые вызывают возврат сигнатуры сервером базы данных; в других случаях полезные нагрузки предназначены для вызова определенной задержки по времени, которую можно измерить для обнаружения уязвимости. В каждом случае эти методы используют внутриполосные (in-band) техники, где как атака, так и ответ проходят по тому же пути, что и обычный трафик веб-сайта, и приводят к немедленному подтверждению уязвимости.
= Внеполосное обнаружение =
Однако существуют случаи, когда внутриполосные методы неэффективны. Например, рассмотрим сайт электронной коммерции, который собирает заказы, которые затем позже просматриваются через внутреннюю систему обработки заказов. Хотя AppCheck обнаружит уязвимости (внутриполосные) на сайте электронной коммерции во время обычного сканирования, уязвимости во внутренней системе обработки заказов могут не проявиться до тех пор, пока к ним не будет получен доступ (другим пользователем или процессом) позже.
Другие распространенные случаи возникают, когда запуск уязвимости не обеспечивает надежного внутриполосного механизма для подтверждения уязвимости. Например, измерение времени отклика сервера может быть ненадежным, если обычное время отклика сервера является неустойчивым. В других случаях уязвимость может не влиять на то, как сервер отвечает, независимо от того, была ли она успешно использована или нет.
Чтобы преодолеть эти ограничения, AppCheck реализует систему внеполосного обнаружения под названием Sentinel.
Sentinel — это облачная система мониторинга, которая размещает специально разработанные службы DNS, SMTP, HTTP(s) и SMB, которые перехватывают внеполосные соединения, вызванные полезной нагрузкой атаки AppCheck.
Во время сканирования AppCheck отправляет специально разработанные полезные нагрузки, предназначенные для запуска внеполосных соединений при их успешном выполнении. Затем Sentinel обнаруживает это выполнение и соответствующим образом обновляет результаты сканирования. Одним из наиболее распространенных методов является использование DNS-токенов, встроенных в полезную нагрузку. По своей природе DNS-запросы перенаправляются на авторитетный DNS-сервер для данного домена для разрешения. Следовательно, даже если уязвимой системе не разрешен доступ к Интернету, пока она может разрешать DNS-имена, она может связываться с Sentinel.