Как я могу расшифровать этот HTTP PHP-запрос?
На моем сервере запущены серьезные HTTP и SSH-атаки. Большинство из них - проверка паролем или попытки получения /etc/passwd. Но некоторые из них пытаются запустить bash через системы плагинов или выполняют странные запросы. Смотря файлы журнала моего сервера apache, у меня есть такие строки (без разрывов строк):
POST /cgi-bin/php4?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D
%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69
%6E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66
%75%6E%63%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D
%6E%6F%6E%65+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68
%70%3A%2F%2F%69%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72
%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73
%5F%65%6E%76%3D%30+%2D%6E HTTP/1.1" 301 1718 "-" "Mozilla/5.0 (iPad; CPU OS 6_0
like Mac OS X) AppleWebKit/636.26(KHTML, like Gecko) Version/6.0 Mobile/10B5355d
Safari/8636.25
С декодированием URL я получил это:
"POST /cgi-bin/php4?-d allow_url_include=on -d safe_mode=off -d
suhosin.simulation=on -d disable_functions="" -d open_basedir=none -d
auto_prepend_file=php://input -d cgi.force_redirect=0 -d
cgi.redirect_status_env=0 -n HTTP/1.1" 301 1718 "-" "Mozilla/5.0 (iPad;
CPU OS 6_0 like Mac OS X) AppleWebKit/636.26(KHTML, like Gecko)
Version/6.0 Mobile/10B5355d Safari/8636.25"
Но что он пытается сделать? Поскольку это запрос POST, есть ли способ узнать, какие данные были переданы вместе с ним?
Мои действия по обеспечению безопасности следующие: отключите все службы, которые мне не нужны, для тех, кто мне действительно нужен, защитите их с помощью fail2ban, альтернативных портов (если это возможно), регулярных обновлений программного обеспечения и регулярной проверки файлов журнала. (Следующие шаги будут состоять в том, чтобы регулярно проверять слабые пароли и иметь какой-то механизм обнаружения вторжений)
2 ответа
Это атака PHP-CGI.
-d allow_url_include=on -d safe_mode=off -d suhosin.simulation=on
-d disable_functions="" -d open_basedir=none -d auto_prepend_file=php://input
-d cgi.force_redirect=0 -d cgi.redirect_status_env=0 -n
Приведенный выше раздел данных будет ошибочно передан интерпретатору командной строки PHP и может позволить злоумышленнику переопределить определенные конфигурации PHP. В этом случае одной из ключевых модификаций является указание "auto_prepend_file=php://input", которое позволит злоумышленнику отправлять код PHP в теле запроса.
REF: http://blog.spiderlabs.com/2013/11/honeypot-alert-more-php-cgi-scanning-apache-magikac.html
Это похоже на обычную атаку, когда они пытаются ввести команды cgi. Получить себе IDS или HIDS. Они могут автоматически уведомлять вас или блокировать трафик при обнаружении вредоносных строк.
Также убедитесь, что ваши системы максимально защищены, насколько это возможно, уменьшите ваш информационный след.
Обязательно следите за нарушителем, если это случается время от времени, это обычный интернет-фоновый шум.