Этот инструмент позволяет сканировать внутренние (только) подсети на наличие уязвимых веб-сервисов log4j. Он будет пытаться отправить полезную нагрузку JNDI каждому обнаруженному веб-сервису (через методы, описанные ниже) на список общих портов HTTP/S. Для каждого полученного ответа он будет регистрировать IP-адрес отвечающего хоста, чтобы мы могли получить список уязвимых серверов.
Если есть «УСПЕХ», это означает, что какой-то веб-сервис получил запрос, был уязвим к эксплойту log4j и отправил запрос на наш TCP-сервер.
Инструмент не отправляет никаких эксплойтов на уязвимые хосты и разработан так, чтобы быть как можно более пассивным.
Платформа | Двоичный файл | Контрольная сумма |
---|---|---|
Windows | log4jscanner-windows.zip | SHA256 |
Linux | log4jscanner-linux.zip | SHA256 |
MacOS | log4jscanner-darwin.zip | SHA256 |
--ports=1555,3030,8000,8080,9003
--connect-timeout
, чтобы контролировать время ожидания ответа от каждого порта при сканированииВ этом примере мы запускаем инструмент против подсети 192.168.1.59/29
(которая содержит уязвимый сервер).
Инструмент делает следующее:
--ports=top100
, чтобы настроить сканирование для включения 100 лучших портов.Скачайте инструмент для вашей конкретной платформы (Windows, Linux или Mac), чтобы запустить инструмент, убедитесь, что порт 5555 на хосте доступен (или измените его через конфигурацию), и укажите подсеть для сканирования (можно настроить отдельный сервер: комбинацию портов с помощью флага --server
):
log4jScanner.exe scan --cidr 192.168.7.0/24
Это проверит 10 лучших портов HTTP\S на хостах в подсети, выведет любые уязвимые хосты на экран и создаст журнал + сводную CSV в том же месте, где находится двоичный файл, включая все попытки. Уязвимые и неуязвимые хосты
Чтобы определить, какие хосты уязвимы, просто найдите слово «SUCCESS» в журнале. Вы можете использовать grep для поиска ключевого слова «SUCCESS», чтобы получить только результаты.
Кроме того, инструмент генерирует CSV-файл, содержащий все результаты. Отфильтруйте по «уязвимому», чтобы получить уязвимые хосты.
Дополнительные варианты использования
Вы можете использовать инструмент для проверки 100 самых популярных портов HTTP\S, вставить один пользовательский порт, диапазон портов или список пользовательских портов (ограничено до 1024 портов).
log4jscanner.exe scan --cidr 192.168.7.0/24 --ports=top100
log4jscanner.exe scan --cidr 192.168.7.0/24 --ports=9000
log4jscanner.exe scan --cidr 192.168.7.0/24 --ports=9000:9005
log4jscanner.exe scan --cidr 192.168.7.0/24 --ports=1555,3030,8000,8080,9003
Можно использовать нестандартную конфигурацию для сервера обратного вызова.
log4jscanner.exe scan --cidr 192.168.7.0/24 --server=192.168.1.100:5000
Если вы хотите отключить сервер обратного вызова, используйте --noserver
.
Доступные флаги
--nocolor
— вывод без цвета;--ports
— либо топ-10 (по умолчанию), топ-100 (список из 100 наиболее распространённых веб-портов), пользовательский одиночный порт, диапазон портов или список пользовательских портов;--noserver
— только сканирование, не используйте локальный сервер обратного вызова;--timeout=10
— установите время ожидания выключения сервера на 10 секунд;--connect-timeout=2000
— установите тайм-аут ответа для каждого сканируемого порта на 2000 миллисекунд.Используемые методы
В настоящее время инструмент использует следующие области для попытки отправки эксплойта:
X-*
(мы планируем расширить их в будущем);User-Agent
.Настройка тестирования
Для тестирования вашей среды вы можете использовать прилагаемые образы Docker для запуска уязвимых приложений.
Запустите docker compose здесь:
docker-compose up -d
Это предоставит вам контейнер, уязвимый для порта 8080 для HTTP и порта 8443 для HTTPS.
Также вы можете запустить это:
docker run --rm --name vulnerable-app -p 8080:8080 ghcr.io/christophetd/log4shell-vulnerable-app
log4jScanner scanip --cidr DOCKER-SUBNET
Мы приветствуем вклад, пожалуйста, отправьте PR или свяжитесь с нами через contact@profero.io.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )