Разработать приложение для проведения небольшого пентеста
Прошу вашей помощи в выполнении практической части курсовой работы по предмету ЯП. Можно выполнить часть программы, сколько сможете.
Требуется разработать приложение Windows Forms для проведения небольшого пентеста, состоящий из:
- Приложение, написанное на C# (с несколькими кнопками управления, например, расписанием, и кнопкой генерации сценариев).
- 20 скриптовых команд, написанных на Shell Script.
- 2 сценария, написанных на Shell Script.
Приложение:
1. Пользователь выбирает из списка (может в разной очередности) сценарий или скриптовые
команды для формирования сценария.
2. Пользователь указывает время начала работы (по расписанию).
3. Если пользователь выбирает сценарий:
- См. п. 5.
- Пользователь выбирает из списка параметры (флаги, ключи) атакующих программ.
- Приложение генерирует сценарий из скриптовых команд и параметов.
6. Приложение отправляет команды на Power Shell для атакующей программы.
7. Приложение ожидает обратной связи с результатом работы от атакующей программы.
Скриптовая команда:
- Содержит программный код на Shell Script по матрице Mitre ATT&CK (см. вложение).
- Каждая скриптовая команда записана в отдельном TXT-файле (для простоты считывания).
- Все скриптовые команды хранятся в папке "Command"/"Команды".
Сценарий:
- Содержит список скриптовых команд и параметров работы атакующих программ (Nmap, Metasploit, Hydra, BurpSuite).
- Каждый сценарий записан в отдельном TXT-файле (для простоты считывания).
- Все сценарии хранятся в папке "Script"/"Сценарии".
Атакующие программы:
- Заранее установлены пользователем на Windows (Linux не рассматривается).
- В их исходных кодах ничего менять не нужно.
Примерные этапы атаки:
- Приложение считывает скриптовую команду из TXT-файла (сценария или скрипта) и передает ее на PowerShell, для выполнения атакующей программой.
- Атакующая программа (Metasploit или Nmap), сканирует сеть для получения списка IP-адресов и портов, и возвращает результат.
- Приложение получает список найденных IP-адресов и портов, считывает из TXT-файла следующую скриптовую команду, и передает ее на сканирование уязвимостей определенных узлов.
- Атакующая программа (Metasploit или Mimikatz) сканирует узлы на уязвимости и возвращает результат.
- Приложение получает список найденных уязвимостей (не обязательно всех) от атакующей программы, считывает из TXT-файла следующую скриптовую команду, и передает ее на эксплуатацию найденных уязвимостей.
- Атакующая программа (Metasploit или Hydra, BurpSuite) пытается проэксплуатировать выбранную уязвимость и возвращает результат.
- Приложение получает результат эксплуатации. На этом работа выполненна. Дальнейших действий атаки (эксплуатации служб ОС, установленного ПО) НЕ требуется.
Традиционно, все это делается в ручную (например, веб-разработчиками для проверки созданного сайта), здесь же требуется просто автоматизировать процесс.
Сложность:
- Нужно знать команды работы атакующих программ (например, команду Metasploit для сканирования сети и портов).
- Нужно придумать, как получать обратную связь от атакующих программ, чтобы по результату их работы отправлять следующую скриптовую команду.
Дата выполнения: 17.05.2023.
Стоимость: условная, рассмотрю ваши индивидуальные требования.
Спасибо.
Вложение:
- Blok-shema.png - схема примерной работы программы.
- Komanda1.txt, Komanda2.txt, Komanda3.txt - примеры команд (других программ).
- Stsenariy1.txt - пример сценария.