Worm.Linux.Ramen, описание вирусов [VirusList.com®]
Worm.Linux.Ramen

Первый известный червь, заражающий системы RedHat Linux. Червь был обнаружен в середине января 2001 года. Распространяет свои копии (заражает удаленные Linux-системы) при помощи "дыры" в системе защиты RedHat Linux (так называемая дыра "переполнение буфера"). Эта "дыра" позволяет засылать исполняемый код на удаленный компьютер и выполнять его там без вмешательства администратора (пользователя). Используя эту дыру червь засылает на удаленные компьютеры короткий кусок своего кода, выполняет его там, докачивает свой основной код и стартует его.

Червь не тестировался в Вирусной Лоборатории, мы не имеем ни одного подтвержденного сообщения о зараженных компьютерах, и по этой причине все сказанное ниже следует читать как "червь должен делать это, если это действительно работает".

Червь использует три различные дыры в RedHat Linux версий 6.2 и 7.0. Эти дыры были обнаружены и закрыты летом-осенью 2000 года, более чем за 3 месяца до появления червя.

Код червя также содержит процедуры, направленные на взлом FreeBSD и SuSE, однако эти процедуры не используются.

Компоненты червя

Червь состоит из 26 компонент общего объемы около 300Kb. Половина из этих файлов является скрипт-программами на командном языке UNIX (".sh"-файлы), другая половина - выполняемые файлы Linux (ELF-файлы).

Основными управляющими компонентами являются скрипт-файлы. Они при необходимости вызывают прочие скрипт-компоненты или выполняют ELF-программы червя.

Список компонент выглядит следующим образом:




 asp        hackl.sh     randb62     start62.sh  wh.sh

 asp62      hackw.sh     randb7      start7.sh   wu62

 asp7       index.html   s62         synscan62

 bd62.sh    l62          s7          synscan7

 bd7.sh     l7           scan.sh     w62

 getip.sh   lh.sh        start.sh    w7



Компоненты с числом "62" исполняются под Linux RedHat 6.2, компоненты "7" - под RedHat 7.0. Компонента "wu62" не используется.

Распространение

При старте основной компоненты червя (файл "start.sh") поочередно вызываются прочие компоненты, которые определяют адреса атакуемых систем, посредством атаки "переполнение буфера" засылают туда "загрузчик" червя, который затем докачивает и запускает основной код червя. Червь активизируется и затем распространяется с только что зараженного компьютера далее на другие системы.

Червь передается с машины на машину в виде архива "tgz" (стандартный архив, применяемый в UNIX-системах) с именем "ramen.tgz". При заражении машины архив передается на нее, распаковывается и запускается главный файл червя.

Червь также добавляет команду запуска своего основого файла к файлу инициализации системы "/etc/rc.d/rc.sysinit". В результет червь запускается каждый раз при последующих запусках зараженной системы.

Червь также предпринимает действия, закрывающие "дыру" в защите Linux RedHat. В результате зараженная машина не может быть атакована повторно.

Подробнее

Для того, чтобы получить IP-адреса прочих машин для их последующих атак червь сканирует ресурсы глобальной сети, т.е. действует аналогично утилитам типа "сниффер".

При атаках используются "дыры" в трех программах-демонах Linux RedHat: "statd", "lpd", "wu-ftp".

При засылке и исполнении кода червя на удаленной машине червь использует "переполнение буфера" кодом, который получает системные привелегии и запускает командный процессор, который затем выполняет следующие команды:

  • создает каталог "/usr/src/.poop", куда потом будет скачан архив червя "ramen.tgz"
  • экспортирует переменную "TERM=vt100", необходимую для запуска WWW-броузера "lynx"
  • запускает броузер "lynx" и с его помощью скачивает "ramen.tgz" с машины, с которой происходит заражение
  • распаковывает из архива "ramen.tgz" все компоненты червя
  • запускает основную компонентц: файл "start.sh"

Для отсылки архива "ramen.tgz" по запросу с заражаемого компьютера червь создает на зараженном компьютере дополнительный сервер с именем "asp".

Прочее

Червь ищет на зараженной машине все файлы "index.html" (стартовые страницы Web-серверов) и заменяет их на собственную "index.html", содержащую текст:

RameN Crew

  Hackers looooooooooooooooove noodles.™

Уничтожает файл "/etc/hosts.deny". Этот файл содержит список адресов машин, которым запрещен доступ к данной системе (в случае использования TCP-враппера).

При заражении очередной системы отправляет три письма с текстом "Eat Your Ramen!" на адреса:

  1. the address of just infected machine
  2. gb31337@hotmail.com
  3. gb31337@yahoo.com

Темой (Subject) письма является IP-адрес зараженной машины.