Руткиты в .NET Framework

image

Теги: .Net Framework, руткит

Эрез Метула (Erez Metula) опубликовал исследование, описывающее новую методику внедрения руткитов в .NET Framework.

.NET Framework давно вызывает интерес у создателей вредоносного ПО. Эрез Метула (Erez Metula) опубликовал исследование, описывающее новую методику внедрения руткитов в .NET Framework.

В документе описаны различные пути разработки руткитов для .NET Framework, позволяющие внести изменения в каждый EXE/DLL файл. Анализ кода не позволит определить наличие бекдора в .NET Framework, поскольку пейлоад находится не в самом коде, а в реализации самой фреймворк. Возможность написания руткитов для фреймворка позволит злоумышленнику установить реверсивный шелл внутри фреймворка и похитить потенциально важные данные, ключи шифрования, отключить проверки безопасности и другое.

Изменение фреймворка можно произвести путем перехвата dll и «отправки» ее обратно фреймворку. Сам процесс состоит из нескольких шагов, описанных в этом документе, и может быть применен ко всем версиям .NET Framework (1.0, 1.1, 2.0, 3.0 и 3.5):

  • Обнаружение DLL в GAC (Global Assembly Cache)
  • Анализ и декомпиляция DLL с помощью ildasm
  • Модификация MSIL кода
  • Рекомпиляция новой DLL с помощью ilasm
  • Обход механизма защиты подписи сборки (strong name protection) GAC
  • Преобразование из NGEN Native DLL
  • Перезапись оригинальной DLL

В документе также описывается брешь в способе загрузки библиотек и возможность обхода механизма подписей и предоставляется общему вниманию утилита для создания MSIL руткитов ".Net-Sploit".

Внимание, для успешного внедрения руткита злоумышленник должен иметь административные привилегии на системе.

Ссылки:

Исследование NET Framework rootkits - backdoors inside your framework 

Презентация

.NET-Sploit 1.0 beta

Исходный код  .NET-Sploit 1.0 beta

Модули к  .NET-Sploit 1.0 beta(опционально)


или введите имя

CAPTCHA
Guest
18-11-2008 20:14:50
Я кодаю на шарпе уже более 4 лет. Помимо, еще Джава и С++. С таким набором я точно не пролечу А вообще... Когда последний раз разработка мелкомягкого потерпела крах? Даже Виста и та продается (читай, окупилась). Просто смотрите трезво: для драйверов - асм и С, для олимпиад и школы - Паскаль, для себя - Делфи, для секретарши - Визуал Бейсик, для работодателя и в краткие сроки - Джава или С#. Думайте логично - если уже дошли до 3.5 версии, то кто-то это использует.
0 |
56227
19-11-2008 01:07:14
Забыл ещё что для высокоскоростного и непрожорливого на память кода - С++ (не путать с managed C++ который уже не С++ не разу, а тормозное .net гoвно)
0 |
.Serj.
19-11-2008 09:43:31
Думайте логично - если уже дошли до 3.5 версии, то кто-то это использует.Его юзают в большинстве своём виндузятники, ну под линукс тоже есть парочка несложных проектов на моне. А так - все юзают питон, судя по кол-ву программ и модулей(читай - библиотек), для него написанных. На питоне даже прогу для 3Д визуализации данных пишут(проект mayavi). Моно и дотнет не нужны.
0 |
19-11-2008 08:49:47
)))) +1
0 |
tmpr
20-11-2008 12:40:01
На сегодняшний день - понятие rootkit слилось с понятием stels и понимается как программа скрывающая свое присутствие от пользователей и приложений (даже системных)...
0 |
SLESH
19-11-2008 09:49:26
Возможно имелось в виду - до прав системы. Хотя в ring0 выволиться из FW это тоже что гланды удалить через жопу.
0 |
19-11-2008 09:52:39
Про повышение прав не написано
0 |
19-11-2008 10:02:01
Термин "rootkit" подразумевает повышение прав до root'а в *nix, а в венде за неимением root'а - до администратора. Не пори чушь.
0 |
19-11-2008 10:23:19
Я прошу прощения, НО! цитату из исходного текста со словами "повышение прав" приведите. А потом будете других учить
0 |
KG
19-11-2008 14:31:42
Термин - бог межевого камня По теме: руткит - программа исполняющаяся с наивысшими системными привилегиями,скрываемая от стандартных способов обнаружение. Кстати в венде как вы выразились высшие права далеко не у администратора, а у системы.
0 |
Martha
19-11-2008 19:00:05
Ну какой же это руткит? Это просто перехват методов .Net и внедрение кода в исполняемые файлы .Net - никто и не сомневался, что это не составляет труда. Понравилось одно место в презентации: Bypass the GAC Strong Name model First thought was to re-sign all the DLL’s It is possible, but it’s a very intensive task Если автор такой талантливый, пусть расскажет о том, КАК "it is possible" Возможность написания руткитов для фреймворка позволит злоумышленнику установить реверсивный шеллзлоумышленник должен иметь административные привилегии на системеС правами администратора-то шелл можно поставить и более аккуратный IMHO, метод действительно может пригодиться только для похищения СекретныхСтрочек и подобных вещей, управляемых функциями .Net.
0 |