Основы кибербезопасности и методы поиска уязвимостей

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

1. Введение в кибербезопасность: триада CIA, модели угроз и правовые аспекты этичного хакинга

Введение в кибербезопасность: триада CIA, модели угроз и правовые аспекты этичного хакинга

Добро пожаловать в курс «Основы кибербезопасности и методы поиска уязвимостей». Мы начинаем наше путешествие с фундаментальных понятий, на которых строится вся индустрия информационной безопасности (ИБ). Прежде чем мы перейдем к сканированию портов, анализу трафика или эксплуатации уязвимостей, необходимо понять, что именно мы защищаем и по каким правилам играем.

Многие новички ошибочно полагают, что кибербезопасность — это исключительно умение «взламывать» системы. На самом деле, это комплекс мер, направленных на защиту систем, сетей и программ от цифровых атак. Эти атаки обычно нацелены на доступ к конфиденциальной информации, её изменение или уничтожение.

Триада CIA: Три кита безопасности

В основе любой стратегии безопасности лежит модель, называемая триадой CIA (Confidentiality, Integrity, Availability). На русском языке её часто называют КЦД (Конфиденциальность, Целостность, Доступность). Это «золотой стандарт», по которому оценивается защищенность любой системы.

!Триада CIA: баланс между тремя ключевыми элементами безопасности

Разберем каждый элемент подробно:

1. Конфиденциальность (Confidentiality)

Конфиденциальность гарантирует, что информация доступна только тем, кто имеет на это право. Это предотвращение несанкционированного доступа к данным.

Примеры нарушения: * Злоумышленник украл базу паролей пользователей. * Сотрудник подсмотрел зарплатную ведомость коллеги. * Перехват незашифрованного сообщения в общественном Wi-Fi.

Методы защиты: Шифрование данных, двухфакторная аутентификация (2FA), списки контроля доступа (ACL).

2. Целостность (Integrity)

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

Примеры нарушения: * Хакер изменил сумму перевода в банковской транзакции. * Вирус внедрил свой код в исполняемый файл программы. * Сбой жесткого диска привел к повреждению файла базы данных.

Методы защиты: Хеширование (контрольные суммы), электронные цифровые подписи, резервное копирование, контроль версий.

3. Доступность (Availability)

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

Примеры нарушения: * DDoS-атака (Distributed Denial of Service), которая «роняет» сервер огромным количеством запросов. * Отключение электричества в дата-центре. * Случайное удаление критически важных файлов администратором.

Методы защиты: Резервирование каналов связи, балансировка нагрузки, защита от DDoS, планы аварийного восстановления (Disaster Recovery).

Понятия: Угроза, Уязвимость и Риск

Чтобы эффективно защищаться, нужно говорить на правильном языке. В кибербезопасности есть три термина, которые часто путают:

  • Уязвимость (Vulnerability): Слабое место в системе, программном коде или процессе, которое может быть использовано для нарушения безопасности. Пример: необновленная версия Windows или пароль «123456».
  • Угроза (Threat): Потенциальное событие или действие, которое может нанести вред, используя уязвимость. Пример: хакер, вирус-шифровальщик или даже пожар в серверной.
  • Риск (Risk): Вероятность того, что угроза воспользуется уязвимостью и нанесет ущерб.
  • В простейшем виде формулу риска можно представить так:

    Где — риск (Risk), — вероятность наступления события (Probability), а — влияние или ущерб от этого события (Impact).

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

    Моделирование угроз

    Нельзя защититься от всего сразу. Моделирование угроз — это процесс выявления потенциальных угроз и выбора методов противодействия им. Одной из самых популярных методологий является STRIDE, разработанная Microsoft.

    Таблица ниже расшифровывает эту аббревиатуру:

    | Угроза (STRIDE) | Расшифровка | Нарушаемый аспект CIA | | :--- | :--- | :--- | | Spoofing | Подмена личности (выдача себя за другого) | Аутентификация | | Tampering | Подделка данных (изменение информации) | Целостность | | Repudiation | Отказ от авторства (невозможность доказать действие) | Неотказуемость | | Information Disclosure | Раскрытие информации (утечка данных) | Конфиденциальность | | Denial of Service | Отказ в обслуживании (недоступность ресурса) | Доступность | | Elevation of Privilege | Повышение привилегий (получение прав админа) | Авторизация |

    Этичный хакинг: Белые, Серые и Черные шляпы

    В мире информационной безопасности специалистов принято делить по «цвету шляп» (термин пришел из вестернов):

    * Black Hat (Черные шляпы): Киберпреступники. Взламывают системы ради выгоды, мести или развлечения без разрешения владельца. Их действия незаконны. * White Hat (Белые шляпы): Этичные хакеры. Исследуют системы на наличие уязвимостей только с разрешения владельца. Их цель — найти дыры и помочь их закрыть до того, как ими воспользуются преступники. * Gray Hat (Серые шляпы): Находятся посередине. Могут взломать систему без спроса, но не ради вреда, а чтобы показать уязвимость владельцу (иногда требуя за это вознаграждение). Их действия юридически сомнительны и часто незаконны.

    > «Разница между хакером и преступником — в наличии письменного разрешения.»

    Правовые аспекты: Как не сесть в тюрьму

    Это самый важный раздел для начинающего специалиста. Грань между исследованием и преступлением очень тонка. В Российской Федерации (и большинстве других стран) несанкционированный доступ к компьютерной информации уголовно наказуем.

    Основные статьи Уголовного кодекса РФ, которые должен знать каждый специалист по ИБ:

  • Статья 272 УК РФ: Неправомерный доступ к компьютерной информации. Наказывает за сам факт проникновения, если это повлекло уничтожение, блокирование, модификацию или копирование информации.
  • Статья 273 УК РФ: Создание, использование и распространение вредоносных компьютерных программ. Написание вируса или использование готового эксплойта подпадает под эту статью.
  • Статья 274 УК РФ: Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации.
  • Золотые правила этичного хакера:

  • Всегда получайте письменное разрешение. Устный договор не имеет юридической силы в суде. У вас должен быть контракт или участие в официальной программе Bug Bounty.
  • Соблюдайте область действия (Scope). Если вам разрешили проверить сайт example.com, это не значит, что можно атаковать partner.example.com или личный компьютер системного администратора.
  • Не наносите вред. Ваша задача — найти уязвимость, а не «положить» сервер компании, остановив её бизнес.
  • Сообщайте об уязвимостях конфиденциально. Не публикуйте найденные баги в Twitter, пока компания их не исправит.
  • Заключение

    Кибербезопасность — это не магия, а системный подход к управлению рисками. Понимание триады CIA, умение моделировать угрозы и строгое соблюдение законов — это фундамент, на котором мы будем строить ваши технические навыки в следующих статьях курса. Далее мы перейдем к техническим основам: устройству сетей и операционных систем.

    2. Сетевая разведка и сканирование: работа с Nmap, анализ трафика и обнаружение открытых портов

    Сетевая разведка и сканирование: работа с Nmap, анализ трафика и обнаружение открытых портов

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

    Прежде чем искать уязвимости (например, устаревшее ПО или слабые пароли), необходимо понять, где их искать. Мы должны составить карту сети, узнать, какие устройства в ней работают и какие «двери» (порты) на них открыты.

    Что такое порты и протоколы?

    Представьте, что IP-адрес сервера — это адрес многоквартирного дома. Чтобы доставить письмо конкретному жильцу, вам нужно знать номер его квартиры. В компьютерных сетях роль «номера квартиры» выполняет порт.

    Порт — это числовой идентификатор, который позволяет операционной системе понять, какому приложению передать пришедший из сети пакет данных. Всего в стандартах TCP и UDP доступно фиксированное количество портов.

    Это количество определяется разрядностью поля в заголовке пакета (16 бит). Мы можем вычислить общее число портов по формуле:

    Где — это общее количество доступных портов (от 0 до 65535), — основание двоичной системы счисления, а — количество бит, отведенных под номер порта.

    Порты делятся на три диапазона:

  • Системные (0–1023): Зарезервированы для стандартных служб (HTTP — 80, HTTPS — 443, SSH — 22). Для их открытия требуются права администратора (root).
  • Зарегистрированные (1024–49151): Используются различными приложениями (например, базы данных MySQL часто используют 3306).
  • Динамические (49152–65535): Обычно используются клиентами для временных соединений.
  • TCP против UDP

    При сканировании важно понимать разницу между двумя главными транспортными протоколами:

    * TCP (Transmission Control Protocol): Надежный протокол с установкой соединения. Гарантирует доставку данных. Сканирование TCP-портов наиболее информативно. * UDP (User Datagram Protocol): Протокол без установки соединения. Работает по принципу «отправил и забыл». Сканировать UDP сложнее и дольше, так как система часто не отправляет ответ, если порт открыт.

    Основы работы TCP: Трехэтапное рукопожатие

    Чтобы понять, как работают сканеры, нужно разобраться, как устанавливается соединение. В TCP это происходит через процесс, называемый Three-Way Handshake (Трехэтапное рукопожатие).

    !Схема трехэтапного рукопожатия TCP, показывающая обмен флагами SYN, SYN-ACK и ACK для установки соединения.

    Процесс выглядит так:

  • SYN: Клиент отправляет пакет с флагом SYN (Synchronize), говоря: «Я хочу установить соединение».
  • SYN-ACK: Если порт открыт, сервер отвечает пакетом с флагами SYN и ACK (Acknowledge), говоря: «Я тебя слышу, готов соединиться».
  • ACK: Клиент отправляет пакет ACK, подтверждая получение ответа. Соединение установлено.
  • Если порт закрыт, сервер обычно отвечает пакетом с флагом RST (Reset), сбрасывая соединение.

    Nmap: Король сетевых сканеров

    Nmap (Network Mapper) — это стандарт де-факто в индустрии кибербезопасности для сканирования сетей. Это мощный инструмент командной строки, который отправляет специально сформированные пакеты на целевой узел и анализирует ответы.

    Основные типы сканирования

    #### 1. TCP Connect Scan (-sT) Это самый простой тип сканирования. Nmap выполняет полное трехэтапное рукопожатие (SYN -> SYN-ACK -> ACK).

    * Плюсы: Не требует прав администратора (root). * Минусы: Очень «шумный». Факт соединения записывается в логи целевой системы, так как соединение было полностью установлено.

    #### 2. SYN Scan (-sS) — «Стелс» сканирование Самый популярный режим, используемый по умолчанию (если есть права root). Nmap отправляет SYN, получает SYN-ACK, но не отправляет финальный ACK. Вместо этого он отправляет RST, обрывая соединение.

    * Плюсы: Быстрее, чем Connect Scan. Менее заметен в логах приложений, так как соединение не было завершено. * Минусы: Требует прав суперпользователя (root/admin), так как нужно формировать «сырые» пакеты (raw packets).

    #### 3. UDP Scan (-sU) Используется для поиска открытых UDP-портов (DNS, DHCP, VPN).

    * Особенность: Если порт открыт, сервер часто просто молчит. Если закрыт — прилетает ICMP-ошибка «Port Unreachable». Из-за ожидания тайм-аутов это сканирование идет очень медленно.

    Определение версий и ОС

    Просто знать, что порт 80 открыт — недостаточно. Нужно знать, что именно там работает (Apache, Nginx, IIS) и какой версии.

    * Флаг -sV: Включает определение версий служб. Nmap подключается к порту и анализирует «баннеры» (приветственные сообщения) и поведение службы. * Флаг -O: Пытается определить операционную систему (Windows, Linux, Android) по особенностям реализации стека TCP/IP.

    Пример комплексной команды:

    Эта команда выполнит SYN-сканирование (-sS), определит версии служб (-sV) и операционную систему (-O) для портов с 1 по 1000 (-p 1-1000) на хосте 192.168.1.5.

    Интерпретация результатов

    Nmap выдает статус для каждого порта. Важно понимать их значение:

    | Статус | Значение | | :--- | :--- | | Open | Порт открыт, приложение принимает соединения. Это наша главная цель для атаки или защиты. | | Closed | Порт доступен, но на нем нет слушающего приложения. Сервер ответил флагом RST. | | Filtered | Nmap не может определить, открыт порт или нет. Обычно это означает, что пакеты блокируются межсетевым экраном (Firewall). Ответа от цели не поступило вообще. |

    Анализ трафика: Взгляд изнутри

    Чтобы глубоко понимать работу Nmap, полезно посмотреть на сеть «глазами» анализатора трафика, такого как Wireshark или tcpdump.

    Когда вы запускаете сканирование, в сети происходит бурный обмен данными. Если вы запустите Wireshark во время работы nmap -sS, вы увидите множество пакетов серого или черного цвета (в стандартной расцветке), указывающих на неполные TCP-сессии.

    Администраторы безопасности (Blue Team) используют системы обнаружения вторжений (IDS), которые работают по похожим принципам: они анализируют трафик и, видя множество SYN-пакетов с одного адреса за короткое время, поднимают тревогу: «Нас сканируют!».

    Практическая безопасность и этика

    Сканирование портов — это активное воздействие на систему. В отличие от пассивного сбора информации (OSINT), сканирование оставляет следы.

    > «Сканирование чужой сети без разрешения юридически может быть расценено как попытка неправомерного доступа (ст. 272 УК РФ), даже если вы ничего не взломали.»

    Всегда используйте Nmap только в своей лаборатории или в сетях, где у вас есть явное разрешение. Для тренировки можно использовать специально созданные уязвимые машины (например, Metasploitable) или платформы вроде Hack The Box и TryHackMe.

    Заключение

    Сегодня мы разобрали технические основы сетевой разведки. Мы узнали, что порты — это двери в систему, а Nmap — это универсальный ключ, позволяющий проверить, какие из них не заперты. Мы изучили разницу между TCP и UDP, поняли механику «рукопожатия» и научились интерпретировать статусы портов.

    В следующей статье мы углубимся в тему уязвимостей: как именно «версия службы», найденная с помощью Nmap, превращается в точку входа для хакера, и что такое CVE.

    3. Безопасность веб-приложений: разбор OWASP Top 10, SQL-инъекции и межсайтовый скриптинг (XSS)

    Безопасность веб-приложений: разбор OWASP Top 10, SQL-инъекции и межсайтовый скриптинг (XSS)

    В предыдущей статье мы научились проводить сетевую разведку с помощью Nmap и находить открытые порты. Представьте, что вы просканировали сервер и обнаружили открытые порты 80 (HTTP) и 443 (HTTPS). Это означает, что на сервере работает веб-приложение. Именно здесь заканчивается зона ответственности сетевых сканеров и начинается область безопасности веб-приложений (Web Application Security).

    Веб-приложения сегодня — это основной вектор атак. Банковские системы, социальные сети, интернет-магазины — все они работают через веб-интерфейсы. В этой статье мы разберем, как хакеры находят уязвимости в сайтах, что такое «библия» веб-безопасности OWASP Top 10, и детально изучим две самые известные атаки: SQL-инъекции и XSS.

    OWASP Top 10: Карта миннoго поля

    В мире веб-разработки и безопасности существует организация OWASP (Open Web Application Security Project). Это международное некоммерческое сообщество, которое собирает статистику взломов и каждые несколько лет публикует список OWASP Top 10 — рейтинг десяти самых критических рисков для веб-приложений.

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

    Хотя порядок мест меняется год от года, «классические» проблемы остаются с нами десятилетиями. В текущих версиях рейтинга лидируют:

  • Broken Access Control (Нарушение контроля доступа): Пользователь может видеть или изменять данные, к которым у него не должно быть доступа (например, обычный пользователь заходит в админку).
  • Cryptographic Failures (Криптографические сбои): Хранение паролей в открытом виде или использование слабых алгоритмов шифрования.
  • Injection (Инъекции): Внедрение вредоносного кода в интерпретатор (сюда относятся SQL-инъекции).
  • Мы сосредоточимся на тех уязвимостях, которые позволяют понять саму механику взаимодействия «клиент-сервер» и «сервер-база данных».

    SQL-инъекция (SQL Injection / SQLi)

    SQL-инъекция — это королева веб-уязвимостей. Несмотря на то, что о ней известно более 20 лет, она до сих пор встречается повсеместно. Суть атаки заключается во внедрении произвольного SQL-кода в запрос к базе данных.

    Как это работает?

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

    Типичный PHP-код выглядит так:

    Если пользователь введет имя admin, запрос к базе будет выглядеть безобидно:

    Но что, если злоумышленник введет в поле логина следующую строку:

    admin' OR '1'='1

    Тогда итоговый запрос, который уйдет в базу данных, превратится в:

    Логика взлома

    Здесь вступает в силу булева алгебра. База данных проверяет условие WHERE. В нашем случае условие состоит из двух частей, объединенных оператором OR (ИЛИ).

    Математически это можно записать так:

    Где: * — результат выражения (Result). * — условие проверки имени (name = 'admin'). * — внедренное условие ('1'='1'). * — логический оператор дизъюнкции (ИЛИ).

    В логике оператор ИЛИ возвращает «Истину» (True), если хотя бы один из операндов истинен. Поскольку выражение '1'='1' всегда истинно (тавтология), то и всё выражение становится истинным, независимо от того, существует ли пользователь admin.

    Где: * — предположим, что пользователя admin нет или мы не угадали его точное имя. * — результат выражения . * — итоговый результат, который позволяет обойти проверку пароля.

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

    !Схематичное изображение процесса обхода аутентификации через SQL-инъекцию

    Последствия SQLi

  • Обход аутентификации: Вход под чужим аккаунтом без пароля.
  • Кража данных (Dumping): Использование оператора UNION для извлечения данных из других таблиц (пароли, карты, телефоны).
  • Изменение данных: Злоумышленник может удалить таблицы (DROP TABLE) или изменить баланс счета.
  • Защита от SQL-инъекций

    Единственный надежный способ защиты — использование подготовленных выражений (Prepared Statements). В этом случае структура запроса и данные разделяются. База данных заранее знает, что введенная строка — это просто текст, а не исполняемая команда.

    Межсайтовый скриптинг (Cross-Site Scripting / XSS)

    Если SQL-инъекция атакует базу данных (серверную часть), то XSS атакует пользователей вашего сайта (клиентскую часть). Это внедрение вредоносного JavaScript-кода на страницу, которую просматривают другие люди.

    Механика атаки

    Браузеры доверяют коду, который приходит от сайта. Если сайт отображает текст, введенный пользователем, без фильтрации, браузер может принять этот текст за исполняемый скрипт.

    Простейший пример (PoC — Proof of Concept):

    Если хакер сможет внедрить эту строку на страницу, у всех посетителей всплывет окошко с надписью «XSS». Конечно, реальные хакеры не выводят окошки, а воруют данные.

    Типы XSS

  • Хранимые (Stored XSS): Самый опасный тип. Вредоносный скрипт сохраняется на сервере (например, в комментарии к посту или в профиле пользователя). Каждый раз, когда кто-то открывает эту страницу, скрипт запускается.
  • Отраженные (Reflected XSS): Скрипт не сохраняется в базе, а передается в ссылке. Хакер отправляет жертве ссылку вида http://example.com/search?q=<script>...</script>. Сервер «отражает» этот ввод обратно на страницу с результатами поиска, и скрипт выполняется.
  • DOM-based XSS: Уязвимость находится исключительно в JavaScript-коде на стороне клиента, сервер может даже не видеть вредоносных данных.
  • Чем опасен XSS?

    Главная цель XSS — кража сессионных куки (Cookies). Куки — это временный пропуск, который говорит серверу: «Я уже ввел пароль, я — это я».

    Вредоносный скрипт может выглядеть так:

    Как только жертва откроет зараженную страницу, её браузер молча отправит секретные куки на сервер хакера. Хакер подставит эти куки в свой браузер и войдет в аккаунт жертвы без логина и пароля.

    !Иллюстрация механизма работы хранимой XSS атаки

    Защита от XSS

  • Экранирование (Escaping): Преобразование специальных символов в безопасные HTML-сущности перед выводом на экран. Например, символ < превращается в &lt;. Браузер отобразит его как скобку, но не исполнит как тег.
  • CSP (Content Security Policy): Специальный заголовок, который сообщает браузеру, с каких доменов разрешено загружать скрипты. Даже если хакер внедрит тег <script>, CSP заблокирует его выполнение.
  • Инструменты для поиска веб-уязвимостей

    В отличие от Nmap, который работает на сетевом уровне, для веб-приложений используются другие инструменты:

    * Burp Suite: Главный инструмент веб-хакера. Это прокси-сервер, который встает между браузером и сервером, позволяя перехватывать и изменять каждый запрос «на лету». * OWASP ZAP (Zed Attack Proxy): Бесплатный аналог Burp Suite с открытым исходным кодом. * SQLmap: Мощнейший инструмент для автоматического обнаружения и эксплуатации SQL-инъекций.

    Заключение

    Безопасность веб-приложений — это огромная область, где малейшая ошибка в коде может привести к утечке миллионов записей. Мы разобрали два основных вектора атак: SQL-инъекции, направленные на данные, и XSS, направленные на пользователей. Понимание того, как работают эти механизмы, критически важно не только для хакеров, но и для разработчиков.

    В следующей статье мы перейдем к теме криптографии: разберем, как именно шифруются данные, почему хеширование — это не шифрование, и как взламывают пароли.

    4. Инструментарий пентестера и эксплуатация: использование Metasploit, Burp Suite и основы социальной инженерии

    Инструментарий пентестера и эксплуатация: использование Metasploit, Burp Suite и основы социальной инженерии

    В предыдущих статьях мы прошли путь от теоретических основ (триада CIA, модели угроз) до активной разведки сети с Nmap и поиска веб-уязвимостей (SQLi, XSS). Теперь у нас есть карта сети и список потенциальных «дыр» в безопасности. Но как доказать заказчику, что найденная уязвимость действительно опасна? Здесь начинается этап эксплуатации.

    В этой статье мы разберем главные инструменты в арсенале этичного хакера (пентестера): Metasploit Framework для сетевых атак и Burp Suite для глубокого анализа веб-приложений. Также мы коснемся самого слабого звена любой системы безопасности — человека, изучив основы социальной инженерии.

    Metasploit Framework: Швейцарский нож хакера

    Если Nmap — это бинокль разведчика, то Metasploit Framework (MSF) — это целый оружейный склад. Это проект с открытым исходным кодом, который позволяет разрабатывать, тестировать и использовать эксплойты.

    Основные компоненты Metasploit

    Чтобы пользоваться MSF, нужно понимать его архитектуру. Она состоит из модулей:

  • Exploit (Эксплойт): Программный код, который использует уязвимость (баг) в системе, чтобы проникнуть в неё. Это «отмычка», которая открывает дверь.
  • Payload (Полезная нагрузка): Код, который запускается на целевой машине после успешной работы эксплойта. Это то, что «вор» делает внутри дома (например, открывает удаленный доступ).
  • Auxiliary (Вспомогательные модули): Сканеры, фаззеры и инструменты для сбора информации, которые не загружают полезную нагрузку.
  • Encoder (Энкодер): Инструмент для маскировки полезной нагрузки, чтобы обойти антивирусы (хотя современные антивирусы часто распознают и их).
  • Концепция Reverse Shell

    Самый популярный тип полезной нагрузки — это Reverse Shell (Обратная оболочка).

    Обычно, когда вы подключаетесь к серверу (например, по SSH), вы (клиент) инициируете соединение к серверу. Но при взломе на целевом сервере часто стоит брандмауэр (Firewall), который блокирует входящие соединения на нестандартные порты. Однако, исходящие соединения часто разрешены.

    При Reverse Shell зараженная машина сама «звонит» хакеру.

    !Сравнение прямого подключения (Bind Shell) и обратного подключения (Reverse Shell) для обхода межсетевого экрана.

    Пример работы в консоли msfconsole

    Работа в Metasploit обычно происходит через командную строку. Вот примерный алгоритм настройки атаки на уязвимость Windows (знаменитый EternalBlue):

    Если атака успешна, вы получаете сессию Meterpreter. Это продвинутая оболочка, которая позволяет делать скриншоты, включать микрофон, скачивать файлы и перемещаться по сети, находясь полностью в оперативной памяти жертвы.

    Burp Suite: Рентген для веб-приложений

    Мы уже упоминали Burp Suite в теме про веб-уязвимости. Это инструмент класса Interception Proxy (Перехватывающий прокси). Он встает между вашим браузером и целевым веб-сервером.

    Как это работает?

    Когда вы нажимаете кнопку «Войти» на сайте, браузер отправляет HTTP-запрос. Burp Suite перехватывает этот запрос до того, как он уйдет в интернет. Вы можете увидеть скрытые поля, куки и заголовки, изменить их и только потом отправить на сервер.

    !Burp Suite выступает посредником, позволяя изменять данные «на лету» между браузером и сервером.

    Ключевые инструменты Burp Suite

  • Proxy: Журнал всех запросов. Позволяет останавливать трафик и менять его вручную.
  • Repeater (Повторитель): Самый важный инструмент для ручного тестирования. Вы отправляете запрос в Repeater, меняете один параметр (например, подставляете кавычку ' для проверки SQL-инъекции), отправляете и смотрите ответ. И так много раз.
  • Intruder: Инструмент для автоматизации атак. Например, для перебора паролей (Brute Force) или фаззинга (перебора параметров для поиска ошибок).
  • Пример использования Intruder: У вас есть форма входа. Вы перехватываете запрос, отправляете его в Intruder, выделяете поле пароля и загружаете список из 10 000 популярных паролей. Burp сам отправит 10 000 запросов и покажет, какой из них вернул другой размер ответа (что обычно означает успешный вход).

    Социальная инженерия: Взлом человека

    Никакой брандмауэр и никакой антивирус не спасут, если сотрудник компании сам отдаст хакеру свой пароль. Социальная инженерия — это метод получения доступа к информации путем психологической манипуляции людьми.

    > «Любитель взламывает системы, профессионал взламывает людей.» — Брюс Шнайер (эксперт по криптографии и безопасности) Ссылка на блог Брюса Шнайера

    Основные техники

  • Фишинг (Phishing): Массовая рассылка электронных писем, маскирующихся под легитимные сервисы (Google, банк, IT-отдел). Цель — заставить пользователя перейти по ссылке и ввести пароль на поддельном сайте или скачать вредоносный файл.
  • Спир-фишинг (Spear Phishing): Целевая атака на конкретного человека. Хакер изучает соцсети жертвы, узнает имена коллег и интересы, чтобы письмо выглядело максимально убедительно.
  • Претекстинг (Pretexting): Атака по сценарию. Злоумышленник звонит и представляется сотрудником техподдержки, утверждая, что «на сервере сбой, продиктуйте код из СМС».
  • Математика фишинга

    Почему фишинг так популярен? Потому что он работает с вероятностями. Даже если у сотрудников высокая осведомленность, при большом количестве писем успех атаки почти гарантирован.

    Вероятность успешного взлома компании () при фишинговой рассылке можно оценить по формуле Бернулли для независимых событий:

    Где: * — вероятность того, что хотя бы один сотрудник попадется на удочку. * — единица, обозначающая полную вероятность (100%). * — вероятность того, что один конкретный сотрудник откроет письмо (конверсия фишинга). Обычно составляет от 0.05 до 0.20 (5–20%). * — количество сотрудников, которым отправлено письмо.

    Пример: Если в компании 50 сотрудников (), а вероятность ошибки одного человека всего 5% (), то вероятность взлома компании:

    То есть, вероятность успеха атаки составляет 92.3%. Это объясняет, почему социальная инженерия является вектором атаки №1 в мире.

    SET (Social-Engineer Toolkit)

    Для автоматизации таких атак в Kali Linux есть инструмент SET. Он позволяет за пару минут клонировать страницу входа Facebook или Gmail и поднять локальный веб-сервер. Все введенные на этой странице пароли будут сохранены в текстовый файл у атакующего.

    Этические границы эксплуатации

    Важно помнить: использование Metasploit, Burp Suite или SET против систем, которыми вы не владеете или на тестирование которых у вас нет письменного разрешения, является уголовным преступлением (ст. 272, 273 УК РФ).

    Пентестер использует эти инструменты, чтобы:

  • Продемонстрировать бизнесу реальность риска (PoC — Proof of Concept).
  • Проверить, работают ли системы мониторинга и защиты.
  • Обучить персонал не открывать подозрительные письма.
  • Заключение

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

    В следующей статье мы поговорим о том, что происходит после успешной эксплуатации: как хакеры закрепляются в системе, повышают привилегии и заметают следы (Post-Exploitation).

    5. Анализ рисков и защита периметра: стратегии митигации, патч-менеджмент и составление отчетов

    Анализ рисков и защита периметра: стратегии митигации, патч-менеджмент и составление отчетов

    Мы прошли долгий путь. Мы изучили теорию (CIA, модели угроз), провели разведку (Nmap), нашли уязвимости в веб-приложениях (SQLi, XSS) и даже научились эксплуатировать их с помощью Metasploit. Но в реальной жизни работа специалиста по кибербезопасности на этом не заканчивается. На самом деле, именно здесь начинается та часть работы, которая приносит бизнесу реальную пользу.

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

    Количественная оценка рисков

    В первой статье курса мы говорили о формуле риска на качественном уровне (). Однако бизнесу нужны цифры, а не абстрактные понятия «высокий» или «низкий» риск. Финансовые директора понимают язык денег.

    Для финансовой оценки рисков часто используется методика расчета ALE (Annual Loss Expectancy) — ожидаемых ежегодных потерь. Это помогает понять, сколько денег компания может потерять из-за конкретной угрозы в год, и сравнить эту сумму со стоимостью защиты.

    Формула выглядит следующим образом:

    Где:

  • — ожидаемые ежегодные потери (Annual Loss Expectancy). Это сумма, которую компания рискует потерять за год от конкретного типа инцидента.
  • — ожидаемые потери от одного инцидента (Single Loss Expectancy). Это стоимость ущерба от одного успешного взлома (включая простой оборудования, потерю данных, штрафы).
  • — ежегодная частота возникновения (Annual Rate of Occurrence). Это число, показывающее, сколько раз в год может произойти данный инцидент (например, 0.1 — раз в 10 лет, 12 — раз в месяц).
  • Пример: Представьте, что у вас есть незащищенная база данных. Если её взломают, ущерб составит 1 000 000 рублей (). Статистика говорит, что такие базы взламывают в среднем раз в 4 года ().

    Считаем : рублей в год.

    Вывод: Если установка защиты (файрвола) стоит 50 000 рублей в год, это выгодно, так как . Если защита стоит 500 000 рублей, то бизнесу дешевле принять риск.

    CVSS: Общий язык уязвимостей

    Для технической оценки серьезности уязвимости во всем мире используется стандарт CVSS (Common Vulnerability Scoring System). Когда вы видите в новостях заголовки «Найдена критическая уязвимость в Windows», это значит, что её оценка по CVSS близка к 10.0.

    CVSS оценивает уязвимость по нескольким метрикам, формируя Base Score (Базовую оценку) от 0.0 до 10.0.

    Основные метрики (вектор атаки):

  • Attack Vector (AV): Откуда можно атаковать? (Физически, из локальной сети или через интернет).
  • Attack Complexity (AC): Насколько сложно провести атаку? (Нужно ли удачное стечение обстоятельств).
  • Privileges Required (PR): Нужны ли права пользователя или админа для атаки?
  • User Interaction (UI): Нужно ли, чтобы жертва кликнула по ссылке?
  • Scope (S): Влияет ли уязвимость на другие компоненты системы?
  • CIA Impact: Как сильно страдают Конфиденциальность, Целостность и Доступность.
  • > «CVSS измеряет техническую тяжесть уязвимости, но не всегда отражает реальный риск для конкретного бизнеса.» — FIRST.org (организация, поддерживающая стандарт CVSS) Руководство пользователя CVSS v3.1

    Стратегии обработки рисков

    Когда риск выявлен и оценен, у руководства есть четыре пути решения. Это называется стратегиями обработки риска (Risk Treatment).

    | Стратегия | Описание | Пример | | :--- | :--- | :--- | | Mitigation (Снижение) | Принятие мер для уменьшения вероятности или ущерба. Самый частый путь в ИБ. | Установка патча, настройка файрвола, внедрение двухфакторной аутентификации. | | Acceptance (Принятие) | Осознанное решение ничего не делать, так как стоимость защиты выше потенциального ущерба. | Оставить старый сервер без обновлений во внутренней сети, так как на нем нет важных данных. | | Transference (Передача) | Перекладывание финансовой ответственности на третью сторону. | Покупка киберстраховки или аутсорсинг безопасности. | | Avoidance (Избегание) | Полный отказ от деятельности, вызывающей риск. | Отключение уязвимого сервиса, если он не критичен для бизнеса. |

    Патч-менеджмент: Гонка со временем

    Патч-менеджмент — это процесс управления обновлениями программного обеспечения. Это основа стратегии Mitigation. Казалось бы, просто: вышла новая версия — обновись. Но в корпоративной среде это сложный процесс.

    Существует понятие «Окно уязвимости» (Window of Exposure). Это время, в течение которого система остается беззащитной.

    [VISUALIZATION: Временная шкала (Timeline), идущая слева направо. Точки на шкале: 1. Обнаружение уязвимости (Vulnerability Discovered). 2. Публикация эксплойта (Exploit Released). 3. Выпуск патча вендором (Patch Released). 4. Установка патча компанией (Patch Applied). Отрезок между точкой 1 и 4 выделен красным цветом и подписан