如何巧妙构建“LDAPS”服务器利用JNDI注入
原文中文,约4300字,阅读约需11分钟。
📝
内容提要
这篇文章介绍了如何使用ldaps进行JNDI注入的漏洞探测。ldaps是将普通的LDAP协议通信过程包裹一层TLS,可以通过CoNote等工具进行搭建LDAPS服务器。文章还提到了Opportunistic TLS和LDAPS两种安全传输方式,并介绍了利用JNDInjector等工具建立恶意ldaps服务器的方法。最后演示了利用JNDInjector成功执行命令的过程。
❓
Q&A
ldaps是什么,它与LDAP有什么区别?
ldaps是将LDAP协议通信过程包裹一层TLS的安全传输方式,区别在于ldaps在连接时直接使用TLS,而LDAP则是明文通信。
如何使用CoNote搭建LDAPS服务器?
可以通过CoNote中的功能生成或绑定自定义域名,并在LDAP日志页面生成ldaps URL进行探测。
JNDI注入漏洞的探测是否受Java版本影响?
探测JNDI注入漏洞不受Java版本影响,但后续命令执行可能受限于Java版本。
如何利用JNDInjector生成恶意ldaps URL?
可以使用JNDInjector选择利用链与Payload,生成ldap协议的恶意URL,并通过TLS反向代理实现ldaps请求的转发。
Opportunistic TLS和LDAPS的主要区别是什么?
Opportunistic TLS在明文通信中找机会升级为TLS,而LDAPS则在连接时直接使用TLS进行加密。
如何实现TLS端口转发?
可以通过编写TLS反向代理,将ldaps请求转发给JNDInjector,使用tls.Listen创建TCP over TLS服务器。