我们在使用Metasploit过程中一定会用到Msfvenom命令,但是因为Msfvenom的参数过多,且不能使用Tab键补全命令,这对于新手来说确实十分不便,所以笔者根据Micropoor老哥提供的方法进行了msfvenom命令补全的复现,对于那些已经能够熟练使用的老哥可以直接跳过了,如图1-1-12。
图片10.png
图1-1-12 msfvenom命令参数

0x01 oh-my-zsh安装

执行以下命令安装oh-my-zsh(https://ohmyz.sh/),如果安装失败可能是缺少zsh,这里我们KaliLinux默认安装的有zsh,如果是Ubuntu、centos7或者其它操作系统可能得自行安装zsh,apt-get install zsh、yum -y install zsh,如图1-1-13、1-1-14。

  1. root@kali:~# sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

图片11.png
图1-1-13 查看所有shell列表
图片12.png
图1-1-14 成功安装oh-my-zsh

问题描述:
wget下载github项目文件时如果出现“(raw.githubusercontent.com)|0.0.0.0|:443… 失败:拒绝连接。”报错,Firefox浏览器也无法访问github项目文件地址,如图1-1-15。
15.png
图1-1-15 443… 失败:拒绝连接

解决方案:
使用echo、vi或gedit在/etc/hosts文件中添加下边这条记录即可解决上边出现的问题,如图1-1-16。

  1. root@kali:~# echo 151.101.108.133 raw.githubusercontent.com >> /etc/hosts

16.png
图1-1-16 成功解决拒绝连接问题

0x02 配置自动补全插件

msfvenom-zsh-completion是Green-m写的一个msfvenom命令自动补全的插件项目,执行以下命令将该项目克隆到~/.oh-my-zsh/custom/plugins/msfvenom/路径下,如图1-1-15。

  1. root@kali:~# git clone https://github.com/Green-m/msfvenom-zsh-completion.git ~/.oh-my-zsh/custom/plugins/msfvenom/

图片13.png
图1-1-15 克隆项目到oh-my-zsh目录

编辑根目录下的.zshrc配置文件,找到plugins=(git),并将其修改为plugins=(git msfvenom),然后在文件底部添加以下两条命令,最后回到zsh终端执行一下source .zshrc命令更新配置,这样就已经成功实现了msfvenom命令自动补全功能,如图1-1-16、1-1-17、1-1-18。

  1. fpath=(~/.zsh/completion $fpath)
  2. autoload -Uz compinit && compinit -i

图片14.png
图1-1-16 .zshrc加msfvenom插件
图片15.png
图1-1-17 .zshrc底部添加两条命令
图片16.png
图1-1-18 msfvenom自动补全功能

问题描述:
Tab键补全msfvenom命令时如果出现下图报错,这可能是因为读取不到~/.zsh/venom-cache文件,或者它只是一个空白文件,~/.zsh/venom-cache文件里存放的是所有payload,如图1-1-19。
图片19.png
图1-1-19 not enough arguments

解决方案:
使用以下命令将所有Payload写入到~/.zsh/venom-cache文件即可解决上边出现的问题,如图1-1-20。

  1. root@kali:~# msfvenom --list payload|grep -e "^.*\/" | awk '{print $1}' >> ~/.zsh/venom-cache

20.png
图1-1-20 写入~/.zsh/venom-cache

0x03 oh-my-zsh主题修改

oh-my-zsh有很多精美漂亮的主题,可以根据自己的喜好选择主题,默认为robbyrussell,更多主题效果可在ohmyzsh项目的Wiki中查看,https://github.com/ohmyzsh/ohmyzsh/wiki/themes

编辑.zshrc配置文件,搜索找到ZSH_THEME,修改为自己选的主题名称,这里笔者选择的是agnoster,然后回到zsh终端执行一下source .zshrc命令更新配置即可,如图1-1-21。

  1. ZSH_THEME="blinks"

Image 31.png
图1-1-21 oh-my-zsh agnoster主题

0x04 命令终端报错问题解决

问题描述:
root权限下用chsh命令切换默认shell(/bin/bash)时遇到的问题,重启打开Terminal命令终端时发现报错了:创建此终端的子进程时出错,Failed execute child process “/“(权限不够)。查看/etc/passwd文件时发现root的/bin/bash被替换为空白了,所以打开命令终端会出现报错,如图1-1-22、1-1-23。
图片17.png
图1-1-22 打开Terminal命令终端报错
图片18.png
图1-1-23 /etc/passwd配置文件内容

解决方案:
1、使用chsh -s /bin/bash命令将当前用户命令终端设置为/bin/bash,或直接修改/etc/passwd文件。
2、重启Kali系统时进入到高级选项中的恢复模式,按e键将ro single initrd=/install/gtk/initr\d.gz修改为rw single init=/bin/bash,进入单用户模式编辑/etc/passwd文件并给root用户加上/bin/bash,最后reboot重启系统即可,如图1-1-24、1-1-25。
图片19.png
图1-1-24 KaliLinux进入单用户模式
图片20.png
图1-1-25 root用户命令终端为bash


public.png