
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)도움을 주고 싶다면 CALL_TO_ACTION.md부터 시작하세요 — 각 항목에는 파일 경로와 명확한 지침이 있습니다.
버전에 대한 자세한 내용은 이 저장소의 태그를 참조하세요.
DOCUMENTATION.md와 README.md를 두 개의 다른 파일로 분할CALL_TO_ACTION.md 추가tests 추가. 나중에 더 많은 모듈 지향 테스트를 추가할 예정