【kali】metasploit渗透测试工具使用教程

metasploit概述

是一款开源的安全漏洞检测工具,它可以帮助网络安全和IT专业人士识别安全性问题,验证漏洞的解决措施,从而完成对目标的安全性评估
该工具包括了 智能开发,代码审计,web应用程序扫描和社会工程等各项功能

什么是metasploit

可以用来发现漏洞,利用漏洞,提交漏洞,并实施攻击,用户可以从其他 漏洞扫描程序导入数据,基于漏洞主机的详细信息来发现可攻击漏洞
模块按照不同用途可分为7中类型,分别是Exploits(渗透攻击模块),Auxiliary(辅助模块),Post(后渗透攻击模块),Payloads(攻击载荷模块),Encoders(编码器模块),Nops(空指令模块),Evasion(规避模块)

1,渗透攻击模块

主要利用发现的安全漏洞或配置弱点对目标主机进行攻击,以植入和运行攻击载荷,从而获得目标系统的访问控制权
分为主动渗透攻击和被动渗透攻击
主动渗透攻击:利用的安全漏洞位于网络服务端软件承载的上层应用程序之中
被动渗透攻击:利用的漏洞位于客户端软件(如浏览器,浏览器插件,电子邮件客户端,Office与Adobe等各种文档与编辑软件)

2,辅助模块

辅助模块包括对各种网络服务的扫描与检测,构建虚假服务登陆密码,口令猜测等模块,辅助模块海包含一些无须加载的攻击载荷,这些模块不用来取得目标系统远程控制权,如拒绝服务

3,后渗透模块

用于取得目标系统远程控制权之后得环节,实现在受控制的系统中进行各种各样的后渗透攻击动作,如敏感信息,进一步拓展,实施跳板攻击

4,攻击载荷模块

在渗透攻击成功后促进目标系统运行的一段植入代码,通常作用是为渗透攻击者打开在目标系统上的控制会话连接
攻击载荷分为Single(独立),Stager(传输器)和Stage(传输体)3种类型
Single:是一种完全独立的Payload,使用简单,就像运行calc.exe一样简单,由于Single是完全独立的,因此他们有可能会被类似netcat这样的metasploit处理工具所捕获
Stager:这种payload负责建立目标用户与攻击者之间的网络连接,并下载额外的组件或应用程序
一种常见的Stager Payload就是reverse_tcp,它可以让目标系统与攻击者建立一条TCP连接,让目标系统主动连接渗透测试者的端口(反向连接)
另一种常见的的bind_TCP,它可以让目标系统开启一个TCP监听器,而攻击者随时可以与目标系统进行通信(正向连接)
Stage:是stager payload下的一种payload组件,这种payload可以提供更加高级的功能,而且没有大小限制

5,空指令模块

空指令是一些对程序运行状态不会造成任何实质影响的空操作或无关操作指令最典型的空指令就是空操作,在X86CPU体系结构平台上的操作码是ox90

6,编码模块

攻击载荷与空指令模块组装完成一个指令序列后,在这段指令被渗透攻击模块加入恶意数据缓冲区交由目标系统运行之前,metaspliot还需要编码
编码模块的主要作用由两个:第一,确保攻击载荷中不会出现“坏字符”,第二,是对攻击载荷进行“免杀”处理,即躲避反病毒软件,IDS入侵检测系统和IPS入侵防御系统的检测与拦截

7,规避模块

规避模块是在metasploit5中心增加的,用户可以使用规避模块来规避Windows Defender防火墙,windows Defender现在是windows自带的防火墙工具,不仅可以扫描系统,还可以对系统进行实时监控

8,插件

插件能够扩充框架的功能,或者封装已有功能构成高级功能的组件,可以用于集成一些现有的一些歪卜安全工具,如N二审诉讼,OpenVAS漏洞扫描等

1.2 metasploit界面

提供两种界面,分别是图形化界面和终端模式,之前,还提供了一种命令行模式,现在已经废弃,最新版图形化界面好像也是废弃了(哈哈哈哈哈哈)

metasploit的终端Msfconsole

是目前metasploit最为流行的用户接口,而且MSF终端是metasploit框架中最灵活,功能最丰富支持最好的工具之一

启动metasploit的终端模式
msfconsole

执行以上命令即可启动终端模式
在这里插入图片描述
可以看到支持的攻击模块及对应的数量,列如,渗透攻击载荷模块有2007个,辅助模块有1096个,后渗透模块有343个,攻击载荷模块有556个,编码模块有45个空指令模块有10个,规避模块有7个

1.3初始化metasploit

在kali中 metasploit主要使用PostgreSQL数据库存储数据,在使用时需要启动PostgreSQL数据库

service postgresql start

在这里插入图片描述
启动后需要使用msfdb init命令创建和初始化数据库

msfdb init

1.4创建工作区

为了区分不同的扫描任务,可以创建多个工作区,用来保存不同扫描惹怒的各种信息
不同工作区之间的信息相互独立,避免数据混淆,语法如下
workspace -a [name]
-a选项表示添加工作区

创建一个名为xp的工作区

(1)查看当前所在的工作区

worksapace

在这里插入图片描述
从输出信息看到有一个默认的工作区default和我自己创建的工作区
(2)创建新的工作区

workspace -a xp

在这里插入图片描述
成功的添加了工作区xp,已自动切换到新建的工作区
在这里插入图片描述
(3)切换工作区

workspace default

在这里插入图片描述
成功切换到默认工作区ddefault

1.5导入扫描报告

用户可以导入一些第三方扫描报告,来获取主机信息
导入扫描报告的语法格式:db_import <filename> [file2...]
参数filename表示导入的文件名

导入扫描报告之前可以查看支持的报告格式

db_import 

在这里插入图片描述

2,查询渗透测试模块

2.1手动查询攻击载荷

查找渗透测试模块语法

search [options] <keywords>

option表示支持的选项
keywords表示可使用的数字 ,支持的选项及含义如下
-h:显示帮助信息
-o <file>:指定输出信息的保存文件,格式为CSV
-S <string>:指定搜索的字符串
-u:指定搜索模块
手动查找ms017 010 smb rce detetion的渗透模块

search name:MS17-010 SMB RCE Detection

在这里插入图片描述

2.2第三方查找

如cve漏洞站点和exploitDB等,还支持导入第三方模块

1,通过CVE漏洞网站查找

cve漏洞网站地址 : https://www.cvedetails.com/
在这里插入图片描述

2,通过exploitDB

exploitDB漏洞网址 :https://www.exploit-db.com/
在这里插入图片描述

3,手动导入第三方模块

从exploitDB网站下载的第三方模块 导入exiftran
在这里插入图片描述
将文件改为webtest.rb ,复制到metasploit对应的模块位置
metasploit的默认位置为/root/.msf4/modules
按照模块的分类创建对应的文件夹 这是个渗透模块 这里创建名为exploits的文件夹
在这里插入图片描述
为了方便查找模块的位置 再创建一个test目录 将攻击载荷文件webtest.rb复制进去
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

打开msf已加载
选择webtest模块
在这里插入图片描述
导入成功

  • 13
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第 1 章 Lin u x 安 全 渗 透 简 介 1.1 什 么 是 安 全 渗 透 1.2 安 全 渗 透 所 需 的 工 具 1.3 K ali Lin u x 简 介 1.4 安 装 K ali Lin u x 1.5 K ali更 新 与 升 级 1.6 基 本 设 置 第 2 章 配 置 K ali Lin u x 2.1 准 备 内 核 头 文 件 2.2 安 装 并 配 置 N VIDIA 显 卡 驱 动 2.3 应 用 更 新 和 配 置 额 外 安 全 工 具 2.4 设 置 P r o x y C h ain s 2.5 目 录 加 密 第 3 章 高 级 测 试 实 验 室 3.1 使 用 V M w a r e W o r k s t a tio n 3.2 攻 击 W o r d P r e s s 和 其 他 应 用 程 序 第 4 章 信 息 收 集 4.1 枚 举 服 务 4.2 测 试 网 络 范 围 4.3 识 别 活 跃 的 主 机 4.4 查 看 打 开 的 端 口 4.5 系 统 指 纹 识 别 4.6 服 务 的 指 纹 识 别 4.7 其 他 信 息 收 集 手 段 4.8 使 用 M alt e g o 收 集 信 息 4.9 绘 制 网 络 结 构 图 第 5 章 漏 洞 扫 描 5.1 使 用 N e s s u s 5.2 使 用 O p e n VA S 第 6 章 漏 洞 利 用 6.1 M e t a s ploit a ble 操 作 系 统 6.2 M e t a s ploit 基 础 6.3 控 制 M e t e r p r e t e r 6.4 渗 透 攻 击 应 用 大 学 霸 K ali Lin u x 安 全 渗 透 教 程 2 6.5 7 7.1 7.2 7.3 7.4 8 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 9 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 6.5 免杀Payload生成工具Veil 第7章 权限提升 7.1 使用假冒令牌 7.2 本地权限提升 7.3 使用社会工程学工具包(SET) 7.4 使用SET实施攻击 第8章 密码攻击 8.1 密码在线破解 8.2 分析密码 8.3 破解LM Hashes密码 8.4 绕过Utilman登录 8.5 破解纯文本密码工具mimikatz 8.6 破解操作系统用户密码 8.7 创建密码字典 8.8 使用NVIDIA计算机统一设备架构(CUDA) 8.9 物理访问攻击 第9章 无线网络渗透测试 9.1 无线网络嗅探工具Kismet 9.2 使用Aircrack-ng工具破解无线网络 9.3 Gerix Wifi Cracker破解无线网络 9.4 使用Wifite破解无线网络 9.5 使用Easy-Creds工具攻击无线网络 9.6 在树莓派上破解无线网络 9.7 攻击路由器 9.8 Arpspoof工具
Kali Linux是一种专门用于渗透测试和网络安全的操作系统。它集成了大量的渗透测试工具和资源,使得安全专业人员能够有效地评估和保护网络系统的安全性。 Kali Linux提供了多种渗透测试靶机,用于练习和测试渗透测试技术。这些靶机模拟了真实世界中的各种漏洞和攻击场景,帮助安全专业人员熟悉和理解不同类型的漏洞,并学习如何利用它们。 以下是一些常见的Kali Linux渗透测试靶机: 1. Metasploitable:Metasploitable是一个故意构建的易受攻击的虚拟机,它包含了多个漏洞和弱点,可以用于学习和实践Metasploit框架的使用。 2. DVWA(Damn Vulnerable Web Application):DVWA是一个故意构建的Web应用程序,包含了多个常见的Web漏洞,如SQL注入、XSS等,可以用于学习和实践Web应用程序渗透测试技术。 3. OWASP Mutillidae II:Mutillidae II是一个故意构建的Web应用程序,旨在模拟真实世界中的各种Web漏洞和攻击场景,包括SQL注入、文件包含等。 4. Hack The Box:Hack The Box是一个在线平台,提供了一系列的渗透测试靶机,每个靶机都有不同的漏洞和挑战,可以用于测试和提高渗透测试技能。 这些渗透测试靶机都可以在Kali Linux上进行安装和使用。通过实践和探索这些靶机,安全专业人员可以提高他们的渗透测试技能,并了解如何保护网络系统免受各种攻击。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值