目前很多大型网站和公司都采用Java做为支撑,Tomcat是应用(Java)服务器,它只是一个servlet容器,是Apache的扩展,其后台管理功能非常强大,可以用来直接部署war文件。除了用来部署正常的应用外,还可以用其来获取webshell,在渗透中,一旦获取了Tomcat后台管理账号,意味着99%的几率可以获取webshell,而且极有可能获得服务器权限。
11.1Tomcat配置文件
Tomcat的配置文件并不多,分别由context.xml、web.xml、server.xml和tomcat-users.xml 4个xml文件组成,每个文件都有自己的功能与配置方法。Context.xml 是Tomcat 公用的环境配置,Tomcat服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变了),就会自动重新加载这个文件,而不需要重启服务器。
web.xml是Web应用程序描述文件,都是关于是Web应用程序的配置文件,所有Web应用的 web.xml 文件的父文件;server.xml是对tomcat的设置,可以设置端口号,添加虚拟机这些的,是对服务器的设置;tomcat-users.xml是配置关于用户角色、管理员的信息,后台管理账号就在该文件中进行配置。
11.2Tomcat后台管理账号及密码获取思路及方法
ApacheTomcat后台账号及密码可以有一些方法来获取:
1.程序存在文件包含漏洞
通过应用程序或者web程序文件包含漏洞来读取Tomcat配置文件tomcat-users.xml。
2.源代码泄露
为了部署方便,有些公司会将Tomcat整个应用程序及web程序进行打包,一旦源代码泄露也可以获取Tomcat用户配置文件。
3.暴力破解
通过一些工具对后台口令进行暴力破解。
11.3使用Apache Tomcat Crack暴力破解Tomcat口令
1.设置目标
在起始IP地址中输入“216.84.0.1”,在终止地址中输入“216.120.0.1”,单击“添加”按钮,将该地址段添加到扫描地址段中,如图1所示,其它使用默认设置,单击“开始”即开始暴力破解Tomcat服务器口令。
图1暴力破解Tomcat口令
2.自定义密码字典
单击设置,可以自定义密码字典,密码字典使用原则是先简单后容易,对于已经获取了内网部分权限时,可以使用收集的密码进行暴力破解。
3.登录尝试
在扫描结果中选择“http://216.86.144.162:8080/manager/html”,然后登录测试,如图2所示,单击“Tomcat Manager”进行登录测试,输入用户名和密码进行登录,如果能够正常登录,则可以进行后续获取webshell步骤。
图2对扫描结果进行测试
11.4获取webshell
1.部署war格式的Webshell
进入到“Tomcat Manager”管理后台后,到最下方进行war文件的部署,如图3所示,单击“浏览”,选择一个war的Webshell,该Webshell必须是Jsp的Webshell,war格式可以在压缩时将后缀名字自定义为war即可。
图3部署war格式的Webshell
2.查看Web部署情况
文件上传成功后,Tomcat会自动部署war文件,如图4所示,可以看到在后台中多了一个Browser的链接,单击该链接即可进入部署的文件夹下。部署成功后,可以对部署的JSP Webshell 启用(start)、停止(stop)、重载(Reload)和卸载(Undeploy)。
图4查看Web部署情况
5.获取Webshell
在部署时,尽量命名Jsp文件为index.jsp,这样在部署成功后,访问部署的链接地址即可,否则需要使用“部署文件夹+具体的webshell名称”才能正确访问Webshell地址,如图5所示。
图5获取Webshell
11.5webshell后渗透
1.查看用户权限
在Webshell中单击“系统命令”,进入执行命令界面,如图6所示,在文本框中输入“id”命令,获取系统当前用户的权限等信息。
图6获取当前用户信息
2.上传其他的Webshell
通过获取的Webshell上传一个Jbrowser的Webshell,此Webshell浏览文件非常方便,如图7所示。
图7上传Webshell
3.获取系统加密的用户密码
在执行命令中输入“cat /etc/shadow”命令获取当前linux系统中的所用用户的加密密码值,如图8所示,该密码是采用md5加密的,通过cmd5.com网站进行破解。
图8获取系统用户密码加密值
4.获取root用户的历史操作记录
在执行命令中输入“cat /root/.bash_history”命令查看root用户的历史操作记录,只有具有root用户权限才能查看该历史记录文件,如图9所示。
图9查看root用户的历史操作记录
5.查看该网站域名情况
使用“www.yougetsignal.com”网站的反查IP域名,获取该IP地址的两个域名“communityaccesssystems.com”和“richardliggitt.com”,如图10所示,单击该域名查看域名能否正常访问。
图10查看该网站域名情况
6.获取该网站的真实路径
通过查看“/etc/passwd”文件中的网站用户来获取网站的真实路径,如图11所示,通过webshell定位到网站的真实路径。在“/etc/passwd”文件中会指定单独的用户作为网站用户,同时会指定该用户的默认目录,该默认目录即为网站的真实路径。
图11获取网站的真实路径
7.留Webshell后门
找到网站的真实路径后,继续查看该文件夹下的文件和内容,如图12所示,该文件夹为testphp,即为php的测试文件夹,上传一个网页木马或者在源代码中加入一句话后门。
图12网站留后门
11.6扫描总结与安全防御
1.扫描总结
本文介绍了如何通过Apache Tomcat Crack来暴力破解Tomcat口令,只要知道用户的名称,通过字典能够对目标进行暴力破解,获取Tomcat管理员的用户名和密码后可以通过war文件来部署jsp的Webshell,如果设置不当,获取的Webshell权限即为root权限,弱口令常见admin/admin、tomcat/tomcat等。
2.安全防御
(1)设置tomcat后台管理员帐号为强口令密码,增加破解的成本。
(2)如果有必要,可以禁止后台管理功能,在临时需要时开启,使用结束将其关闭。
本文始发于微信公众号(小兵搞安全):Tomcat后台管理账号扫描利用及防御
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论