Проект II
Во втором проекте участники установят операционную систему с различными уязвимостями, а затем установят в нее систему предотвращения сетевых вторжений. После этого участники познакомятся с программным обеспечением для тестирования на проникновение и атакуют установленную систему.
Продолжая обучение, вы соглашаетесь не причинять вред с использованием этой или аналогичной информации в интернете.
Курс состоит из 1 части.
Перед началом курса
Прочитайте инструкции о том, как начать и пройти курс. Особенно внимательно изучите раздел о прохождении курса, поскольку для получения кредитов ECTS требуются дополнительные шаги.
Для выполнения курса необходимо настроить среду TestMyCode. Прочитайте инструкции по установке.
Канал поддержки и контактная информация
Для поддержки используйте Discord (канал #csb_general).
По дополнительным вопросам обращайтесь на grp-cybersecuritybase(at)removethis.helsinki.fi.
Как пройти курс
Чтобы пройти курс, нужно выполнить проектное задание, написать отчет и предоставить 3 рецензии на другие проекты.
Описание проекта
Во втором проекте курса вы установите операционную систему с различными уязвимостями, а затем установите в нее инструменты, которые отслеживают атаки. После запуска системы вы будете работать с программным обеспечением для тестирования на проникновение, чтобы атаковать эту систему. Обратите внимание: проект сложный, и его выполнение может занять много времени, если вам некомфортно работать с командной строкой.
Ожидается, что вы установите систему Metasploitable 3. Есть две версии: Windows или Ubuntu. В проекте следует использовать версию Ubuntu.
Рекомендуем создать виртуальную машину для установки, например с помощью VirtualBox (см. примечания по установке в Приложении A внизу страницы). После запуска виртуальной машины Metasploitable 3 установите в нее Snort — см. их FAQ. Убедитесь, что ваши правила Snort (community) актуальны.
Теперь у вас есть система, которую можно атаковать. Затем скачайте Metasploit и ознакомьтесь с ним.
В качестве введения в атаки прочитайте Обход обнаружения вторжений: как атакующие обходят сигнализацию.
Начните атаки с простого сканирования портов. Если вы проходили курс Securing
Software, можно также использовать сканер портов, который вы реализовали в
первых заданиях, или использовать nmap.
Список известных эксплойтов в Metasploitable 3 можно найти, например, здесь (архивная ссылка, если текущая не работает), либо можно усложнить себе задачу и попробовать найти их самостоятельно с нуля.
Отчет
Затем вы напишете краткий отчет объемом 1000 слов. Отчет должен содержать 5 атак. Включите в отчет как минимум три атаки, которые Snort смог идентифицировать, и две атаки, которые Snort не смог идентифицировать. Кратко опишите каждую атаку: какой компонент атакуется и как атака выполняется в Metasploit.
Для обнаруженных атак включите вывод Snort. Если вывод слишком длинный, сократите его, например выбрав одну строку; при этом не сокращайте саму строку.
Сканирование портов не считается атакой. Если вы не можете найти атаки, которые Snort не может идентифицировать, удалите часть правил Snort и тоже включите описание этого в отчет.
Отчет также должен содержать эссе на тему "Преимущества и недостатки использования систем обнаружения вторжений".
Отчет должен иметь следующую структуру:
Introduction
IDENTIFIED ATTACK 1:
<description>
IDENTIFIED ATTACK 2:
<description>
IDENTIFIED ATTACK 3:
<description>
...
MISSED ATTACK 1:
<description>
MISSED ATTACK 2:
<description>
ESSAY: The benefits and shortcomings of using intrusion detection systemsПишите эссе внимательно и вдумчиво. Другие участники курса будут рецензировать его и дадут вам обратную связь. Эссе нужно писать индивидуально и своими словами. Копирование из других источников не разрешается. Копирование текста из других источников с выдачей его за свой считается плагиатом. Плагиат запрещен при любых обстоятельствах и будет иметь последствия при обнаружении. Информация об использовании LLM приведена здесь.
Если уместно, добавьте список источников в конец эссе.
Рекомендуем не писать эссе непосредственно в браузере. Вместо этого напишите и сохраните его в предпочитаемом текстовом редакторе, а затем скопируйте и вставьте в браузер.
Взаимное рецензирование отчетов
После завершения отчета вы прорецензируете три отчета других участников курса.
Взаимное рецензирование состоит из общих комментариев и 5 критериев, которые оцениваются по шкале 1-5. Один критерий оценивает атаки, а остальные 4 критерия оценивают эссе "Преимущества и недостатки использования систем обнаружения вторжений".
Обоснуйте свои оценки в общих комментариях. Будьте конкретны, конструктивны и вежливы.
Общее описание оценок:
- 1: не зачтено, эссе следует отклонить
- 2: достаточно, эссе все еще приемлемо, но едва соответствует требованиям
- 3: средне, основны е тезисы представлены, но есть очевидные способы улучшить эссе
- 4: хорошо, есть небольшие проблемы, но в остальном работа отличная
- 5: отлично, проблем нет или есть только косметические замечания
Более подробная рубрика по каждому критерию приведена ниже. Давая обратную связь, учитывайте ограничения по объему эссе.
| Критерий | Оценка 1 | Оценка 2 | Оценка 3 | Оценка 4 | Оценка 5 |
|---|---|---|---|---|---|
| атаки | плагиат, не по теме, копирование-вставка, неверные или отсутствующие журналы / описания либо иная неприемлемость | журналы включены, но описания атак поверхностные, в основном только настройки Metasploit | описания достаточные, но некоторые важные и очевидные аспекты отсутствуют | небольшие проблемы с описаниями | проблем нет или есть только косметические замечания |
| полнота | плагиат, не по теме, копирование-вставка либо иная неприемлемость | представлены самые важные тезисы, но отсутствует очевидный тезис, который следовало обсудить | все основные тезисы упомянуты, но очевидные связи не описаны | все основные тезисы описаны, но отсутствуют некоторые неочевидные связи, которые можно было упомянуть | проблем нет или есть только косметические замечания |
| соответствие теме | плагиат, не по теме, копирование-вставка либо иная неприемлемость | эссе отвечает на заданную тему, но содержит части несвязанного и необоснованного обсуждения | большая часть эссе соответствует теме, но есть отдельное несвязанное обсуждение | эссе соответствует теме, но содержит небольшие несвязанные замечания | проблем нет или есть только косметические замечания |
| понятность | плагиат, не по теме, копирование-вставка либо иная неприемлемость | намерение автора понятно из эссе, но изложение требует улучшения | предложения расплывчатые, материал плохо сгруппирован по абзацам | небольшие грамматические проблемы, но в остальном работа отличная | проблем нет или есть только косметические замечания |
| аргументация | плагиат, не по теме, копирование-вставка либо иная неприемлемость | читателю требуется значительное усилие, чтобы восстановить пропущенные шаги рассуждения | есть несколько пробелов в логике, но их можно восстановить по контексту | небольшие пробелы в логике | проблем нет или есть только косметические замечания |
Отправка проекта
Примечания по установке
Мы будем использовать следующие компоненты:
- Metasploitable 3 — операционная система со множеством уязвимостей безопасности.
- VirtualBox позволяет запускать Metasploitable 3 в виртуальной машине: Metasploitable 3 будет работать как "обычная" программа внутри вашей основной операционной системы, но вы сможете подключаться к ней по SSH и использовать ее как обычную операционную систему.
- Мы будем использовать Vagrant для установки Metasploitable 3 в VirtualBox.
- Мы будем использовать Snort для мониторинга входящих атак. Snort будет установлен внутри Metasploitable 3.
- Мы будем использовать Metasploit для атаки на Metasploitable 3. Metasploit будет установлен вне Metasploitable 3.
Инструкции по установке
Скачайте и установите VirtualBox и Vagrant.
Скачайте Vagrantfile, например,
wget https://cybersecuritybase.mooc.fi/public/Vagrantfileна локальную машину и используйте Vagrant для сборки, то есть выполните
vagrant up в той же папке, где находится Vagrantfile. IP-адрес по
умолчанию, имя пользователя и пароль можно прочитать из Vagrantfile.
Войдите в новый Vagrant box с помощью vagrant ssh.
Установите Snort в этот Vagrant box, то есть apt install snort.
Скачайте community-правила и распакуйте их в папку правил Snort
(/etc/snort/rules/), то есть:
wget https://www.snort.org/downloads/community/community-rules.tar.gz
tar xzf community-rules.tar.gz
cp community-rules/*.rules /etc/snort/rules/Скачайте набор правил Emerging, то есть:
wget https://rules.emergingthreats.net/open/snort-2.9.0/emerging.rules.tar.gz
tar xzf emerging.rules.tar.gz
cp rules/*.rules /etc/snort/rules/Убедитесь, что community-правила и правила Emerging распакованы в папку
/etc/snort/rules/.
Измените /etc/snort/snort.conf, чтобы включить все правила в
/etc/snort/snort.conf, или используйте предоставленный нами файл:
snort.conf. Обратите внимание, что некоторые правила могут
конфликтовать и не могут быть включены одновременно. Помните, что в
производственной настройке вы не включали бы все правила по умолчанию, а выбрали бы
набор правил, которые считаете важными.
Завершите нас тройку Snort. Например, мы изменили файл /etc/snort/snort.debian.conf
следующим образом: snort.debian.conf. Это было нужно,
чтобы Snort отслеживал правильный сетевой интерфейс, если Metasploitable 3
запускается внутри VirtualBox.
Перезапустите Snort командой
sudo service snort restartВероятно, проще запускать Snort напрямую из командной строки:
sudo snort -A console -u snort -g snort -c /etc/snort/snort.conf -i eth1 -k noneПроверьте этот Vagrant box и его Snort с помощью командной строки Metasploit, то есть
msfconsole.
Некоторые полезные команды для msfconsole:
use [exploit/...]
set RHOST [targetIP]
exploit
show options
info
search [KEYWORD]- Вы можете проверить, что Snort записал событие, просматривая последние строки
/var/log/syslog(или/var/snort/snort.log, в зависимости от конфигурации). Если это не работает, попробуйте запустить Snort из командной строки: с правильными параметрами можно заставить его выводить данные прямо в консоль. - Обратите внимание, что некорректно сформированный трафик может быть виден и без атак.