Skip to content

feat: synthesize scoreboard findings from ares domain compromise metadata#201

Merged
l50 merged 3 commits into
mainfrom
fix/scoreboard-domain-compromise-from-ares-loot
May 15, 2026
Merged

feat: synthesize scoreboard findings from ares domain compromise metadata#201
l50 merged 3 commits into
mainfrom
fix/scoreboard-domain-compromise-from-ares-loot

Conversation

@l50
Copy link
Copy Markdown
Contributor

@l50 l50 commented May 15, 2026

Key Changes:

  • Added logic to synthesize krbtgt and golden ticket findings from ares domain_compromise metadata
  • Updated JSON report parsing to include domain_compromise[] in transport
  • Improved scoreboard accuracy for domains compromised via krbtgt extraction even without cracked DA cleartext
  • Added comprehensive unit test to verify domain_compromise synthesis path

Added:

  • Domain compromise synthesis in scoreboard - Inject findings from domain_compromise[] to detect krbtgt and golden_ticket achievements even when hashes[] are filtered (transport_ares.go)
  • Unit test for domain_compromise synthesis - Ensures scoreboard accurately reflects compromised domains via krbtgt extraction (verify_test.go)

Changed:

  • Updated aresLoot struct and jq filter to include domain_compromise[] in report parsing (transport_ares.go)
  • Modified scoreboard TUI title to display "DreadGOAD SCOREBOARD" for clarity (tui.go)
  • Revised command descriptions to consistently use "scoreboard" terminology for clarity (scoreboard.go)

l50 added 3 commits May 14, 2026 21:39
**Added:**

- Added aresDomainCompromise struct to capture domain compromise metadata from ares loot JSON, including krbtgt extraction and golden ticket detection
- Implemented synthesis of findings from domain_compromise[] in synthesizeJSONL to ensure domains compromised solely via krbtgt are recognized, with symbolic evidence for krbtgt extraction and golden_ticket technique
- Added TestSynthesizeJSONLDomainCompromise to verify that domains compromised via krbtgt extraction are properly inferred and that only appropriate domains yield synthetic findings

**Changed:**

- Extended jqFilter in FetchReport to include domain_compromise array in the extracted JSON for more comprehensive reporting
**Changed:**

- Updated command short descriptions to use "scoreboard" instead of "status board" for clarity in cli/cmd/scoreboard.go
- Changed panel title in TUI from "STATUS BOARD" to "SCOREBOARD" to match updated terminology in cli/internal/scoreboard/tui.go
- Revised demo command description for consistency with new terminology in cli/cmd/scoreboard.go
**Added:**

- Introduced helper functions `writeJSONLEntry`, `writeCredentialEntry`, `writeHashEntry`, `writeExploitedEntries`, and `writeDomainCompromiseEntries` to modularize and clarify JSONL entry construction logic in `transport_ares.go`

**Changed:**

- Refactored `synthesizeJSONL` to use new helper functions, improving readability and maintainability by reducing code repetition and clarifying each logical step
- Updated comments to document the purpose and behavior of new helper functions
@l50 l50 merged commit 0cd9667 into main May 15, 2026
9 checks passed
@l50 l50 deleted the fix/scoreboard-domain-compromise-from-ares-loot branch May 15, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant