A minimal command-line utility for connecting to and exploiting exposed CEF/Electron debuggers during security assessments.
cefdebug is a minimal command-line utility that connects to exposed CEF, Electron, and Chromium debuggers using libwebsockets. It helps security researchers identify and exploit debug interfaces that are inadvertently left enabled in production applications, often leading to remote code execution vulnerabilities. The tool provides scanning, command execution, and interactive shell capabilities for penetration testing.
Security researchers, penetration testers, and developers auditing applications built with CEF or Electron for exposed debug interfaces. It is specifically useful for those assessing the security of desktop applications that embed Chromium.
cefdebug offers a simple, embeddable solution for interacting with CEF debuggers without complex setup. Its minimal codebase and practical examples make it a valuable reference for security assessments, especially when testing for critical vulnerabilities like DNS rebinding and unprotected debug endpoints.
Minimal code to connect to a CEF debugger.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built with minimal dependencies, primarily libwebsockets, making it easy to embed in other security tools, as emphasized in the README's embedding section.
Includes specific examples and notes for testing critical issues like DNS rebinding and unprotected json/new endpoints, directly referencing real-world exploits from Project Zero.
Provides a REPL shell for executing JavaScript in target applications, demonstrated with code snippets like 'process.version' and array operations.
Scans for open TCP sockets that appear to be CEF debuggers on the local machine, useful for initial detection during security assessments.
Specifically targets CEF and Electron debuggers, making it irrelevant for other application types or general-purpose debugging tools.
Lacks automation; users must manually scan ports and interact via command-line, which can be inefficient for large-scale or repetitive testing.
Building requires platform-specific dependencies like libwebsockets and libreadline, with separate instructions for Windows and Linux that may deter quick adoption.