pwnat
GPL-3.0๐ Network Recon ยท C
pwnat (pronounced 'poe-nat') enables connections between two hosts both behind separate NATs without requiring either side to configure port forwarding. It exploits a quirk in how NAT implementations handle ICMP time-exceeded messages to establish bidirectional communication channels. One side runs as a server and the other as a client; the tool handles NAT traversal automatically. This makes it useful for penetration testing scenarios where direct connectivity is blocked by network address translation, enabling reverse shells and tunnel establishment through otherwise impassable network boundaries.
Installation
$ git clone https://github.com/samyk/pwnat.git && cd pwnat && makeUse Cases
- Establishing connections through double-NAT scenarios
- Penetration testing when direct connectivity is blocked
- Creating tunnels without port forwarding configuration
- Research into NAT traversal techniques
Tags
Details
- Category
- ๐ Network Recon
- Language
- C
- Repository
- samyk/pwnat
- License
- GPL-3.0
- Platforms
- ๐งlinux๐macos
Links
Community Reviews
Alternatives & Comparisons
Ligolo-ng
GoAdvanced tunneling/pivoting tool. Creates a TUN interface for transparent proxying through compromised hosts.
Compare pwnat vs Ligolo-ngChisel
GoFast TCP/UDP tunnel over HTTP secured via SSH. Single binary, works behind firewalls and NAT.
Compare pwnat vs ChiselMore in Network Recon
Nmap
C/C++The gold standard network scanner. Host discovery, port scanning, service/version detection, OS fingerprinting.
Masscan
CInternet-scale port scanner. Transmits 10 million packets per second. Asynchronous, stateless scanning.
RustScan
RustBlazing fast port scanner that pipes into Nmap. Scans all 65k ports in 3 seconds flat.
Shodan CLI
PythonCommand-line interface for Shodan, the search engine for internet-connected devices.
Wireshark
C/C++The world's foremost network protocol analyzer. Deep packet inspection for hundreds of protocols.
Responder
PythonLLMNR/NBT-NS/mDNS poisoner and rogue authentication server. Captures NTLMv1/v2 hashes on the network.