Metasploit中的一个扫描神器 -- WMAP

Metasploit是一个极其强大的渗透测试框架,包含了巨量模块。但是,模块数量众多,使得在使用的时候也很不方便。于是就有了WMAP。这个工具可以一次运用多个模块,并将结果保存在数据库中,十分方便。

由于在学习过程中,在百度上搜索时没能找到WMAP的较为专门描述的文章,就打算翻译一个英文教程,让大家的学习更方便。

以下是文章正文:



什么是WMAP?


WMAP 是一款最初由 SQLMap 创建而来的多功能网络应用漏洞扫描器.这个工具整合在Metasploit中,并且可以从Metasploit Framework中启动进行 网站扫描.

用WMAP进行漏洞扫描

我们首先要创建一个数据库来保存我们的 WMAP 扫描结果, 加载 “wmap” 插件, 然后输入 “help”来看看我们多了哪些新命令可以使用.

msf > load wmap.-.-.-..-.-.-..---..---.
| | | || | | || | || |-‘
`-----‘`-‘-‘-‘`-^-‘`-‘[WMAP 1.5.1] ===  et [  ] metasploit.com 2012[*] Successfully loaded plugin: wmap

msf >  helpwmap Commands
=============

    Command       Description
    -------       -----------
    wmap_modules  Manage wmap modules
    wmap_nodes    Manage nodes
    wmap_run      Test targets
    wmap_sites    Manage sites
    wmap_targets  Manage targets
    wmap_vulns    Display web vulns...snip...
wmap命令
=================
命令                 描述
----------          ----------------------------
wmap_modules         管理wmap模块
wmap_nodes           管理结点
wmap_run             测试目标
wmap_sites           管理站点
wmap_targets         管理目标
wmap_vulns           显示扫描到的漏洞

在进行扫描之前, 我们需要用 “wmap_sites”.和“-a”参数来添加一个新的目标url. 然后, 执行 “wmap_sites -l” 命令打印出所有已添加目标.

msf > wmap_sites -h
[*]Usage: wmap_targets [options]
        -h        Display this help text
        -a [url]  Add site (vhost,url)
        -l        List all available sites
        -s [id]   Display site structure (vhost,url|ids) (level)
       
msf > wmap_sites -a http://172.16.194.172
[*] Site created.
msf > wmap_sites -l
[*] Available sites
===============
     Id  Host            Vhost           Port  Proto  # Pages  # Forms
     --  ----            -----           ----  -----  -------  -------
     0   172.16.194.172  172.16.194.172  80    http   0        0
msf > wmap_sites -h
[*] Usage: wmap_sites [options]
    -h              显示帮助说明
    -a [url]       添加站点(vhost,url)
    -d [ids]      删除站点(用空格将id隔开)
    -l               列出所有站点
    -s [id]        显示url结构 (vhost,url|ids) (level)

接着, 用 “wmap_targets”命令添加一个目标.

msf > wmap_targets -h[*] Usage: wmap_targets [options]
        -h              Display this help text
        -t [urls]       Define target sites (vhost1,url[space]vhost2,url) 
        -d [ids]        Define target sites (id1, id2, id3 ...)
        -c              Clean target sites list
        -l              List all target sites

msf > wmap_targets -t http://172.16.194.172/mutillidae/index.php
msf > wmap_targets -h
[*] Usage: wmap_targets [options]
    -h            显示帮助说明
    -t [urls]     用url将已经添加的一个或者多个站点定义为目标。url用空格隔开。(vhost1,url[space]vhost2,url)
    -d [ids]      用id将已经添加的一个或者多个站点定义为目标。 id用逗号隔开。(id1, id2, id3 ...)
    -c            清除目标列表
    -l            显示所有目标

添加目标后, 我们可以用 ‘-l’ 显示所有目标.

msf > wmap_targets -l
[*] Defined targets
===============

     Id  Vhost           Host            Port  SSL    Path
     --  -----           ----            ----  ---    ----
     0   172.16.194.172  172.16.194.172  80    false    /mutillidae/index.php

“wmap_run” 命令就可以开始扫描目标了.

msf > wmap_run -h[*] Usage: wmap_run [options]
        -h                        Display this help text
        -t                        Show all enabled modules
        -m [regex]                Launch only modules that name match provided regex.
        -p [regex]                Only test path defined by regex.
        -e [/path/to/profile]     Launch profile modules against all matched targets.
                                  (No profile file runs all enabled modules.)
msf > wmap_run -h
[*] Usage: wmap_run [options]
    -h                              显示帮助说明
    -t                              显示所有可用模块
    -m [regex]                      启用名字匹配正则表达式的模块.
    -p [regex]                      只测试匹配正则表达式的路径.
    -e [/path/to/profile]           对所有匹配的目标启用配置中的模块.
                                         (若无配置,则启用所有可用模块.)

我们可以用 “-t” 参数来列出扫描中将要用到的模块.

msf > wmap_run -t

[*] Testing target:
[*]         Site: 192.168.1.100 (192.168.1.100)
[*]         Port: 80 SSL: false
[*] ============================================================
[*] Testing started. 2012-01-16 15:46:42 -0500
[*] 
=[ SSL testing ]=
[*] ============================================================
[*] Target is not SSL. SSL modules disabled.
[*] 
=[ Web Server testing ]=
[*] ============================================================
[*] Loaded auxiliary/admin/http/contentkeeper_fileaccess ...
[*] Loaded auxiliary/admin/http/tomcat_administration ...
[*] Loaded auxiliary/admin/http/tomcat_utf8_traversal ...
[*] Loaded auxiliary/admin/http/trendmicro_dlp_traversal ...
..snip...

msf >

剩下的步骤就是对我们的目标启动 WMAP扫描.

msf > wmap_run -e
[*]Using ALL wmap enabled modules.
[-]NO WMAP NODES DEFINED. Executing local modules
[*]Testing target:
[*]Site: 172.16.194.172 (172.16.194.172)
[*]Port: 80 SSL: false
============================================================
[*]Testing started. 2012-06-27 09:29:13 -0400
[*]
=[ SSL testing ]=
============================================================
[*]Target is not SSL. SSL modules disabled.
[*]
 =[ Web Server testing ]=
============================================================
[*]Module auxiliary/scanner/http/http_version
[*]172.16.194.172:80 Apache/2.2.8 (Ubuntu) DAV/2 ( Powered by PHP/5.2.4-2ubuntu5.10 )
[*]Module auxiliary/scanner/http/open_proxy
[*] Module auxiliary/scanner/http/robots_txt
..snip...
..snip...
..snip...
[*]Module auxiliary/scanner/http/soap_xml
[*]Path: /
[*]Server 172.16.194.172:80 returned HTTP 404 for /.  Use a different one.
[*]Module auxiliary/scanner/http/trace_axd
[*]Path: /
[*]Module auxiliary/scanner/http/verb_auth_bypass
[*]
 =[ Unique Query testing ]=
============================================================
[*]Module auxiliary/scanner/http/blind_sql_query
[*]Module auxiliary/scanner/http/error_sql_injection
[*]Module auxiliary/scanner/http/http_traversal
[*]Module auxiliary/scanner/http/rails_mass_assignment
[*]Module exploit/multi/http/lcms_php_exec
[*]
=[ Query testing ]=
============================================================
[*]
=[ General testing ]=
============================================================
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Launch completed in 212.01512002944946 seconds.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[*]Done.

扫描结束后, 我们可以查看数据库,看看 WMAP给我们找到了什么有趣的东西.

msf > wmap_vulns -l
[*] + [172.16.194.172] (172.16.194.172): scraper /
[*]     scraper Scraper
[*]     GET Metasploitable2 - Linux
[*] + [172.16.194.172] (172.16.194.172): directory /dav/
[*]     directory Directory found.
[*]     GET Res code: 200
[*] + [172.16.194.172] (172.16.194.172): directory /cgi-bin/
[*]     directory Directoy found.
[*]     GET Res code: 403...snip...msf >

上面的信息告诉我们 WMAP 找到了一个可用漏洞. 执行“vulns” 命令来查看详细信息.

msf > vulns[*] Time: 2012-01-16 20:58:49 UTC Vuln: host=172.16.2.207 port=80 proto=tcp name=auxiliary/scanner/http/options refs=CVE-2005-3398,CVE-2005-3498,OSVDB-877,BID-11604,BID-9506,BID-9561
msf >

用了WMAP进行 漏洞扫描 后, 我们能够使用这些扫描结果来对报告的漏洞收集更深入的信息. 作为渗透测试人员, 我们要更深入的调查每个发现,并找出是否有潜在的攻击方法.



总结一下WMAP的用法:

msf>wmap_sites -a url         添加url

msf>wmap_targets -t url     添加目标

msf>wmap_run -e                开搞

msf>vulns                              查看漏洞详细信息

时间: 2024-10-12 15:34:38

Metasploit中的一个扫描神器 -- WMAP的相关文章

Qt5-控件-QRadioButton-单选按钮-用于从多个选项中选取一个-单选神器

#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QRadioButton> #include <QButtonGroup> class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = 0); ~MainWindow(); QRadioButton* radio

Kail Linux渗透测试教程之在Metasploit中扫描

Kail Linux渗透测试教程之在Metasploit中扫描 在Metasploit中扫描 在Metasploit中,附带了大量的内置扫描器.使用这些扫描器可以搜索并获得来自一台计算机或一个完整网络的服务信息.本节将介绍使用Metasploit中的辅助模块实现扫描. [实例4-4]在Metasploit中,扫描目标主机.具体操作步骤如下所示: (1)启动MSF终端.执行命令如下所示: root@kali :~# msfconsole msf> (2)搜索所有可用的扫描模块.执行命令如下所示:

怎么在我们的App中集成条码扫描功能?

现在很多App都有条码扫描功能,有的手机比如某米在照相机中集成了条码扫描功能,但是还有一部分手机没有这样的集成,比如韩国某星,需要自己下载一个条码扫描App.今天我们就来看看怎么在自己的App中集成一个条码扫描的功能. 本文源码下载地址http://download.csdn.net/detail/u012702547/9101419 先来看张效果图: 自己开发一个条码扫描显然是非常不现实的,我们可以使用GitHub上的开源控件ZXing来实现这样一个功能. 使用ZXing当然要先下载:http

Python中的网络扫描大杀器Scapy初探

Python中的网络扫描大杀器Scapy初探     最近经历了Twisted的打击,这个网络编程实在看不懂,都摸不透它的内在逻辑,看来网络编程不是那么好弄的.还好,看到了scapy,这种网络的大杀器,让我一看就爱不释手,这才是我需要的网络工具啊.Scapy的功能如此之多,以至于...我到现在还是没看懂.在官方网站也介绍的不多,后来搜了一下,有一本书Security Power Tools一书中,第六章介绍了Scapy,虽然简单,但是还是不明白,这两天一直在忙活着看Scapy.看了几个应用,比较

传递给数据库 &#39;master&#39; 中的日志扫描操作的日志扫描号无效

错误:连接数据库的时候提示:SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确 C:\Documents and Settings\Administrator>"C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release\setup.exe" /q /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS

在iOS中使用ZBar扫描二维码

最近在做的项目中需要用到二维码扫描功能,之前在Android中使用过ZXing识别二维码,ZXing也有对应的iOS版本,经过了解,ZBar也是一个常用的二维码识别软件,并分别提供了iOS和Android的SDK可供使用,最终我选择了ZBar进行二维码识别,它的注释清晰,便于使用. ZBar为我们提供了两种使用方式,一种是直接调用ZBar提供的ZBarReaderViewController打开一个扫描界面,另一种方式是使用ZBar提供的可以嵌在其他视图中的ZBarReaderView,实际项目

Metasploit中数据库的密码查看以及使用pgadmin远程连接数据库

我们都知道,在msf下进行渗透测试工作的时候,可以将结果数据保存到数据库中,方便各个小组成员在渗透测试过程中的数据同步. 例如,Metasploit提供了db_nmap命令,它能够将Nmap扫描结果直接存入数据库中,此外还提供了db_import命令,支持多达20中扫描器扫描结果的导入. Metasploit支持多种数据库,如:MySQL.SQLite3.PostgreSQL,其中PostgreSQL被作为默认数据库使用. 要启用msfconsole的时候,首先需要启用postgresql和me

在iOS中使用ZBar扫描二维码和条形码

最近做了个外包项目,里面用到了二维码扫描和微信支付!之前比较熟悉的是ZXing,但是在Xcode7.1里面发现竟然莫名的不支持,木有办法,从网上查了一下还有一种支持二维码扫描的东西,没错就是接下来我要说的东东,二维码扫描的利器 ZBarSDK.闲言少絮叨,言归正传! 1.下载 ZBarSDK 官网 https://github.com/bmorton/ZBarSDK 2.导入如下框架 3.在AppDelegetem文件中#import "ZBarSDK.h" 并且 在 - (BOOL)

metasploit中meterpreter命令

meterpreter是Metasploit框架中的一个杀手锏,通常作为漏洞溢出后的攻击载荷所使用,攻击载荷在触发漏洞后能够返回给我们一个控制通道. 常见的meterpreter命令 run scriptname       运行Meterpreter脚本,在scripts/meterpreter目录下可查看所有的脚本名. sysinfo                    列出受控主机的系统信息.   ls                             列出目标主机的文件和文件夹信