div.main {margin-left: 20pt; margin-right: 20pt}
Вирусы и антивирусы
Вирус
'Worm.Linux.Ramen'
Первый известный червь, заражающий системы
RedHat Linux. Червь был обнаружен в середине января 2001
года. Вирус заражает удаленные Linux-системы (RedHat
Linux) при помощи проблемы буферного переполнения
(buffer overflow). Эта "дыра" позволяет засылать
исполняемый код на удаленный компьютер и выполнять его
там без вмешательства администратора (пользователя).
Используя эту дыру червь засылает на удаленные
компьютеры короткий кусок своего кода, выполняет его
там, докачивает свой основной код и стартует его.
Червь использует три различные дыры в RedHat Linux версий
6.2 и 7.0. По сообщениям корпорации RedHat Linux, эти
дыры были обнаружены и закрыты еще летом-осенью 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",
содержащую текст:
Уничтожает файл "/etc/hosts.deny". Этот файл
содержит список адресов машин, которым запрещен доступ к
данной системе (в случае использования TCP-враппера).
При заражении очередной системы отправляет три письма
с текстом "Eat Your Ramen!" на адреса: the address of just infected machine
gb31337@hotmail.com
gb31337@yahoo.com Темой (Subject) письма является
IP-адрес зараженной машины.
Linux.Bliss
Нерезидентные вирусы, заражающие выполняемые файлы
Linux (разновидность UNIX). Написаны на GNU C. Имеют
формат ELF и работают только под Linux. При запуске ищут
выполняемые файлы и заражают их: сдвигают содержимое
файла вниз, записывают себя в освободившееся место и
добавляют в конец файла строку-идентификатор: "Bliss.a": infected by bliss: 00010002:000045e4
"Bliss.b": infected by bliss: 00010004:000048ac Судя
по всему, первое шестнадцатеричное число является
номером версии вируса, а второе - длина вируса в байтах
(вирусы имеют длины 17892 и 18604 байт соответственно).
При запуске зараженного файла "Bliss.a" ищет не более
трех ELF-файлов и записывается в них. "Bliss.b" заражает
больше файлов (точное число неизвестно). Если в текущем
каталоге все файлы заражены, вирус сканирует другие
каталоги системы, ищет выполняемые файлы и заражает их.
После заражения "Bliss" возвращает управление
программе-носителю. В Linux предусмотрена защита
доступа, т.е. пользователь и программы имеют доступ к
файлам и каталогам в зависимости от установленных
привилегий. То же относится к вирусу: он заражает файлы
только в тех каталогах, к которым имеет доступ
запустивший вирус пользователь. Если же пользователь
имеет системные привилегии, то вирус может
распространиться по всему компьютеру. При работе вирус
выводит "отладочные" сообщения: already infected
skipping, infected with same vers or different type
replacing older version
replacing ourselves with newer version
infecting: bytes
infect() returning success
been to already!
traversing
our size is
copy() returning success
...
Автор: © Московских Александр Источник:
www.linuxoid.ru
|