
NetSpyC2 – RSA 키 교환 및 AES-GCM 암호화 세션을 지원하는 Python C2 서버
NetSpyC2는 교육 목적, 보안 연구, 통제된 실험실 환경을 위해 만들어진 Python 기반의 Command & Control (C2) 서버입니다.
이 프로젝트는 암호화된 클라이언트-서버 통신, 세션 관리, 안전한 파일 전송이 Python을 사용한 애플리케이션 프로토콜 수준에서 어떻게 구현될 수 있는지 보여줍니다.
NetSpyC2는 외부 TLS 스택에 의존하지 않습니다. 대신, 최신 프리미티브를 사용하여 자체 암호화 핸드셰이크 및 암호화 채널을 구현합니다.
NetSpyC2는 다음 단계를 통해 안전한 통신을 설정합니다:
연결된 각 클라이언트는 자체 독립적인 암호화 세션을 유지합니다.
cryptography Python 패키지prompt_toolkit Python 패키지의존성 설치:
pip install cryptography
pip install prompt_toolkit
C2 서버 시작:
python3 NetSpy2.py
기본 구성:
0.0.0.04444서버는 시작 시 새로운 RSA 키 쌍을 생성합니다.
NetSpyC2 콘솔에서 사용 가능한 명령:
help – 도움말 메뉴 표시list – 모든 활성 클라이언트 세션 목록 표시select <ID> – 특정 클라이언트와 상호작용info – 서버 로그 표시rsa keys – RSA 공개 및 개인 키 표시set host <HOST> – 수신 호스트 변경set port <PORT> – 수신 포트 변경banner – 배너 표시exit – 서버 종료인식되지 않는 명령은 서버에서 로컬로 실행됩니다.
선택된 세션 내에서:
get <file> – 클라이언트에서 파일 다운로드put <file> – 클라이언트에 파일 업로드모든 파일 전송은 암호화되며 SHA-256으로 검증됩니다.
로그는 다음 파일에 기록됩니다:
NetSpyC2Server.log
.
├── NetSpy2.py
├── banner.py
├── colores.py
├── NetSpyC2Server.log
└── README.md
이 프로젝트는 교육, 연구 및 통제된 실험실 사용만을 위한 것입니다.
소유하거나 테스트 권한이 없는 시스템에 대한 무단 사용은 금지됩니다.
크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 (CC BY-NC-SA 4.0)
이 라이선스를 유지하고 적절한 저작자 표시를 하는 경우에 한해 비상업적 목적으로 이 프로젝트를 수정 및 재배포할 수 있습니다.
이 소프트웨어는 교육 및 연구 목적으로만 제공됩니다.
소유하거나 명시적 허가를 받은 시스템 및 네트워크에서만 사용하십시오.