Skip to content

Add Kerberos trace subscriber support#21137

Open
davidgvad wants to merge 1 commit intorapid7:masterfrom
davidgvad:kerberos-trace-subscriber
Open

Add Kerberos trace subscriber support#21137
davidgvad wants to merge 1 commit intorapid7:masterfrom
davidgvad:kerberos-trace-subscriber

Conversation

@davidgvad
Copy link

Summary

This PR adds an initial Kerberos trace foundation for shared Kerberos client flows.

It:

  • adds a subscriber hook to Rex::Proto::Kerberos::Client
  • adds KerberosSubscriber and KerberosLoggerSubscriber
  • exposes KerberosTicketTrace and KerberosTicketTraceLevel through shared Kerberos auth option paths
  • adds focused RSpec coverage for subscriber notifications, logger output, and serializer output

This is an initial Kerberos trace scaffolding PR, not the full CertificateTrace/KerberosTicketTrace project.

Verification

Run:

bundle _2.5.22_ exec rspec spec/lib/rex/proto/kerberos/client_spec.rb spec/lib/rex/proto/kerberos/client_subscriber_spec.rb spec/lib/rex/proto/kerberos/kerberos_logger_subscriber_spec.rb spec/lib/msf/base/serializer/readable_text_kerberos_trace_spec.rb

Expected:

  • 16 examples, 0 failures

Run:

bundle _2.5.22_ exec msfconsole -qx "use auxiliary/gather/asrep; show advanced; exit"

Expected:

  • KerberosTicketTrace appears under the Kerberos auth section
  • KerberosTicketTraceLevel appears under the Kerberos auth section
  • accepted values are summary, raw

Console Output

msfconsole showed:

  • KerberosTicketTrace false
  • KerberosTicketTraceLevel summary

under When LDAP::Auth is kerberos.

Add a subscriber hook to the Rex Kerberos client and a logger
subscriber for request and response tracing.

Expose KerberosTicketTrace and KerberosTicketTraceLevel in the
Kerberos client mixins and cover the behavior with focused specs.
@github-actions
Copy link

Thanks for your pull request! As part of our landing process, we manually verify that all modules work as expected.

We've added the additional-testing-required label to indicate that additional testing is required before this pull request can be merged.
For maintainers, this means visiting here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

2 participants