Подключение к VPN
После того, как капитан раздаст вам конфиги для подключения, необходимо подключиться к сети соревнования.
Про подключение к сети рассказано в VPN
Скопировать сервисы с машинки себе на компьютер
Упаковать все папки с сервисами в архив
Узнать текущую директорию
Скопировать архив с машинки на хост в текущую директорию
Пример простого сплойта
Заметим, что данный сплоит не может быть использован на ферме в виду отсутствия некоторых элементов. Что такое ферма, зачем она нужна и как правильно писать сплоит расскано ниже.
Ручная отправка флага на журейку
Пример на curl
Пример python
Автоматизация
Анализатор трафика
Анализатор трафика — это инструмент для перехвата, анализа и изучения сетевых данных, которые проходят через инфраструктуру соревнования. С помощью него вы можете видеть, как другие команды вас атакуют, как происходит взаимодействие с сервисом и т.д.
- После поднятия контейнера настроить IP вашего бокса, regex флага, и опционально аутентификацию (если запускаете на самой машинке).
- Добавить названия сервисов, их порты и цвета для обозначения
- Начать генерацию pcap файлов с помощью
tcpdump -i $interface -G 10 -w ./pcaps/pcap_%Y%m%d_%H%M%S.pcap -Z root
- Настроить отправку трафика на caronte с помощью скрипта feedCaronte.sh, лежащего в папке
caronte/scripts/
(если используете аутентификацию, в curl не забудьте добавить заголовок Authorization для использования HTTP Basic авторизации -H “Authorization: Basic CREDENTIALS”, где CREDENTIALS - строка login:password, преобразованная в base64)
Ферма
Всю информацию о назначении фермы и т.д. можно прочитать тут
Запуск сплоита
Все сплоиты должны запускаться с помощью скрипта
start_sploit.py
, лежащего в папкеclient
фермы. Каждый раунд он будет автоматически атаковать все команды, которые были добавлены в ферму, и отправлять флаги на ферму для сдачи на журейную систему. При запуске минимум необходимо указать адрес фермы, пароль от нее и файл сплойта для запуска. Обычно для запуска таким образом можно запуститьtmux
сессию, в которой будет происходить запуск сплоита.
Шаблон сплоита для запуска
Сплоит обязательно должен содержать shebang (строка 1), получать первым агрументом IP адрес команды, которую нужно атаковать, и выводить информацию с аргументом
flush=True
. Вывод сплойта фильтровать не обязательно, ферма сама будет матчить по regex флага. Чуть более подробно про формат сплоита написано тут