Перейти к содержанию

netcat nc


Listeners для различных видов shell

reverse shell

nc -lvnp <port-number>

Важно

В случае если будет использоваться порт меньше 1024 - nc запускать нужно через sudo

bind shell

nc <target-ip> <choosen-port>

Стабилизация оболочки

Shell полученный через nc является нестабильным. В нём нет автодополнения, не поддерживается интерактивность, a ctrl + C сразу же прервёт сессию.

Для устранения описанных (и других) проблем необходимо стабилизировать оболочку.

Через Python и модуль pty

python3 -c 'import pty;pty.spawn("/bin/bash")'
export TERM=xterm
приостановить nc (via ctrl-z)
stty raw -echo;fg
stty raw -echo отключает вводимые символы при написании. Для возврата в исходное, нужно ввести: stty raw echo

Через rlwrap (readline wrapper)

sudo apt install rlwrap
rlwrap nc -lvnp <port>
приостановить nc (via ctrl-z)
stty raw -echo;fg