通過Knockd隱藏SSH,讓黑客看不見你的伺服器

Ms08067安全實驗室發表於2021-01-31

出品|MS08067實驗室(www.ms08067.com)

本文作者:大方子(Ms08067實驗室核心成員)

0X01裝置資訊

  Ubuntu14.04:192.168.61.135
  Kali:192.168.61.130

0X02配置過程

  先用Kali探測下Ubuntu的埠情況,可以看到Ubuntu的22埠是正常開放的

通過Knockd隱藏SSH,讓黑客看不見你的伺服器

  接下來在Ubuntu上安裝Knockd

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

  安裝完成後就cat下Knockd的配置/etc/knockd.conf

通過Knockd隱藏SSH,讓黑客看不見你的伺服器

  配置解釋:

[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,讓黑客看不見你的伺服器

  然後重啟下knockd服務

service knock restart
通過Knockd隱藏SSH,讓黑客看不見你的伺服器

  然後我們在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,讓黑客看不見你的伺服器

  我們在Kali上用nmap對Ubuntu的22端進行探測,可以看到22埠的狀態是被過濾了

nmap ‐sC ‐Pn ‐sV ‐p 22 ‐A 192.168.61.135
通過Knockd隱藏SSH,讓黑客看不見你的伺服器

  接下來我們用nmap進行敲門

for x in 7000 8000 9000;do nmap ‐Pn ‐‐max‐retries 0 ‐p $x 192.168.61.135;done
通過Knockd隱藏SSH,讓黑客看不見你的伺服器

  我們再次檢視Ubuntu上的防火牆規則,新增了一條關於192.168.61.130的規則

通過Knockd隱藏SSH,讓黑客看不見你的伺服器

  我們再次用Kali進行探測並嘗試連線

通過Knockd隱藏SSH,讓黑客看不見你的伺服器 通過Knockd隱藏SSH,讓黑客看不見你的伺服器

  使用完畢之後,我們再次用nmap進行關門,只需要倒過來敲擊各個埠即可

for x in 9000 8000 7000;do nmap ‐Pn ‐‐max‐retries 0 ‐p $x 192.168.61.135;done
通過Knockd隱藏SSH,讓黑客看不見你的伺服器

  再次檢視Ubuntu的防火牆規則,可以看到之前關於192.168.61.130的規則已經被刪除

通過Knockd隱藏SSH,讓黑客看不見你的伺服器

  此時再次用nmap進行探測以及進行連線都會被拒絕

通過Knockd隱藏SSH,讓黑客看不見你的伺服器 通過Knockd隱藏SSH,讓黑客看不見你的伺服器

相關文章