1. Начало пути: знакомство с платформой, OpenVPN и основы Linux
Начало пути: знакомство с платформой, OpenVPN и основы Linux
Добро пожаловать в курс «Введение в CTF с использованием платформы TryHackMe». Если вы читаете эту статью, значит, вы решили погрузиться в захватывающий мир информационной безопасности. CTF (Capture The Flag) — это не просто соревнования, это один из самых эффективных способов обучения практическим навыкам хакинга в легальной и безопасной среде.
В этой первой статье мы заложим фундамент, необходимый для прохождения всего курса. Мы разберем, что такое TryHackMe, как настроить рабочее окружение через OpenVPN и изучим базовые команды Linux, без которых невозможно представить работу этичного хакера.
Что такое CTF и платформа TryHackMe?
CTF (Capture The Flag) — это соревнования по информационной безопасности, где участники должны найти «флаг» (обычно это строка текста определенного формата, например, THM{secret_flag}), спрятанный в уязвимой системе, веб-сайте или файле. Чтобы добыть флаг, нужно решить головоломку, взломать сервис или расшифровать данные.
TryHackMe (THM) — это онлайн-платформа, которая превращает обучение кибербезопасности в игру. Вместо скучных лекций вы попадаете в «Комнаты» (Rooms). Каждая комната — это виртуальная лаборатория, посвященная определенной теме: от основ работы с сетью до взлома Active Directory.
Структура обучения на платформе
!Схема подключения пользователя к виртуальным лабораториям TryHackMe через VPN
Настройка доступа: OpenVPN
Для выполнения заданий вам необходимо получить доступ к виртуальным машинам внутри сети TryHackMe. Эти машины не доступны из обычного интернета напрямую в целях безопасности. Чтобы «дотянуться» до них, используется технология VPN (Virtual Private Network).
Зачем нам VPN?
Когда вы запускаете машину на TryHackMe, ей присваивается внутренний IP-адрес (например, 10.10.15.25). Ваш компьютер не знает, где находится этот адрес, так как он находится в частной сети платформы. OpenVPN создает зашифрованный туннель между вашим компьютером и сетью TryHackMe, позволяя вам обращаться к атакуемым машинам так, будто они находятся в вашей локальной сети.
Инструкция по подключению
Для работы мы будем использовать Kali Linux (самый популярный дистрибутив для пентеста) или любую другую Linux-систему. Если у вас Windows, вы можете использовать WSL (Windows Subsystem for Linux) или виртуальную машину.
Шаг 1: Скачивание конфигурации
.ovpn (например, user.ovpn).Шаг 2: Установка OpenVPN
В большинстве дистрибутивов Linux для безопасности (например, Kali Linux, Parrot OS) OpenVPN уже установлен. Если вы используете чистый Ubuntu или Debian, выполните команду:
Шаг 3: Запуск соединения
Откройте терминал (консоль) в папке, куда вы скачали файл конфигурации, и введите следующую команду:
Здесь user.ovpn — это имя вашего скачанного файла. Команда sudo необходима, так как создание сетевого интерфейса требует прав администратора.
После запуска вы увидите много строк логов. Если в конце появится надпись Initialization Sequence Completed, значит, соединение установлено успешно. Не закрывайте это окно терминала, пока работаете с платформой.
> Проверить подключение можно, обновив страницу Access на сайте TryHackMe. Там должна появиться галочка «Connected» и ваш внутренний IP-адрес.
Основы Linux: Ваш главный инструмент
Подавляющее большинство серверов в интернете и инструментов для хакинга работают на базе Linux. Умение работать в терминале (Command Line Interface — CLI) — это критически важный навык. В графическом интерфейсе вы ограничены кнопками, которые нарисовал разработчик. В терминале вы ограничены только своими знаниями.
Давайте разберем базовые команды, которые понадобятся вам для решения первых задач CTF.
Навигация по файловой системе
В Linux нет дисков C: или D:. Все начинается с корня, который обозначается символом /. Файловая система представляет собой дерево каталогов.
!Визуализация иерархии файловой системы Linux
1. Где я нахожусь?
Команда pwd (Print Working Directory) показывает полный путь к текущей директории.
2. Что здесь есть?
Команда ls (List) показывает содержимое текущей папки.
* ls — просто список файлов.
* ls -l — список с подробной информацией (права доступа, размер, владелец).
* ls -a — показать скрытые файлы (в Linux скрытые файлы начинаются с точки, например .config).
* ls -la — комбинация предыдущих ключей (часто используется в CTF для поиска скрытых флагов).
3. Как перейти в другую папку?
Команда cd (Change Directory) используется для перемещения.
* cd Documents — перейти в папку Documents (если она есть в текущей директории).
* cd /etc/openvpn — перейти по абсолютному пути.
* cd .. — подняться на уровень выше (назад).
* cd ~ — вернуться в домашнюю директорию пользователя.
Работа с файлами
В CTF вам постоянно придется читать файлы: исходный код, конфигурации, заметки и, конечно же, флаги.
1. Чтение содержимого
Команда cat (Concatenate) выводит содержимое файла на экран.
Если файл очень большой, cat выведет его весь, и начало улетит вверх. В таких случаях используют:
* less file.txt — позволяет листать файл стрелками (выход на клавишу q).
* head file.txt — показывает первые 10 строк.
* tail file.txt — показывает последние 10 строк.
2. Создание файлов и папок
* touch newfile.txt — создает пустой файл.
* mkdir my_folder — создает новую директорию (Make Directory).
3. Копирование и перемещение
* cp source.txt dest.txt — копирует файл (Copy).
* mv file.txt folder/ — перемещает файл (Move). Также используется для переименования: mv old.txt new.txt.
4. Удаление
Будьте осторожны с этими командами, в Linux нет корзины при удалении через терминал!
* rm file.txt — удаляет файл (Remove).
* rm -r folder — удаляет папку и все ее содержимое (Recursive).
Права суперпользователя
В Linux есть обычные пользователи и суперпользователь (root), который может делать всё. Для выполнения административных задач (установка программ, редактирование системных файлов) используется команда sudo (SuperUser DO).
Система попросит ввести пароль вашего пользователя. Обратите внимание: при вводе пароля в терминале символы не отображаются (даже звездочки). Это сделано для безопасности. Просто введите пароль и нажмите Enter.
Поиск информации
Одна из самых важных команд для новичка — man (Manual). Она открывает справку по любой команде.
Это откроет подробное руководство по команде ls, где описаны все возможные ключи и опции. Умение читать man-страницы отличает профессионала от любителя, который просто копирует команды из интернета.
Практический пример: Поиск первого флага
Представьте, что вы подключились к машине на TryHackMe. Вы открыли терминал. Ваши действия могут выглядеть так:
pwd -> /home/user.ls -> видим flag.txt и task.zip.cat flag.txt -> Permission denied (Отказано в доступе).ls -l flag.txt -> видим, что файл доступен только пользователю root.sudo cat flag.txt.THM{l1nux_pr1v1l3g3s_rull3z}.Заключение
Сегодня мы сделали первый шаг. Мы разобрались, как устроена платформа TryHackMe, настроили безопасное соединение через OpenVPN и освоили базовый набор команд Linux. Эти команды — ваш алфавит. Без них невозможно написать «поэму» эксплойта или прочитать «историю» логов.
В следующей статье мы углубимся в инструменты разведки и узнаем, как сканировать сети с помощью Nmap, чтобы находить уязвимые сервисы.