На мой взгляд, нужно быть мега крутым админом с 10-летним стажем работы с Unix-подобными системами в крупной фирме, чтоб столкнутся хотя бы с частью того списка вирусов, который нам продемонстрировал vad (к сожалению не знаю как зовут человека) в комментариях к посту “И все же, существуют вирусы для linux?”.
Давайте рассмотрим некоторые вирусы, относящиеся к червям, представляющие действительно серьезную угрозу, распространяясь по сети, используя уязвимые места программ электронной почты и других сетевых служб. Такие “червяки” реально могут причинить ущерб Linux-машине.
“Червь” Ramen, названный в честь блюда из макарон, популярного среди многих программистов, стал первым “червем”, поразившим Linux-системы.
Первые сообщения об обнаружении “червя” Ramen появились 17 января 2001 года. Среди наиболее значимых организаций, компьютеры которых были поражены “червем”, можно назвать Техасский университет А&М, лабораторию НАСА по исследованию реактивного движения и Supermicro — тайваньскую фирму-производителя аппаратных средств. Ramen был составлен из нескольких ранее известных сценариев атаки, одновременно упрощая и увеличивая их в объеме. В результате получилось чрезвычайно эффективное средство. Целью атаки были серверы под управлением операционных систем Red Hat Linux, хотя нет причин, по которым бы “червь” не мог поражать другие системы, для этого создателю нужно было только потратить еще немного времени. Рассмотрим процесс заражения компьютеров.
Чем же все-таки вызван интерес к Ramen?
Ramen был довольно эффективным “червем”, и тревога по поводу его появления была поднята практически незамедлительно. Однако используемые им уязвимые месте были уже известны, и заплаты существовали довольно давно. Единственной причиной, позволившей вирусу распространиться, было отсутствие на серверах установленных заплат для систем Red Hat, которые на момент появления “червя” были выпущены от трех до восьми месяцев назад.
Появление Ramen стало толчком для возобновления интереса к ‘”червям” для UNIX-систем. К сожалению, эта заинтересованность прежде всего появилась у недоброжелательных пользователей. Следующим “червем” стал LiOn. Этот “червь” был предназначен для атаки на сервары имен BIND от версии 8.2 до 8.2.3, в которых присутствовала ошибка при обработке TSIG-запросов (Transaction Signatures). После компрометации одного компьютера ‘”червь” c целью своего распространения начинает атаковать случайные компьютеры сети Internet.
На локальном компьютере “червь” LiOn устанавливает набор средств для взлома t0rn, предоставляющий хакеру (который знает пароль) различные возможности компрометации учетной записи root, а также устанавливает троянские версии нескольких локальных программ для выдачи системной информации, например ls и netstat. С помощью суперсервера inetd командные интерпретаторы с правами root становятся доступными по сети через порты 60008 и 33567. Несколько копий командных интерпретаторов с установленным битом SUID root сохраняются в локальной файловой системе. Копии файлов /etc/passwd и /etc/shadow отправляются на удаленный адрес электронной почты.
После LiOn настала пора “червя” Adore, который использовал уязвимые места, эксплуатируемые двумя более ранними “червями” (Ramen и LiOn), а именно: LPRng, rpc-statd, wu-f tp и BIND. В то время как в LiOn находили различные троянские версии двоичных файлов (из набора torn), “”червь” Adore подменяет только одну утилиту ps. Предпринимается попытка отправить определенный объем системной информации, например, сведения о конфигурации сети, теневые пароли и файл суперпользователя .bash_history по различным адресам электронной почты. Adore добавляет новые учетные записи с правами, эквивалентными правам root, и устанавливает копии командного интерпретатора с SUID root для обеспечения хакеру возможности привилегированного доступа к этой системе. Затем распаковываются сценарии атаки и начинается поиск других компьютеров, доступных для атаки.
LiOn и Adore являются вредоносными “червями”. “Червь” Ramen имеет некоторые положительные черты— хотя он и незаконно проникает на чужие компьютеры и изменяет обнаруженные Web-документы, но одновременно он старается закрыть использованные им же бреши в системе защиты.
“Червь” Cheese является наиболее “полезным”. Он выполняет поиск компьютеров, в которых командные интерпретаторы с правами root доступны через порт 10008. Существуют программы атаки на сервер BIND (ошибка при обработке TSIG-запросов), которые оставляют этот порт открытым для несанкционированного доступа хакера. Cheese выявляет такие компьютеры, устанавливается в их системы и устраняет проблему. При этом в сам пакет BIND не вносятся исправления, а просто редактируется файл /etc/inetd.conf, из него удаляются все строки, содержащие /bin/sh. После этого перезапускается демон inetd.
Несмотря на пользу от действий Cheese, создание “червя” для исправления ошибок на чужих компьютерах является не лучшим методом. “Червь” вызывает увеличение потока сетевого трафика при своих попытках распространения, он не устраняет источник проблемы — ошибку в пакете BIND, и ничему не учит ленивых системных администраторов. Подумайте дважды, прежде чем создавать собственный “благородный червь” :].
Существует несколько вариантов и несколько названий “червя” Slapper, например Modap, Cinik и Unlock. Все они практически идентичны и используют уязвимое место в Web-серверах Apache с поддержкой SSL. Ошибка присутствовала в OpenSSL версии 0.9.6d и более ранних, до выхода SSL версии 2. Основным методом обеспечения поддержки на сервере Apache протокола SSL является использование модуля mod_ssl или Apache-SSL (http: //www.apache-ssl. org/) — версии Apache со встроенной поддержкой SSL. В обоих случая должны применяться библиотеки OpenSSL, то есть проблема не в самом сервере Apeche, а в программном обеспечении для поддержки возможностей SSL.
“Червь” Slapper поражает серверы Apache, на которых используются устаревшие SSL-библиотеки, и способен предоставить доступ с правами пользователя Web-сервера (как правило, это httpd, www-data или nobody) и не предоставляет немедленного доступа с привилегиями root. Slapper устанавливает файл пол названием /tmp/.bugtraq.c, компилирует и запускает его. Вместо создания доступной по сети копии командного интерпретатора, он создает сеть типа “точка-точка”, состоящую из инфицированных компьютеров. Все компьютеры этой сети поддерживают взаимосвязь друг с другом через UDP-порт 2002. В эту сеть хакер может передавать свои команды, которые будут выполнены на всех инфицированных компьютерах. Некоторые из этих команд способны организовать атаку отказа в обслуживании (ТСР-наводнения или наводнения UDP-пакетами с использованием службы DNS). Это позволяет хакеру получить непосредственный доступ к компьютерам и, возможно, расширить свои привилегии до уровня root.
Хотя и сложно точно определить количество “инфицированных” хостов, но очевидно, что Slapper стал одним иэ наиболее удачных “червей” для Linux-систем. В оценках различных организаций присутствуют значения от 10000 до 40000 хостов. Для Linux-”червя” это много. Но по сравнению с “червем” Code Red, поразившем более 400000 Windows-систем, атаки с помощью “червей” Linux выглядят довольно безобидными :].
Как итог, можно сказать следующее. Описанные в посте “черви” в настоящее время практически неактивны. Для их распространения требуется устаревшее программное обеспечение, в котором бы присутствовали ошибки. Если проводить своевременное обновление программ на своей системе и устанавливать последние заплаты защиты, появление нового “червя” не будет представлять реальной угрозы.