metasploit之编写meterpreter

我们来写自己的meterpreter脚本,同样从Helloworld开始
在这里插入图片描述
这样子我们就可以在拿到meterpreter之后运行查看结果了
在这里插入图片描述
确实输出了hello world,我们在此基础上再增加其他的API调用,比如error,line
在这里插入图片描述
有没有这很像我们学习C语言时的print,scanf标准输入输出之类的。
实际上,status,error,line在向运行脚本的用户提供信息时都有不同的用途(最直观的我们可以看到status输出的字符串前面是蓝色的[-],而error输出的字符串前面有是红色的[-],line则是直接输出),如下图的运行结果所示
在这里插入图片描述
现在,helloworld已经会了,我们继续深入下去。

我们在下一个脚本里创建一个函数来打印出信息,并增加异常处理机制
函数的大概框架是这样子的
在这里插入图片描述
使用函数,使得我们的代码模块化,并且具有复用性。
而错误处理可以帮助我们对脚本进行错误排查。
我们接下来使用我们前面在helloworld里使用过的API调用,构建下面这样子的函数
在这里插入图片描述
我们来分析下编写的这个函数。
我们定义了一个名为“getinfo”的函数,它接收我们通过session这个局部变量传入的参数。
这个变量有一些方法被我们调用来提取系统和用户信息,之后我们把方法的结果打印出来。
这是程序正常运行时的功能,如过碰到了错误,我们还有错误处理程序,它会返回我们可能遇到的错误信息。
函数已经写好了,我们在上图代码下面加入getinfo(client)进行调用就可以了。
在这里插入图片描述
然后我们在meterpreter中运行,从它的输出中可以看到返回了一些基本信息。
在这里插入图片描述

现在,我们能写打印hello world的脚本,也能写搜集信息的脚本,接下来我们看看能够执行命令的脚本该怎么写。
同样,我们也是需要前面提到的那个框架,需要创建一个函数。
大概的框架如下图所示。
在这里插入图片描述
我们分析一下这个函数:
首先我们定义了需要接收两个参数的函数,其中第二个参数是一个数组。同时我们设置了超时机制,这样函数即使不能成功执行也不会一直挂在我们的会话上。接下来我们设置了一个foreach的循环,这个循环根据传递给函数的数组来运行,这个函数将会遍历数组中的项,并且在靶机上通过cmd执行,然后打印出命令执行后的信息。
在函数的最后,我们同样加上了错误处理机制来捕获任何有可能在函数执行时出现的问题。
函数体分析好之后,接下来我们在代码中加入数组(数组里就是我们想要执行的命令)。
最后,加上list_exec(client,commands)进行函数调用即可。
最终的代码是这样的:

在这里插入图片描述

我们同样在meterpretet执行(下面的三张图片分别是执行三个命令的回显):

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
首先,我们在实验中会先介绍一些用于编写Meterpreter的API调用,并使用其中一些API调用来编写我们自己的meterpreter脚本
接下来我们在Meterpreter中进入IRB的shell来查看API的调用的具体情况
(注:IRB SHELL可以直接运行API调用,并查看调用返回的内容)
Meterpreter中输入irb便进入了irb shell
在这里插入图片描述
我们将从收集关于目标的信息开始。让我们获取目标主机的机器名。具体的API调用是“client.sys.config.sysinfo”

在这里插入图片描述
从上图中我们看到返回了一系列的值。如果我们想知道返回的值的类型,我们可以使用类对象来了解返回的内容
在这里插入图片描述
可以看到我们得到了一个散列HASH,所以可以通过它的键调用这个散列的元素。假设我们只想要OS版本
那么可以如下输入:
在这里插入图片描述

获取其上正在运行会话的进程的PID
在这里插入图片描述

搜集网络配置和主机环境的信息
在这里插入图片描述
我们也可以使用相同的API调用来获得接口列表以及配置信息
在这里插入图片描述
可以看到对象的类型是数组
我们可以通过这个对象的数组进行迭代来获取每个接口的输出

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值