# Малварь или зловредное ПО

----
<div class="TOC" >
О чем сегодня будем говорить:
<p>
</p>
</div>
<style>
.TOC {
font-size: 26px;
font-weight: 550;
color: #270469;
text-align: left;
</style>
[TOC]
----
# Введение
Относительно недавно начал разбирать свои заметки... с помощью которых готовился к собеседованиям, вот захотелось собрать некий "словарь", возможно кому-то из вас он будет полезен!
:::warning
**Данный топик носит исключительно теоретический характер.**
:::
В нём будет рассмотрена тема зловредного ПО или малвари (жаргонизм с английского слова **"malware"**).
----
## Представление о малвари

Для большинства людей любая малварь это **"вирус"**.
Понятие **"вирус"** достаточно сильно осело в головах рядовых людей, которые не особо разбираются в информационных технолгиях и уже тем более в информационной безопасности. На самом деле под малварью подразумевают любое ПО, которое выполняет зловредные или не свосем легальные действия. Например, ворует ваши пароли/данные карточек/персональные данные/файлы и прочее. Или позволяют злоумышленнику получить удалённый доступ к вашей машине из любой точки земного шара. А может ваш компьютер включён в всемирный ботнет, который атакует другие сетевые ресурсы.
Всё это многообразие **"малвари"**, которое большая часть людей называют **"вирусами"**, хотя вирус - это лишь один из видов малвари.
:::info
**Запомните, вирус это не любая "плохая" программа, а разновидность "плохих" программ.**
:::
---
## Какая малварь бывает?
Приведу достаточно обобщённое и грубое разбиение:
:::info
* **Троян**
* **Вирус**
* **Червь**
* **Руткит** (хотя не всегда его цели могут быть злыми)
* **Вымогатель / Шифровальщик**
* **Стилер**
* **Шпионское ПО**
:::
Давайте разберемся в каждом из них и начнем с трояна!
----
### Троян (Trojan)

#### Определение
:::success
**Троянская программа (Trojan)** – это вредоносная программа, основное отличие которой от вируса в том, что в систему она проникает под видом обычной программы. Попав в систему, троян может делать многое: может собирать информацию об устройстве и его владельце, или воровать данные с ПК, целью некоторых троянов является вывод ИС из строя.
:::
Пример трояна - [**Trojan.WinLock**](https://secret-files.fandom.com/ru/wiki/Trojan.Winlock.Death), который воздействует на компьютеры под управлением ОС Windows, полностью блокируя доступ пользователя к ней.
#### Происхождение названия

Свое общее название троянские программы получили за сходство механизма проникновения в компьютер пользователя с описанным в эпизоды Илиады, рассказывающем о **«Троянском коне»** — дарёном деревянном коне, использованном для проникновения в Трою, что и стало причиной падения Трои. В Коне, подаренном в знак лже-перемирия, прятались воины Одиссея, ночью выбравшиеся из Коня и открывшие ворота основным силам объединенной греческой армии. Больша́я часть троянских программ действуют подобным образом — маскируется под безвредные или полезные программы, чтобы пользователь запустил их на своем компьютере.
Считается, что первым этот термин в контексте компьютерной безопасности употребил в своём отчёте **«Computer Security Technology Planning Study»** Дэниэл Эдвардс, сотрудник АНБ.
#### Типы троянов
Троянские программы чаще всего разрабатываются для вредоносных целей. Существует классификация, где они разбиваются на категории, основанные на том, как трояны внедряются в систему и наносят ей вред.
Существует **5 основных типов**:
:::info
* **Удалённый доступ**
* **Уничтожение данных**
* **Загрузчик**
* **Сервер**
* **Дезактиватор программ безопасности**
:::
#### Цели троянов
:::danger
Чаще всего, **цель трояна – обычный ПК, и его пользователь, но шанс подхватить трояна есть и в корпоративной среде**. Возможна хакерская спам-рассылки с целью заражения множества компьютеров троянами для формирования ботнета. Некоторые трояны «вшиваются» в легальное ПО, и не мешают его функционированию. Таким образом, жертва даже не замечает действий трояна в системе. Кроме ПК, хакер может заразить мобильные устройства с целью шпионажа за жертвой или для кражи ее конфиденциальной информации.
:::
*Интересный момент – на встрече G20 в России многие USB-накопители и USB-переходники для мобильных устройств политиков были заражены троянскими программами (но это не точно)*
#### Источники угроз
Источником угрозы могут являться файлообменики, на которые злоумышленник может загрузить вредоносное ПО под видом легального, торрент-трекеры, распространяющие троянское ПО, спам-рассылки, и т.д.
:::info
**Важное правило для защиты – не переходить по недоверительным ссылкам и не открывать подозрительные программы.**
:::
Большая часть троянов успешно обнаруживается антивирусным и антишпионским ПО. Правоохранительные органы могут устанавливать трояны в компьютер или иные устройства подозреваемого с целью сбора информации и улик. Разведка многих стран использует такой софт для шпионажа. Вообще, трояны очень распространены благодаря тому, что существует огромное количество различных инструментов для создания такого софта.
Например: **msf** – утилита позволяет добавить троян в легальное ПО, что способствует распространению зловреда.
Еще один пример: **AndroRAT Binder**, который направлен на устройства под Android.
#### Последствия заражения трояном
**Троянские программы (trojan)** могут представлять серьезную опасность для жертвы ([**RAT**](https://encyclopedia.kaspersky.ru/glossary/remote-access-trojan-rat/), [**банкеры**](https://securelist.ru/the-rotexy-mobile-trojan-banker-and-ransomware/92804/)), а могут никак не взаимодействовать с жертвой (DDoS-трояны).
Многие трояны очень сложно обнаружить, так как их код добавлен в код легальной программы и не мешают ее функционированию. Признак трояна – автозагрузка. В обязательном порядке троян добавит себя в автозагрузку. Еще один признак – медленная работа компьютера.
Троян своими процессами сильно нагружает процессор (особенно это касается DDoS-троянов) из-за чего может замедляться работа ПК, и повышаться температура ЦП. Если антивирусное ПО не помогает, то единственный надежный выход – переустановка ОС или обращение к специалистам, но в нашем случае... это копаться внутри и пытаться найти причину.
Едем дальше, вирус!
----
### Вирус (Virus)

#### Определение
:::success
**Компьютерный вирус** — вид малвари, способный к самокопированиию и внедрению кода в другие программы, области системной памяти, загрузочные секторы, а также передавать свои копии по каналам связи.
**Среди не особо разбирающихся в информационных технологиях, вирусами принято называть любой вид "малвари" (зловредного ПО).**
:::
#### Цели
:::danger
**Основная цель** - максимальное распространение. Однако, сегодня мало вирусов которую преследуют только данную цель. Вирусы сегодня нацелены либо на деньги, либо на государства/корпорации (для маленькой победы на поле информационной войны). В связи с этим классификация вирусов сильно раздута.
:::
#### Классификация
Классификация у нас выделяется следующая:
* **По поражаемым объектам:**
* Файловые вирусы, они в свою очередь делятся по механизму заражения:
* Паразитирующие добавляют себя в исполняемый файл
* Перезаписывающие заражённый файл
* «Спутники» идут отдельным файлом
* Загрузочные вирусы
* Сценарные вирусы
* Макровирусы
* Поражающие исходный код
* **По поражаемым операционным системам и платформам:**
* DOS
* Windows
* Unix
* Linux
* Android
* MAC
* **По технологиям, используемым вирусом:**
* Полиморфные вирусы
* Стелс-вирусы
* Руткиты
* **По языку, на котором написан вирус:**
* Ассемблер (ASM)
* Высокоуровневый язык программирования
* Сценарный язык
* Другое
* **По дополнительной вредоносной функциональности:**
* Бэкдоры
* Кейлоггеры
* Шпионы
* Ботнеты
* Другое
#### На чём обычно пишут?
Чаще всего это **С/С++/ASM**.
Всё из-за того, что скомпилированные программы на данных языках можно защитить от обратной разработки довольно умело и на разбор вредоноса уйдёт достаточно много времени.
По большей части, действительно толковые вирусы (хотя это уже можно называть и "кибероружием") пишут профессионалы в программировании и конкретной ОС, под которую делается вирус (чаще всего Windows).
По этому, надеяться на то, что после просмотра курса какого нибудь хакера "Васи" за 20к рублей и повторения за ним всех действий, без углубления в программирование и строение ОС и основным методов противодействия, Вы врятли сможете написать что-то толковое.
Это кстати хакер Вася:

#### Как распространяют?
Тут есть несколько вариантов:
* С помощью уязвимостей
* С помощью файлообменников
* Под видом другого ПО
* Заражённые носители
* Электронная почта - фишинг
Следующий - червь!
----
### Червь (Worm)

#### Определение
:::success
**Червь** - это тип малвари, который способен распространяться по локальной сети и Интернету, создавая свои копий. В отличие от файловых вирусов сетевые черви способны использовать для распространения сетевые протоколы и устройства.
:::
#### Цели
:::danger
**Цель червя** - это попасть на компьютер, активироваться и размножиться на другие компьютеры. Сетевые черви бывают обычными и пакетными.
Обычный червь, оказываясь в системе через флеш-накопитель или Интернет, создаёт в большом количестве свои копии, находит в ПК все электронные адреса и рассылает по ним дубли. Пакетные черви или бесфайловые, внедрившись в устройство особым пакетом, стремятся проникнуть в его оперативную память с целью сбора персональных данных, ценной информации.
:::
#### Классификация
**Основной признак различия между червями – это способ, с помощью которого червь попадает на компьютер.**
Выделяют две группы механизмов распространения.
К первой группе относятся способы, использующие ошибки администрирования и уязвимости в ПО. Вредоносы в автоматическом режиме выбирают компьютерные машины и атакуют их.
* Репликация на сетевые ресурсы.
* Червь находит удаленные ПК, повторяет себя в разных каталогах, в которых можно осуществлять запись.
* Поиск каталогов выполняется с помощью функций операционной системы.
* Возможно попадание в любой ноутбук или персональный компьютер, выбранный в Интернете, и попытки открытия дисков на полноценный доступ.
* Репликация через уязвимость операционной системы, программ и приложений.
* Черви ищут машины с уязвимым ПО, отправляют запрос/сетевой пакет, обеспечивая попадание кода в машину жертвы.
* Репликация в ресурсы общего пользования.
* Червь попадает на сервер, изменяет файлы и ожидает, пока пользователь их скачает и запустит уже на своем компьютере.
* Паразитирование на других вредоносах.
* Если черви находят для атаки ПК с другим вредоносом, например, бэкдором, то они используют его для собственного распространения.
Вторую группу механизмов распространения составляет социальная инженерия. В результате пользователь сам запускает вредонос.
Представителями этой группы являются:
* **Почтовые черви (Email-Worm)** – расходятся по сети в виде приложений к сообщениям электронной почты. Это может быть копия вредителя или ссылка на файл, размещенный на хакерском веб-ресурсе. Для активации полученного кода достаточно открытия полученного файла, а при получении ссылки – нажатия на нее для перехода. Адреса, куда будут отправлены письма с копиями червя, берутся из адресной книги, из адресной базы WAB, из разных файлов, имеющихся на диске и содержащих адреса.
* **IM-черви (IM-Worm)** – это вредоносы, пользующиеся интернет-мессенджеры. Они имеют один способ распространения, который заключается в рассылке сообщений по всему списку контактов мессенджера. Письма содержат зараженный URL на файл, размещенный на каком-либо сайте. Это способ распространения полностью похож на предыдущий - Email-Worm.
* **Зловреды в IRC-каналах (IRC-Worm)** – это черви, распространяющиеся по IRC-каналам двумя способами. Они такие же, как и у почтовых вредоносов – рассылка писем с инфицированным вложением, со ссылкой на дубликат.
* **Черви для файлообмеников (Р2Р-Worm)** – это вредоносные программы, которые распространяются вместе со скачиваемыми файлами из торрент-треккеров и других файлообменников. Механизм распространения состоит во внедрении копии в каталог обмена файлами, находящийся на локальном устройстве. Дальше зловред выкладывает свою копию в сеть Р2Р под видом популярного контента, сообщая пользователям о файле и предоставляя возможность скачать его с зараженной машины.
* **Сетевые черви (Network worms / Net-Worm)** – иные вредоносы, проникающие в системы через локальные сети.
#### Известные примеры
* **Червь Морриса** - первый червь, который был написан для "развлечения", но при этом носил разрушительный характер.
* **Stuxnet** - наверное, самая мощная малварь которая, на текущий момент, была создана, это даже не червь, это целое кибероружие.
Надеюсь все понятно, погнали дальше - руткиты!
----
### Руткит (Rootkit)

#### Определение
:::success
Под руткитом обычно понимают набор некоторого софта, который позволяет получить доступ к функциям и структурам ядра (путём модификации памяти), и далее с помощью этих функций скрывать в системе своё присутствие, а также тайно осуществлять управление. Однако, руткиты служат не только для злоумышленников, но также и для различных "добрых" целей, например, модификации ядра под свои нужды.
:::
#### Цели
:::danger
Понятны из определения.
:::
#### Классификация
Взята из открытых источников.
По типу привилегий руткиты делятся на два типа: пользовательский, выполняет свои действия от имени пользователя и работающий на уровне ядра. Принцип работы руткитов можно разделить на две категории: изменяющие алгоритмы системных функций и изменяющие системные структуры данных. В операционных системах Windows руткиты могут работать следующими способами:
* **Захват таблиц вызовов** - такой руткит (rootkit) может работать как на уровне пользователя, так и на уровне ядра. Изменяя таблицу вызовов, руткит может перенаправить вызов функции на адрес функции, нужной ему, например, по этому адресу может находится функция программы-трояна. Перехваченная процедура может обойти антивирус путем блокировки вызовов от него или может заменить исходную функцию. Данный тип руткитов самый изощренный и владеет наибольшим количеством функций, нежели второй тип. Вызвано это тем, что руткиты-захватчики таблиц вызовов могут работать как на уровне ядра, так и на уровне пользователя.
* **Модификация кода функции** - при данном виде работы руткита, первые несколько байтов вызываемой функции заменяются на код функции-вредоноса. Из-за этого код перехватчика может быть установлен только в начале функции и для каждого вызова перехваченной функции перехватчику придется восстанавливать ее машинный код до состояния, в котором он был до вызова, чтобы потом снова перехватить ее после вызова. Перехватчик работает по следующему алгоритму: Выполняет действия, которые задумал хакер Восстанавливает первые байты перехваченной функции Анализирует выходные данные функции Возвращает управление функцией системе Для перехвата функции можно заменить первые байты функции операцией `jmp`, которая передает управление функцией руткиту. Правда, такую операцию легко разоблачить, если проверять первые байты вызываемых функций на наличие данной операции, поэтому большинство киберпреступников «затирает» несколько байтов перед операцией `jmp` бессмысленными операциями вроде `mov a, b` или просто nop’ами.
Но местами... классификация руткитов на разных источниках, значительно отличается.
Тут я бы мог посоветовать почитать статью у [**Positive Technologies**](https://www.ptsecurity.com/ru-ru/research/analytics/rootkits-evolution-and-detection-methods/) и [**Kaspersky**](https://www.kaspersky.ru/resource-center/definitions/what-is-rootkit)
Или есть еще с [**библиотеки Баумана**](https://ru.bmstu.wiki/index.php?title=Rootkit&mobileaction=toggle_view_mobile#/editor/0)
#### Дополнительная информация
Современная область создания руткитов очень сложна, так как популярные ОС имеют отличные методы борьбы с ними. Для большего понимания устройства руткитов советую прочитать небольшую книгу по практическому созданию руткитов под винду.
**Книга: [Г. Хоглунд, Дж. Батлер - Руткиты, внедрение в ядро Windows](https://vk.com/wall-95430282_34)**
#### Известные примеры
* [ZeroAccess](https://ru.wikipedia.org/wiki/ZeroAccess)
* [Kronos](https://en.wikipedia.org/wiki/Kronos_(malware))
Уф... погнали дальше - вымогатель или шифровальщик
----
### Вымогатель / Шифровальщик (Ransomware)

#### Определение
:::success
**Вымогатель** — это вид малвари, блокирующий доступ к компьютеру и требующий взамен денежную выплату. Размер выплаты и причина блокировки зависят от конкретного вымогателя. Некоторые вымогательские программы обвиняют пользователей в нарушении законов якобы от имени правоохранительных органов (обычно ФБР или полиция), другие вымогатели просто требуют выплаты за расшифровку данных.
В некоторых случаях вымогатели могут своровать личную информацию пользователя, блокировать работу антивирусных приложений (антивирусы, антишпионское ПО), показывать ложные предупреждения и совершать много других подозрительных действий. Впервые вымогательские программы начали создавать в России, имеется ввиду современная их реализация. Затем они стали популярны во всем мире. А так про первый в мире ransomware вы можете почитать в этой [статье](https://amp.cnn.com/cnn/2021/05/16/tech/ransomware-joseph-popp/index.html)
:::
#### Типы вымогательского ПО
Существует несколько типов вымогательский программ. Они используют разные методы манипуляций над пользователями. На данный момент есть три типа такого ПО:
* **Шифрующее вымогательское ПО** - обычно распространяется с помощью троянов. После попадания на компьютер паразит шифрует самые часто используемые файлы. Обычно это музыка, фото, видео, документы — в общем все, что может быть важным для пользователя. В добавок такого рода вымогательское ПО показывает огромных размеров предупреждение, заявляющее о том, что единственный способ восстановить файлы — заплатить указанную сумму. К сожалению, чаще всего так оно и есть, так как мошенники удаляют всевозможные копии ваших файлов.
* **Нешифрующее вымогательское ПО** - данный тип вымогательского ПО полностью блокирует систему, требуя пользователя сделать выплату. Для этого мошенники чаще всего прикидываются государственным органом, угрожая тюрьмой. Чаще всего это якобы ФБР, полиция и т.д. После попадания на компьютер вымогатели якобы сканируют компьютер наналичие порнографии и нелицензионного ПО. После обнаружения таковых вирус блокирует компьютер, показывая огромное сообщение (якобы от государственного органа). Жертву запугивают тем, что на ее компьютере найдены незаконные файлы. Следовательно пользователя просят заплатить штраф во избежание решетки и наручников.
* **Вымогательское ПО, блокирующее браузер** - данный вид вымогателей инфицирует не всю систему, а лишь браузер. Он базируется на JavaScript коде, который блокирует браузер, показывая огромное предупредительное сообщение. Их предупреждения очень схожи с теми, которые используют разработчики нешифрующего вымогательского ПО. Чаще всего мошенники заявляют, что пользователь якобы совершил незаконные действия, и если не желает попасть за решетку, надо платить. Думаем, итак ясно, что ничего общего с ФБР, Интерполом и полицией мошенники не имеют.
#### Каков вред от вымогательского ПО
* Вымогательское ПО способно шифровать личные данные пользователя (важные документы, фото и видео). Затем мошенники требуют сделать выплату на их счет, чтобы разблокировать файлы.
* Часто вирусы напрочь удаляют важные файлы. В некоторых случаях мошенники могут попытаться устранить важные системные файлы или другие программы.
* Кроме всего прочего вымогательское ПО может воровать логины, пароли, личные документы, информацию о пользователе и другого рода личные данные. Вышеперечисленые данные отсылаются на сервера мошенников.
* Чаще всего после заражения вымогательским ПО система начинает зависать, что делает пользование ПК почти невозможным. Кроме того может замедлиться работа компьютера.
* Вымогательское ПО и шифровщики часто блокируют антивирусные программы, антишпионское ПО и другие программы, защищающие систему.
* Вымогательское ПО не предоставляет Вам возможности его удалить. Наоборот — мошенники всячески пытаются спрятать процессы и файлы, чтобы затруднить процесс удаления.
#### Методы распространения
Чаще всего вымогательское ПО проникает на компьютеры жертв без ведома пользователей. Они заражают системы Windows, Mac OS X, Android и множество других.
Существует два способа, с помощью которых паразиты проникают в систему:
* Троян
* Вирусы
Чаще всего вымогательское ПО распространяется с помощью троянов. [**Trojan.Lockscreen**](https://www.2-spyware.com/remove-trojan-lockscreen.html) — широко используемый вирус, переносящий вымогательское ПО. Они проникают в системы пользователей без их ведома в виде прикреплений к электронным письмам. Такого рода письма чаще всего позиционируются как email от авторитетных источников (Amazon, ebay или же банк). Как только доверчивый пользователь загружает прикрепленный файл, вымогательское ПО проникает в систему и пускает корни.
Лживые всплывающие окна. Еще одним видом вымогательского ПО являются всплывающие окна, бытующие как на вредоносных, так и на безопасных сайтах. Чаще всего такого рода окна предупреждают о том, что Вам следует загрузить обновления к программам или же отсканировать систему на наличие вирусов. Обычно такого рода реклама полна красивых имен и привлекательных лого, и способна обмануть даже опытных пользователей.
#### Известные примеры
* [Conti](https://en.wikipedia.org/wiki/Conti_(ransomware))
* [DoppelPaymer](https://www.trendmicro.com/en_us/research/21/a/an-overview-of-the-doppelpaymer-ransomware.html)
Ну и наконец, стилер!
----
### Стилер (Stealer)

#### Определение
:::success
**Стилер** — это вирусное программное обеспечение (ПО), которое используется с целью того, что бы украсть логины и пароли потенциальной жертвы. Стилеры могут извлекать сохраненные секретные ключи из браузеров и других утилит, анализировать кэш и файлы cookie и получать доступ к данным криптокошельков
:::
#### Цель
:::danger
Стилер пробирается в хранилища часто используемых программ (в основном браузеров) и ворует оттуда все: сохраненные вами файлы Cookie, логины, пароли, данные банковской карточки и т.д.
:::
#### Как это работает?
Когда инфицированная программа начинает работу, то сначала управление получает вирус. Вирус заражает другие программы, а также выполняет запланированные деструктивные действия. Для маскировки своих действий вирус активизируется не всегда, а лишь при выполнении определенных условий (истечение некоторого времени, выполнение определенного числа операций, наступления некоторой даты или дня недели и т. д.).
Стиллер представляет собой программный код, который служит для хищения паролей и прочих данных с компьютера. Раньше данные отправлялись на сниффер, но сейчас уже активно по Интернету распространены коды, которые отправляют похищенное на почту.
Cтиллеры бывают разные, от разных кодеров с разными возможностями. Они могут воровать все сохраненные вами пароли из всех браузеров, сессию из телеграмма и прочих мессенджеров, куки файлы (для входа на сайты), файлы кошельков популярных криптовалют для дальнейшего их обналичивания, файлы с рабочего стола определенного расширения `.doc/.docx/.txt/.log` (часто люди хранят файлик с паролями прямо на рабочем столе).
Все эти данные приходят вам в админ-панель от стиллера, где указано с какого IP адреса и имени компьютера это все прилетело. Грубо говоря мы можем забрать все самое ценное, что может быть на компьютере.
После покупки вируса у хакеров вам, как правило, выдают готовую к использованию версию софта с доступом в админ-панель, к тому же дополнительно настраивать уже ничего не нужно.
Пример панели на рисунке ниже:

#### Известные примеры
* [Raccoon](https://networkguru.ru/obzor-vozmozhnostey-raccoon-stealer/)
* [RedLine](https://securelist.ru/self-spreading-stealer-attacks-gamers-via-youtube/105890/)
---
## Полезное ПО
COMING SOON
----
## Заключение
Уф... надеюсь вы смогли узнать что-то новенькое для себя, данный топик еще будет пополняться... и возможно даже перерастает во что-то большее!
----
## Источники откуда бралась информация
* Убежище хакера
* https://www.kaspersky.ru/
* https://www.ptsecurity.com/ww-en/
* https://www.2-spyware.com/
* https://any.run/
----
## Вот такая вышла шпорка, надеюсь вам было полезно :)
