From 5900f478297d621810883f32792ec1b23bce8d83 Mon Sep 17 00:00:00 2001 From: David Tomaschik Date: Wed, 16 Mar 2016 04:12:35 -0700 Subject: [PATCH] Add completions for common msf commands. --- .../zsh_custom/plugins/metasploit/_msfconsole | 58 ++++++++++ .../zsh_custom/plugins/metasploit/_msfvenom | 100 ++++++++++++++++++ 2 files changed, 158 insertions(+) create mode 100644 dotfiles/zsh_custom/plugins/metasploit/_msfconsole create mode 100644 dotfiles/zsh_custom/plugins/metasploit/_msfvenom diff --git a/dotfiles/zsh_custom/plugins/metasploit/_msfconsole b/dotfiles/zsh_custom/plugins/metasploit/_msfconsole new file mode 100644 index 0000000..015d67b --- /dev/null +++ b/dotfiles/zsh_custom/plugins/metasploit/_msfconsole @@ -0,0 +1,58 @@ +#compdef msfconsole +# ------------------------------------------------------------------------------ +# Copyright (c) 2014 Spencer McIntyre +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the project nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# ------------------------------------------------------------------------------ +# Description +# ----------- +# +# Completion script for the Metasploit Framework's msfconsole command +# (http://www.metasploit.com/). +# +# ------------------------------------------------------------------------------ +# Authors +# ------- +# +# * Spencer McIntyre +# +# ------------------------------------------------------------------------------ + +_arguments \ + {-a,--ask}"[Ask before exiting Metasploit or accept 'exit -y']" \ + "-c[Load the specified configuration file]:configuration file:_files" \ + {-d,--defanged}"[Execute the console as defanged]" \ + {-E,--environment}"[Specify the database environment to load from the configuration]:environment:(production development)" \ + {-h,--help}"[Show help text]" \ + {-L,--real-readline}"[Use the system Readline library instead of RbReadline]" \ + {-M,--migration-path}"[Specify a directory containing additional DB migrations]:directory:_files -/" \ + {-m,--module-path}"[Specifies an additional module search path]:search path:_files -/" \ + {-n,--no-database}"[Disable database support]" \ + {-o,--output}"[Output to the specified file]:output file" \ + {-p,--plugin}"[Load a plugin on startup]:plugin file:_files" \ + {-q,--quiet}"[Do not print the banner on start up]" \ + {-r,--resource}"[Execute the specified resource file]:resource file:_files" \ + {-v,--version}"[Show version]" \ + {-x,--execute-command}"[Execute the specified string as console commands]:commands" \ + {-y,--yaml}"[Specify a YAML file containing database settings]:yaml file:_files" diff --git a/dotfiles/zsh_custom/plugins/metasploit/_msfvenom b/dotfiles/zsh_custom/plugins/metasploit/_msfvenom new file mode 100644 index 0000000..42155fe --- /dev/null +++ b/dotfiles/zsh_custom/plugins/metasploit/_msfvenom @@ -0,0 +1,100 @@ +#compdef msfvenom +# ------------------------------------------------------------------------------ +# Copyright (c) 2014 Spencer McIntyre +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of the project nor the +# names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# ------------------------------------------------------------------------------ +# Description +# ----------- +# +# Completion script for the Metasploit Framework's msfvenom command +# (http://www.metasploit.com/). +# +# ------------------------------------------------------------------------------ +# Authors +# ------- +# +# * Spencer McIntyre +# +# ------------------------------------------------------------------------------ + +_msfvenom_encoders_list=( + 'cmd/generic_sh' + 'cmd/ifs' + 'cmd/powershell_base64' + 'cmd/printf_php_mq' + 'generic/eicar' + 'generic/none' + 'mipsbe/byte_xori' + 'mipsbe/longxor' + 'mipsle/byte_xori' + 'mipsle/longxor' + 'php/base64' + 'ppc/longxor' + 'ppc/longxor_tag' + 'sparc/longxor_tag' + 'x64/xor' + 'x86/add_sub' + 'x86/alpha_mixed' + 'x86/alpha_upper' + 'x86/avoid_underscore_tolower' + 'x86/avoid_utf8_tolower' + 'x86/bloxor' + 'x86/call4_dword_xor' + 'x86/context_cpuid' + 'x86/context_stat' + 'x86/context_time' + 'x86/countdown' + 'x86/fnstenv_mov' + 'x86/jmp_call_additive' + 'x86/nonalpha' + 'x86/nonupper' + 'x86/opt_sub' + 'x86/shikata_ga_nai' + 'x86/single_static_bit' + 'x86/unicode_mixed' + 'x86/unicode_upper' +) + +_msfvenom_encoder() { + _describe -t encoders 'available encoders' _msfvenom_encoders_list || compadd "$@" +} + +_arguments \ + {-a,--arch}"[The architecture to encode as]:architecture:(cmd generic mipsbe mipsle php ppc sparc x64 x86)" \ + {-b,--bad-chars}"[The list of characters to avoid, example: '\x00\xff']:bad characters" \ + {-c,--add-code}"[Specify an additional win32 shellcode file to include]:shellcode file:_files" \ + {-e,--encoder}"[The encoder to use]:encoder:_msfvenom_encoder" \ + {-f,--format}"[Output format]:output format:(bash c csharp dw dword java js_be js_le num perl pl powershell ps1 py python raw rb ruby sh vbapplication vbscript asp aspx aspx-exe dll elf exe exe-only exe-service exe-small loop-vbs macho msi msi-nouac osx-app psh psh-net psh-reflection vba vba-exe vbs war)" \ + "--help-formats[List available formats]" \ + {-h,--help}"[Help banner]" \ + {-i,--iterations}"[The number of times to encode the payload]:iterations" \ + {-k,--keep}"[Preserve the template behavior and inject the payload as a new thread]" \ + {-l,--list}"[List a module type]:module type:(all encoders nops payloads)" \ + {-n,--nopsled}"[Prepend a nopsled of length size on to the payload]:nopsled length" \ + {-o,--options}"[List the payload's standard options]" \ + "--platform[The platform to encode for]:target platform:(android bsd bsdi java linux netware nodejs osx php python ruby solaris unix win)" \ + {-p,--payload}"[Payload to use. Specify a '-' or stdin to use custom payloads]:payload" \ + {-s,--space}"[The maximum size of the resulting payload]:length" \ + {-x,--template}"[Specify an alternate executable template]:template file:_files"