Сегодня я заметил необычно высокую частоту запросов к веб-серверу Apache, а также довольно высокий входящий сетевой трафик. Проверив страницу mod_status в Apache, я обнаружил, что URL-адреса нарушителей были по пути www.server.com/www/wp-includes/js/tinymce/plugins/wpautoresize/
. И действительно, я нашел там несколько взломанных (запутанных) PHP-скриптов.
Также заметил странный процесс, выполняемый пользователем www-data:
www-data 7300 10.8 0.1 2122900 18768 ? Ssl Jul11 121:47 /usr/bin/host
Проверка /proc/7300/cmdline
показала, что это действительно оригинальный /usr/bin/host
двоичный файл. netstat -anp
показал, что было открыто много HTTP-соединений, так что каким-то образом этот двоичный файл используется неправильно. debsums
подтвердил двоичную контрольную сумму, чтобы быть в порядке. Поскольку процесс запускался под пользователем www-data, у меня не было причин полагать, что сам сервер был взломан.
Как это бинарное злоупотребление?
РЕДАКТИРОВАТЬ: Это не широкий вопрос "как бороться с взломанным сервером". Скорее вопрос (и уже ответ) об одном конкретном типе злоупотребления, как это технически делается, поскольку этот конкретный случай весьма креативен в том, как это работает. Кажется, что это в дикой природе в течение нескольких лет (старые темы и вопросы 2012 года), и я столкнулся с этим на этой неделе.
Ответы:
После копания в исходных кодах оскорбленных PHP-скриптов и поиска в Google ( этот поток ) я нашел объяснение.
Это часть
system.php
кода, который я нашел:Как
/usr/bin/host
это происходит, немного сложнее. Программы используют библиотеки (.so
файлы) для некоторых своих функций. Пользователи могут предварительно связать (LD_PRELOAD
) некоторые файлы .so перед запуском допустимого двоичного файла, чтобы изменить его работу.Как вы можете видеть, этот скрипт создает файл
libworker.so
и используетLD_PRELOAD
переменную окружения для его предварительной загрузки, поэтому допустимыйhost
двоичный файл делает что-то совершенно другое.Он создает
1.sh
скрипт оболочки и пытается выполнить его несколькими способами (напрямую, используяat
команду, используя cron). Сразу после этого он удаляет скрипт и файл библиотеки с диска, поэтому он остается незамеченным.В первую очередь произошло то, что какой-то уязвимый плагин Wordpress подвергся насилию, и злоумышленник смог поместить свои файлы в каталоги, доступные для записи.
Смягчение означает анализ старых файлов журналов доступа для этого домена и поиск любых
POST
запросов в необычных местах - например, прямой доступ к PHP-файлам плагина WP / Joomla необычен. Затем удалите все найденные обфусцированные PHP-файлы, исправьте права доступа к каталогам, завершите запущенныеhost
процессы и просмотрите файлы журналов на предмет любых попыток повторного взлома.РЕДАКТИРОВАТЬ: я получил информацию от ESET, что они уже обнаруживают эту конкретную библиотеку, а также другие версии. Антивирусные компании называют его Roopre, и кажется, что он используется как часть бот- сети Mayhem .
Углубленный анализ бот-сети Mayhem.
Углубленный анализ этого подвига.
источник