All notable changes to the RedReason project.
- Unified MaturityFlowEngine framework (
core/module.py):- Enforced modular maturity standards (
stage_l0_presencethroughstage_l3_execution) across the engine framework and all operational modules. - Refactored
modules/ad_enum.py,modules/ad_attacks.py, andmodules/ad_post.pyto subclass the abstract lifecycle nicely.
- Enforced modular maturity standards (
- Relational Transactional Graph Cache (
core/session.py):- Migrated legacy flat JSON session cache to a robust SQLite transactional backend database.
- Added database relation schemas mapping users, computers, group memberships, trusts, and GPOs.
- Introduced SQL query interfaces and native graph relation traversals (
find_high_risk_relation_paths).
- Stealth Boundary Orchestration (
main.py):- Linked the CLI
--stealthflag to setmax_levelexecution boundaries dynamically across all modular processes. - Security Impact: Enabled absolute boundary control to guarantee passive audits stay quiet, enforced fully parameterized queries protecting the database from input injection, and added ACID-compliant transaction-safe rollback logic to prevent data corruption.
- Linked the CLI
- Production Hardening Phase:
- Global Resilience: Top-level exception handling in
main.pyfor graceful failures. - Code Standardization: Removal of PoC tags, addition of comprehensive docstrings (e.g.,
modules/ad_virt.py). - Dependency Freeze: Validated usage of
impacket,ldap3,pycryptodomeinrequirements.txt. - Versioning: Added
VERSIONfile tracking release 1.0.0.
- Global Resilience: Top-level exception handling in
- Module: Exchange Operations (
modules/ad_exchange.py):- Enumeration of Exchange Servers, Versions, and IPs.
- Identification of critical groups (
Organization Management,Exchange Trusted Subsystem). - Detection of PrivExchange vulnerabilities (WriteDACL on Domain).
- RBAC Auditing: Identification of
ApplicationImpersonationandMailbox Import Exportroles. - Hybrid Identity: Detection of Azure AD Connect (
MSOL_) accounts.
- Reporting Enhancements (
core/report.py):- implemented Finding Aggregation to group similar vulnerabilities (e.g., "50 Roastable Users" -> 1 Finding).
- Added Markdown Tables for Critical Vulnerabilities and Misconfigurations.
- Introduced Risk Scoring and Emoji visual indicators (馃敶, 馃煚).
- Added External References (HackTricks, MITRE) for remediation.
- ADCS Improvements (
modules/ad_cs.py):- Implemented Template-to-CA Mapping: Vulnerable templates (e.g., ESC1) are now verified against published templates on Enterprise CAs.
- Improved reporting accuracy to distinguish between "vulnerable template exists" (potentially unexploitable) and "vulnerable template is published" (exploitable).
- Module: Virtualization Operations (
modules/ad_virt.py):- Passive Enum: Identification of ESXi/vCenter hosts via LDAP (OS & SPN).
- Active Fingerprinting: SOAP probing (
/sdk/vimService) to extract exact VMware Build Versions. - CVE-2024-37085: Detection of "ESX Admins" abuse (Shadow Admin & Group Hijack).
- Vulnerability Correlation: Mapping fingerprinted versions to critical RCEs (CVE-2021-21972, etc.).
- Critical Stability Fixes:
modules/ad_enum.py: FixedNameErrorby correctly initializingSessionManagerand ensuringcheck_dcsync_rightsis defined.core/report.py: FixedIndexErrorduring log parsing by making_aggregate_findingsrobust against malformed log messages.modules/ad_attacks.py: FixedAttributeError: 'str' object has no attribute 'decode'in GPP password decryption checks (Python 3 string handling).modules/ad_acl.py: FixedLDAPControlErrorby removing problematic explicit control flags for SD retrieval, falling back to standard effective rights.
- Log Standardization: Updated
ad_enum.pyandad_attacks.pylog messages to followVULNERABLE: <Category>: <Details>format for consistent report aggregation.