S
SSHMAN
Original poster
Взлом сайтов — один из самых распространенных типов атак. Если тебе интересно, как взламывают сайты и на что нужно обратить внимание, чтобы защитить свой ресурс, то эта статья для тебя. Здесь я разберу самые начала пентеста веб-приложений и на примерах покажу, как работать с популярными движками.
На январь 2020 года в интернете насчитывается , и многие из них уязвимы. Десять лет назад показало, что минимум 13% сайтов можно взломать автоматически. А в недавнем исследовании Positive Technologies об уязвимости 19% протестированных веб-приложений. Поистине огромный простор для действий злоумышленников!
Общие принципы взлома сайтов.
По структуре сайты делятся на три больших класса:
В основе большинства современных сайтов — готовые движки. Например, Xakep.ru не исключение: он работает на популярной системе WordPress (по крайней мере сейчас, в 2020 году).
С точки зрения атакующего, движки сайтов ничем не отличаются от других сервисов и служб. Их исходный код обычно находится в общем доступе, и любой исследователь может проанализировать его на ошибки, в том числе бреши в безопасности. Поэтому сайты на CMS редко становятся жертвами целевой атаки. Чаще их ломают массово.
Такой взлом автоматизирован и обычно протекает по следующей схеме: злоумышленник находит уязвимость (самостоятельно или просто гуглит что-то свежее). Затем он делает эксплоит или берет готовый и пишет специализированный бот. Этот бот ищет указанную дыру на всех сайтах подряд в заданном диапазоне и пытается эксплуатировать ее.
Казалось бы, для защиты от автоматических атак надо всего-то поддерживать программное обеспечение в актуальном состоянии, но в реальности CMS обрастает разными дополнениями, и уследить за всеми становится сложно.
При пентесте стоит несколько иная задача — проверить конкретный сайт на уязвимости. Об этом мы и поговорим.
Разведка.
Прежде чем пытаться атаковать цель, нужно собрать информацию о ней. Для этого хорошо подходит инструмент . Эта утилита предоставляет подробную информацию о CMS жертвы и использованных ей веб-инструментах.
Советую запускать WhatWeb с ключом -а, указывая после него значение 3 или 4. Разница между ними только в том, что во втором случае WhatWeb будет сканировать еще и субдиректории. Имей в виду, что оба варианта задают агрессивный метод опросов — со всеми вытекающими, а точнее «втекающими» на сервер логами.
Вот пример запуска и собранных ответов:
Здесь мы видим, что это сайт британской компании, сделанный на WordPress, используется PHP v. 7.1.33 и jQuery 1.9.0, 2.2.3. Неплохо для начала!
Если у тебя нет VPN или ты просто не хочешь заморачиваться с установкой, обрати внимание на .
WhatWeb online
Кстати, при работе с заграничными сайтами она дает большую скорость.
Если тебе достаточно определить только название CMS, то для этого есть , даже русскоязычные.
Вот свежая :
WordPress.
Поскольку WordPress — это сейчас самая популярная CMS, то перейдем сразу к ней. Под нее выпущен очень мощный сканер, который умеет творить магию, — . На момент написания статьи актуальная версия была 3.7.8. Этот сканер умеет определять версию сканируемого объекта, брутить админку (у него даже есть свой встроенный словарь), смотреть уязвимые открытые директории, определять установленные плагины и много всего другого. К тому же он предустановлен в и в других дистрибутивах для пентестеров. Есть даже версия в .
На мой взгляд, управление и ключи WPScan могли бы и упростить. Даже хелпа у программы два — краткий (-h) и подробный (--hh).
Перед первым использованием WPScan необходимо обновить его базу данных.
wpscan --update
После этого начинаем сканирование. Сам по себе WPScan без ключей выдаст общую информацию о сайте, лишь поверхностно просканировав цель.
wpscan --url
WPScan
После строчки Interesting Finding(s): начинаются те самые моменты, на которые стоит обратить внимание:
Конфигурация WordPress
Продолжаем копать и все тем же софтом пробуем сбрутить логин и пароль к админке:
wpscan --url http://[IP-address] --passwords pass.txt --usernames user.txt
Брутфорсится очень быстро благодаря многопоточности. Если админ использовал стандартные учетные записи и установил несложные пароли, то результат не заставит себя долго ждать.
Найденные учетные данные
Как видишь, учетные данные к админке и базе данных мы достали без особого труда. Для рядового взломщика это было бы больше чем предостаточно, но мы еще не все проверили. На очереди — плагины для WP и другие популярные точки входа.
Сканер показал нам, что на выбранном сайте нет ни одного установленного плагина, однако это может быть ложным выводом, основанным на ограничениях пассивного метода сканирования. Для более надежного обнаружения плагинов нужно задать агрессивный метод их поиска:
wpscan --url http://[IP-address] --enumerate ap --plugins-detection aggressive
Учти, что ключ ap покажет все найденные плагины, а vp — только уязвимые. Данная процедура занимает приличное время. Скорость будет зависеть от удаленности сайта, но даже в лучшем случае на это уйдет не меньше 30 минут.
Как видишь, агрессивный метод дал свои результаты: обнаружен антиспам-плагин Akismet версии 3.1.1.
Плагин Akismet v3.1.1
Точно такими же действиями необходимо искать другие уязвимые дополнения к WP. Подробнее смотри мануал в разделе --enumerate.
Также посмотри идентификаторы известных уязвимостей — . Например, для версии PHP, на которой работает CMS. Затем поищи готовые и проверь их в деле.
Joomla.
Joomla тоже довольно популярная CMS, для которой есть свой сканер — . Написали его ребята из Open Web Application Security Project (). Он еще актуален, хотя и давно не обновлялся. Последняя версия 0.0.7 вышла в сентябре 2018 года.
По своей сути это точно такой же сканер безопасности, как и WPScan, только немного попроще. JoomScan также предустановлен в большинстве дистрибутивов для специалистов по безопасности, а весь его мануал умещается в несколько строк.
Help JoomScan
Он тоже поддерживает агрессивный метод сканирования установленных компонентов. Команда запуска сканирования в агрессивном режиме выглядит так:
joomscan --url --enumerate-components
Вот пример анализа найденной на просторах интернета старой и очень дырявой версии сайта на Joomla.
JoomScan
Как видно по скриншоту, программа выдает версию CMS, CVE найденных уязвимостей и ссылки на эксплоиты, которыми можно воспользоваться для взлома сайта. Также в выводе приводятся все найденные на сайте директории и ссылка на файл конфигурации, если его забыли спрятать.
Брутфорсить админку JoomScan не умеет. Сегодня, чтобы выполнить такой брутфорс, нужен серьезный инструмент, который работает с цепочкой прокси-серверов. Хотя бы потому, что на сайтах с Joomla часто используется плагин . Когда количество неудачных попыток авторизации достигает заданного числа, он блокирует IP-адрес атакующего.
Если сайт с Joomla работает на HTTP (что уже редкость), попробуй воспользоваться Nmap.
Drupal и другие CMS.
С Drupal все немного сложнее, как и с другими непопулярными CMS. Годного сканера, который бы находил уязвимости на таких сайтах, просто нет. Из готовых инструментов мне удалось найти лишь , но он только помогает быстро собрать базовую информацию о жертве.
Устанавливается DroopeScan через pip (естественно, у тебя должен быть установлен Python).
pip install droopescan
Запускаем сканирование. Так как он поддерживает не только Drupal, ему желательно явно указать, какую CMS мы ожидаем встретить на сайте:
droopescan scan drupal -u
DroopeScan
Остальное приходится выискивать руками и гуглить в интернете. В этом очень помогают сайты с поиском по базам уязвимостей, например , и готовые эксплоиты с PoC (их можно найти на GitHub и в даркнете).
К примеру, возьмем уязвимость , которой подвержены версии Drupal7.х и 8.х. Она позволяет загрузить и вызвать shell удаленно. Эксплоит для PoC можно взять .
Уязвимый Drupal
Сканер выдал мне лишь версию CMS, и этого хватило для эксплуатации уязвимости. В целом взлом Drupal и других CMS по своей сути ничем не отличается от поиска дыр в любом другом онлайновом сервисе. Бреши в безопасности либо есть, либо их еще не нашли.
PoC уязвимости CVE-2018-7600
Не надо далеко ходить за боевым , чтобы открыть сессию в Meterpreter и воспользоваться уязвимостью в полной мере.
Удар по самописным сайтам.
С тестированием самописных сайтов все намного сложнее. Нет конкретного сканера, который сказал бы: вот тут есть старая версия веб-приложения, в нем известная дыра, вот ссылка на эксплоит и подробное описание его применения. Есть только очень обширный список потенциальных уязвимостей, которые нужно проверить. Проводят такие пентесты по методике OWASP или собственным алгоритмам.
Тестирование на проникновение — дело сугубо творческое. В нем нет жестких рамок и перечня обязательных инструментов, особенно если они опенсорсные. Однако аудит безопасности — серьезная услуга, и некоторые организации стараются структурировать ее выполнение, чтобы в полете фантазии пентестер ничего не пропустил.
Одним из способов это сделать стало руководство . Это подробный сборник правил обнаружения уязвимостей веб-приложений. Ребята собрали и описали доступным языком методы тестирования уязвимостей десяти наиболее распространенных классов — .
Если нужно проверить возможность взлома самописного сайта, то лучше начинать с того же WhatWeb. Только теперь мы смотрим не CMS, а все обнаруженные сервисы и их версии.
Есть множество уязвимых версий самих фреймворков. К примеру, зачастую используют устаревшие версии или . Эксплоиты для них есть в открытом доступе.
Также стоит обратить внимание на версии самих языков программирования. К примеру, в PHP постоянно находят уязвимости, а с момента их обнаружения до апдейта на сайте может пройти не одна неделя.
Следующим шагом желательно воспользоваться сканерами безопасности. Даже если они не дадут готовый вердикт, то подкинут пищу для размышлений. Например, программа поможет пробежаться по открытым директориям и вернет коды ответов.
Для проверки на типовые уязвимости воспользуйся универсальными сканерами: , , , . Также советую иметь в запасе .
Nikto
Для всего остального есть . Обычно с его помощью выполняется более сложный поиск уязвимостей веб-приложений. В качестве примера рассмотрим поиск и эксплуатацию SQL-инъекций.
Ставим Burp Suite (в Kali Linux он уже предустановлен), находим в нем Repeater (повторитель запросов) и запускаем. В запросе GET или POST ищем передаваемое на сервер значение (типа id=12) и закидываем его в Repeater.
SQL-инъекция в Repeater
Добавляем одинарную кавычку, чтобы проверить отсутствие фильтрации специальных символов в передаваемом значении, и видим сообщение с ошибкой syntax error sql. Возникновение ошибки говорит о том, что сайт уязвим к SQL-инъекциям. Для автоматизации развития атаки используем .
sqlmap -u --dbs
Ключ -u указывает на URL цели, а --dbs говорит проверить все СУБД.
Sqlmap
Этот комбайн для SQL-инъекций сам определит, какой пейлоад подходит, и по твоим командам вытащит все нужные данные из баз на сайте. Он даже предложит сразу определить пароли по хешам, если найдет. Особенно этот софт полезен при эксплуатации так называемых .
Советы по защите.
Если ты владелец сайта на CMS, то оптимальной стратегией безопасности будет отказаться от сомнительных дополнений, свести к минимуму число плагинов и регулярно обновлять все программное обеспечение. Веб-дизайнерам и программистам хочется напомнить элементарные правила написания безопасного кода — хотя бы фильтруйте спецзнаки в запросах к базам данных и проверяйте позаимствованные в интернете скрипты.
Если твой сайт писали на заказ, то нужно проверить все использованные веб-компоненты, удалить опциональные и своевременно обновлять оставшиеся до актуальных версий. Поэтому заранее позаботься о поддержке сайта.
Универсальный вариант — периодически заказывать поиск уязвимостей у стороннего специалиста. Кстати, крупные компании часто платят вознаграждение за недочеты безопасности, выявленные в их онлайновых сервисах. Почему бы тебе не начать свою карьеру пентестера с bug bounty?
Что дальше.
Если тема поиска уязвимостей в веб-сервисах тебя заинтересовала, предлагаю самостоятельно попрактиковаться по руководству OWASP 10. А прежде чем пентестить какие-то реальные объекты, ты можешь отточить свои навыки на специальных полигонах и уязвимых виртуальных машинах, ссылки будут в посте в телеграме.
На январь 2020 года в интернете насчитывается , и многие из них уязвимы. Десять лет назад показало, что минимум 13% сайтов можно взломать автоматически. А в недавнем исследовании Positive Technologies об уязвимости 19% протестированных веб-приложений. Поистине огромный простор для действий злоумышленников!
Общие принципы взлома сайтов.
По структуре сайты делятся на три больших класса:
- самописные (сделанные вручную на HTML, произведенные статическим генератором типа или собранные в программе-конструкторе типа Adobe Dreamweaver);
- сделанные в онлайновых конструкторах (в основном это сайты-визитки без каких-либо баз данных и передаваемых полей);
- работающие на готовых CMS (Content Management System, системах управления контентом).
В основе большинства современных сайтов — готовые движки. Например, Xakep.ru не исключение: он работает на популярной системе WordPress (по крайней мере сейчас, в 2020 году).
С точки зрения атакующего, движки сайтов ничем не отличаются от других сервисов и служб. Их исходный код обычно находится в общем доступе, и любой исследователь может проанализировать его на ошибки, в том числе бреши в безопасности. Поэтому сайты на CMS редко становятся жертвами целевой атаки. Чаще их ломают массово.
Такой взлом автоматизирован и обычно протекает по следующей схеме: злоумышленник находит уязвимость (самостоятельно или просто гуглит что-то свежее). Затем он делает эксплоит или берет готовый и пишет специализированный бот. Этот бот ищет указанную дыру на всех сайтах подряд в заданном диапазоне и пытается эксплуатировать ее.
Казалось бы, для защиты от автоматических атак надо всего-то поддерживать программное обеспечение в актуальном состоянии, но в реальности CMS обрастает разными дополнениями, и уследить за всеми становится сложно.
При пентесте стоит несколько иная задача — проверить конкретный сайт на уязвимости. Об этом мы и поговорим.
Разведка.
Прежде чем пытаться атаковать цель, нужно собрать информацию о ней. Для этого хорошо подходит инструмент . Эта утилита предоставляет подробную информацию о CMS жертвы и использованных ей веб-инструментах.
Советую запускать WhatWeb с ключом -а, указывая после него значение 3 или 4. Разница между ними только в том, что во втором случае WhatWeb будет сканировать еще и субдиректории. Имей в виду, что оба варианта задают агрессивный метод опросов — со всеми вытекающими, а точнее «втекающими» на сервер логами.
Вот пример запуска и собранных ответов:

Здесь мы видим, что это сайт британской компании, сделанный на WordPress, используется PHP v. 7.1.33 и jQuery 1.9.0, 2.2.3. Неплохо для начала!
Если у тебя нет VPN или ты просто не хочешь заморачиваться с установкой, обрати внимание на .

WhatWeb online
Кстати, при работе с заграничными сайтами она дает большую скорость.
Если тебе достаточно определить только название CMS, то для этого есть , даже русскоязычные.
Вот свежая :
- WordPress — 58,12%;
- Joomla — 17,12%;
- OpenCart — 4,65%;
- Drupal — 3,75%;
- Wix — 3,74%;
- MODX Revolution — 2,81%;
- MODX Evolution — 2,76%;
- Nethouse — 2,23%;
- прочие — 4,78%.
WordPress.
Поскольку WordPress — это сейчас самая популярная CMS, то перейдем сразу к ней. Под нее выпущен очень мощный сканер, который умеет творить магию, — . На момент написания статьи актуальная версия была 3.7.8. Этот сканер умеет определять версию сканируемого объекта, брутить админку (у него даже есть свой встроенный словарь), смотреть уязвимые открытые директории, определять установленные плагины и много всего другого. К тому же он предустановлен в и в других дистрибутивах для пентестеров. Есть даже версия в .
На мой взгляд, управление и ключи WPScan могли бы и упростить. Даже хелпа у программы два — краткий (-h) и подробный (--hh).
Перед первым использованием WPScan необходимо обновить его базу данных.
wpscan --update
После этого начинаем сканирование. Сам по себе WPScan без ключей выдаст общую информацию о сайте, лишь поверхностно просканировав цель.
wpscan --url

WPScan
После строчки Interesting Finding(s): начинаются те самые моменты, на которые стоит обратить внимание:
- версия WP;
- открытые директории;
- подозрения на уязвимости;
- ссылки на ресурсы, где об этих уязвимостях можно почитать.

Конфигурация WordPress
Продолжаем копать и все тем же софтом пробуем сбрутить логин и пароль к админке:
wpscan --url http://[IP-address] --passwords pass.txt --usernames user.txt
Брутфорсится очень быстро благодаря многопоточности. Если админ использовал стандартные учетные записи и установил несложные пароли, то результат не заставит себя долго ждать.

Найденные учетные данные
Как видишь, учетные данные к админке и базе данных мы достали без особого труда. Для рядового взломщика это было бы больше чем предостаточно, но мы еще не все проверили. На очереди — плагины для WP и другие популярные точки входа.
Сканер показал нам, что на выбранном сайте нет ни одного установленного плагина, однако это может быть ложным выводом, основанным на ограничениях пассивного метода сканирования. Для более надежного обнаружения плагинов нужно задать агрессивный метод их поиска:
wpscan --url http://[IP-address] --enumerate ap --plugins-detection aggressive
Учти, что ключ ap покажет все найденные плагины, а vp — только уязвимые. Данная процедура занимает приличное время. Скорость будет зависеть от удаленности сайта, но даже в лучшем случае на это уйдет не меньше 30 минут.
Как видишь, агрессивный метод дал свои результаты: обнаружен антиспам-плагин Akismet версии 3.1.1.

Плагин Akismet v3.1.1
Точно такими же действиями необходимо искать другие уязвимые дополнения к WP. Подробнее смотри мануал в разделе --enumerate.
Также посмотри идентификаторы известных уязвимостей — . Например, для версии PHP, на которой работает CMS. Затем поищи готовые и проверь их в деле.
Joomla.
Joomla тоже довольно популярная CMS, для которой есть свой сканер — . Написали его ребята из Open Web Application Security Project (). Он еще актуален, хотя и давно не обновлялся. Последняя версия 0.0.7 вышла в сентябре 2018 года.
По своей сути это точно такой же сканер безопасности, как и WPScan, только немного попроще. JoomScan также предустановлен в большинстве дистрибутивов для специалистов по безопасности, а весь его мануал умещается в несколько строк.

Help JoomScan
Он тоже поддерживает агрессивный метод сканирования установленных компонентов. Команда запуска сканирования в агрессивном режиме выглядит так:
joomscan --url --enumerate-components
Вот пример анализа найденной на просторах интернета старой и очень дырявой версии сайта на Joomla.

JoomScan
Как видно по скриншоту, программа выдает версию CMS, CVE найденных уязвимостей и ссылки на эксплоиты, которыми можно воспользоваться для взлома сайта. Также в выводе приводятся все найденные на сайте директории и ссылка на файл конфигурации, если его забыли спрятать.
Брутфорсить админку JoomScan не умеет. Сегодня, чтобы выполнить такой брутфорс, нужен серьезный инструмент, который работает с цепочкой прокси-серверов. Хотя бы потому, что на сайтах с Joomla часто используется плагин . Когда количество неудачных попыток авторизации достигает заданного числа, он блокирует IP-адрес атакующего.
Если сайт с Joomla работает на HTTP (что уже редкость), попробуй воспользоваться Nmap.
Drupal и другие CMS.
С Drupal все немного сложнее, как и с другими непопулярными CMS. Годного сканера, который бы находил уязвимости на таких сайтах, просто нет. Из готовых инструментов мне удалось найти лишь , но он только помогает быстро собрать базовую информацию о жертве.
Устанавливается DroopeScan через pip (естественно, у тебя должен быть установлен Python).
pip install droopescan
Запускаем сканирование. Так как он поддерживает не только Drupal, ему желательно явно указать, какую CMS мы ожидаем встретить на сайте:
droopescan scan drupal -u

DroopeScan
Остальное приходится выискивать руками и гуглить в интернете. В этом очень помогают сайты с поиском по базам уязвимостей, например , и готовые эксплоиты с PoC (их можно найти на GitHub и в даркнете).
К примеру, возьмем уязвимость , которой подвержены версии Drupal7.х и 8.х. Она позволяет загрузить и вызвать shell удаленно. Эксплоит для PoC можно взять .

Уязвимый Drupal
Сканер выдал мне лишь версию CMS, и этого хватило для эксплуатации уязвимости. В целом взлом Drupal и других CMS по своей сути ничем не отличается от поиска дыр в любом другом онлайновом сервисе. Бреши в безопасности либо есть, либо их еще не нашли.

PoC уязвимости CVE-2018-7600
Не надо далеко ходить за боевым , чтобы открыть сессию в Meterpreter и воспользоваться уязвимостью в полной мере.
Удар по самописным сайтам.
С тестированием самописных сайтов все намного сложнее. Нет конкретного сканера, который сказал бы: вот тут есть старая версия веб-приложения, в нем известная дыра, вот ссылка на эксплоит и подробное описание его применения. Есть только очень обширный список потенциальных уязвимостей, которые нужно проверить. Проводят такие пентесты по методике OWASP или собственным алгоритмам.
Тестирование на проникновение — дело сугубо творческое. В нем нет жестких рамок и перечня обязательных инструментов, особенно если они опенсорсные. Однако аудит безопасности — серьезная услуга, и некоторые организации стараются структурировать ее выполнение, чтобы в полете фантазии пентестер ничего не пропустил.
Одним из способов это сделать стало руководство . Это подробный сборник правил обнаружения уязвимостей веб-приложений. Ребята собрали и описали доступным языком методы тестирования уязвимостей десяти наиболее распространенных классов — .
Если нужно проверить возможность взлома самописного сайта, то лучше начинать с того же WhatWeb. Только теперь мы смотрим не CMS, а все обнаруженные сервисы и их версии.
Есть множество уязвимых версий самих фреймворков. К примеру, зачастую используют устаревшие версии или . Эксплоиты для них есть в открытом доступе.
Также стоит обратить внимание на версии самих языков программирования. К примеру, в PHP постоянно находят уязвимости, а с момента их обнаружения до апдейта на сайте может пройти не одна неделя.
Следующим шагом желательно воспользоваться сканерами безопасности. Даже если они не дадут готовый вердикт, то подкинут пищу для размышлений. Например, программа поможет пробежаться по открытым директориям и вернет коды ответов.
Для проверки на типовые уязвимости воспользуйся универсальными сканерами: , , , . Также советую иметь в запасе .

Nikto
Для всего остального есть . Обычно с его помощью выполняется более сложный поиск уязвимостей веб-приложений. В качестве примера рассмотрим поиск и эксплуатацию SQL-инъекций.
Ставим Burp Suite (в Kali Linux он уже предустановлен), находим в нем Repeater (повторитель запросов) и запускаем. В запросе GET или POST ищем передаваемое на сервер значение (типа id=12) и закидываем его в Repeater.

SQL-инъекция в Repeater
Добавляем одинарную кавычку, чтобы проверить отсутствие фильтрации специальных символов в передаваемом значении, и видим сообщение с ошибкой syntax error sql. Возникновение ошибки говорит о том, что сайт уязвим к SQL-инъекциям. Для автоматизации развития атаки используем .
sqlmap -u --dbs
Ключ -u указывает на URL цели, а --dbs говорит проверить все СУБД.

Sqlmap
Этот комбайн для SQL-инъекций сам определит, какой пейлоад подходит, и по твоим командам вытащит все нужные данные из баз на сайте. Он даже предложит сразу определить пароли по хешам, если найдет. Особенно этот софт полезен при эксплуатации так называемых .
Советы по защите.
Если ты владелец сайта на CMS, то оптимальной стратегией безопасности будет отказаться от сомнительных дополнений, свести к минимуму число плагинов и регулярно обновлять все программное обеспечение. Веб-дизайнерам и программистам хочется напомнить элементарные правила написания безопасного кода — хотя бы фильтруйте спецзнаки в запросах к базам данных и проверяйте позаимствованные в интернете скрипты.
Если твой сайт писали на заказ, то нужно проверить все использованные веб-компоненты, удалить опциональные и своевременно обновлять оставшиеся до актуальных версий. Поэтому заранее позаботься о поддержке сайта.
Универсальный вариант — периодически заказывать поиск уязвимостей у стороннего специалиста. Кстати, крупные компании часто платят вознаграждение за недочеты безопасности, выявленные в их онлайновых сервисах. Почему бы тебе не начать свою карьеру пентестера с bug bounty?
Что дальше.
Если тема поиска уязвимостей в веб-сервисах тебя заинтересовала, предлагаю самостоятельно попрактиковаться по руководству OWASP 10. А прежде чем пентестить какие-то реальные объекты, ты можешь отточить свои навыки на специальных полигонах и уязвимых виртуальных машинах, ссылки будут в посте в телеграме.