Статья Путь в вирусологию[ВВЕДЕНИЕ]

Admin

Администратор

Путь в вирусологию[ВВЕДЕНИЕ]​


а форум приходит достаточного много новичков в области программирования, которым интересна разработка малварей (вирусов).
Приходя на форум, они в предвкушении думают, что найдут какие-то полезные сведения, или какую-то полезную информацию но, заходя в раздел "Malware", ни в закрепе, ни на других страницах, они не обнаруживают никакую информацию для новичков. Это довольно сильно отталкивает новичков с форума, я даже больше скажу, они разочаровываются, думая, что знания стоят денег.
Сразу говорю, это не так, поэтому, я решил создать вводную статью в вирусологию, где будут изложены книги и материалы. Изложены они будут по той последовательности, в которой вы их должны изучить.
Начнем!
I. глава. Языки программирования(С)/WinApi + материал для обучения
II глава. Что такое реверс-инжиниринг? Для чего он вам? Ассемблер + материал для обучения
III глава. Архитектура Windows
IV глава. Какие малвари писать в начале пути?
V. глава. Заключение



I. глава. Языки программирования(С)/WinAPI материал для обучения
Самое и самое первое, о чем новичок должен подумать после прихода в малварь-разработку, это, конечно же - какой язык программирования выбрать.
Если смотреть объективно, какой язык лучше всего, то советую выбрать язык программирования Си.
Большинство малварей пишут именно на нем!
От шифровальщиков, до руткитов.

Материал для обучения:

Если вы прям 0 в программировании, советую вам книгу: "Современный Си для начинающих" by Клеменс Гребенс (Clemens Grebus).
Эта книга создана для тех, кто полный ноль в программировании, вас обучат базе Си(вывод/ввод, указатели, пространства имен и т.д)
Если же, вы уже умеете кодить и более опытнее в этой области. советую вам этот сайт, по которому обучаются десятки, а может даже сотни тысяч программистов: Си.



После того, как вы изучите базовый синтаксис Си, вы можете переходить ко второму этапу, а именно - WinAPI.
Что такое WinAPI?

Представьте себе WinAPI как гигантский пульт дистанционного управления всей операционной системой(виндовс).
На этом пульте есть сотни кнопок (функций), каждая из которых заставляет систему сделать что-то конкретное:
Создать файл (CreateFile)
Записать данные в файл (WriteFile)
Запустить другую программу (CreateProcess)
Выделить участок памяти в чужом процессе (VirtualAllocEx)
Извлечь пароль из хранилища (CredEnumerate)
Выключить компьютер (ExitWindowsEx)

их сотни, я лишь привел пример немногих из них.

Вопрос от новичка: А зачем мне оно?
Любой малварь - это просто программа, которая нажимает на эти "кнопки" в злонамеренной последовательности, то есть без легитимности используя язык программирования(в нашем случае Си)

Материал для обучения:

1) Чарльз Петцольд (Charles Petzold) - "Windows Programming" / "Программирование для Windows 95"​

2) Джеффри Рихтер (Jeffrey Richter) - Windows via C/C++"​

Предупреждение: В книге Рихтера обращайте особое внимание на главы про процессы и память - это основа для инжекторов в процессы

Петцольд вводит вас в WinAPI, учит работать с окнами. Это основа всего.
А Рихтер погружает вас в самую суть операционной системы. Эта книга - исчерпывающее руководство по ключевым механизмам Win32: процессы, потоки, синхронизация, память, DLL, ввод/вывод.
Это очень важно для каждого вирусолога.


II глава. Что такое реверс-инжиниринг? Для чего он вам? Ассемблер + материал для обучения
Что такое реверс-инжинирирнг для вирусолога?
Объясняю как в школе 1+1.
Реверс-инжиниринг - это двумя словами обратная разработка, для чего она нужна? Ответ:
Реверс-инжиниринг позволяет вам анализировать то или иное приложение, с целью выяснить, как оно работает. логику этого приложения.
Ну, или:
Это анализ какой-то программы без доступа к ее исходному коду.

В нашем же случае:
В своем пути вирусолога, вы будете анализировать другие малвари, с целью выяснить, как они работают и понять их логику, какие WinAPI функции они вызывают, как они защищаются от антивирусов, чтобы в своём малваре добавить что-то новое, или взять что-то себе на вооружение из анализированного малваря.
Есть один минус: Код в дизассемблере IDA PRO(инструмент для анализа) показывается на языке ассемблера, после того как дизассемблер переводит его с машинного кода.
Не нужно переживать из-за того что вы не понимаете что такое дизассемблер, с опытом вы все поймете
Поэтому, вы должны изучить базу ассемблера, а именно 6-7 глав.
Есть один плюс: Если вы изучили Си, вы понимаете, как работать с указателями, что они из себя представляют, что такое адресация.
Это дает очень хороший буст в изучении ассемблера.

Материал для обучения:
Ассемблер
Прочитайте первые 7 глав, после чего сразу переходите на 13 главу:
1768857689910


13 глава тоже даст вам некую базу в WinApi.
Лично я понял как работать с апи винды, только после того как прочитал эту главу, советую)
По реверсу:
Денис Юричев. Реверс-инжиниринг для начинающих
Вскрытие покажет. Практический анализ вредоносного ПО.

III глава. Архитектура Windows
Если вы прошли правильную последовательность изучения материала:
Си -> WinApi -> Ассемблер -> Реверс.
Осталось еще кое-что.
Дело в том, что вы должны понимать как работает память в Windows, должны понимать как устроены защитные механизмы Windows(в целом архитектуру безопасности Windows)

Материал для обучения

Внутреннее устройство Windows. Ключевые компоненты. 7 издание​

Прочитав эту книгу, вы будете полностью понимать архитектуру винды/архитектуру безопасности винды.
Если вы не хотите читать книгу полностью, советую к прочтению такие главы как:
1768857827858

Это самая база. Ее будет достаточно, чтобы уже клипать крутые-малварики под винду которые рвут компудахтеры(шутка)

IV глава. Какие малвари писать в начале пути?
Советую писать легкие малвари, которые работают на уровне пользователя, такие как:
Ransomware, стиллеры, троянчики.
Совет: реверсите подобные малвари(ransomware, стиллеры), тем самым вы прокачиваете свои знания в реверсе, также понимаете как работает малварь на уровне дизассемблера.
После того как вы научитесь писать простые вирусы которые работают на уровне пользователя, можно будет углубляться.
К примеру можно будет писать руткиты которые будут работать на уровне ядра, ИЛИ даже гипервизора(управляет всей ОС)

V глава. Заключение.
Я надеюсь этот материал дал вам(новичкам а может и средним) мотивацию к учебе. Идите и достигайте своих целей, у вас есть материал, который распределен ИДЕАЛЬНО, лично по моему опыту.
Не стесняйтесь спрашивать то, чего не понимаете у нейросети, она очень сильно вам будет помогать в обучении(Но не в разработке, так делать не надо).
 
Похожие темы
Support81 Активисты против ООН: новый договор открывает путь к тотальной слежке Новости в сети 3
Support81 Глобальный цифровой договор: благие намерения или путь к цензуре? Новости в сети 0
Support81 Был героем – стал злодеем: почему уставшие ИБ-специалисты встают на путь криминала Новости в сети 0
M С чего начать свой путь в хакинге? Фишинг, мошенничество, СИ 11
R Путь веб-разработчика в 2017 Программирование 1
Admin Путь сутенера или как организовать свое дело в сфере сексуальных услуг Способы заработка 8
Admin Статья Введение в форензику Анонимность и приватность 0
turbion0 В России обсуждают введение SMS, предупреждающих о разговоре с мошенниками Новости в сети 0
wrangler65 From Zero to Hero: Phishing Company. Введение Все остальное 0
wrangler65 Повлияет ли введение цифровой валюты Центробанка на кардинг? Полезные статьи 0
wrangler65 Введение: Искусство взлома в цифровом мире Полезные статьи 0
wrangler65 Введение в мир хакерских атак: история, типы и защита Полезные статьи 0
Emilio_Gaviriya Статья Введение в IntelOwl. Анонимность и приватность 0
Y Анонимность и Безопасность в Сети ч1 - Введение. Хост Анонимность и приватность 0
A Введение в HTML DOM (модель объекта документа) Программирование 0
B Введение в Metasploit Framework Уязвимости и взлом 4
B Введение в раздел Практика тестирования на проникновение "Разведка и сбор информации" Уязвимости и взлом 0

Название темы