1 of 62

Командный пентест:

как правильно организовать процесс и не выстрелить себе в ногу

2 of 62

#whoami

Шапошников Илья

  • RedTeam, ПАО Ростелеком
  • МГТУ им. Баумана
  • Капитан команд SFT0 & Invuls
  • IoT Security исследователь

3 of 62

Основные типы работ сетевого тестирования

4 of 62

Основные типы работ сетевого тестирования

Личные проекты

5 of 62

Основные типы работ сетевого тестирования

Личные проекты

Парные проекты

6 of 62

Основные типы работ сетевого тестирования

Личные проекты

Парные проекты

Командные проекты

7 of 62

Топ-6 самых популярных проблем на проекте

8 of 62

Топ-6 самых популярных проблем на проекте

scope.txt

9 of 62

Топ-6 самых популярных проблем на проекте

scope.txt

Информация о проекте

10 of 62

Топ-6 самых популярных проблем на проекте

scope.txt

Отчеты

Информация о проекте

11 of 62

Топ-6 самых популярных проблем на проекте

scope.txt

Отчеты

Информация о проекте

Командная работа

12 of 62

Топ-6 самых популярных проблем на проекте

scope.txt

Отчеты

Хранилище проектов

Информация о проекте

Командная работа

13 of 62

Топ-6 самых популярных проблем на проекте

scope.txt

Отчеты

Хранилище проектов

Информация о проекте

Командная работа

Быстрый обмен информацией

14 of 62

client.ovpn

id_rsa

hosts.xls

scope.txt

Проблема №1: информация о новом проекте

  • Информация о сети
    • Подсети
    • Домены
    • Конечные цели�
  • Инструкция по подключению�
  • Сроки проекта�
  • Ответственные за проект

15 of 62

Проблема №2: информация о статусе проекта

16 of 62

Проблема №2: информация о статусе проекта

  • Сети
    • Домены
    • Открытые порты
    • Запущенные сервисы�

17 of 62

Проблема №2: информация о статусе проекта

  • Сети
    • Домены
    • Открытые порты
    • Запущенные сервисы�
  • Проблемы безопасности
    • Уязвимости
    • Обнаруженные учетные данные�

18 of 62

Проблема №2: информация о статусе проекта

  • Сети
    • Домены
    • Открытые порты
    • Запущенные сервисы�
  • Проблемы безопасности
    • Уязвимости
    • Обнаруженные учетные данные�
  • Интеграция с утилитами

19 of 62

(ето ты на совместном проекте)

Проблема №3: командная работа

  • “Ой, а Я уже сканировал данный ip-адрес!”
  • “Кто-нибудь пробовал перебирать директории на …?”
  • “Можешь найти учетные данные в jira/whatsapp/… , а лучше скачай с этой флешки;)”
  • “Там оказывается есть heartbleed на хосте xxx... �ВЫ ЗНАЛИ?!”

20 of 62

Когда нессус нашел 200 уязвимостей, а тебе осталось до дедлайна 199 секунд.

Проблема №4: генерация отчета

  • ~100 уязвимостей�~100 страниц отчета�~100 x N потраченного времени
  • Идентичные шаблоны, но все равно делают вручную
  • Никто не любит делать отчеты:)
  • Много шаблонов отчетов, к которым надо приспосабливаться

21 of 62

Общение с коллегой looks like...

Проблема №5: быстрый обмен информацией

  • “Только ради одной обнаруженной уязвимости я должен делать полноценный отчет?!”
  • > “Можешь ли ты отправить мне уязвимость … из того проекта? Кажется, у меня аналогичный случай”�< “Без проблем! Только я не должен предоставлять тебе доступ ко всему проекту, подожди пол часа плз”

22 of 62

Играем в игру: угадай какой проект был у твоего соседа!

Проблема №6: хранение всех проектов

  • “Нам нужен NFS сервер для всех проектов!!”
  • “Подскажите, где найти отчет по второму пентесту компании XXX?”
  • “Давайте в начале проверим, исправили ли они уязвимости. Мммм… А где они?... И КТО ВООБЩЕ ПРОВОДИЛ РАБОТЫ?!”

23 of 62

Ранее существовавшие решения

24 of 62

Ранее существовавшие решения

Платные продукты

25 of 62

Ранее существовавшие решения

Платные продукты

Облачные решения

26 of 62

Ранее существовавшие решения

Платные продукты

Устаревшие продукты

Облачные решения

Lair Framework

27 of 62

Ранее существовавшие решения

Платные продукты

Устаревшие продукты

Облачные решения

Lair Framework

28 of 62

29 of 62

(ничего не видно)

Pentest Collaboration Framework

  • Opensource -> Бесплатный
  • Кросс-платформенный �Python v3.9
  • Портативный�Flask + SQLite3
  • Простая установка
  • Поддержка облаков
  • . . . и много других фич!

30 of 62

Недостатки

  • Медленный�
  • Нет “реактивного” интерфейса�
  • Некоторые запросы могут долго обрабатываться�
  • Нет поддержки websocket’ов

31 of 62

32 of 62

Шаг 0: Установка фреймворка

33 of 62

Шаг 0: Установка фреймворка

Standalone

34 of 62

Шаг 0: Установка фреймворка

Standalone

Docker container

35 of 62

Шаг 0: Установка фреймворка

Standalone

Docker container

Облака

36 of 62

37 of 62

Бекап базы данных по расписанию

38 of 62

Бекап базы данных по расписанию

Скорость работы сайта

39 of 62

Бекап базы данных по расписанию

Скорость работы сайта

Дополнительная авторизация

40 of 62

Бекап базы данных по расписанию

Скорость работы сайта

Дополнительная авторизация

HTTPS

41 of 62

Шаг 1: Изучение пользовательского пространства

42 of 62

Шаг 1: Изучение пользовательского пространства

43 of 62

Шаг 1: Изучение пользовательского пространства

Config

Логи

API token

Шаблоны

Визитка

44 of 62

Шаг 1: Изучение пользовательского пространства

Config

Логи

API token

Шаблоны

Визитка

Команды

Админы

45 of 62

Шаг 1: Изучение пользовательского пространства

Config

Логи

API token

Шаблоны

Визитка

Команды

Админы

Проекты

46 of 62

Шаг 2: Модерация проектов

47 of 62

Шаг 2: Модерация проектов

48 of 62

Шаг 3: информация о проекте

Информация о сети

  • IP
    • Порты
    • Домены
    • Комментарии
    • Статус проверки
    • Операционная система�
  • Информация о подсетях�
  • Экспортирование хостов и портов

49 of 62

Шаг 3: информация о проекте

Уязвимости проекта

  • Связаны с...
    • ip
    • ip : port
    • domain
    • domain : port�
  • Ссылка для быстрого доступа�
  • Proof-of-Concept
    • Изображение
    • Текст

50 of 62

Шаг 3: информация о проекте

Хранение заметок и файлов

  • Заметки могут быть связаны с хостами�
  • Возможность сохранять вывод сторонних утилит�
  • Собственные заметки�
  • Файлы проекта (например, исходники или ключи)

51 of 62

Шаг 3: информация о проекте

Обнаруженные учетные данные

  • Список учетных данных�
  • Добавление нескольких учетных данных из plaintext-файла�
  • Быстрая проверка хешей на топ-10к популярных паролей�
  • Возможность экспортирования

52 of 62

Шаг 3: информация о проекте

53 of 62

Шаг 4: Экспорт данных

Генерация отчета

  • Экспорт в JSON�
  • Отчет (Jinja Template Engine):�
    • txt / html / tex / …
    • zip ( + txt / … )
    • docx

54 of 62

Шаг 5: API

55 of 62

56 of 62

57 of 62

58 of 62

59 of 62

  • Улучшение API�
  • Поддержка большего количества утилит�
  • Ускорение базы данных�
  • Больше типов проектов�
  • Net-NTLM сниффер
  • Улучшение графа хостов�
  • Поддержка облака Google�
  • Websockets

Это не баг, а фича!

60 of 62

Вопросы?

61 of 62

62 of 62

Спасибо за внимание:)

Репозиторий 🚀: gitlab.com/invuls/pentest-projects/pcf�Чат 💬: t.me/PentestCollaborationFramework�Демо: testing-pcf.herokuapp.com�Контакты: @drakylar