Основы этичного хакинга и кибербезопасности

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

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

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

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

Кто такой этичный хакер?

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

В индустрии принято цветовое разделение хакеров, основанное на их мотивации и законности действий:

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

!Классификация хакеров: Белые, Черные и Серые шляпы

Триада CIA

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

  • Confidentiality (Конфиденциальность) — доступ к информации имеют только те, кто должен его иметь.
  • Integrity (Целостность) — информация не была изменена неавторизованными лицами.
  • Availability (Доступность) — система работает и доступна пользователям тогда, когда это необходимо.
  • Законодательство и этика: Красная линия

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

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

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

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

    Формула риска

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

    Где: * (Риск) — вероятность реализации угрозы, приводящей к ущербу. * (Угроза) — потенциальная причина инцидента (например, хакер или вирус). * (Уязвимость) — слабое место в системе, которое может быть использовано угрозой. * (Воздействие) — величина ущерба, если угроза реализуется через уязвимость.

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

    Настройка лаборатории (Home Lab)

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

    Компоненты лаборатории

    Для создания лаборатории нам понадобятся три элемента:

  • Хост-машина (Host) — ваш физический компьютер.
  • Гипервизор — программа, позволяющая запускать виртуальные машины (другие операционные системы) внутри вашего компьютера.
  • Гостевые ОС (Guest) — виртуальные машины: одна для атаки, другие в качестве жертв.
  • !Архитектура виртуальной лаборатории

    Шаг 1: Выбор гипервизора

    Существует два основных решения для настольных компьютеров:

    * Oracle VirtualBox — бесплатный, открытый, кроссплатформенный. Идеален для новичков. * VMware Workstation Player — бесплатная версия для личного использования. Считается более стабильной и быстрой, но имеет закрытый исходный код.

    Для нашего курса мы рекомендуем VirtualBox, так как он наиболее универсален.

    Шаг 2: Машина атакующего (Kali Linux)

    Стандартом де-факто в индустрии является Kali Linux. Это дистрибутив на базе Debian, в который предустановлены сотни инструментов для пентестинга (тестирования на проникновение).

    Вам не нужно устанавливать инструменты вручную — они уже там: от Nmap для сканирования сетей до Metasploit для эксплуатации уязвимостей.

    Как установить:

  • Зайдите на официальный сайт Kali Linux.
  • Скачайте готовый образ для виртуальной машины (Pre-built Virtual Machines) для VirtualBox.
  • Импортируйте скачанный файл в гипервизор.
  • Шаг 3: Машина жертвы (Metasploitable 2)

    Вам нужно кого-то атаковать. Использовать для этого обычный Windows 10 скучно и сложно для старта. Лучше использовать специально созданные уязвимые системы.

    Metasploitable 2 — это намеренно уязвимая версия Linux. В ней открыты лишние порты, установлены старые программы и используются слабые пароли. Это идеальная мишень для тренировки.

    > Никогда не выставляйте Metasploitable в открытый интернет. Эту машину взломает любой сканер за считанные минуты.

    Шаг 4: Сетевая изоляция (Критически важно!)

    Самый важный этап настройки — сеть. Если вы оставите настройки по умолчанию (обычно это режим NAT или Bridged), ваши виртуальные машины будут видны в вашей домашней сети. Это опасно, особенно при работе с уязвимыми машинами.

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

    В VirtualBox это делается так:

  • Откройте настройки каждой виртуальной машины.
  • Перейдите в раздел «Сеть».
  • Выберите тип подключения: «Внутренняя сеть» (Internal Network).
  • Задайте одинаковое имя сети для Kali и Metasploitable (например, hacker_lab).
  • Теперь, когда Kali и Metasploitable запущены, они находятся в своем маленьком виртуальном мире. Вы можете атаковать Metasploitable из Kali, не боясь, что ваши действия затронут реальный роутер или провайдера.

    Заключение

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

    Помните: великая сила накладывает великую ответственность. Ваша лаборатория готова — используйте её с умом.

    2. Сбор информации и сетевая разведка: OSINT и сканирование портов

    Сбор информации и сетевая разведка: OSINT и сканирование портов

    В предыдущей статье мы подготовили нашу лабораторию: установили Kali Linux и запустили уязвимую машину Metasploitable. Теперь, когда у нас есть инструменты и полигон, пришло время действовать. Но настоящий хакер никогда не бросается в атаку вслепую. Первый и самый важный этап любого взлома — это разведка (Reconnaissance).

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

    Этап 1: Пассивная разведка (OSINT)

    OSINT (Open Source Intelligence) — это разведка по открытым источникам. Суть метода заключается в сборе информации о цели из общедоступных ресурсов: поисковиков, социальных сетей, публичных реестров и архивов. Главное преимущество OSINT — скрытность. Вы не взаимодействуете с серверами жертвы напрямую, поэтому системы безопасности (IDS/IPS) не могут вас засечь.

    !Визуализация источников данных для разведки по открытым источникам.

    Google Dorking: Искусство поиска

    Обычный пользователь пишет в Google «купить пиццу». Хакер использует специальные операторы (дорки), чтобы найти скрытые файлы, панели администратора или утечки паролей. Это называется Google Dorking.

    Основные операторы:

    * site: — поиск только по конкретному домену. * filetype: — поиск файлов определенного типа (pdf, docx, xls, log). * intitle: — поиск страниц с определенным словом в заголовке. * inurl: — поиск страниц, в адресе которых есть искомое слово.

    Примеры использования:

  • Поиск PDF-документов на сайте NASA:
  • site:nasa.gov filetype:pdf
  • Поиск открытых камер видеонаблюдения (часто имеют «webcam» в заголовке):
  • intitle:"webcamXP 5"
  • Поиск файлов с логами, где могут быть пароли:
  • filetype:log intext:"password"

    Whois и DNS-разведка

    Каждый домен в интернете имеет владельца. Протокол Whois позволяет узнать, на кого зарегистрирован сайт, контактные email-адреса администраторов и физический адрес офиса. Эти данные полезны для социальной инженерии.

    В Kali Linux для этого используется команда:

    Wayback Machine

    Иногда разработчики удаляют с сайта конфиденциальную информацию, но «интернет помнит всё». Сервис Internet Archive (Wayback Machine) позволяет посмотреть, как сайт выглядел год, пять или десять лет назад. Там можно найти старые контакты, структуры страниц или забытые комментарии в коде.

    Shodan: Поисковик для хакеров

    Если Google индексирует сайты, то Shodan индексирует устройства: веб-камеры, роутеры, серверы, светофоры и даже атомные электростанции, подключенные к интернету. Shodan сканирует весь интернет и собирает баннеры (ответы) сервисов.

    > Shodan называют «самым страшным поисковиком интернета», так как он наглядно показывает, сколько незащищенных устройств окружает нас ежедневно.

    Этап 2: Активная разведка и сканирование сетей

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

    Понимание портов и протоколов

    Чтобы понять, как работает сканирование, нужно вспомнить, что такое порты. Представьте IP-адрес как адрес многоквартирного дома, а порты — как номера квартир. Всего в протоколе TCP/IP доступно огромное количество портов.

    Количество возможных портов определяется разрядностью поля в заголовке пакета (16 бит). Рассчитаем это значение:

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

    Наша задача — узнать, в каких «квартирах» (портах) живут сервисы (программы), и открыты ли двери.

    TCP Handshake (Тройное рукопожатие)

    Большинство сканирований основано на манипуляции процессом установки соединения TCP. В норме соединение происходит так:

  • SYN (Synchronize) — Клиент говорит: «Привет, хочу подключиться».
  • SYN-ACK (Synchronize-Acknowledge) — Сервер отвечает: «Привет, я тебя слышу, давай общаться».
  • ACK (Acknowledge) — Клиент подтверждает: «Отлично, соединение установлено».
  • !Схема тройного рукопожатия TCP, необходимого для установки соединения.

    Если мы отправим SYN, а в ответ получим SYN-ACK, значит порт открыт. Если получим RST (Reset), значит порт закрыт.

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

    Nmap (Network Mapper) — это самый популярный и мощный инструмент для сканирования сетей. Он предустановлен в Kali Linux. Nmap умеет не только находить открытые порты, но и определять версии программ и даже операционную систему цели.

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

    #### 1. SYN-сканирование (Stealth Scan) Это самый популярный режим. Хакер отправляет SYN-пакет, получает SYN-ACK, но не отправляет последний ACK. Вместо этого он отправляет RST (сброс), обрывая соединение. Сервер не успевает записать факт полноценного подключения в логи.

    Команда:

    #### 2. TCP Connect сканирование Используется, если у хакера нет прав администратора (root) на своей машине. Nmap проходит процедуру рукопожатия полностью. Это надежно, но очень «шумно» — вы точно попадете в логи сервера.

    Команда:

    #### 3. Определение версий сервисов Знать, что порт 80 открыт — мало. Нужно знать, что там работает: Apache 2.4.49 или Nginx 1.18.0. От версии зависит наличие уязвимостей.

    Команда:

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

    Nmap выдает статус для каждого порта:

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

    Практика в лаборатории

    Теперь применим знания. Запустите Kali Linux и Metasploitable (убедитесь, что они в одной виртуальной сети, как мы делали в прошлой статье).

  • Узнайте IP-адрес жертвы. В Metasploitable введите команду ifconfig. Допустим, это 10.0.2.5.
  • Запустите быстрое сканирование из Kali. Откройте терминал и введите:
  • Изучите результат. Вы увидите список открытых портов. Например, порт 21 (FTP), 22 (SSH), 80 (HTTP).
  • Узнайте детали. Попробуйте определить версии:
  • Вы увидите, что на порту 21 работает vsftpd 2.3.4. Это очень старая и дырявая версия, которую мы будем взламывать в следующих уроках.

    Заключение

    Разведка — это фундамент успешной атаки. Используя OSINT, мы находим слабые места в публичной информации, а с помощью Nmap составляем техническую карту сети. Мы выяснили, какие сервисы запущены на нашей машине-жертве.

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

    3. Поиск уязвимостей и анализ защищенности веб-приложений

    Поиск уязвимостей и анализ защищенности веб-приложений

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

    В этой статье мы переходим от наблюдения к анализу. Мы разберем, что такое уязвимости, как их классифицируют (CVE и CVSS), и погрузимся в мир веб-хакинга, изучив инструменты вроде Burp Suite и атаки из списка OWASP Top 10.

    Понятие уязвимости и CVE

    Уязвимость (Vulnerability) — это ошибка в коде, конфигурации или архитектуре системы, которую злоумышленник может использовать для нарушения политики безопасности.

    В мире кибербезопасности существует единый «словарь» уязвимостей — система CVE (Common Vulnerabilities and Exposures). Когда исследователи находят новую дыру в безопасности (например, в Windows или браузере Chrome), ей присваивается уникальный идентификатор, например: CVE-2023-12345.

    * CVE — префикс. * 2023 — год обнаружения. * 12345 — уникальный номер.

    Зная версию сервиса (которую мы нашли с помощью nmap -sV), мы можем просто «погуглить» её CVE. Если для vsftpd 2.3.4 существует CVE, значит, есть и способ взлома.

    Математика риска: CVSS

    Не все уязвимости одинаково опасны. Ошибка, позволяющая читать публичные новости на сайте, менее критична, чем ошибка, дающая полный доступ к базе данных банка. Для оценки серьезности используется стандарт CVSS (Common Vulnerability Scoring System).

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

    Где: * — общий уровень воздействия на систему. * (Confidentiality) — влияние на конфиденциальность (потеря данных). * (Integrity) — влияние на целостность (подмена данных). * (Availability) — влияние на доступность (отказ в обслуживании).

    Каждый параметр () может принимать числовые значения в зависимости от серьезности (например, 0 — нет влияния, 0.56 — высокое влияние). Если уязвимость позволяет полностью уничтожить данные ( высокий) и остановить сервер ( высокий), итоговый будет стремиться к максимуму.

    Автоматические сканеры уязвимостей

    Искать CVE вручную для сотен серверов долго. Для этого существуют автоматические сканеры. Они работают как антивирусы, только наоборот: вместо поиска вирусов у вас, они ищут дыры в защите удаленного сервера.

    Nessus и OpenVAS

  • Nessus — отраслевой стандарт. Мощный, с огромной базой уязвимостей, но платный (есть бесплатная версия Nessus Essentials для дома).
  • OpenVAS (GVM) — полностью бесплатный аналог с открытым исходным кодом. Он предустановлен или легко устанавливается в Kali Linux.
  • Сканеры проверяют заголовки ответов, версии ПО и даже пытаются безопасно эксплуатировать известные ошибки, чтобы подтвердить их наличие. Результат их работы — отчет, где уязвимости раскрашены по цветам: от красного (критично) до синего (информационно).

    > Важно: Сканеры уязвимостей очень «шумные». Запуск Nessus против корпоративной сети без предупреждения гарантированно вызовет тревогу у службы безопасности и может привести к блокировке вашего IP или юридическим последствиям.

    Веб-приложения: Главная мишень

    Сегодня большая часть интернета — это веб-приложения. Сайты банков, социальные сети, корпоративные порталы — все это работает через протокол HTTP/HTTPS. Именно здесь происходит больше всего атак.

    В отличие от бинарных сервисов (как FTP или SSH), веб-приложения часто пишутся под заказ. Это значит, что в них много уникальных ошибок, которых нет в базах CVE. Здесь автоматические сканеры часто пасуют, и в дело вступает ручной анализ.

    OWASP Top 10

    Проект OWASP (Open Web Application Security Project) регулярно выпускает список 10 самых критических рисков для веб-приложений. Каждый этичный хакер обязан знать этот список наизусть. Мы разберем два самых известных класса уязвимостей: Инъекции и XSS.

    Инструментарий веб-хакера: Burp Suite

    Прежде чем атаковать веб, нам нужен инструмент для перехвата и анализа трафика. Браузер скрывает от нас детали общения с сервером. Нам нужен Proxy (посредник).

    Burp Suite — это «швейцарский нож» для веб-пентестинга. Он встает между вашим браузером и сервером.

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

    Основные вкладки Burp Suite:

  • Proxy: Позволяет остановить запрос, изменить любой параметр (например, цену товара или ID пользователя) и отправить его дальше.
  • Repeater: Позволяет повторять один и тот же запрос много раз, меняя параметры, чтобы понять реакцию сервера.
  • Intruder: Автоматизирует атаки, например, перебор паролей или фаззинг (подачу случайных данных).
  • В Kali Linux предустановлена бесплатная версия Burp Suite Community Edition.

    SQL Injection (SQLi)

    SQL-инъекция возникает, когда данные, введенные пользователем, попадают в запрос к базе данных без должной обработки. Это позволяет хакеру выполнять свои команды в базе данных жертвы.

    Представьте код проверки входа на сайт:

    Если пользователь введет имя admin, запрос будет нормальным: SELECT * FROM users WHERE username = 'admin'

    Но что, если хакер введет в поле логина следующую строку? admin' OR '1'='1

    Тогда запрос превратится в:

    С точки зрения логики базы данных, выражение '1'='1' всегда истинно (True). Условие WHERE становится истинным для всех строк. В результате база данных вернет первую запись в таблице (обычно это администратор), и хакер войдет в систему без пароля.

    !Механизм обхода аутентификации через SQL-инъекцию.

    Как искать SQLi?

    Самый простой тест — ввести в поле ввода (поиск, логин, ID товара в URL) одинарную кавычку '. Если сайт выдаст ошибку базы данных (например, "You have an error in your SQL syntax"), значит, вы «сломали» запрос, и уязвимость, скорее всего, есть.

    Cross-Site Scripting (XSS)

    XSS (Межсайтовый скриптинг) — это атака не на сервер, а на других пользователей. Уязвимость позволяет внедрить вредоносный JavaScript-код на страницу, которую просматривают другие люди.

    Если сайт отображает введенный вами текст без фильтрации, вы можете ввести не просто «Привет», а:

    Браузер жертвы выполнит этот код. Вместо безобидного alert хакер может написать скрипт, который украдет Cookies (сессионные ключи) пользователя и отправит их на сервер злоумышленника. Получив куки, хакер может войти в аккаунт жертвы, не зная пароля.

    Типы XSS:

  • Reflected (Отраженная): Вредоносный скрипт находится в ссылке. Жертва должна кликнуть по специально подготовленной ссылке, чтобы скрипт сработал.
  • Stored (Хранимая): Скрипт сохраняется на сервере (например, в комментарии под постом или в профиле пользователя). Каждый, кто зайдет на страницу, будет атакован. Это самый опасный вид XSS.
  • Практика: Nikto

    Для быстрого анализа веб-серверов в Kali Linux есть утилита Nikto. Она не умеет делать сложные вещи, как Burp, но отлично находит старые версии серверов, забытые файлы конфигурации и стандартные скрипты.

    Попробуйте запустить её против нашей машины Metasploitable (предположим, её IP 10.0.2.5):

    Nikto проверит тысячи потенциально опасных путей и выдаст отчет. Вы можете увидеть предупреждения о том, что на сервере доступна директория /dvwa/ или /phpMyAdmin/. Это отличные точки входа для дальнейших атак.

    Заключение

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

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

    4. Эксплуатация систем, работа с Metasploit и основы социальной инженерии

    Эксплуатация систем, работа с Metasploit и основы социальной инженерии

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

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

    Metasploit Framework: Арсенал хакера

    Если Nmap — это карта, то Metasploit — это швейцарский нож с набором отмычек, ломов и ключей. Разработанный компанией Rapid7, этот фреймворк является стандартом де-факто для разработки и выполнения кода эксплойтов.

    Архитектура Metasploit

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

    !Модульная структура Metasploit Framework, показывающая основные компоненты системы.

    Основные типы модулей:

  • Exploit (Эксплойт) — код, который использует уязвимость в системе (например, переполнение буфера), чтобы доставить полезную нагрузку. Это «ракета-носитель».
  • Payload (Полезная нагрузка) — код, который запускается на машине жертвы после успешной эксплуатации. Это «боеголовка». Она может дать вам командную строку, добавить пользователя или запустить вирус.
  • Auxiliary (Вспомогательные) — сканеры, фаззеры и инструменты для DoS-атак. Они не дают доступ, но помогают в разведке.
  • Encoders (Кодировщики) — инструменты для маскировки полезной нагрузки от антивирусов.
  • Практика: Взлом Metasploitable 2

    В прошлой статье мы выяснили, что на нашей машине-жертве (Metasploitable 2) на порту 21 работает FTP-сервер vsftpd 2.3.4. Эта версия известна тем, что разработчик случайно (или намеренно) оставил в ней бэкдор (черный ход).

    Давайте эксплуатируем эту уязвимость с помощью Metasploit.

    Шаг 1: Запуск консоли

    Откройте терминал в Kali Linux и запустите главную консоль:

    Вы увидите приветственный баннер и командную строку msf6 >.

    Шаг 2: Поиск эксплойта

    Нам нужно найти модуль для vsftpd. Используем команду search:

    Система выдаст список. Нас интересует exploit/unix/ftp/vsftpd_234_backdoor.

    Шаг 3: Выбор и настройка цели

    Выбираем модуль командой use:

    Теперь нужно указать адрес жертвы. Посмотрим доступные опции командой show options. Нам нужно установить параметр RHOSTS (Remote Hosts):

    (Замените 10.0.2.5 на IP-адрес вашей машины Metasploitable).

    Шаг 4: Эксплуатация

    Вводим заветную команду:

    Если все прошло успешно, вы увидите сообщение Command shell session 1 opened. Поздравляю, вы внутри! Теперь вы можете вводить команды Linux (например, whoami или ls), и они будут выполняться на удаленном сервере.

    Типы Shell: Bind vs Reverse

    При настройке полезной нагрузки (Payload) вы часто будете встречать термины Bind Shell и Reverse Shell. Понимание разницы критически важно для обхода фаерволов.

    Bind Shell (Прямое подключение)

    Хакер подключается к жертве напрямую. Эксплойт открывает порт на машине жертвы, и мы заходим туда.

    * Проблема: Фаерволы обычно блокируют входящие соединения на нестандартные порты.

    Reverse Shell (Обратное подключение)

    Жертва сама подключается к хакеру. Эксплойт заставляет компьютер жертвы «позвонить домой» на IP-адрес атакующего.

    * Преимущество: Фаерволы часто разрешают исходящие соединения (пользователям ведь нужно сидеть в интернете), поэтому этот метод работает намного чаще.

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

    Meterpreter: Король полезной нагрузки

    Простая командная строка (Shell) — это хорошо, но Meterpreter — это лучше. Это продвинутая полезная нагрузка, которая работает полностью в оперативной памяти (не оставляя следов на жестком диске) и предоставляет огромные возможности.

    Если вам удалось запустить сессию Meterpreter, вы можете:

    * sysinfo — получить полную информацию о системе. * getuid — узнать, под каким пользователем вы работаете. * webcam_snap — сделать снимок с веб-камеры жертвы. * keyscan_start — запустить кейлоггер (перехват нажатий клавиш). * upload / download — скачивать и загружать файлы.

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

    Защита программного обеспечения становится все совершеннее. Найти уязвимость в обновленном Windows 11 сложно. Но есть компонент системы, который не обновляется и всегда имеет уязвимости — это человек.

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

    Математика фишинга

    Почему фишинг (массовая рассылка вредоносных писем) так популярен? Потому что статистика работает на атакующего. Рассмотрим вероятность успеха фишинговой кампании.

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

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

    Если в компании работает 100 человек (), а вероятность ошибки сотрудника всего 3% (), то вероятность успеха атаки:

    Это означает 95.3% вероятности успеха! Именно поэтому социальная инженерия является вектором атаки №1 в мире.

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

  • Фишинг (Phishing): Поддельные письма от банка, начальника или сервиса поддержки с просьбой сменить пароль или открыть вложение.
  • Вишинг (Vishing): Голосовой фишинг. Звонок «из службы безопасности банка».
  • Претекстинг (Pretexting): Атакующий придумывает сценарий (претекст). Например, представляется новым сотрудником IT-отдела, которому нужно «настроить удаленный доступ».
  • Baiting (Дорожное яблоко): Подбрасывание зараженной флешки с интригующей надписью «Зарплаты 2024» в офисе компании. Любопытство заставит кого-то вставить её в компьютер.
  • Инструментарий: SET

    В Kali Linux встроен инструмент Social-Engineer Toolkit (SET). Он автоматизирует создание фишинговых страниц. SET может полностью скопировать страницу входа ВКонтакте или Google, поднять локальный веб-сервер и сохранять все введенные пароли в текстовый файл.

    > Помните: Использование SET против реальных людей без их письменного согласия — это уголовное преступление (ст. 272, 273 УК РФ).

    Заключение

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

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

    5. Пост-эксплуатация, повышение привилегий и написание отчетов по безопасности

    Пост-эксплуатация, повышение привилегий и написание отчетов по безопасности

    Поздравляю! В предыдущих модулях вы научились проводить разведку, находить уязвимости и даже получили первую сессию через Metasploit. Вы «внутри». Но на этом работа этичного хакера не заканчивается. На самом деле, она только начинается.

    Получение доступа (Exploitation) — это лишь открытие двери. Теперь вам нужно понять, в какую комнату вы попали, как добраться до сейфа (повышение привилегий), как оставить дверь приоткрытой для возвращения (закрепление) и, самое главное, как грамотно описать всё это заказчику.

    В этой финальной статье курса мы разберем фазу пост-эксплуатации и искусство написания отчетов.

    Что такое пост-эксплуатация?

    Пост-эксплуатация (Post-Exploitation) — это комплекс действий, выполняемых после успешного компрометирования цели. Если эксплуатация — это прорыв периметра, то пост-эксплуатация — это действия в тылу врага.

    Основные цели этого этапа:

  • Повышение привилегий: Получение прав администратора.
  • Сбор данных (Looting): Поиск паролей, ключей шифрования, баз данных.
  • Закрепление (Persistence): Обеспечение доступа даже после перезагрузки системы.
  • Пивотинг (Pivoting): Использование взломанной машины для атаки на другие узлы внутренней сети.
  • Повышение привилегий (Privilege Escalation)

    Чаще всего после взлома (например, через уязвимость в веб-приложении) вы получаете доступ с правами обычного пользователя или сервисного аккаунта (например, www-data в Linux). Эти права сильно ограничены: вы не можете читать системные файлы, устанавливать программы или менять конфигурации.

    Существует два типа повышения привилегий:

  • Горизонтальное: Получение доступа к аккаунту другого пользователя с теми же правами (например, от пользователя ivan к пользователю maria).
  • Вертикальное: Получение доступа к аккаунту с более высокими правами (обычно root в Linux или NT AUTHORITY\SYSTEM в Windows).
  • !Визуализация вертикального повышения привилегий от обычного пользователя до администратора.

    Методы повышения привилегий в Linux

    Если вы находитесь в системе Linux, первым делом стоит проверить несколько вещей:

    Ядро ОС: Старые версии ядра часто имеют уязвимости (например, Dirty COW*), позволяющие любому пользователю стать root. * Sudo права: Команда sudo -l покажет, какие команды ваш пользователь может выполнять от имени суперпользователя без пароля. * SUID бинарники: Это программы, которые запускаются с правами владельца файла (обычно root), даже если их запускает обычный пользователь. Если в такой программе есть ошибка, через нее можно получить root-права.

    Методы повышения привилегий в Windows

    В Windows векторы атак часто связаны с неправильной конфигурацией:

    * Unquoted Service Paths: Если путь к службе содержит пробелы и не заключен в кавычки, Windows может случайно запустить ваш вредоносный файл вместо легитимной службы. * AlwaysInstallElevated: Настройка реестра, позволяющая устанавливать любые .msi пакеты с правами SYSTEM.

    Сбор данных и взлом паролей (Looting)

    Получив высокие права, хакер начинает искать ценную информацию. Одной из главных целей являются хеши паролей. В Linux они хранятся в файле /etc/shadow, в Windows — в базе SAM.

    Хеш — это результат одностороннего шифрования пароля. Чтобы узнать исходный пароль, хеш нужно «взломать» (сбрутить). Сложность этой задачи зависит от сложности пароля.

    Количество возможных комбинаций пароля можно рассчитать по формуле:

    Где: * — общее количество возможных комбинаций пароля. * — мощность алфавита (количество доступных символов: буквы, цифры, спецсимволы). * — длина пароля.

    Например, если пароль состоит только из цифр () и имеет длину 4 знака (), то вариантов. Это перебирается мгновенно. Но если добавить буквы разного регистра и спецсимволы () и увеличить длину до 10, число комбинаций станет астрономическим.

    Закрепление в системе (Persistence)

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

    Популярные методы:

    * Создание нового пользователя: Самый простой, но и самый заметный способ. * Планировщик задач (Cron / Task Scheduler): Создание задачи, которая каждые 5 минут запускает ваш бэкдор. * Модификация служб: Настройка легитимной службы так, чтобы она запускала ваш код при старте системы.

    > Этичный хакер обязан удалить все механизмы закрепления после завершения пентеста.

    Пивотинг (Pivoting)

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

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

    !Схема пивотинга: атака внутренней сети через промежуточный взломанный узел.

    В Metasploit для этого используется модуль autoroute. Он превращает взломанную машину в маршрутизатор для вашего трафика.

    Заметание следов

    Чтобы скрыть факт взлома, злоумышленники удаляют логи и временные файлы. В Linux основные события пишутся в /var/log/auth.log или /var/log/syslog, в Windows — в Event Viewer.

    Этичные хакеры не должны удалять логи заказчика, так как это мешает расследованию инцидентов (Forensics). Вместо этого в отчете указывается, какие следы были оставлены.

    Написание отчета: Самая важная часть работы

    Многие новички думают, что работа хакера — это черная консоль и зеленый код. На самом деле, результат работы пентестера — это отчет. Заказчик платит не за то, что вы взломали его сайт, а за документ, который объясняет, как вы это сделали и как ему защититься.

    Хороший отчет состоит из трех частей:

    1. Управленческое резюме (Executive Summary)

    Эта часть пишется для директоров и топ-менеджеров. Здесь запрещено использовать технический сленг. * Плохо: «Мы проэксплуатировали CVE-2023-45 через SQL-инъекцию в параметре ID». * Хорошо: «Мы получили доступ к базе данных клиентов. Это создает риск утечки персональных данных и репутационных потерь. Уровень риска: Критический».

    2. Техническая часть

    Пишется для системных администраторов и разработчиков. Здесь нужно описать каждый шаг воспроизведения уязвимости (Proof of Concept), приложить скриншоты, куски кода и HTTP-запросы.

    3. Рекомендации по устранению (Remediation)

    Недостаточно сказать «у вас дыра». Нужно сказать, как её закрыть. Рекомендации должны быть конкретными: «Обновите Apache до версии 2.4.50» или «Используйте подготовленные выражения (Prepared Statements) в SQL-запросах».

    Оценка рисков (CVSS)

    Каждой найденной уязвимости нужно присвоить рейтинг опасности. Мы уже упоминали систему CVSS. В отчете вы должны обосновать, почему одна уязвимость получила 9.8 баллов (Critical), а другая — 3.5 (Low).

    Заключение курса

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

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

    Удачи в ваших исследованиях!