1 of 69

Pentest

Collaboration

Framework

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

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

2 of 69

#WHOAMI

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

  • ПАО Ростелеком, RedTeam�
  • Студент в МГТУ им. Баумана�
  • Капитан CTF-команды SFT0�
  • Капитан команды Invuls�
  • В свободное время исследую безопасность IoT

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

3 of 69

Invuls

Разработали:

  • IoTSecFuzz (ZeroNights 2018 &�BH 2019)
  • Pentest Collaboration Framework

Призеры соревнований:

  • IoT CTF 2020 - I место
  • IoT CTF 2021 - I место
  • StandOff 2021 - II место
  • … и т.д.

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

4 of 69

Где вы могли услышать про PCF

Обновленный⭐ план выступления

  • BlackHat Asia 2021 - Arsenal�
  • H@cktivityCON 2021 - RedTeam village
  • Основные проблемы при проведении работ на тестирование на проникновение�
  • Использование PCF + новые фичи�
  • Примеры: hackthebox, работа, багбаунти, сертификации, методологии

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

5 of 69

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

Основные проблемы при пентесте

6 of 69

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

scope.txt

Основные проблемы при пентесте

7 of 69

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

scope.txt

Инфо о сети

Основные проблемы при пентесте

8 of 69

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

scope.txt

Отчеты

Инфо о сети

Основные проблемы при пентесте

9 of 69

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

scope.txt

Отчеты

Работа в команде

Инфо о сети

Основные проблемы при пентесте

10 of 69

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

scope.txt

Отчеты

Работа в команде

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

Инфо о сети

Основные проблемы при пентесте

11 of 69

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

scope.txt

Отчеты

Работа в команде

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

Инфо о сети

Обмен информацией

Основные проблемы при пентесте

12 of 69

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

13 of 69

Pentest Collaboration Framework

  • Opensource -> Бесплатный�
  • Cross-Platform: 🐍Python v3.9�
  • Портативный: Flask + SQLite3�
  • Простая установка
  • Поддержка облаков
  • … и еще больше фич!

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

14 of 69

Pentest Collaboration Framework

Недостатки:�

  • Медленный�
    • Python + Flask�
    • SQLite3 (портативность)�
  • Отсутствует React-интерфейс�
  • Некоторые запросы долго обрабатываются�
  • Нет поддержки вебсокетов

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

15 of 69

Как установить PCF?

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

16 of 69

Варианты установки PCF

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

Docker

Standalone

Cloud

17 of 69

Команды для установки

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

~# sudo apt install python3 git

~# git clone gitlab.com/invuls/pentest-projects/pcf��~# cd pcf

~# pip3 install -r requirements.txt��~# python3 new_initiation.py��~# python3 app.py

18 of 69

Как использовать PCF?

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

19 of 69

Первые шаги в PCF

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

20 of 69

Первые шаги в PCF

New account

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

21 of 69

Первые шаги в PCF

New account

New team

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

22 of 69

Первые шаги в PCF

New account

New team

New project

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

23 of 69

Первые шаги в PCF

New account

Project info

New team

New project

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

24 of 69

Первые шаги в PCF

New account

Project info

New team

New project

Scan import

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

25 of 69

Первые шаги в PCF

New account

Project info

New team

New project

Scan import

Manual testing

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

26 of 69

Первые шаги в PCF

New account

Project info

New team

New project

Scan import

Manual testing

Report generation

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

27 of 69

Первые шаги в PCF

New account

Project info

New team

New project

Scan import

Manual testing

Report generation

Archive project

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

28 of 69

Структура рабочего пространства

Config

Логи

API token

Шаблоны

Визитка

Команды

Админы

Проекты

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

29 of 69

Есть ли альтернативы PCF?

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

30 of 69

Существующие решения

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

Устаревшие

Платные

Онлайн

Lair Framework

31 of 69

PCF <--> альтернативы

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

32 of 69

Примеры использования PCF

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

33 of 69

Пример #1:

Работа

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

34 of 69

Пример №1: Работа

  • Количество человек - 4-10�
  • Количество команд - 1-4�
  • Размер проекта - по 1-2 человека на 1 проект�
  • Результат проекта - отчет�
  • Время проекта - 2-4 недели�
  • Участники общения:�
    • Руководители
    • Тестировщики
    • Менеджер проекта
    • Заказчик

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

35 of 69

Страница команды

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

36 of 69

Страница с проектами команды

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

37 of 69

Сервера в проекте

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

38 of 69

Сервера в проекте

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

39 of 69

Шаблоны уязвимостей

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

40 of 69

Режим “Стажера” - токены

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

41 of 69

Пример №1: Работа

  • Работа в команде�
  • Общий стандарт
    • Отчетов
    • Описания уязвимостей�
  • Хранение проектов и отчетов
  • Режим “Стажера”: использовать ключи, не зная их

👍Преимущества

👎Недостатки

  • Разделение прав внутри команды�
  • Создавать проекты надо только администраторам�
  • Обучение использования утилиты для всей команды

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

42 of 69

Пример #2:

Лаборатории

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

43 of 69

Пример №2: Labs

  • Количество человек - 1-8�
  • Количество команд - 1�
  • Результат проекта - решенное задание�
  • Время проекта - 1-7 дней�
  • Количество проектов - ???

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

44 of 69

Заметки с решениями

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

45 of 69

Сетевой граф

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

46 of 69

Интеграция с утилитами

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

47 of 69

Пример №2: Лаборатории

  • Работа в команде�
  • Общее хранение всех решений�
  • Отмечать решенные задания�
  • Обсуждение решений

👎Недостатки

  • Обучение команды (чаще всего на ошибках)�
  • Тратить время на заполнение�

👍Преимущества

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

48 of 69

Пример #3:

Соревнования

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

49 of 69

Пример №3: Соревнования

  • Количество человек - 1-15�
  • Количество команд - 1�
  • Результат проекта - решенное задание�
  • Время проекта - 1-7 дней�
  • Количество проектов - 1

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

50 of 69

Интеграция с утилитами

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

51 of 69

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

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

52 of 69

Снифферы

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

53 of 69

Пример №3: Соревнования

  • Работа в команде�
  • Дополнять решения другого участника команды�
  • Отмечать решенные задания�
  • Составлять карту сети�
  • Сравнивать с предыдущими соревнованиями

👎Недостатки

  • Обучение команды (чаще всего на ошибках)�
  • Тратить время на заполнение�
  • Трудно работать с большим количеством обнаруженных учетных записей�

👍Преимущества

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

54 of 69

Пример #4:

Багбаунти

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

55 of 69

Пример №4: Багбаунти

  • Количество человек - 1�
  • Количество команд - 0�
  • Результат проекта - обнаруженные уязвимости�
  • Время проекта - ∞�
  • Количество проектов - ∞

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

56 of 69

Отмеченный список хостов

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

57 of 69

Список сервисов

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

58 of 69

Экспорт хостов

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

59 of 69

Пример №4: Багбаунти

  • Возможность просматривать весь Scope интерактивно�
  • Отмечать отправленные уязвимости�
  • Видеть прогресс и вести статистику�
  • Возможность вернуться к проекту через время

👎Недостатки

  • На больших Scope - PCF может работать медленнее�
  • Требуется время, чтобы привыкнуть

👍Преимущества

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

60 of 69

Пример #5:

Методологии

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

61 of 69

Пример №5: Методология

  • Количество человек - 1-5�
  • Количество команд - 1�
  • Результат проекта - методология тестирования�
  • Время проекта - ∞�
  • Количество проектов - 1-5

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

62 of 69

Заметки для методологии

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

63 of 69

Хранение полезных скриптов

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

64 of 69

Пример №5: Методология

  • Разделение методологий по проектам (AD/Cloud/Linux/…)�
  • Интерактивность (посмотреть, какие хосты эксплуатировались и какие проверки проводились)�
  • Доступна в любой ОС�
  • Возможность прикреплять файлы к методологиям

👎Недостатки

  • Требуется время, чтобы привыкнуть�
  • Может не хватать некоторых функций�
  • Не желательно хранить файлы больших размеров�

👍Преимущества

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

65 of 69

Пример #6:

Сертификации

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

66 of 69

Пример №6: Сертификация

  • Количество человек - 1�
  • Количество команд - 0�
  • Результат проекта - отчет/флаги�
  • Время проекта - �24 - 48 часов�
  • Количество проектов - 1

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

67 of 69

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

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

68 of 69

Пример №6: Сертификация

  • Легче решать задания, видя всю картину целиком�
  • Генерация отчета по шаблону�
  • Хранить файлы каждого сервера в одном месте

👎Недостатки

  • Требуется тратить время на заполнение�
  • Затраченное время �<-> профит

👍Преимущества

Gitlab: bit.ly/3mPnyaZ��Demo: bit.ly/3wZGRmv

69 of 69

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

📝Контакты: @drakylar (vk/telegram/linkedin)��🚩Git: gitlab.com/invuls/pentest-projects/pcf

🌐Wiki: ищите в gitlab-репозитории

💬Чат: t.me/PentestCollaborationFramework�

🕹Демо: testing-pcf.herokuapp.com��⭐️Запрос на фичу: создать Issue на gitlab