ВОПРОС · Q&A

Как структурировать процесс пентеста? Ищу советы от практиков

3 ответов 424
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор вопроса
Всем привет! Я занимаюсь пентестом уже какое-то время: закончил курсы кодеби, прошел не мало "челленджей" на root-me, проводил пентесты реальных сайтов знакомых(с их разрешения). Имею базу по сетям, линукс, ОВАСП топ 10. Проблема в том, что у меня нет четкой структуры пентеста, я обычно начинаю со сканирования, и могу на очень большое время застрять на этом этапе, потому что я могу долго искать открытые порты, искать сервера, эксплоиты к ним. Потом я сильно застреваю на процессе аутентификации, глубоко разбираюсь в устройстве авторизации, опять трачу много времени, и так далее. А потом проверяю разные инъекции например, xss, или sql(с помощью sqlmap) ищу другие потенциальные места для атаки. Честно, мне кажется, что я делаю это неэффективно, и будь у меня четкий workflow, то я бы смог сэкономить кучу времени и сделать пентест более эффективным. Поэтому хотел спросить у практиков:

1) Как вы организовываете процесс?
2) какие инструменты вы используете на каждом этапе? или какие скрипты
3) Ведете ли вы заметки во время пентеста для себя в условный Obsidian?
4) Какие именно уязвимости вы проверяете во время пентеста(не стандартные idor, старые сервера с эксплоитами)? есть ли такие уязвимости, которые бывают у большого количества сайтов, но о них часто забывают?

Буду благодарен за любой ответ!
 
  • Нравится
Реакции: Сергей Попов
1
Привет. Имхо, если не хочется застревать надолго в каких-то местах, то придется ставить себе рамки.
Например, ты взял в работу сайт на площадке ББ. Представь, что этот сайт на тест тебе отдал Заказчик и ждет от тебя отчет через месяц, в противном случае получишь неустойку.
Теперь отталкивайся от имеющегося у тебя времени. За это время тебе надо выполнить все этапы по методологии и написать отчет (в котором будут описаны все найденные уязвимости, посчитаны их cvss, описаны шаги их воспроизведения и даны рекомендации по их устранению).
Ковырять приложение, не имея временных рамок, можно бесконечно долго и это может быть малопродуктивным.
Не забывай отдыхать.
Насчет инструментов и скриптов не отвечу, так как все они известны, никаких секретных инструментов нет.
Насчет заметок - однозначно надо вести по каждому проекту, можно прям буквально записывать по ходу дела, что уже выполнено, какие язвы или недостатки найдены и накидывать план дальнейших действий в зависимости от контекста.
Насчет того, какие уязвимости проверяете - любые. Следуй методологии и всё, каких-то особенных уязвимостей нет.
 
  • Нравится
Реакции: UmarTilekov
1
Привет. Имхо, если не хочется застревать надолго в каких-то местах, то придется ставить себе рамки.
Например, ты взял в работу сайт на площадке ББ. Представь, что этот сайт на тест тебе отдал Заказчик и ждет от тебя отчет через месяц, в противном случае получишь неустойку.
Теперь отталкивайся от имеющегося у тебя времени. За это время тебе надо выполнить все этапы по методологии и написать отчет (в котором будут описаны все найденные уязвимости, посчитаны их cvss, описаны шаги их воспроизведения и даны рекомендации по их устранению).
Ковырять приложение, не имея временных рамок, можно бесконечно долго и это может быть малопродуктивным.
Не забывай отдыхать.
Насчет инструментов и скриптов не отвечу, так как все они известны, никаких секретных инструментов нет.
Насчет заметок - однозначно надо вести по каждому проекту, можно прям буквально записывать по ходу дела, что уже выполнено, какие язвы или недостатки найдены и накидывать план дальнейших действий в зависимости от контекста.
Насчет того, какие уязвимости проверяете - любые. Следуй методологии и всё, каких-то особенных уязвимостей нет.
Спасибо за ответ!
Да, наверное, мне надо ставить временные рамки, а то я могу часами на пролет пытаться найти уязвимость в серверах сайта/авторизации. Но хочу задать встречный вопрос - сколько времени Вы тратите в среднем чтобы найти какую-то уязвимость в ББ? Часто ли вы находите? Просто лично я за несколько ББ программ нашел всего-лишь одну уязвимость уровня low, и то это скорее вектор атаки DoS/DDoS, и то ее исправили без моего репорта. Если находили, то какие именно?
По поводу инструментов и скриптов. Например, я сам писал скрипт-сканер, который прогоняет сайт через: whatweb, httpx, katana, nmap, nikto, subfinder, gau, nuclei, dirsearch. Хоть я и понимаю, что нужно самому запускать некоторые сайты, за 15 минут это мне дает неплохое понимание структуры сайта. Вот я и спрашивал про подобные скрипты - есть ли у Вас подобные наработки, например, скрипт-автоматизация xss(наподобие sqlmap) и тому подобные?
Насчет инструментов. Относительно недавно я узнал про обход прокси сервера(origin IP discovery) с помощью shodan/censys(osint разведке) есть ли еще подобные инструменты/способы, которые могут помочь при пентесте, не считая самых известных(nmap, nuclei, sqlmap, burpsuite)?
Еще насчет заметок. Я имел ввиду заметки каждого своего действия, например, вот моя заметка при одном из первых моих пентестов сайта(как оказалось, это был макет)

18:40 - был запущен скрипт, после чего пошел ознакамливаться с сайтом
19:00 - первое ознакомление с сайтом, проверка пары xss инъекций, перерыв
19: 05 - продолжаю работу
19:07 - анализ скрипта сканирования
19:42 - оформление отчета
19:42-19:50 - доказательство уязвимости clickjaking. Уязвимость доказана
19:50 - перерыв
20:15 - продолжение
20:20 - анализ вывода katana, начало активного тестирования сайта
20:25 - анализ /profile, попытка idor
20:30 - idor невозможен, всего 1 пользователь
Вывод - проект сырой, макет

Да, если что я понял, что сайт - макет потому, что я заходил с другой сессии и там был точно такой же пользователь, и никакие данные не сохранялись даже банально при перезагрузке страницы. Так вот, стоит ли вести подобные отчеты вместе с официальным отчетом об уязвимостях или нет?
 
сколько времени Вы тратите в среднем чтобы найти какую-то уязвимость в ББ?
На ББ не ориентируюсь, на рабочих проектах бывает по-разному, можно и за пару часов наковырять уязвимость высокой степени критичности.

Часто ли вы находите?
Почти всегда что-то есть в отчет (но для ББ такое не всегда прокатит)

Просто лично я за несколько ББ программ нашел всего-лишь одну уязвимость уровня low, и то это скорее вектор атаки DoS/DDoS, и то ее исправили без моего репорта.
Это нормально

я сам писал скрипт-сканер, который прогоняет сайт через: whatweb, httpx, katana, nmap, nikto, subfinder, gau, nuclei, dirsearch
не знаю, кому как, но я предпочитаю каждый из таких инструментов использовать по отдельности. Если нужен комбайн, то их и так полно, но мне лично не нравятся.

есть ли у Вас подобные наработки, например, скрипт-автоматизация xss(наподобие sqlmap) и тому подобные?
нет, для этого тоже есть инструменты, как минимум в burp intruder (или turbo intruder - вот что действительно рекомендую освоить) можно использовать соответствующий словарь (например из seclists), хоть для xss, хоть для sqli, ssti и тд. Если точек входа немного, можно и руками поработать.


Относительно недавно я узнал про обход прокси сервера(origin IP discovery) с помощью shodan/censys(osint разведке) есть ли еще подобные инструменты
и этих пока достаточно, не упарывайся в количество инструментов

стоит ли вести подобные отчеты вместе с официальным отчетом об уязвимостях или нет?
прям такой подробный отчет считаю избыточным ) Зачем туда писать "перерыв", "продолжаю работу" и тд. Если так удобней, то ок, но кмк - это писанина ради писанины.

Если нашел что-то, что тебя заинтересовало, что может быть потенциально интересно, то записал, чтоб не забыть потом. Можно и заскринить сразу.
Мне думается, что записывать надо то, что потом тебе пригодится, а не все подряд. Но возможно по началу так удобнее, дальше сам поймешь, как лучше. Я тоже так раньше делал.
 

Ещё по теме