主动攻击实现
ms08_067
- 用search命令,搜索与ms08_067相关的模块,如图:
找到了对应的攻击模块exploit/windows/smb/ms08_067_netapi ,可知这是一个针对windows下,SMB服务的攻击模块。
服务器信息块(SMB)是一个网络文件共享协议,它允许应用程序和终端用户从远端的文件服务器访问文件资源。
描述里说,这是一个微软服务器服务相对路径堆栈损坏漏洞。
具体什么原理也不清楚,反正是一个服务器服务相关的漏洞。
2.用info命令,查看exploit/windows/smb/ms08_067_netapi相关信息。可以看到存在该漏洞的目标主机类型,选择的目标靶机是Windows XP SP3 English,如图。
里面提到NX
NX是一种CPU技术,用来把存储器区域分隔为只供存储处理器指令集单元,或只供数据使用单元。任何使用NX技术的存储器,代表仅供数据使用,因此处理器的指令集并不能在这些区域存储。
NX技术可防止大多数的缓冲溢出攻击。
- 用show payloads命令,查看可用的payload。选择一般类的(generic),tcp回连。
4.设置参数,出现一个无法建立会话的问题。
首先检查了网络连接,发现本机是桥接模式,改为NAT模式后,两台主机联通,攻击成功,如图:
ms11_050
- search 命令搜索与ms11_050相关模块。
根据描述,ms11_050是一个关于mshtml里的cobjectelement的一个漏洞。
mshtml是IE浏览器排版引擎的名称,是微软公司的一个COM组件,该组件封装了HTML语言中的所有元素及其属性,通过其提供的标准接口,可以访问指定网页的所有元素。
总之是关于IE浏览器的。这是exploit database里对ms11_050的介绍
- 用info命令查看详细信息。
如图,可以看到有可以进行攻击的IE浏览器和对应的操作系统,以及基础选项,比如服务器端地址和端口等。
-
用use命令,进入该模块。
-
设置payload为windows/meterpreter/reverse_http,并用show options查看选项。
经过我的多次尝试和分析,我发现,Module options里的SRVHOST、SRVPORT与Payload options里的LHOST、LPORT是一样的。
当使用SRVHOST、SRVPORT这组地址、端口、URI,虽然没有回连成功,但得到的回复是这样的:
而使用LHOST、LPORT这组地址时,也没有成功,但这个端口下找不到URI,只能定位到主机,得到的回复是这样的:
可见,其实只需指明SRVHOST、SRVPORT,不用指明LHOST、LPORT就可以攻击。SRVHOST、SRVPORT会自动传给LHOST、LPORT。
最后,不知道为什么总是提醒我Unknown request to with UA ‘Mozilla/4.0。在网上查了些解决方法也都无果。这个漏洞虽然没有成功,但学到了如何设置参数,尝试参数的作用,以及分析并尝试msf反馈的问题。
对Adobe阅读器攻击
- 使用windows/fileformat/adobe_cooltype_sing模块。show options查看参数,设置本机为监听主机,端口默认为4444,pdf文件名默认为msf,成功生成msf文件,如图:
- 把msf.pdf拷贝到被攻击机上,然后开启本机监听模块。一点击pdf,就中招了,如图:
辅助模块
CVE:漏洞库
NVD:美国漏洞库
kali里metasploit的框架目录是:/usr/share/metasploit-framework
再进入/modules,进入/auxiliary,可以看到辅助模块源码。
进入msfconsole控制台,show auxiliary查看可用的辅助模块,通过命名可以知道每个模块对应的操作系统/类型/模块名称,info查看某个模块的详细信息。
首先我选了admin/vmware/poweroff_vm模块,描述中说这个模块将登录到VMware的Web API并尝试关闭指定的虚拟机电源。
我在百度上搜这个模块的配置方法都找不到。
根据每个选项的描述和我自己的理解,
PASSWORD和USERNAME是登陆靶机的用户名、口令,
RHOST和RPORT是靶机的IP和开放的TCP端口,
VM指明具体是关闭哪台靶机的电源。
然后配置了一下如图:
然后意料之中的失败,毕竟怎么可能以来就成功呢...
分析exploit失败的反馈消息,连接被拒接。
突然想到靶机开放端口默认设置为443,万一443没开放呢?所以用namp扫描了一下,靶机开放的端口,发现只有22和111端口。所以修改靶机端口设置为22。
还是失败了,但反馈结果里连接已经成功,但靶机里不支持ssl协议,所以无法建立ssl连接,最终没能成功。老师说不要纠结于环境问题,学习的目的不是成功而是体验,所以我就放弃了。但我已经尝试过使用admin/vmware/poweroff_vm模块,并分析解决了一个连接问题。
二、实验内容说明及基础问题回答
-
1.用自己的话解释什么是exploit,payload,encode.
- (1)exploit是执行渗透攻击,用来连接漏洞,将payload传输到目标靶机,进而实现对靶机的攻击。
- (2)payload是载荷。指的是用于执行的攻击的数据、代码。
- (3)encode是一个编码器,对payload进行包装处理,从而迷惑靶机达到免杀的效果。
-
2.离实战还缺些什么技术或步骤?
现在对漏洞的了解还很匮乏,更不要说利用漏洞去攻击了。而且实验都是在防火墙等安全防护都关闭的情况下进行的,对于日常其实实现起来应该比较困难。在利用后门程序之前也应该对其进行检测。
实验总结
本次实验中,我使用了各种不同的模块以及漏洞进行组装攻击,针对我的靶机去尝试获得回连,提取权限。最终完成了全部实验后,我对msf的功能有了更加深刻的了解,也明白了网络攻击中信息收集的重要性。在很多不同的攻击中我都是利用了各种漏洞,因此在现实生活中防范网络攻击就一定要勤于下载漏洞补丁,定期检查系统和软件。
。