Новый 64-битный руткит под Linux делает инъекции фреймов в HTTP-трафик Один из подписчиков списка рассылки SecLists прислал описание нового руткита, который работает под 64-битной ОС Linux и использует Nginx. Вредоносную программу пользователь обнаружил на своём сервере Debian Squeeze, веб-сервер Nginx 1.2.3. Обнаружить руткит удалось после того, как некоторые посетители сайта пожаловались, что им отгружается странный iframe с редиректом на вредоносную страницу. Каким-то образом злоумышленнику удалось внедрить код на страницы сайта. Расследование показало, что Nginx возвращает клиенту ответ с вредоносным фреймом даже в случае неверного запроса. Code: server { listen 80 default backlog=2048; listen 443 default backlog=2048 ssl; server_name _; access_log off; (...) location / { return 400; } } В данном случае Nginx не обращается в кэш после получения плохого запроса, а return 400 означает, что он возвращает предустановленный ответ из памяти. Вот как выглядит ответ. Code: HTTP/1.1 400 Bad Request Server: nginx/1.2.3 Date: Wed, 07 Nov 2012 00:01:24 GMT Content-Type: text/html Content-Length: 353 Connection: close <html> <head><title>400 Bad Request</title></head> <body bgcolor="white"><style><iframe src="http://malware-site/index.php "></iframe></div> <center><h1>400 Bad Request</h1></center> <hr><center>nginx/1.2.3</center> Покопавшись в системе, админы обнаружили на сервере руткит и несколько скрытых процессов с именами вроде write_startup_c и get_http_inj_fr. Собственно, вот сам руткит. lib+modules+2.6.32-5-amd64+kernel+sound+module_init.lo Специалисты «Лаборатории Касперского» проанализировали код и выяснили, что руткит специально создан для версии ядра 2.6.32-5-amd64, бинарный файл размером более 500 Кб содержит неудалённую служебную информацию от разработчиков, некоторые запланированные функции руткита не реализованы или работают с ошибками. Эксперты ЛК объясняют, что внедрение фреймов происходит путём подмены системной функции tcp_sendmsg, то есть внедрение в HTTP-трафик осуществляется путём непосредственной модификации исходящих TCP-пакетов на сервере Linux. Для получения боевой нагрузки руткит связывается с удалённым сервером с авторизацией по паролю. Вредоносной программе присвоено название Rootkit.Linux.Snakso.a, более подробное описание см. в блоге CrowdStrike. 20.11.2012 http://www.xakep.ru/post/59663/
я не силен в руткитах, но помойму подмена выдаваемого http-пакета в ядре это третье, что приходит на ум после изменения файлов конкретного сайта и подмены в выдаче конкретного http-сервера(apache, nginx итд)