Взломали как-то у одних товарищей сайтец. Ну как взломали… залили туда веб-шелл, случайно обнаружилось, когда проверял их файлы антивирусом Касперского. А как они ко мне попали? Да менял немного код, попросили вписать пару баннеров в кастомный движок, вот я и выкачал архив сайта, чтобы на локальном сервере работать. Ну в общем не суть. Главное, что обнаружился бэкдор, а это достаточно плохо.
Итак, бэкдор представляет собой файл 01.php, лежащий в каталоге /uploads/ как бы уже намекая путь проникновения.
Обращаюсь к нему и вижу:
Сперва не обратил внимание, ну 404-ая ошибка. Ладно. Хотя странно. Откроем код:
Чтоооо? Помимо захардкоженного MD5-хеша (пароль доступа, не root, кстати). Здесь прямым текстом выводится содержимое той самой Not found странички. Аа-аа )) так это залепуха. А вон внизу и инпут для пароля. Ну-ка, проверим:
И правда) Поле для ввода пароля есть. Попробовал побрутить MD5-хеш на hashcat, но ничего не подобралось до 7 знаков, а дальше сроки выросли очень сильно. Решено было не мучать железо, а поменять захардкоженый хеш на что-нибудь известное прямо в бэкдор-скрипте
Вот такой вот веб-шелл… Чтож. Примечательно то, что он не англоязычный, загуглил пару характерных фраз из исходника:
Определило Индонезийский язык. Первый намёк принят.
Следующая часть исходника была закодирована в base64 – один из любимых методов злоумышленников. Раскодируем прямо в Notepad++:
Так как в исходнике была функция mail, поднимем почтовые логи и грепаем этот почтовый адрес. Выходим на IP-шник:
Снова Индонезия.
Что ещё есть в исходнике?
Ссылки на какой-то хак-портал, где публикуют свои дефейсы куча киберпреступников. Есть и удобный поисковичок.
Устраняем последствия
Вычистим все скрипты
Выполнил поиск подозрительных имён файлов, скриптов. А также всех файлов, созданных в интересующие даты. Удалил.
Запретим выполнение скриптов из каталога uploads
Создал .htaccess следующего содержания, залил в каталог. Проверил работу.
php_flag engine 0
RemoveHandler .phtml .php .php2 .php3 .php4 .php5 .php7 .phps .cgi .pl .asp .aspx .shtml .shtm .fcgi .fpl .htm .html
AddType text/plain .phtml .php .php2 .php3 .php4 .php5 .php6 .php7 .phps .cgi .pl .asp .aspx .shtml .shtm .fcgi .fpl .htm .html
Вот такая вот история. Очевидно, в самописном движке сайта есть какая-то уязвимость, которую обнаружили злоумышленники. И будут пытаться пробивать дальше. Хорошо, если единственная возможность записи будет только в uploads, таким образом по крайней мере PHP-бэкдоры удастся придушить. Будем посмотреть.
Comments: