某信息管理系统Tomcat7弱口令拿shell漏洞复现


某系统Tomcat7弱口令拿shell漏洞复现

简介

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。Tomcat处理静态HTML的能力不如Apache服务器。

一、漏洞复现前提条件

(1)首先tomcat web管理界面开启。

(2)tomcat-users.xml里面的配置文件需要修改成如图所示。

(3)Tomcat支持在后台部署war文件,可以直接将webshell部署到web目录下。其中,欲访问后台,需要对应用户有相应权限。Tomcat7+权限分为:

manager(后台管理)

 manager-gui 拥有html页面权限
 manager-status 拥有查看status的权限
 manager-script 拥有text接口的权限,和status权限
 manager-jmx 拥有jmx权限,和status权限

host-manager(虚拟主机管理)

 admin-gui 拥有html页面权限
 admin-script 拥有text接口权限

(4)注:为什么需要上传war包,为什么不是tar.zip一类的?因为war包是用来进行Web开发时一个网站项目下的所有代码,包括前台HTML/CSS/JS代码,以及后台JavaWeb的代码。当开发人员开发完毕时,就会将源码打包给测试人员测试,测试完后若要发布则也会打包成War包进行发布。War包可以放在Tomcat下的webapps或word目录,当Tomcat服务器启动时,War包即会随之解压源代码来进行自动部署。

二、漏洞测试过程

目标站点:http://127.0.0.1:8080/

(1)打开系统,发现有Tomcat后台,点击Manager App。

(2)弱口令爆破 一般情况开启了Tomcat的WEB管理,管理人员的习惯都喜欢将账号设为tomcat或者admin,此时由于管理人员的安全意识不足,有可能将密码设置为弱口令,渗透测试人员可通过爆破工具,进行密码的暴力破解,本次使用的是burp的Intruder模块。爆破过程如下所示。

1)首先输入账号“tomcat”,密码输入“tomcat”,通过burp进行抓包,如下图所示。

2)此时通过Intruder进行账号与密码的暴力破解,本次为了演示方便,仅将账号设为tomcat,爆破登录密码,爆破过程如下所示。
①首先选择需要爆破的base64编码的账号及密码,通过base64解密发现,账号和密码的组合方式是tomcat:tomcat,即是账号:密码,总共分为三段,如下图所示。

②选择Payload type模块为:Custom iterator,下面第一段是账号,此处填写为tomcat,如下图所示。

③下面第二段是填入”:”,如下图所示。

④第三段填入常用的弱密码,如下图所示。

⑤然后选择Base64编码模块,并且取消URL-encode these characters,如下图所示。

⑥最后开始进行暴力破解,破解出密码,如下图所示。通过base64解密,账号和密码均为admin

(3)登录后台后,进行war包部署。

(4)方法1:先将jsp大马压缩为zip,再将zip后缀改名为war,然后上传war包;方法2:安装Java环境,用jar cvf命令生成war包。

(5)点击上传,最后访问http://127.0.0.1:8080/文件名/文件名.jsp。服务器不给访问,估计有waf拦截,但是没关系,可以用菜刀连接上。

(6)最后GetShell

思路一:菜刀/蚁剑/C刀/冰蝎连接成功后,就可以上传大马进行提权getshell,最终拿下整个服务器。

思路二:可以用msfconsole的exploit/multi/http/tomcat_mgr_upload模块进行getshell。

三、修复方案

1、在系统上以低权限运行Tomcat应用程序。创建一个专门的 Tomcat服务用户,该用户只能拥有一组最小权限(例如不允许远程登录)。

2、增加对于本地和基于证书的身份验证,部署账户锁定机制(对于集中式认证,目录服务也要做相应配置)。在CATALINA_HOME/conf/web.xml文件设置锁定机制和时间超时限制。

3、以及针对manager-gui/manager-status/manager-script等目录页面设置最小权限访问限制。

四、Tomcat常见漏洞

Tomcat manager 弱口令或爆破 && 后台getshell漏洞

Tomcat PUT任意文件写入(CVE-2017-12615)

Tomcat win版默认空口令漏洞(CVE-2009-3548)

Tomcat 远程代码执行(CVE-2019-0232)

Tomcat 反序列化漏洞(CVE-2016-8735)

                           最后来听首歌放松一下

文章作者: 洋葱
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 洋葱 !
 上一篇
Centos7+Docker安装码小六GitHub代码泄露监控系统 Centos7+Docker安装码小六GitHub代码泄露监控系统
简介 码小六是一款 GitHub 代码泄露监控系统,通过定期扫描 GitHub 发现代码泄露行为,为企业安全保驾护航! 系统特点:1、全可视化界面,操作简单2、支持 GitHub 令牌管理及智能调度3、扫描结果信息丰富,支持批量操作4、任
2020-07-04
下一篇 
某大学缴费平台一处水平越权和任意密码重置 某大学缴费平台一处水平越权和任意密码重置
某大学缴费平台一处水平越权和任意密码重置简介 水平越权访问是一种“基于数据的访问控制”设计缺陷引起的漏洞。由于服务器端在接收到请求数据进行操作时没有判断数据的所属人/所属部门而导致的越权数据访问漏洞。Web应用程序在接收到用户的请求时,我们
2020-04-26
  目录