数据库配置文件解密
在红队项目中,拿到了webshell的我们通常会读取数据库配置文件从而进行下一步的渗透。然而有时候我们会发现,数据库的配置文件被加密了,本期我们就探讨一下常见的数据库连接池druid的配置文件加密和weblogic数据源默认加密的解密方式
Druid
看到配置文件名称为dbconfig.properties,首先想到的是druid,瞄一眼lib
Druid自带了一个加密用户名密码的小工具
我们尝试加密字符串 test
Java -cp druid-1.1.5.jar com.alibaba.druid.filter.config.ConfigTools test
编写代码进行解密
很简单,只需一行
源码分析
druid-1.0.9.jar!comalibabadruidfilterconfigConfigTools.class
可以发现1.0.9版本的公私钥已经写死了,所以解密起来十分轻松
两行代码就可以解决
druid 1.0.16版本之后略有不同
使用druid的ConfigTools对字符串进行加密会生成RSA的publickey、privateKey及密文
这个时候,直接调用decrypt方法进行解密就会有问题
我这里分析的是1.1.22版本,可以发现新版本中会输出公私钥
因为在配置文件中必然得写入公钥,所以。。。
Weblogic
之前护网中有遇到过老版本的,weblogic默认会将例如数据源的密码加密,老版本weblogic默认是3des加密,11g r1后是AES。下面是数据源文件的默认路径
11g r1前 默认路径是
/Oracle/Middleware/user_projects/domains/wl_server/security/boot.properties
之后的版本默认在
/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/security/boot.properties
也有可能会写在域的中心配置文件中
/Oracle/Middleware/user_projects/domains/{DOMAIN_NAME}/config/config.xml
Weblogic不同的数据域下,密钥都不相同,我们主要的工作是找到weblogicSerializedSystemIni.dat
/Oracle/Middleware/user_projects/domains/base_domain/security/SerializedSystemIni.dat
重复造轮子无聊且浪费生命
网上有很多的分析文章
🐏文版:
https://blog.netspi.com/decrypting-weblogic-passwords/
中文版:
http://bobao.360.cn/learning/detail/337.html
工具
https://github.com/NetSPI/WebLogicPasswordDecryptor
文章太水了,不好意思开赞赏了,溜了溜了。
下次一定不水了,下次一定。
原文始发于微信公众号(零队):数据库配置文件解密
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论