我在 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