
PyExfil — набор инструментов на Python 3 для исследования и стресс-тестирования методов эксфильтрации данных по сетевым, физическим и стеганографическим каналам. Для симуляции работы красной команды и тестирования обнаружения DLP.
Стресс-тестирование обнаружения и креативность

PyExfil родился как PoC и своеобразная игровая площадка, а вырос в нечто большее. На мой взгляд, это всё ещё сырой PoC, требующий ещё много работы и тестирования, чтобы стать стабильным. Цель PyExfil — предоставить как можно больше методов эксфильтрации, а теперь и связи, которые МОГУТ использоваться различными злоумышленниками/вредоносным ПО для обхода различных средств и методов обнаружения и защиты. Вы можете отслеживать изменения на официальной странице GitHub.
Проще говоря, он предназначен для использования в качестве инструмента тестирования, а не реального инструмента Red Teaming. Хотя большинство техник и методов должны легко портироваться и компилироваться под различные операционные системы, некоторые стабильные, некоторые экспериментальные, механизм передачи должен быть стабильным для всех техник. Клонируйте его, разверните на узле в вашей организации и посмотрите, какие системы смогут обнаружить какие техники.
Для использования pip (не обязательно самой последней версии):
pip install --user PyExfil
Для исходного кода:
git clone https://www.github.com/ytisf/PyExfil
cd PyExfil
pip install --user -r requirements.txt
Мы рекомендуем также установить py2exe, чтобы вы могли кросс-компилировать различные модули в бинарный файл для более удобной транспортировки. Это можно сделать так:
pip install py2exe
Перейдите в ту же папку, куда был склонирован PyExfil, и выполните:
pip setup.py --user install
Информацию об использовании каждого модуля смотрите в файле USAGE.
Хотя этот инструмент изначально создавался как игра, а затем превратился в инструмент, ориентированный на Red Team, в конечном итоге основное использование PyExfil — это тестирование различных систем DLP (защиты от утечек данных), а также обнаружения вторжений. Чтобы упростить последнюю задачу, мы создали небольшой модуль для генерации поддельных данных со структурой, соответствующей наборам данных PII и PCI. Они предназначены для срабатывания тревог при передаче за пределы сети.
Вот как его использовать:
from pyexfil.includes import CreateTestData
c = CreateTestData(rows=1000, output_location="/tmp/list.csv")
c.Run()
После этого вы можете использовать любой модуль PyExfil, чтобы попытаться эксфильтровать созданный набор данных. Таким образом, вы можете проверить своё обнаружение, не рискуя эксфильтровать ценные данные.
Мы приветствуем вклад — от тестирования и исправления ошибок до совершенно новых скрытых каналов.
NetworkModule, CommModule, PhysicalModule, StegaModule) с деталями API и примерами.Если вы хотите помочь, начните с CALL_TO_ACTION.md — каждый пункт там содержит путь к файлу и чёткие инструкции.
Подробности о версиях смотрите в тегах этого репозитория.
DOCUMENTATION.md и README.md на два разных файла.CALL_TO_ACTION.md для помощи сообщества.tests для некоторых базовых дымовых тестов. Позже будет добавлено больше модульно-ориентированных тестов.names.braille.