0X01设备信息:

Ubuntu14.04:192.168.61.135

Kali:192.168.61.130

 

0X02配置过程:

先用Kali探测下Ubuntu的端口情况,可以看到Ubuntu的22端口是正常开放的

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

 

接下来在Ubuntu上安装Knockd

apt-get install update
apt-get install build-essential -y
apt-get install knockd -y

 

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

通过Knockd隐藏SSH,让黑客看不见你的服务器_knockd_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]
        #UseSyslog
        LogFile = /knock.log  #配置日志路径

[openSSH]
        sequence    = 7000,8000,9000
        seq_timeout = 5
        command     = /sbin/iptables -I INPUT -s 192.168.61.130 -p tcp --dport 22 -j ACCEPT  //这里把A改成I,让knockd插入的规则能够优先生效
        tcpflags    = syn

[closeSSH]
        sequence    = 9000,8000,7000
        seq_timeout = 5
        command     = /sbin/iptables -D INPUT -s 192.168.61.130 -p tcp --dport 22 -j ACCEPT
        tcpflags    = syn

 

 

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

通过Knockd隐藏SSH,让黑客看不见你的服务器_Ubuntu_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,让黑客看不见你的服务器_Ubuntu_05

 

 

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

nmap -sC -Pn -sV -p 22 -A 192.168.61.135

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

 

接下来我们用nmap进行敲门

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

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

 

 

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

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

 

我们再次用nmap进行探测并尝试连接,可以看到22端口可以被探测并连接

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

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

 

 

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

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

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

 

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

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

 

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

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

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