Apache Tomcat 是世界上使用最广泛的Java Web应用服务器之一,绝大数人都会使用Tomcat的默认配置。然而默认配置中会有一个向外网开放的Web应用管理器,管理员可以利用它在服务器中启动、停止、添加和删除应用。
在这个教程中,我们要执行下面几个步骤:
1、搭建实验环境
2、Msf环境准备
3、实战演练
4、原理剖析
5、Getshell
搭建实验环境
本次用例基于 XAMPP软件,一键部署,简单方便。
但在此期间有几个问题应当注意:
1、前提你要配置java环境以及JDK,具体操作可以使用搜索引擎来解决。
2、然后自行安装Xampp软件,官网:
https://www.apachefriends.org/index.html
3、此时,假设你已经成功安装Xampp,这时打开Tomcat,然后看到下面这个现象,说明你已经成功启动:
4、接下来打开浏览器,输入127.0.0.1:8080,会进入Apache界面(注意:有时会出现端口冲突情况,这个百度一下操作,自己改一下就好了)
5、然后点击Manager APP 进入Tomcat Web应用程序管理界面,
其默认路径在 /manager/html
。但在进入之前,我们需要账号密码。
初次使用,我们需要先配置一个账号密码,在Tomcat目录下的
/xampp/tomcat/conf/tomcat-users.xml
文件中来配置,使用记事本打开即可
注意:在这个地方,我们添加这一行即可,仅是为了测试使用。值得注意的是,在标红的roles
规则设置,这个需要设置正确,不然会无法进入管理界面并且报错为403。现在我尝试将规则设置为了其他权限,因此进入不了管理界面,从图中我们发现,如果想进入该界面则需要其中的权限规则,因此我们只需要将roles设置为报错的权限规则,即可进入,如下图标红所示:
实验环境基本配置完成了,现在我们是知道账号密码的。假设我们不知道账号密码,即可进入下面操作来破解账号密码,具体war部署,以及Getshell放在下面进行操作,此步骤仅是为了搭建实验环境。
Msf环境准备
如果你是第一次运行msf,你需要先启动数据库服务并初始化(msf使用的是PostgreSQL数据库来存储日志和结果)
启动PostgreSQL:
1service postgresql start
创建并初始化数据库:(kali 默认已经初始化数据库)
1msfdb init
然后就可以启动msf了:
1msfconsole
实战演练
在此之前,我想先说一下,我们在暴力破解账号密码时同样可以使用hydra和burp,不同攻击都有不同方法,这次我们仅仅谈论Metasploit下的相关模块,来进行针对性破解。
1、靶机xxx有一个Tomcat服务,为8080端口,浏览器访问:
http://192.168.206.1:8080/manager/html
或者
http://127.0.0.1:8080/manager/html
2、可以看到弹出了一个认证界面,要求输入账号密码,抛开实验环境来谈,我们并不知道目标账号密码,那么现在我们可以使用利器metasploit来破解账号密码。
3、打开终端,输入msfconsole启动metasploit:
4、待启动后,我们需要加载Tomcat爆破模块,输入以下命令:
5、我们可以使用以下命令,查看该模块具体需要哪些参数
6、现在可以设置目标IP了,输入以下内容:
1set RHOSTS 目标IP地址
注意:在我们此次实验环境中,我的Xampp是在windows下安装的,因此这时设置的不是127.0.0.1这个地址,而是在win下的cmd中输入ipconfig
下显示出来ip地址。在前面实验环境搭建情况下,同样可以使用这个IP打开网页。在此实验环境下我的IP地址为192.168.206.1
,其中一些设置看后面那张图。
7、为了使运行速度快一点(也不能太快),可以使用以下命令设置线程:
1set THREADS 5
8、为了不使我们的服务器因为大量的请求而崩溃,破解速度我们设置低一些:
1set BRUTEFORCE_SPEED 3
9、查看修改后的选项:
1show options
10、其余的参数使用默认值,设置完成后,输入run来启动攻击
11、经过一些失败的结果,终于发现了有效的密码(绿色的结果),因为我默认设置的为admin:admin
,这个弱密码第一个就是,哈哈哈,但是实际情况中呢,不一定什么时候成功,多半要参与一些社工技巧,这个就自由发挥吧。
12、手动输入密码进行验证,登录成功!接下来,该尝试War包部署,并且Getshell
转载请注明:XAMPP中文组官网 » 利用Metasploit破解Tomcat登录密码并通过war包部署Getshell