本文作者:大方子(Ms08067实验室核心成员)

 

0X01设备信息


Ubuntu14.04:192.168.61.135Kali:192.168.61.130

 

0X02配置过程
先用Kali探测下Ubuntu的端口情况,可以看到Ubuntu的22端口是正常开放的

通过Knockd隐藏SSH,让黑客看不见你的服务器_微信

接下来在Ubuntu上安装Knockd

  •  
apt-get install updateapt-get install build-essential -yapt-get install knockd -y

安装完成后就cat下Knockd的配置/etc/knockd.conf

通过Knockd隐藏SSH,让黑客看不见你的服务器_文件名_02

配置解释:

  •  
[options]UseSyslog //用来定义日志输出位置以及文件名
[openSSH]sequence = 7000,8000,9000 //设置(开门)敲门顺序,可以自定义seq_timeout = 5 //设置超时时间command = /sbin/iptables ‐A INPUT ‐s %IP% ‐p tcp ‐‐dport 22 ‐j ACCEPT //开门成功后添加防火墙规则命令(打开SSH端口)tcpflags = syn
[closeSSH]sequence = 9000,8000,7000 //设置(关门)敲门顺序,与开门顺序相反seq_timeout = 5 //设置超时时间command = /sbin/iptables ‐D INPUT ‐s %IP% ‐p tcp ‐‐dport 22 ‐j ACCEPT //关门成功后删除之前添加的防火墙规则(关闭SSH端口)tcpflags = syn

接下来对/etc/knockd.conf进行配置

  •  
[options]#UseSyslogLogFile = /knock.log #配置日志路径
[openSSH]sequence = 7000,8000,9000seq_timeout = 5command = /sbin/iptables ‐I INPUT ‐s 192.168.61.130 ‐p tcp ‐‐dport 22 ‐j ACCEPT //这里把A改成I,让knockd插入的规则能够优先生效tcpflags = syn
[closeSSH]sequence = 9000,8000,7000seq_timeout = 5command = /sbin/iptables ‐D INPUT ‐s 192.168.61.130 ‐p tcp ‐‐dport 22 ‐j ACCEPTtcpflags = syn

配置/etc/default/knockd,修改START_KNOCKD=1

通过Knockd隐藏SSH,让黑客看不见你的服务器_文件名_03

然后重启下knockd服务

  •  
service knock restart

通过Knockd隐藏SSH,让黑客看不见你的服务器_ubuntu_04

然后我们在Ubuntu的防火墙上添加几条规则

  •  
iptables ‐A INPUT ‐s 192.168.61.1 ‐j ACCEPT //允许宿主机连接,方便实验的时候可以用SSH进行连接iptables ‐A INPUT ‐s 127.0.0.0/8 ‐j ACCEPT //允许本机的连接iptables ‐A INPUT ‐j DROP //拒绝其他所有IP的连接

通过Knockd隐藏SSH,让黑客看不见你的服务器_文件名_05

我们在Kali上用nmap对Ubuntu的22端进行探测,可以看到22端口的状态是被过滤了

  •  
nmap ‐sC ‐Pn ‐sV ‐p 22 ‐A 192.168.61.135

通过Knockd隐藏SSH,让黑客看不见你的服务器_ubuntu_06

接下来我们用nmap进行敲门

  •  
for x in 7000 8000 9000;do nmap ‐Pn ‐‐max‐retries 0 ‐p $x 192.168.61.135;done

通过Knockd隐藏SSH,让黑客看不见你的服务器_日志输出_07

我们再次查看Ubuntu上的防火墙规则,添加了一条关于192.168.61.130的规则

通过Knockd隐藏SSH,让黑客看不见你的服务器_公众号_08

我们再次用Kali进行探测并尝试连接

通过Knockd隐藏SSH,让黑客看不见你的服务器_日志输出_09

通过Knockd隐藏SSH,让黑客看不见你的服务器_ubuntu_10

使用完毕之后,我们再次用nmap进行关门,只需要倒过来敲击各个端口即可

  •  
for x in 9000 8000 7000;do nmap ‐Pn ‐‐max‐retries 0 ‐p $x 192.168.61.135;done

通过Knockd隐藏SSH,让黑客看不见你的服务器_文件名_11

再次查看Ubuntu的防火墙规则,可以看到之前关于192.168.61.130的规则已经被删除

通过Knockd隐藏SSH,让黑客看不见你的服务器_ubuntu_12

此时再次用nmap进行探测以及进行连接都会被拒绝

通过Knockd隐藏SSH,让黑客看不见你的服务器_文件名_13

通过Knockd隐藏SSH,让黑客看不见你的服务器_文件名_14

更多技术文章请关注公众号:猪猪谈安全

通过Knockd隐藏SSH,让黑客看不见你的服务器_公众号_15