Какие есть области знаний в веб-пентесте
В этой статье расскажем, какие в целом есть области знаний в веб-пентесте: дисциплины, навыки, инструменты. Это статья нужна для общего понимания, что необходимо изучать для горизонтального развития.
Технологии браузеров
Веб-пентест — это взлом веб-приложений. Поэтому необходимо понимать основные технологии, которые используют в индустрии, как и понимать особенности их работы: HTML, JavaScript, HTTP, веб-сокеты, CSS, SOP, CORS, хранилища.
Разработки серверной части
В идеале — понимать не только основы, но и детали, которые применяют в работе. Знание частностей языков и технологий помогут проще обнаруживать уязвимости.
Стоит начать с PHP, фреймворков, систем управления контентом. Дальше можно что пожестче: Java, Python, Node.JS, C#, Golang. Повторимся, главное — знать особенности языков и типовые ошибки, которые могут допустить разработчики.
Код
Выделили эту область в отдельную категорию. Начинающему пентестеру совсем необязательно уметь писать код. Но всё-таки неплохо, если вы сможете писать на одном скриптовом языке: Python, PHP или JavaScript. Вышка — если умеете на нескольких.
Бизнес логика
Понимание бизнес-логики и логики работы системы поможет проводить анализ на выявление ошибок. Многие уязвимости связаны именно с ней.
Сетевые службы
Понимание Proxy, VPN, AD. Для начала не стоит уделять этому сильно внимания, но рано или поздно придется подтянуть знания. Без этого никак.
Софт
Навыки работы с софтом для аудита и эксплуатации уязвимостей: SQLMap, Nmap, Metasploit, Burp Suite. Это база, инструментов намного больше.
Linux
Очевидность, но не для всех. Мы сейчас говорим не просто о возможностях командной строки, а про управление сервисами и пользователями, правами, сетью, менеджерами пакетов. Это прям стартерпак.
Windows Server
Здесь помогут знания о механизмах управления сетью устройств и сетевым оборудованием. От Active Directory до сетевых протоколов DNS, DHCP и ARP. Тут стоит понимать не только устройство, но и возможности настроек.
CISCO
Тут уже знания для более прокаченных. Знать архитектуру корпоративных сетей CISCO, понимать настройки, маршрутизацию, VLAN и Trunk порты. А ещё уметь мониторить трафик и управлять корпоративной сетью.
OSINT
Разведка по открытым источникам помогает при решении задач: найти сотрудника компании, идентифицировать личность для дальнейших действий. OSINT — довольно широкая область знаний. Пентестеру прежде всего нужно разбираться в инструментах.
В данном случае мы не ищем что-то по тестируемой организации, а просто показываем его функционал. Из этого запроса в Shodan мы узнали, что в Краснодаре есть устройства с открытым 22 портом (еще бы не было), всего их 2 661. Большинство устройств в ведении «Ростелекома», «Мегафона», «Вымпелкома» и «Кубань-Телекома».
Выше пример использования Sherlock для поиска данных по пользователю hackerman1337. Пользователь много где зарегистрирован, особенно на сайтах IT-тематики. Тут мы можем предположить, что этот человек может быть разработчиком, так как у него есть GitHub, GitLab и Docker Hub.
Социальная инженерия
Двоякая область знаний. С одной стороны ей нигде особо не учат, с другой — есть база психологии. Пентестеру это необходимо для установки контакта с жертвой. Если вы знаете информацию о человеке, понимаете его слабости — намного проще приблизить пентест к реальному сценарию контакта жертвы со злоумышленником.
Социальная инженерия всегда на грани добра и зла, потому что приходится делать плохое (обманывать и вводить в заблуждение) ради хорошего (успешного пентеста и безопасности организации). Поэтому первое: социальную инженерию при пентесте не стоит применять без разрешения заказчика.
К техникам социальной инженерии относятся:
Фишинг → отправка жертве вредоносного электронного письма
Вишинг → подделка голоса на знакомый жертве и выманивание данных посредством звонка
Смишинг → Отправка жертве вредоносных СМС
Также сюда можно было бы отнести некоторые техники связанные с мобильными устройствами, но об этом в другой раз.
Выбор широкий: от целевого фишинга до подставных Wi-Fi точек доступа и генерации QR-кодов. Очень полезен в кейсах, где вам нужно проверять периметр организации. Например, развесить везде QR, который ведёт на вредоносную ссылку. Это может помочь попасть в периметр организации, например, под учетной записью сотрудника, который перешел по вашему QR-коду.
Криптография
Следование за OWASP
Основы безопасной разработки и DevSecOps
Видя противоречия между системой безопасной разработки и реальным кодом, вы сможете проще находить уязвимости. Тут и обработка пользовательского ввода, и управление сессией с зависимостями, и тестирование безопасности кода (CI/CD). Важно понимать принципы и роли в безопасной разработке.
Контейнеризация
Last updated