如果没有 ./,Metasploit 目录将无法运行可执行文件

如果没有 ./,Metasploit 目录将无法运行可执行文件

我在 OSX 上安装了 Metasploit/usr/local/share/msf

Metasploit 的可执行文件无法在其目录之外运行,因此会给出一个找不到命令错误。

msfbinscan
msfconsole
msfd
msfelfscan
msfmachscan
msfpescan
msfrop
msfrpc 
msfrpcd
msfupdate
msfvenom

对我来说,仅msfconsole在没有./前缀的情况下运行,但其余部分执行但不给出输出,除非我添加./msfupdate例如。

如何msf*像运行内置命令一样运行带有前缀的文件?我尝试过将目录符号链接为 $MSF 环境,/usr/local/bin但这从未起作用,而且这也是一个已知问题。

例如:

$: ./msfvenom有效但$: msfvenom运行但不输出任何内容,因此不执行任何操作。

我所有的msf*文件都是-rwxr-xr-x

有某种方法可以解决此问题或类似问题吗?

答案1

要通过键入命令名称来运行命令,该命令必须位于以下目录中列出的目录之一:PATH环境变量。位于当前目录中还不够好。位于 PATH 中目录的子目录中还不够好。

因此,编辑/etc/profile以添加 Metasploit 二进制文件所在目录的完整路径。在 OSX 上,更改将在您打开的新终端中生效。

答案2

经过一番折腾,我终于让他们工作了。只需一个简单的命令即可:

sudo ln -s /usr/local/share/msf/msf* /usr/local/sbin

相关内容