Безопасность IIS

       

ПРОБЛЕМА. Исследование червя Nimda


Это исследование основано на данных отчета "Nimda Incident Report" института SANS (© 2001). В сентябре 2001 г. червь под названием Nimda атаковал веб-сайты Microsoft IIS и вызвал отказ в обслуживании на тысячах сайтов.

Nimda серьезно нарушил целостность и безопасность атакованных систем, что позволило злоумышленникам завладеть полными привилегиями администраторов компьютеров-жертв, получить доступ ко всей файловой системе и внести бесчисленные изменения в системные файлы и настройки реестра.

Червь распространял сам себя на новые компьютеры посредством четырех отдельных механизмов.

  • Червь сканировал интернет на предмет веб-серверов и использовал их уязвимые места для получения контроля над жертвой, включая уязвимые места "IIS/Personal Web Services Extended Unicode Directory Traversal Vulnerability", "IIS/PWS Escaped Character Decoding Command Execution Vulnerability" и "черные ходы", оставленных червем Code Red II (см. далее). После получения контроля над жертвой – сервером IIS/PWS – червь через протокол FTP передавал свой код с атакующего компьютера на следующую жертву.
  • Червь осуществлял сбор адресов электронной почты из адресной книги Windows, папок с входящими и исходящими сообщениями, а также из локальных файлов HTML/HTM и отправлял себя по всем адресам во вложении к сообщению электронной почты в виде файла readme.exe.
  • Если червю удавалось заразить веб-сервер, он использовал службу HTTP для распространения себя на клиентов, просматривающих страницы этого веб-сервера. После инфицирования сервера-жертвы червь создавал свою копию в виде файла REAMDE.EML и осуществлял прохождение по дереву каталогов в поиске связанных с интернетом файлов с расширением .HTML, .HTM и .ASP. Каждый раз, когда червь находил файл с веб-содержимым, он присоединял к файлу фрагмент кода JavaScript. Код JavaScript вызывал принудительную загрузку файла README.EML на компьютер любого пользователя, просматривающего файл через браузер.
  • Червь поддерживал работу в сети и распространялся через открытые общие файловые ресурсы.
    Он копировал себя во все каталоги, включая каталоги в общем сетевом расположении, для которых пользователь имел разрешение на запись. Червь осуществлял поиск исполняемых файлов на устройствах общего доступа и присоединял себя к каждому из них. Зараженным становился всякий узел, с которого осуществлялся доступ к общему сетевому расположению и загружался один из этих файлов.


Механизмы распространения на серверы IIS, описанные выше, требуют сканирования интернета инфицированной системой на предмет поиска уязвимых серверов IIS. Данный червь осуществлял заражение своих соседей по IP-адресу. Он выбирал узлы с идентичной первой или второй частью (имеется в виду адрес с идентичным значением в крайних правых полях, например, xxx.xxx.654.3210). Это действие приводило к массовой сетевой активности на сайтах с несколькими зараженными системами. В частности, можно было наблюдать эффект переполнения протокола ARP в зависимости от топологии сети жертвы.

Червь вносил бесчисленное множество изменений в файловую систему жертвы, включая создание большого числа копий самого себя под различными именами. В некоторых случаях создавалось столько копий червя, что оказывалось занятым все пространство жесткого диска. Именами файлов червя являлись Admin.dll, Load.exe, MMC.EXE, readme.exe, Riched20.dll и MEP*.TMP.EXE.

Действие червя зависело от операционной системы жертвы, от имени файла, под видом которого выполнялся червь, а также от параметров командной строки, использованных при выполнении программы. При заражении жертвы червь Nimda открывал общий доступ через сеть к каждому локальному диску. В операционных системах Windows 95/98/Me доступ открывался без всякого пароля. В системах Windows NT/2000 пользователю Guest присваивалось разрешение на доступ ко всем общим ресурсам, причем он добавлялся в группу пользователей Администратор. Червь сводил к нулю всю защиту общих сетевых ресурсов в системах Windows NT/2000.

Для сканирования сети червь запускал до двухсот нитей (подпроцессов). Это действие вызывало значительную загрузку зараженного компьютера и всей сети.


ARP, генерируемые сканирующей системой, или запросы DNS, генерируемые системой, отправляющей червь Nimda в сообщениях электронной почты, вызывали ошибки, выглядевшие как явные DoS-атаки. Дальнейший анализ с помощью дизассемблера показал, что червь Nimda повторно входил в фазу распространения через электронную почту каждые десять дней.

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

"Троянское кони" могут физически устанавливаться изнутри сети (опять мы имеем дело с внутренней угрозой), через электронную почту или веб-страницу, легкомысленно открытую получателем. Все это похоже на атаки с использованием вирусов, не правда ли? Другими словами, сообщение электронной почты или веб-страница, внедряющая "троянского коня", содержит вирус или червь с определенным типом действия (троянскую программу). Однако вирус наносит ущерб, как правило, сразу после первого запуска программы. Что касается "троянских коней",то они скрытно находятся в системе на протяжении некоторого времени, пока не представится возможность для нанесения удара.

Независимо от способа доставки, если не обнаружить и не удалить "троянского коня", он будет оставаться на компьютере до тех пор, пока не удалит себя сам, или пока хакер не решит, что "троянский конь" ему больше не нужен. Пока "троянский конь" присутствует в системе жертвы, он находится в полном распоряжении хакера.



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

Одним из распространенных типов агентов является прослушивающая программа (sniffer), отслеживающая сообщения электронной почты, сетевые пакеты, клавиатуры, память компьютера и другие компоненты системы. Другой распространенный агент носит название Remote Access Trojan (RAT). RAT позволяет хакеру захватить управление компьютером или сервером и удаленно выполнять команды. Многие из программ "троянский конь", известные в хакерских кругах, комбинируют элементы снифферов и возможностей RAT.

При осуществлении атаки с помощью "троянского коня" такая комбинация используется довольно часто. Роль сниффера заключается в выявлении идентификаторов и паролей входа в систему. Он записывает нажимаемые пользователями клавиши или пакеты, отправляемые компьютером в сеть. Механизм записи зависит от типа прослушивающей программы. Сниффер может записывать данные в журнал, который потом просматривается хакером. В этот момент используется компонент атаки, реализующий удаленный контроль. RAT будет служить "черным ходом" для входа и просмотра файла журнала. Если на компьютере жертвы нет "черного хода", прослушивающая программа отправит журнал по электронной почте. В любом случае, просмотрев журнал, хакер найдет нужную для себя информацию.

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


Содержание раздела