gojue/ecapture

Feature Request: Add libnnzsrv.so (Oracle) TLS master secret extraction support

開放

#999 建立於 2026年5月7日

 (0 則留言) (1 個反應) (0 位負責人)C (1,611 個分叉)batch import
help wantedquestion

倉庫指標

星標
 (15,163 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Feature Request: Support Oracle's libnnzsrv.so (nz* symbols) for Master Secret Extraction

Background: Currently, eCapture's OpenSSL probe targets the standard OpenSSL API (e.g., SSL_do_handshake, SSL_SESSION_get_master_key) and attaches uprobes to those symbols to extract TLS master secrets. However, Oracle's libnnzsrv.so library, as used in Oracle Database clients and some proprietary apps, does not expose those OpenSSL symbols. Instead, it uses custom symbols with an nz* prefix for its own TLS implementation, causing eCapture's current uprobes to miss these flows entirely.

Proposed Solution:

  • Use readelf -s or nm -D on libnnzsrv.so to identify nz* symbols that are analogous to the OpenSSL functions currently hooked by eCapture.
  • Create a new probe following the pattern of the existing OpenSSL probe, but targeting these nz* symbols instead.
  • Implement a custom uprobe for the key extraction logic in Oracle's TLS implementation.
  • Optionally, document any gotchas or kernel-version-specific caveats encountered during development.

Expected Outcome:

  • Enable extraction of TLS master secrets from Oracle flows that use libnnzsrv.so.
  • Allow community contributions and feedback to help refine coverage for less common enterprise TLS stacks.

Reference:

Notes:

  • This feature is not on the official roadmap due to the niche nature of Oracle TLS usage.
  • Upstream focus will remain on OpenSSL, GnuTLS, BoringSSL, and other mainstream stacks, but this enhancement will help users in specialized environments like Oracle DB deployments.

If anyone in the community has Oracle DB internals experience or sample binaries, help is welcome!

貢獻者指南