Опасный Интернет-червь для Linux: Linux.RamenОпасный Интернет-червь для Linux: Linux.Ramen
Опасный Интернет-червь, атакующий сервера под управлением операционных систем Red Hat Linux 6.2 и Red Hat Linux 7.0. Первые сообщения о появлении данного червя были получены из стран Восточной Европы, что позволяет подозревать его восточноевпропейское происхождение. Для своего размножения червь использует некоторые слабые места (vulnerabilities) в приложениях этих операционных систем:
Washington University's ftp server (wu-ftpd) и Remote Procedure Call stat server (rpc.statd) для Red Hat Linux 6.2 и LPRng (lpd) для Red Hat Linux 7.0.
Указанные приложения обычно инсталлируются при установке операционной системы Red Hat Linux "по умолчанию" и без соответствующих "заплаток безопасности" (security patches) уязвимы для применяемых червем атак.
Червь представляет собой архив с именем "ramen.tgz", содержащий в себе 26 различных исполняемых файлов и shell-скриптов. Каждый исполняемый файл содержится в архиве в двух экземплярах: скомпилированный для запуска в Red Hat 6.2 и в Red Hat 7.0. Также в архиве содержится исполняемый файл с именем "wu62", который при работе червя не используется.
При старте червь устанавливает на tcp-порт 27374 небольшой HTTP-сервер, который на любой запрос к нему отдает основной файл червя "ramen.tgz". Далее начинает работу скрипт start.sh, который определяет версию операционной Red Hat по наличию или отсутствии файла /etc/inetd.conf, копирует бинарные файлы, скомпилированные в соответствии с версией системы в файлы с именами, используемыми в дальнейшем для запуска из его скриптов, а затем запускает в фоновом, непрерываемом режиме три свои основные части:
сканирование методом synscan подсетей класса В и определение активных хостов с Red Had Linux 6.2/7.0. Данное сканирование происходит в два этапа: сначала через запуск соответствующего исполняемого файла получается случайный адрес подсети класса B, а затем, через запуск другого файла производится последовательное сканирование всех хостов в этой подсети. Червь пытается соединиться с портом 21 (ftp) и произвести поиск некоторых подстрок в "строке приветствия", выдаваемой ftp-сервером. Ramen ищет фразу "Mon Feb 28", которая, якобы, принадлежит Red Hat 6.2, или "Wed Aug 9", принадлежащей Red Hat 7.0;
попытка атаки на найденный хост через уязвимость в rpc.statd;
попытка атаки на найденный хост через уязвимость wu-ftpd и lpd.
При успешной отработке одной из этих атак на атакуемом сервере выполняется следующая последовательность операций:
создается каталог /usr/src/.poop;
запускается текстовый браузер lynx с указанием соединиться с атакующим сервером на порт 27374 и сохранить всю информацию, отданную сервером в файл /usr/src./.poop/ramen.tgz;
полученный файл с червем копируется в /tmp и распаковывается;
запускается стартовый файл червя start.sh;
на e-mail адреса gb31337@hotmail.com и gb31337@yahoo.com отправляется сообщение с темой, содержащей IP адрес атакованной машины, и телом письма: "Eat Your Ramen!".
Далее червь ищет в системе все файлы с именем "index.html" и заменяет их содержание на html-код, который выводит на экран следующий текст:
RameN Crew
Hackers looooooooooooooooove noodles.
После этого червь удаляет файл /etc/hosts.deny для отмены всех запретов на соединения и получает вызовом своего shell-скрипта IP адрес атакованной машины. Затем червь копирует свой HTTP-сервер в файл /sdin/asp, прописывает его вызов путем задания соответствующих настроек в /etc/inetd.conf для Red Hat 6.2 или в /etc/xinetd.d для Red Hat 7.0 и переинициализирует сервис inetd/xinetd для запуска своего HTTP-сервера.
Для предотвращения повторных попыток атак на данную систему вирус удаляет уязвимые сервисы:
в файл /etc/ftpusers добавляются две записи: "ftp" и "anonymous", что запрещает анонимный ftp-доступ и блокирует "дыру", используемую червем для атаки на "wu-ftpd";
для Red Hat 6.2 из памяти удаляются сервисы rpc.statd и rpc.rstatd, затем эти сервисы удаляются и с диска;
для Red Hat 7.0 из памяти удаляется сервис lpd, затем этот сервис удаляется и с диска;
Далее червь прописывает вызов своего start.sh в /etc/rc.d/rc.sysinit, что позволяет ему повторно активизироваться при каждой загрузке системы.
При внешней безвредности червь чрезвычайно опасен, так как нарушает нормальное функционирование сервера: работа http-сервера будет нарушена уничтожением содержимого всех index.html файлов, анонимный ftp-доступ к серверу будет запрещен, cервисы rpc и lpd будут удалены, ограничения доступа через hosts.deny будут сняты.
Червь использует в своем коде многие слегка модифицированные эксплоиты, доступные ранее на хакерских сайтах, а также на сайтах, посвященных сетевой безопасности.
Cледует отметить, что червь использует при атаках "дыры", сама "свежая" из которых известна с конца сентября 2000 года. Однако тот факт, что при инсталляции системы на нее устанавливаются уязвимые сервисы, а многие пользователи и администраторы не производят должный мониторинг предупреждений о "слабых местах" системы и вовремя не производят их устранение, делает червь более чем жизнеспособным: в настоящее время зафиксированы многие случаи успешных атак систем этим червем.
Следует отметить, что в настоящее время противоядие от червя Linux.Ramen включено в очередное "горячее" дополнение программы-антивируса Dr.Web.