实验目的

掌握Meterpreter常见的基本命令的使用

实验原理

1、Meterpreter介绍

meterpreter是metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个meterpretershell的链接。

meterpretershell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息

另外meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。

最后,meterpreter还可以简化任务创建多个会话。可以来利用这些会话进行渗透。

2、Meterpreter优点

  • 不创建进程(使用的内存注入方式)
  • meterpreter是一个解释器加载各种攻击命令
  • 工作在被攻击进程的上下文中
  • 通信是加密的(TLV协议),可以躲避IDS
  • 没有硬盘写入操作
  • 使用的通信方式是信道模式,可以同时和几个信道工作,支持多信道
  • 支持扩展编写

3、Meterpreter工作过程

  • 漏洞的利用代码+第一阶段的攻击载荷
  • 攻击载荷反向连接到msf
  • 发送第二阶段的攻击载荷
  • 客户端和服务器进行通信

实验内容

掌握Meterpreter常见的基本命令的使用

实验环境描述

渗透机KliLinux账号密码:root/toor 靶机windowsxp账号密码:xp/123456

实验步骤

渗透机KliLinux账号密码:root/toor 靶机windows账号密码:123456

1、在KaliLinux下打开一个终端查看Kali的IP地址

2、使用msfvenom生成一个Windows系统下的Payload

3、将msf.exe拷贝一份并命名为msf.exe.bak,然后使用python来打开一个HTTP服务。这个主要是为了借用Web来吧msf.exe.bak传输到靶机上去。一般在渗透测试中这一步需要你利用一些上传漏洞或者其他等将生成的木马传输到目标机器上。

4、此时在目标靶机上打开浏览器输入http://KaliIP:88,可以打开一个Web页面,点击msf.exe.bak下载将其下载下来并重新命名为msf.exe。

5、此时需要先打开Metasploit中的监听模块,输入命令msfconsole,先加载模块exploits/multi/handler,并设置Payload跟生成木马的Payload一致,均为:windows/meterpreter/reverse_tcp,设置监听地址(即Kali虚拟机地址),监听端口也设置为4444,然后输入exploit执行监听。

6、接着在靶机系统上双击msf.exe来执行木马程序后,此时在渗透机的Metasploit界面会显示有新的session生成,即表示已经获取到了靶机的Meterpreter Shell。

7、在当前的Meterpreter界面上输入?即可查看帮助命令

8、输入命令background即可将当前的Meterpreter Shell放到后台,再次输入session -i SesssionID 即可进入指定的Meterpreter Shell界面

9、Meterpreter中也集成了多个脚本,可以使用命令run来执行Meterpreter的一些脚本,此处以脚本checkvm来举例,此脚本主要是用来查看目标机是否是虚拟机

10、如果想让脚本在后台执行,也可以使用命令bgrun

11、如果想在meterpreter下使用Windows API编程,可以使用命令irb

12、示例:弹出一个helloworld

13、此时在靶机系统上弹出来一个helloworld的对话框

14、如果要完全退出当前的session,输入命令quit或者exit即可退出当前session,此时这个Meterpreter并不是隐藏到后台了,而是完全退出了。

15、以上即可Meterpreter的一些常用的基本命令,还有 比较重要的两个命令migratepivot由于要与其他的一些命令配合使用,我们在后面的一些相关模块会讲到。

Meterpreter核心命令的更多相关文章

  1. Linux核心命令

    Linux核心命令 strace(查看系统调用的一个过程) 例:strace cat /test.txt netstat perf top pidstat mpstat dstat vmstat sl ...

  2. 一、VIP课程:互联网工程专题 01-Git基本概念与核心命令掌握

    第一课:Git基本概念与核心命令掌握.docx 课程概要: GIT 体系概述 GIT 核心命令使用 GIT 底层原理 一.GIT体系概述 1.使用方式区别 从本地把文件推送远程服务,SVN只需要com ...

  3. git的核心命令使用和底层原理解析

    文章目录: GIT体系概述 GIT 核心命令使用 GIT 底层原理 一.GIT体系概述 GIT 与 svn 主要区别: 存储方式不一样 使用方式不一样 管理模式不一样 1.存储方式区别 GIT把内容按 ...

  4. 为什么互联网巨头们纷纷使用Git而放弃SVN?(内含Git核心命令与原理总结)

    写在前面 最近发现很多小伙伴对于工作中的一些基本工具的使用还不是很了解,比如:Git这个分布式的代码管理仓库,很多小伙伴就不是很了解,或者说不是很熟悉.甚至有些小伙伴都没听说过Git,就只会用个SVN ...

  5. meterpreter基础命令大全

    meterpreter meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用.为后渗透提供了很多便捷之处 基础命令 我们进入meterpreter之后,键入 ...

  6. Linux核心命令使用方法

    一.Linux命令行常用快捷键 ctrl + c cancel 取消当前的操作 ctrl + l (小写字母L) clear(命令)清空当前屏幕 ctrl + d 退出当前用户 ctrl + r 查找 ...

  7. Kubernetes最新版核心命令

    #查看所有namespace的pods运行情况 kubectl get pods --all-namespaces #查看具体pods,记得后边跟namespace名字哦 kubectl get po ...

  8. shell之路 Linux核心命令【第一篇】管道符与重定向

    输出重定向 命令输出重定向的语法为: command > file 或 command >> file 这样,输出到显示器的内容就可以被重定向到文件.果不希望文件内容被覆盖,可以使用 ...

  9. msfconsle核心命令学习

    back 取消当前模块 banner check 检查当前exploit是否对目标有效,并不进行真正的攻击 color 禁用或启用输出是否包含颜色 connect 可以通过connect命令来链接Ne ...

随机推荐

  1. Javascript对象数据类型(键值对)的创建和使用方法

    对象数据类型(键值对) 1.创建键值对 var arry={name:"小明",age:20,isgey:falet} // var 键值对名 = {键:值,键:值} 2.增加键值 ...

  2. Redis作缓存

    缓存策略三要素:缓存命中率   缓存更新策略  最大缓存容量.衡量一个缓存方案的好坏标准是:缓存命中率.缓存命中率越高,缓存方法设计的越好. 三者之间的关系为:当缓存到达最大的缓存容量时,会触发缓存更 ...

  3. selenium - 弹出框死活定位不到

    先要确定是不是alert,是才能用,不是的话肯定不能用. 有些弹出框是div层,这种跟平常定位方法一样 有些弹出框是嵌套的iframe层,这种切换iframe就可以了 有些弹出框比较坑,是嵌入的一个窗 ...

  4. context包

    目录 Context包到底是干嘛用的? context原理 什么时候应该使用 Context? 如何创建 Context? 主协程通知有子协程,子协程又有多个子协程 context核心接口 empty ...

  5. gin框架中多种数据格式返回请求结果

    返回四种格式的数据:1. []byte.string  2. json格式  3. html模板渲染  4. 静态资源设置 package main import ( "github.com ...

  6. golang源码阅读:VictoriaMetrics中的协程优先级的处理方式

    在阅读VictoriaMetrics的源码的时候,读到了那么平平无奇的一段: // AddRows adds the given mrs to s. func (s *Storage) AddRows ...

  7. 前端基础之SCC

    目录 一:SCC 1.什么数SCC? 2.CSS3语法 3.语法结构 4.注释语法 5.css代码书写位置(引入方式) 二:scc代码书写位置(引入方式实战) 1.style内部直接编写css代码 2 ...

  8. yum搭建私有仓库远程版

    目录 一:yum安装 1.简介 1.安装 2.卸载 3.更新 4.yum安装的生命周期 二:yum搭建私有仓库(本地版) 1.下载必须的软件包(准备配置) 2.创建软件仓库 3.下载对应的软件 4.初 ...

  9. 张高兴的 .NET IoT 入门指南:(七)制作一个气象站

    距离上一篇<张高兴的 .NET Core IoT 入门指南>系列博客的发布已经过去 2 年的时间了,2 年的时间 .NET 版本发生了巨大的变化,.NET Core 也已不复存在,因此本系 ...

  10. Dart 2.16 现已发布

    文 / Michael Thomsen, Dart 产品经理 Dart 2.16 正式发布 Dart 2.16 正式版已于上周发布.尽管没有新的语言特性加入,但本次版本发布包含了数个问题修复 (包括对 ...