#compdef msfvenom # ------------------------------------------------------------------------------ # License # ------- # This file is part of the Metasploit Framework and is released under the MSF # License, please see the COPYING file for more details. # # ------------------------------------------------------------------------------ # 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"