
Pupy는 python과 C로 작성된 오픈소스, 크로스 플랫폼(Windows, Linux, OSX, Android) C2 및 포스트 익스플로잇 프레임워크입니다.
pip3 install pipx
pipx ensurepath
pipx install git+https://github.com/n1nj4sec/pupy@nextgen
pupysh
더 자세한 정보를 원한다면 위키 참조
git clone https://github.com/n1nj4sec/pupy
cd pupy
git checkout nextgen
git submodule init
git submodule update
pip install venv
python3 -m venv pupyvenv
source pupyvenv/bin/activate
pip install -r requirements.txt
개발 설치에서 pupysh 실행 :
source pupyenv/bin/activate
python3 -m pupy.cli
Pupy는 주로 파이썬으로 작성된 크로스 플랫폼, 다기능 C2 및 사후 침투 도구입니다. 메모리 내 전부 실행(All-in-Memory) 방식을 특징으로 하며 매우 낮은 발자국을 남깁니다. Pupy는 여러 전송 방식을 사용하여 통신하고, 리플렉티브 인젝션을 통해 프로세스로 마이그레이션하며, 원격 파이썬 코드, 파이썬 패키지 및 파이썬 C 확장을 메모리에서 로드할 수 있습니다.
Windows 페이로드는 리플렉티브 DLL을 사용하여 메모리에서 전체 Python 인터프리터를 로드할 수 있습니다.
단일 .py 파일로 패키징되어 모든 OS에서 Python 표준 라이브러리 외의 의존성 없이 실행될 수 있습니다.
리플렉티브하게 다른 프로세스로 마이그레이션합니다.
메모리에서 순수 파이썬 패키지(.py, .pyc) 및 컴파일된 파이썬 C 확장(.pyd, .so)을 원격으로 가져옵니다.
쉽게 확장 가능하며, 모듈 작성이 간단하고 OS 및 카테고리별로 정렬됩니다.
모듈은 rpyc를 사용하여 원격 클라이언트의 파이썬 객체에 직접 접근할 수 있습니다.
pupy 셸에서 대화식으로 원격 객체에 접근하고 원격 속성의 자동 완성을 얻을 수 있습니다.
통신 전송 방식은 모듈화되어 있으며 쌓을 수 있습니다. XOR 위에 AES, 그 위에 HTTP 등을 사용하여 데이터를 유출하거나 사용 가능한 전송 방식의 조합을 사용할 수 있습니다.
obfsproxy 플러그형 전송을 사용하여 통신합니다.
여러 호스트에서 동시에 비대화형 명령을 실행합니다.
원격 호스트에서 실행 중인 명령과 스크립트는 중단 가능합니다.
명령 및 인수에 대한 자동 완성.
맞춤 구성을 정의할 수 있습니다: 명령 별칭, 모듈. 연결 시 자동 실행 등.
메모리 내 원격 파이썬 인터프리터에서 자동 완성 기능이 있는 대화형 파이썬 셸을 엽니다.
대화형 셸(cmd.exe, /bin/bash 등)을 원격으로 열 수 있습니다.
PE 실행 파일을 원격으로 그리고 메모리에서 실행합니다.
다양한 형식으로 페이로드 생성:
파이썬 또는 파워셸 원라이너를 사용하여 단일 명령줄에서 메모리 내 배포.
생성된 페이로드에 "스크립틀릿(scriptlets)"을 포함시켜 네트워크 연결 없이 일부 작업을 "오프라인"으로 수행할 수 있습니다 (예: 키로거 시작, 지속성 추가, 사용자 정의 파이썬 스크립트 실행, check_vm 등).
여러 대상 플랫폼:
모든 문서는 위키에서 찾을 수 있습니다.
서버가 Windows에서 작동합니까?
Pupy는 Windows에서 테스트되지 않았습니다. 이론적으로 Docker 및 Docker Compose를 지원하는 모든 플랫폼에서 작동해야 합니다. 그러나 Windows 플랫폼에 맞게 Docker Compose 설치 지침을 조정해야 합니다.
Pupy를 설치할 수 없습니다. 설치가 실패합니다.
이 단계를 따르지 않으면 이슈가 종료됩니다.
Android 및/또는 Mac OSX 페이로드와 모듈이 작동하지 않습니다.
Pupy는 Android 및 OSX에 대해 제한된 지원을 제공합니다. 이러한 플랫폼은 잘 유지되지 않을 수 있으며 간헐적으로 문제가 발생할 수 있습니다. 일부 모듈(예: 키로거)은 이러한 플랫폼에서 누락될 수 있습니다.
Pupy 개발에 참여하고 싶은 분들은 망설이지 마세요! 모든 도움을 크게 감사하며 모든 풀 리퀘스트는 검토될 것입니다.
또한 개발에 관한 작은 참고가 있습니다. 커밋하기 전에 flake8을 실행하세요. 구성 파일은 여기에 있습니다.
| 플랫폼 | 연락처 정보 |
|---|---|
| [email protected] | |
| https://twitter.com/n1nj4sec |
이 프로젝트는 개인 개발입니다. 철학을 존중하고 악의적인 목적으로 사용하지 마십시오!
Pupy를 개선하고 더 좋은 도구로 만드는 데 도움을 주신 모든 기여자와 지지자에게 특별한 감사를 드립니다! :)
| 형식 | 아키텍처 | 짧은 이름 |
|---|
| ~~ Android 패키지 ~~ | x86 & ARMv7 | apk |
| 리눅스 바이너리 | x86 | lin_x86 |
| 리눅스 바이너리 | x64 | lin_x64 |
| 리눅스 공유 오브젝트 | x86 | so_x86 |
| 리눅스 공유 오브젝트 | x64 | so_x64 |
| Windows PE 실행 파일 | x86 | exe_x86 |
| Windows PE 실행 파일 | x64 | exe_x64 |
| Windows DLL | x86 | dll_x86 |
| Windows DLL | x64 | dll_x64 |
| 파이썬 스크립트 | x86 & x64 | py |
| 파이썬 원라이너 | x86 & x64 | py_oneliner |
| 파워셸 | x86 & x64 | ps1 |
| 파워셸 원라이너 | x86 & x64 | ps1_oneliner |
| 플랫폼 | 지원 상태 |
|---|
| Windows XP | ~~ 지원됨 ~~ Python 지원 중단 |
| Windows 7 | ~~ 지원됨 ~~ Python 지원 중단 |
| Windows 8 | 지원됨 |
| Windows 10 | 지원됨 |
| Linux | 지원됨 |
| Mac OSX | 제한적 지원 |
| Android | 제한적 지원 |