* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, Roboto, Oxygen, Ubuntu, sans-serif;
background-color: #1a1a2e !important;
color: #e8e8f0 !important;
line-height: 1.6 !important;
padding: 20px !important;
}
h1, h2, h3, h4 {
color: #e8e8f0 !important;
margin-top: 30px !important;
margin-bottom: 15px !important;
word-break: break-word !important;
}
h1 {
background: linear-gradient(135deg, #4c0519 0%, #1a1a2e 100%) !important;
padding: 20px !important;
border-radius: 8px !important;
border-left: 4px solid #ff6600 !important;
font-size: 28px !important;
}
h2 {
background: linear-gradient(135deg, #4c0519 0%, #1a1a2e 100%) !important;
padding: 15px !important;
border-radius: 8px !important;
border-left: 4px solid #ff6600 !important;
font-size: 22px !important;
}
p {
margin-bottom: 15px !important;
word-break: break-word !important;
font-size: 16px !important;
}
.card {
background-color: #252545 !important;
padding: 20px !important;
border-radius: 8px !important;
margin-bottom: 20px !important;
border: 1px solid #353560 !important;
}
.accent {
color: #ff6600 !important;
font-weight: bold !important;
}
.tip {
background-color: #2a2a4a !important;
border-left: 4px solid #ff6600 !important;
padding: 15px !important;
margin: 20px 0 !important;
border-radius: 0 8px 8px 0 !important;
}
.tip-title {
color: #ff6600 !important;
font-weight: bold !important;
margin-bottom: 8px !important;
display: block !important;
}
ul, ol {
margin-left: 25px !important;
margin-bottom: 15px !important;
}
li {
margin-bottom: 8px !important;
word-break: break-word !important;
}
strong {
color: #e8e8f0 !important;
font-weight: 700 !important;
}
em {
color: #ff6600 !important;
font-style: italic !important;
}
a {
color: #ff6600 !important;
text-decoration: none !important;
word-break: break-word !important;
}
a:hover {
text-decoration: underline !important;
}
code {
background-color: #1a1a2e !important;
color: #ff6600 !important;
padding: 2px 6px !important;
border-radius: 4px !important;
font-family: ‘Courier New’, monospace !important;
word-break: break-word !important;
}
table {
width: 100% !important;
border-collapse: collapse !important;
margin: 20px 0 !important;
}
th, td {
border: 1px solid #353560 !important;
padding: 12px !important;
text-align: left !important;
word-break: break-word !important;
}
th {
background-color: #252545 !important;
color: #ff6600 !important;
font-weight: bold !important;
}
tr:nth-child(even) {
background-color: #1f1f3a !important;
}
.highlight-box {
background: linear-gradient(135deg, #4c0519 0%, #1a1a2e 100%) !important;
padding: 20px !important;
border-radius: 8px !important;
margin: 20px 0 !important;
border: 2px solid #ff6600 !important;
}
.intro {
font-size: 18px !important;
color: #e8e8f0 !important;
margin-bottom: 25px !important;
}
Обзор: Создание лаборатории для пентеста
Protego Security Solutions
Теперь начинается самая интересная часть! Очень важно развивать свои навыки, чтобы максимально эффективно вносить вклад в работу нашей команды в Protego. Навыки приходят с практикой, но как практиковаться, если нет объектов для тренировки?
Почему важна практика в безопасности?
Практиковаться на сетях и приложениях клиентов невозможно. Однако вы можете практиковаться на симулированных целях, сетях, к которым у вас есть разрешение, и определённых сайтах в открытом интернете.
⚠️ ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ: Некоторые инструменты и методы, используемые в этичном хакинге, могут быть признаны незаконными. Более того, определение того, что является законным или незаконным, может различаться от места к месту. Перед использованием инструментов этичного хакинга на любой сети или приложении тщательно рассмотрите легальность того, что вы планируете делать. При сомнениях изучите законы и попросите совета у других.
В этом разделе вы установите и изучите виртуальную машину Kali Linux, которая содержит популярные инструменты этичного хакинга. ВИ также включает симулированные внутренние IP-сети с различными намеренно уязвимыми системами.
Зачем нужна лаборатория для пентеста?
Когда речь идёт о пенетрационном тестировании, правильная лабораторная среда имеет очень важное значение. Внешний вид этой среды зависит от типа тестирования, которое вы проводите. Типы инструментов, используемых в лаборатории, также варьируются в зависимости от различных факторов.
Мы подробно обсудим инструменты в Модуле 10 — «Инструменты и анализ кода». Здесь мы лишь кратко рассмотрим некоторые типы инструментов, используемых в пентесте.
🌐 Типы сред для тестирования
| Тип среды | Описание |
|---|---|
| Производственная/ staging | Используется при тестировании сети клиента — это те среды, которые клиент обычно обеспокоен защитой |
| Закрытая лабораторная | Изолированная сеть для тестирования конкретных устройств или решений, которую можно легко восстановить при необходимости |
| Облачная | Виртуальная инфраструктура для масштабируемого тестирования |
Независимо от того, проводите ли вы пентест на сети клиента, на собственной сети или на конкретном устройстве, вам всегда нужна некоторая среда для тестирования. Например, при тестировании сети клиента вы, скорее всего, будете проводить основное тестирование на производственных или staging-средах клиента, поскольку именно эти среды обычно беспокоят клиента с точки зрения безопасности.
🔒 Безопасность прежде всего: Поскольку это может быть критическая сетевая среда, вы должны быть уверены, что ваши инструменты проверены и надёжны — и именно здесь на помощь приходит ваша лабораторная среда тестирования. Всегда тестируйте свои инструменты и методы в лабораторной среде перед запуском их в сети клиента. Нет гарантии, что используемые вами инструменты ничего не сломают. Фактически, многие инструменты специально предназначены для «ломания» вещей. Поэтому вам нужно знать, чего ожидать, прежде чем «выпускать» инструменты в сеть клиента.
Дистрибутивы Linux для пентеста
Существует множество различных дистрибутивов Linux, которые включают инструменты и ресурсы для пентестирования:
| Дистрибутив | Сайт |
|---|---|
| Kali Linux | kali.org |
| Parrot OS | parrotsec.org |
| BlackArch | blackarch.org |
Эти дистрибутивы Linux предоставляют вам очень удобную среду для начала изучения различных инструментов безопасности и методологий, используемых в пентесте. Вы можете развернуть базовую лабораторию для пентеста, используя всего пару виртуальных машин в средах виртуализации, таких как VirtualBox или VMware Workstation/Fusion.
Вы можете начать базовую учебную лабораторию всего с одной ВМ. Например, Омар Сантос создал бесплатную учебную среду под названием WebSploit Labs, которую можно развернуть на одной виртуальной машине. Она включает многочисленные ресурсы по кибербезопасности, инструменты и несколько намеренно уязвимых приложений, работающих в Docker-контейнерах. WebSploit Labs содержит более 450 различных упражнений, которые вы можете выполнить для практики своих навыков в безопасной среде. Подробнее о WebSploit Labs можно узнать на сайте websploit.org. Виртуальная машина, которую вы загрузите в лабораторной работе далее в этом разделе, является настраиваемой версией лабораторной среды Омара Сантоса.
Какие инструменты использовать в лаборатории?
Модуль 10 полностью посвящён инструментам пентестинга. Поэтому этот раздел только поверхностно затрагивает тему. В основном, инструменты, которые вы используете в пентесте, зависят от типа тестирования, которое вы проводите.
Инструменты для тестирования сетевой инфраструктуры
Если вы проводите тестирование в среде клиента, вы, вероятно, будете оценивать различные поверхности атаки:
- Сетевая инфраструктура
- Беспроводная инфраструктура
- Веб-серверы
- Серверы баз данных
- Системы Windows
- Системы Linux
🔧 Категории инструментов пентеста
| Категория | Примеры инструментов |
|---|---|
| Сниффинг и манипуляция трафиком | Wireshark, tcpdump, Ettercap |
| Флуд сетевых устройств | Hping3, mdk3 |
| Обход файрволлов и IPS | Various bypass techniques |
| Взлом беспроводного шифрования | Aircrack-ng, Hashcat |
| De-authorization атаки | mdk4, aireplay-ng |
| MITM-атаки (человек посередине) | Ettercap, BetterCAP, MITMproxy |
| Сканирование веб-уязвимостей | OWASP ZAP, Burp Suite, Nikto |
| Сканирование баз данных | SQLmap |
| Сканеры уязвимостей | Nessus, OpenVAS |
| Мобильное тестирование | MobSF, APKtool |
Для тестирования веб-приложений и сервисов
При тестировании веб-приложений и сервисов вы можете найти ряд автоматизированных инструментов, специально созданных для сканирования и обнаружения веб-уязвимостей, а также ручные инструменты для тестирования, такие как прокси-перехватчики. Некоторые из этих же инструментов могут использоваться для тестирования уязвимостей баз данных (например, SQL-инъекции).
Для тестирования серверных и клиентских платформ
Для тестирования серверных и клиентских платформ в среде вы можете использовать ряд автоматизированных сканеров уязвимостей для выявления таких вещей, как устаревшее программное обеспечение и неправильные конфигурации.
Мобильное тестирование
Благодаря тому, что значительная часть разработки направлена на мобильные платформы, растёт потребность в тестировании этих приложений и серверов, которые их поддерживают. Для такого тестирования вам нужен ещё один набор инструментов, специфичных для тестирования мобильных приложений и backend-API, которые они обычно используют.
Омар Сантос создал GitHub-репозиторий, который включает многочисленные ресурсы по кибербезопасности. Есть раздел, посвящённый рекомендациям по созданию различных лабораторий для пентестинга и источникам получения уязвимых приложений, серверов и инструментов для практики ваших навыков в безопасной среде. Вы можете получить доступ к репозиторию по адресу https://h4cker.org/github. Вы можете напрямую перейти к разделу «Building Your Own Cybersecurity Lab and Cyber Range» по адресу https://github.com/The-Art-of-Hacking/h4cker/tree/master/build_your_own_lab.
📋 Резюме раздела
В этом разделе вы узнали:
- Почему важна практика в этичном хакинге
- Что такое легальность в пентесте и как её учитывать
- Какие дистрибутивы Linux использовать для пентестинга
- Как создать лабораторную среду для тестирования
- Какие инструменты нужны для разных типов тестирования
- Где найти дополнительные ресурсы для практики