目录
一.Apache Tomcat简介
Apache tomcat是世界上使用最广泛的java web应用服务器之一,绝大多数人都会使用tomcat的默认配置。默认配置中会有一个向外网开放的web应用管理器,管理员可以利用它在服务器中启动、停止、添加和删除应用。
Apache Tomcat网址:Apache Tomcat® - Welcome!https://tomcat.apache.org/
二.实验环境配置
1.启动数据库服务并初始化
Msf使用的是postgreSQL数据库来存储日志和结果
启动postgreSQL的命令:
service postgresql start
创建并初始化数据库的命令:
msfdb init
2.在终端中输入命令“msfconsole”,启动MSF终端
3.需要用到的靶场是OWSAP,OWSAP的IP为192.168.17.129
三.攻击过程
1. 打开靶场中的Tomcat Server
在kali linux的firefox浏览器中输入http://192.168.17.129:8080/manager/html
由下图可以看到靶机中有一个Tomcat Server服务在运行,端口是8080,通过浏览器进行访问。
还可以看到弹出了一个认证界面,要求输入账号密码,抛开实验环境来谈,并不知道目标账号密码,那么现在我可以使用利器metasploit来破解账号密码。
2. .启动后我们需要加载tomcat爆破模块,在msf>后输入, 启用漏洞利用模块, 提示符就会提示进入到该路径下
useauxiliary/scanner/http/tomcat_mgr_login
3.我们可以用这个命令看看需要什么参数:
show options
4.现在可以设置目标主机ip了
set rhosts 192.168.17.129
5.为了使运行速度快一点(不能太快!),可以用这个命令设置线程:
set threads 5
6.为了不使我们的服务器因为太大量请求而奔溃,破解速度我们降低一点:
set bruteforce_speed 3
7.其余参数使用默认值,设置完成后,输入run来启动攻击!
8.mcat_mgr_login模块相关参数解释:
- BLANK_PASSWORDS: 为每一个账号提供一个空密码测试
- PASSWORD: 设置这个可以一密码多用户的方式进行测试
- PASS_FILE: 输入你想使用的密码字典路径 Proxies: 为了避免被检测到源地址,可以使用这个代理功能
- RHOSTS:填写要测试的主机(可以是多个,以空格分隔。也可以是一个清单文件)
- RPORT:设置目标tomcat运行端口 STOP_ON_SUCCESS:当破解成功后停止攻击
- TARGERURI:管理界面的目录路径
- USERNAME:定义要测试的用户名(可以使单个,也可以是一个字典文件)
- USER_PASS_FILE:使用 用户名/密码 格式的字典文件
- USER_AS_PASS:尝试使用测试中的用户名作为密码 一旦成功进入tomcat管理界面,就能看到并操作安装在上面的应用。 此外可以上传自己的应用(包括能在服务器执行命令的应用)。
9.在一些失败结果后,会发现了一个有效的用户名和密码!(出现一个绿色的结果)
10.手动输入上一个步骤通过爆破获得了用户名root和密码owaspbwa,尝试用该用户名和密码登录。
四.总结
渗透攻击是目前Metasploit 最强大和最具吸引力的核心功能,Metasploit 框架中集成了数百个针对主流操作系统平台上,不同网络服务与应 用软件安全漏洞的渗透攻击模块,可以由用户在渗透攻击场景中根据漏洞扫描结果进行选择,并能够自由装配该平台上适用的具有指定功能的攻击载荷, 然后通过自动化编码机制绕过攻击限制与检测措施,对目标系统实施远程攻击,获取系统的访问控制权。
metasploit是一个的渗透测试开源软件,也是一个逐步发展成熟的漏洞研究与渗透测试代码开发平台,此外也将成为支持整个渗 透测试过程的安全技术集成开发与应用环境。
使用metasploit某个模块对tomcat管理界面实施密码暴力破解攻击以获得一个管理器的访问权限。 ,对于tomcat框架的网站,默认tomcat的管理后台在/manager/html下。而如果管理员使用弱口令进行登陆的话,则可能通过爆破的方式进行登入。使用 Metasploit 模块来执行 Tomcat 服务器上的字典攻击来获得管理器应用的访问,一旦我们获得了 Tomcat 管理器的身份认证,攻击过程就相当直接了,我们仅仅需要足以让我们上传它的应用。