Уязвимость Log4Shell (CVE-2021-44228) многими исследователями и экспертами в области кибербезопасности описывается как самая критическая уязвимость нулевого дня всех времен. Он затрагивает широко используемую Java-утилиту под названием Log4j, которая существует с 2001 года и предназначена для регистрации и передачи событий, таких как рутинные системные операции и ошибки программного обеспечения. Здесь мы покажем вам, как защитить вашу систему Linux от этого.
Читайте также: 5 вопросов, которые помогут вам изучить основы программирования
Как работает уязвимость Log4Shell?
На фундаментальном уровне уязвимость вызвана неправильной проверкой входных данных. Это происходит, когда программное обеспечение не проверяет должным образом получаемые данные, что приводит к возможным уязвимостям, поскольку неправильно проверенные входные данные могут использоваться для того, чтобы заставить программу выполнять действия, которые ей не положены.
Log4Shell специально использует запросы, которые Log4j
Contents
Как работает уязвимость Log4Shell?
DI. Воспользовавшись этими запросами, злоумышленник может выполнить код в любой уязвимой системе, что может привести к тому, что злоумышленник получит полный контроль над системой и сможет установить программу-вымогатель или украсть данные.![w2F67LbEtnk maxresdefault](https://saintist.ru/wp-content/uploads/2024/05/maxresdefault-170.jpg)
На что влияет Log4Shell?
Поскольку Java является чрезвычайно популярным языком программирования, этой уязвимости подвержено множество программ, написанных на Java и использующих Log4j для ведения журналов. К числу наиболее известных и часто используемых программ, подверженных этой уязвимости, относятся Apache и видеоигра Minecraft.
Читайте также: 10 лучших редакторов и утилит Minecraft для Linux
Как узнать, какое программное обеспечение затронуто?
Log4Shell, как и любая другая уязвимость кибербезопасности, устраняется путем исправления затронутого ею программного обеспечения. Однако случай Log4Shell немного более уникален, поскольку он затрагивает столь широкий спектр программного обеспечения, и может быть сложно составить список того, что затронуто, а что нет.
К счастью, Национальный центр кибербезопасности Нидерландов опубликовал на сайте GitHub полный список, в который вошли названия программного обеспечения, разработанного различными организациями, и который сообщает, уязвимы ли они для Log4Shell.
Как просканировать ваш сервер Apache на наличие уязвимостей
Поскольку эта уязвимост
На что влияет Log4Shell?
ибербезопасности и программного обеспечения, неудивительно, что администраторам доступны инструменты для сканирования своих серверов на наличие уязвимости.Одним из таких сканеров является Log4j-RCE-сканер , который позволяет сканировать уязвимости удаленного выполнения команд в Apache Log4j по нескольким адресам.
Читайте также: Как использовать cURL для передачи данных из командной строки и многого другого
Установка Log4j-RCE-Scanner
Прежде чем мы начнем, нам необходимо установить зависимости httpxКак узнать, какое программное обеспечение затронуто?/2021/11/22/rukovodstvo-po-komandam-curl/" title="Завиток">Завиток можно легко установить в системах на базе Ubuntu и Debian с помощью команды
apt
:
sudo apt install curl
![установка зависимости Curl](https://saintist.ru/wp-content/uploads/2024/05/Curl.png)
То же самое можно сделать в Arch Linux с помощью команды pacman
:
sudo pacman -Sy curl
И при установке CentOS и Fedora с помощью команды yum
:
sudo yum install curl
Установку httpx можно выполнить с помощью следующих команд:
git clone https://github.com/projectdiscovery/httpx cd httpx/cmd/httpx && go build . sudo mv httpx /usr/local/bin/
git clone https://github.com/adilsoybali/Log4j-RCE-Scanner
![bash apache log4j сканер rce git clone](https://saintist.ru/wp-content/uploads/2024/05/Scanner-1.png)
Доступ к вновь созданному каталогу:
cd Log4j-RCE-Scanner/
Наконец, добавьте необходимые разрешения на выполнение скрипта Bash:
chmod +x log4j-rce-scanner.sh
![bash apache log4j сканер rce chmod](https://saintist.ru/wp-content/uploads/2024/05/chmod-1.png)
Читайте также: 8 полезных и интересных команд Bash
Использование Log4j-RCE-сканера
После того, как вы установили сканер, вы, наконец, можете приступить к самой интересной части его использования.
Прочитайте раздел справки по скрипту, набрав:
bash log4j-rce-scanner.sh -h
Теперь вы можете сканировать свой сервер Apache на наличие уязвимости Log4shell.
bash log4j-rce-scanner.sh -d [domain] -b [Burp collaborator]
Вы можете указать свой домен и Burp Collaborator, используя флаги -d
и -b
. Если ваш домен уязвим, обратные вызовы DNS с уязвимым доменным именем отправляются на Соавтор Burp .
В качестве альтернативы можно использовать флаг -l
для указания списка доменов.
![Тестовое сканирование сканера bash apache log4j](https://saintist.ru/wp-content/uploads/2024/05/scanner-test.png)
Читайте также: Как установить и настроить bspwm в Linux
Установка и использование сканера на основе Python
Если вы предпочитаете вместо этого использовать скрипт Python, вы можете использовать log4-сканер , разработанный Агентством кибербезопасности и безопасности инфраструктуры США.
Чтобы установить:
git clone https://github.com/cisagov/log4j-scanner/
Доступ к каталогу:
cd log4j-scanner/log4-scanner/
Вы можете установить необходимые зависимости с помощью команды pip3
на основе Python:
pip3 install -r requirements.txt
![Сканер RCE для Python log4j и клонирование git](https://saintist.ru/wp-content/uploads/2024/05/python-clone-1.png)
Вы можете просмотреть «справку», предоставляемую сценарием, используя флаг -h
:
python3 log4j-scan.py -h
![Справка по сканеру rce python apache log4j](https://saintist.ru/wp-content/uploads/2024/05/python-help.png)
Сканировать один URL-адрес просто и можно выполнить с помощью флага -u
:
python3 log4j-scan.py -u example.com
![Сканер RCE для Python Apache log4j с одним сканированием](https://saintist.ru/wp-content/uploads/2024/05/python-test-1.png)
Вы также можете сканировать список URL-адресов, используя флаг -l
:
pythoИспользование Log4j-RCE-сканера
t
![Сканирование списка сканеров rce в Python Apache log4j](https://saintist.ru/wp-content/uploads/2024/05/python-test-2.png)
Читайте также: Как очистить кэш Git
Как обновить Apache
Чтобы бороться с этой уязвимостью, чрезвычайно важно поддерживать конфигурацию Apache в актуальном состоянии.
Проверить версию Apache можно разными способами: проверив панель администрирования, например CPanel или WebHost Manager. Вы также можете проверить версию, выполнив команду httpd
с флагом -v
:
httpd -v
Apache можно обновить до последней, наиболее безопасной версии с помощью команды apt
в системах Debian и Ubuntu:
sudo apt update && sudo apt upgrade apache2
Тот же результат достигается с помощью команды yum
для ЦентОС :
sudo yum install httpd
Читайте также: 5 лучших языков программирования игр для разработчиков
Часто задаваемые вопросы
1. Какие версии Log4j подвержены уязвимости?
Версии ниже 2.1.7.1 уязвимы для этого эксплойта. В версии 2.15.0 исправлены наиболее легко эксплуатируемые элементы, а в версии 2.17.1 исправлена трудная для использования уязвимость удаленного выполнения кода.
2. Нужна ли мне утилита Burp Collaborator для получения обратных вызовов DNS с уязвимыми доменными именами?
По словам ра
Установка и использование сканера на основе Python
зуется вместе со скриптом для получения обратных вызовов DNS с уязвимыми доменными именами. Альтернативно можно использовать адрес Interact.sh.3. Нужны ли мне другие зависимости для использования сканера на основе Bash?
Для базового использования вам нужно только установить в вашей системе httpx и Curl в качестве зависимостей. Однако для разблокировки некоторых функций вам также потребуется установить Подпоиск , Поиск активов и Накопить .