Журнал "Темная сторона силы - Программирование" - Глава первая. - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming

Программирование / Programming
Ищете помощи в написании программы, есть сложность в выполнении задания (в институте и т.д.), пожалуйста, спросите у нас в данном форуме и мы обязательно вам поможем.

Описание темы:Руткиты.

Ответ
Опции темы
Непрочитано 01.10.2012, 17:28   #1
Пользователь

Автор темы (Топик Стартер) Журнал "Темная сторона силы - Программирование" - Глава первая.

Всем привет. Давно появилась идея писать что-то вроде журнала,который будет содержать материалы об "Темной стороне силы" в программировании.

Мой журнал будет состоять из нескольких глав , которые расскажут вам об разных трюках "Темной стороны"

В сегодняшней главе мы будем говорить об "Руткитах" (Англ.RootKit)



- ============= Руткит/RootKit - ==============



Итак,начнем.

Возможно вы много раз слышали термин "Руткит" , сегодня я расскажу вам об этом.


Руткит (англ. rootkit, т.е. «набор root'а») — программа или набор программ для скрытия следов присутствия злоумышленника или вредоносной программы в системе.

(С Википедии,более корректного описания термину придумать не смог)


Итак, мы уже знаем что Руткит - программа позволяющая злым мальчикам скрывать своих "Зверей" в нашей системе, негодяи!


Как же работают Руткиты?


Существует несколько типов Руткитов, я буду разбирать каждый из них.




1. Руткит посредством перехвата API (Windows API) Функций .


Данный тип Руткита работает в третьем кольце (Ring3) .

Для начала стоило бы узнать,что из себя представляет Ring3 кольцо (User-Mode) посредством Википедии .


Код:
Кольца защиты — архитектура информационной безопасности и функциональной отказоустойчивости, реализующая аппаратное разделение системного и пользовательского уровней привилегий. Структуру привилегий можно изобразить в виде нескольких концентрических кругов. В этом случае системный режим (режим супервизора или нулевое кольцо, так называемое «кольцо 0»), обеспечивающий максимальный доступ к ресурсам, является внутренним кругом, тогда как режим пользователя с ограниченным доступом — внешним. Традиционно семейство микропроцессоров x86 обеспечивает четыре кольца защиты.
Архитектуре колец защиты обычно противопоставляют системы, основанные на мандатной адресации, обеспечивающей доступ к объекту по его описанию (англ. Capability-based security).

Из данного текста мы поняли,что существует несколько колец(Уровней).


Кольцо через которое работаем мы - Обычные пользователи,и большинство из наших программ - Номер 3 . Данное кольцо является самым "Низко-Привилегированным". У нас - минимум привилегий.

Самым "Крутым" уровнем является нулевое Кольцо (RING- 0) , Программа работающая в данном режиме не имеет почти никаких ограничений, и может - ВСЕ! (Если ей не помешать в этом, об этом буду говорить ниже!)



Итак,начинаем разбирать Ring-3 Руткит.


Ring-3 Руткит в большинстве случаев работает посредством перехвата Windows API (WINAPI) функций и манипуляций над ними.


После запуска Троянского коня содержащего в себе Ring-3 руткит происходит следующее :

1. Троянский конь проводит иньекцию в доверенный процесс (Посредством кодовой иньекции - a.k.a RunPE) или же DLL иньекции.


В нашем случае кодовая иньекция на много лучше чем DLL иньекция. (После DLL иньекции троянский конь оставляет следы библиотеки на HDD (Дроппер), поэтому является более уязвимым к антивирусным детектам.

Существуют способы реализации DLL иньекции без Дроппинга файла на диск (Мануальный маппинг) , однако будет лучше писать кодовую иньекцию!



После процесса иньекции в действие вступает Сам Руткит! Он начинает перехватывать функции Windows API на уровне третьего кольца и использовать их в своих интересах!

После перехвата API Руткит может скрывать себя в системе посредством :

1. Скрывать регистрационные данные.
2. Скрывать файл от файловой системы.
3. Скрывать процесс от таск-менеджера и других программ.
4. Защищать процесс от терминации.



Руткит перехватывает разные функции WinAPI , поэтому он скрывается в системе в зависимости от того какие функции перехватил )


К примеру -

NtQuerySystemInformation
NtEnumerateKey
NtEnumerateValueKey
NtOpenFile
NtQueryDirectoryFile

и так далее.


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

К сожалению оттечественные вирусо-писатели не владеют достаточным количеством знаний даже для реализации Ринг-3 Руткита,чего уже говорить об Kernel-mode (Ring 0). Большинство Руткитов такого типа работают лишь на х86 Системах (Из за не профессионализма авторов,которые копи-пастят Hook библиотеки и тд,не имея знаний для реализации такого механизма с 0.)

Многие пользователи входят в заблуждение думая о том что Боты которых они покупают (Dirt-Jumper,Pandora,Optima) и так далее очень крутые и ОГОГО. Однако в них нет ничего хорошего,все они написаны на дельфи,с парочкой ДДос-методов и тупой-авто-загрузкой. Платить за них даже 20$ жалко.




================================================== =====


Итак,мы закончили разговор о Ring-3 (UserMode) РутКитах , и теперь разговор пойдет о Ring-0 (Kernel Mode ) Руткитах.


Ring-0 Руткит это крайне сложная система,реализовать которую может не каждый, иногда даже самый профессиональный программист. Иногда все зависит не от знаний программиста,а от того - сможет ли он найти уязвимость в системе для внедрения Драйвера (СМ Подробнее - ниже!)



Итак, Ring-0 Руткит (В данном случае я разбираю лучший вариант - Установка Драйверного обеспечивания)

Работает на уровне Нулевого кольца,и может позволить себе почти Все, так как уровень привилегий в данном кольце является безлимитным.


Это то же самое что работать на одном уровне с операционной системой!

Механизм реализации крайне сложный,для работы на нулевом уровне требуются огромный опыт + знания,и конечно же Эксплойты в системе (Куда же без них?)


1. Программист должен написать Драйвер (ASM/C)
2. Троянский конь содержащий Ринг-0 Руткит должен подгрузить драйвер в нулевое кольцо.


Проблемой является то - что драйвера загрузить могут не каждые программы, в операционных системах Windows существует некая защита от загрузки НЕ проверенного драйверного обеспечения (Driver SIGN Protection) .

Для обхода такой защиты требуются специальные эксплойты (Привилегионная эскалация,другие примеры) .


Поэтому цена таких систем очень высокая (бывает даже 60 000$ и более!)

Используют такие системы чаще всего очень "Мажорные" боты.


В пример могу привести - Zutick/Rustock/Carberp/Rovnix и так далее. Цены каждого из приведенных в моем примере ботов - Выше 10 000 АШШ Долларов. Конечно же не каждый школьник может позволить себе такую махину,да и если бы деньги были - купить их не легко.

Большинство из таких систем продаются лишь на закрытых площадках .



================================================== ======



Ring 0 Руткит - Подкласс данного типа - BootKIT (БутКИТ)!




Буткит - еще более сложный механизм , по сравнению с обычным Kernel-Mode руткитом.

Буткит начинает действовать еще до того как операционная система загрузится!! (Звучит невероятно,верно? Наверное вам интересно как он способен проделывать такое - СМ.Ниже!)





Для начала узнаем - Что такое MBR (Master Boot Record) о котором мы будем говорить.


Вики рассказывает нам следующее :

Код:
Главная загрузочная запись (англ. master boot record, MBR) — код и данные, необходимые для последующей загрузки операционной системы и расположенные в первых физических секторах (чаще всего в самом первом) на жёстком диске или другом устройстве хранения информации.
MBR содержит небольшой фрагмент исполняемого кода, таблицу разделов (partition table) и специальную сигнатуру.
Функция MBR — «переход» в тот раздел жёсткого диска, с которого следует исполнять «дальнейший код» (обычно — загружать ОС). На «стадии MBR» происходит выбор раздела диска, загрузка кода ОС происходит на более поздних этапах алгоритма.
В процессе запуска компьютера, после окончания начального теста (Power-on self-test — POST), Базовая система ввода-вывода (BIOS) загружает «код MBR» в оперативную память (в IBM PC обычно с адреса 0000:7c00) и передаёт управление находящемуся в MBR загрузочному коду.



Итак,наверное вы уже догадались,что буткит внедряется в MBR!

Как же он проделывает такой трюк? Как я и писал выше (СМ.Обычный РИНГ 0 Руткит)

Ему потребуются эксплойты/методы внедрения и обхода защиты.



1. Для начала Буткит записывается в МБР в виде 16 битного ASM кода.
2. Затем Буткит должен иметь специальный метод перехода на следующую стадию (Проход Real Mode Switch и тд)
3. После этого Буткит грузит 32 битный ASM код,который в свою очередь Сразу после загрузки системы грузит Драйвер в Ring0.


Такой метод реализации УНИКАЛЕН и стоит очень больших денег. Такие виды Троянских коней просто неуловимы почти для каждого антивирусного обеспечения на протяжении огромного промежутка времени.



Каждая строка кода,каждый Байт критически важны (В случае ошибки система вообще не загрузится)

Наверное вы понимаете,что реализация таких систем требует огромного труда и времени!




-----------------------------------------------------------------------

Антивирусы и средне-статистические "Трояны" , последний абзац.




Как вы поняли прочитав статью - Бутикты и Кернел-Мод Руткиты стоят десятки тысяч долларов,и не доступны всем. Однако средне-статистическому трояну высокого качества требуется лишь Ring 3 (Usermode) руткит или хороший метод иньекции (System-Wide) и тд.


Большинство проактивных защит (Kaspersky,Comodo и тд) перехватывают все API используемые большинством троянов и обнаруживают их .


В пример могу привести WriteProcessMemory,URLDownloadtoFileA(У Лоадеров), функции библиотеки Kernel32.dll , ntdll.dll .



Для обхода проактивных защит используют разные методы. Об этом будем говорить в других выпусках журнала.




Спасибо за внимание,надеюсь вам понравится,и у меня будет мотивация для дальнейшей работы!!









Темная сторона силы - ГЛАВА 1 . [END]



Florentino вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 01.10.2012, 19:15   #2
Аватар для GOODPower
Герой

По умолчанию Re: Журнал "Темная сторона силы - Программирование" - Глава первая.

шли бы блок пиарить, а не тут флудить
__________________
GOODPower вне форума Ответить с цитированием
Непрочитано 01.10.2012, 19:28   #3
Олдфаг

По умолчанию Re: Журнал "Темная сторона силы - Программирование" - Глава первая.

Разукрасил красиво, сердечек и зайчиков добавь.
G1ta0 вне форума Ответить с цитированием
Непрочитано 01.10.2012, 20:09   #4
Пользователь

Автор темы (Топик Стартер) Re: Журнал "Темная сторона силы - Программирование" - Глава первая.

Цитата:
Сообщение от G1ta0 Посмотреть сообщение
Разукрасил красиво, сердечек и зайчиков добавь.
Спс , старался. Добавлю пасхального кроля.

P.s , как насчет материала? интерес вызвал? стоит ли мне продолжать?

Все лишь для ознакомительных целей и получения знаний форумчанами.
Florentino вне форума Ответить с цитированием
Непрочитано 01.10.2012, 20:11   #5
Аватар для Newbie
Пользователь

По умолчанию Re: Журнал "Темная сторона силы - Программирование" - Глава первая.

Цитата:
Сообщение от Florentino Посмотреть сообщение
Спс , старался.

P.s , как насчет материала? интерес вызвал? стоит ли мне продолжать?

Все лишь для ознакомительных целей и получения знаний форумчанами.
Лично я после первых же строк тупо промотал к каментам в поисках поржать. Совет от души - прежде чем публиковать проверьте текст в ворде.
Newbie вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 01.10.2012, 20:14   #6
Аватар для Mafio
Супергерой

По умолчанию Re: Журнал "Темная сторона силы - Программирование" - Глава первая.

Цитата:
Сообщение от Newbie Посмотреть сообщение
Лично я после первых же строк тупо промотал к каментам в поисках поржать. Совет от души - прежде чем публиковать проверьте текст в ворде.
Что ты хочешь еще от Пейна. седня статьи копирастит, завтра опять двумя ботами всех пугать будет
__________________
Kakos Дайте Кастетчикам какойта УД. Без уд хреново падаєт бистро що ето капец, а єсли не УД то хотяби какойта хил.
Mafio вне форума Ответить с цитированием
Непрочитано 01.10.2012, 20:16   #7
Аватар для Zubastic
ZG troll squad

По умолчанию Re: Журнал "Темная сторона силы - Программирование" - Глава первая.

Ну

кто

так

пишет?
Как товарищ ньюби тупо промотал, тк прочитать такой текст - анреал.
Zubastic вне форума Ответить с цитированием
Непрочитано 01.10.2012, 20:17   #8
Пользователь

Автор темы (Топик Стартер) Re: Журнал "Темная сторона силы - Программирование" - Глава первая.

Цитата:
Сообщение от Mafio Посмотреть сообщение
Что ты хочешь еще от Пейна. седня статьи копирастит, завтра опять двумя ботами всех пугать будет
Копи-паст? где ты такое увидел ? сначала прочитал бы.
Насчет 2 ботов поржал.



Newbie , ох лол. Кто тебе сказал что у меня опыт писать статьи в овер 9000 лет? Зачем минусовать сразу? На практике можно получить опыт и в будующем писать лучше... по крайней мере я старался.

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

Главное сама информация , вызывает ли она интерес - или нет.
Florentino вне форума Ответить с цитированием
Непрочитано 01.10.2012, 20:22   #9
Аватар для Mafio
Супергерой

По умолчанию Re: Журнал "Темная сторона силы - Программирование" - Глава первая.

Цитата:
Сообщение от Florentino Посмотреть сообщение
Копи-паст? где ты такое увидел ? сначала прочитал бы.
Насчет 2 ботов поржал.

Главное сама информация , вызывает ли она интерес - или нет.
я лучше гоголя почитаю - Записки сумасшедшего
Информация и статья очень заинтересует твоего психиатра у которого ты наблюдаешся
__________________
Kakos Дайте Кастетчикам какойта УД. Без уд хреново падаєт бистро що ето капец, а єсли не УД то хотяби какойта хил.
Mafio вне форума Ответить с цитированием
Непрочитано 01.10.2012, 20:24   #10
Пользователь

Автор темы (Топик Стартер) Re: Журнал "Темная сторона силы - Программирование" - Глава первая.

Цитата:
Сообщение от Mafio Посмотреть сообщение
я лучше гоголя почитаю - Записки сумасшедшего
Информация и статья очень заинтересует твоего психиатра у которого ты наблюдаешся
Мда...умник.

Даже комментировать не хочется.
Florentino вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
itamename-e.dat UFODriverr Lineage II 5 28.02.2021 18:17
ID-всех придметов ! ! ! ilyxa Lineage II 25 10.02.2020 15:35


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 16:03. Часовой пояс GMT +3.

Вверх