Auger
How It Works
⚠️ Authorized Testing Only
This tool interacts with live systems and must only be used for testing that has been explicitly authorized by the asset owner. Unauthorized use of this tool to probe, scan, exploit, or otherwise interact with systems you do not have written permission to test is illegal under computer fraud and abuse laws (CFAA, CMA, and international equivalents). pr0t31n does not condone or recommend any unauthorized use. Always obtain a signed Rules of Engagement (RoE) or Statement of Work (SoW) before beginning any assessment.
Auger is a database security auditor that performs comprehensive authenticated security audits of network-accessible databases. It supports 15 database types: MySQL/MariaDB, PostgreSQL, MSSQL, Oracle, MongoDB, Redis, Cassandra, Elasticsearch, CouchDB, InfluxDB, Neo4j, Memcached, and AWS managed databases (RDS, DynamoDB, Redshift). Each database type has a dedicated auditor class that implements type-specific security checks using the database's native client library and query language — Auger does not shell out to command-line tools.
The audit pipeline operates in structured phases:
- Phase 1: Connectivity — TCP probe and TLS handshake analysis. Checks for weak TLS versions (TLS 1.0/1.1), weak cipher suites, self-signed certificates, and expired certificates.
- Phase 2: Database-Specific Audit — Runs the full battery of the type-specific auditor: version detection and EOL checking, authentication and password policies, user privileges and role assignments, anonymous/unauthenticated access, default credential testing, encryption at rest/in transit, logging and audit configuration, bind address restrictions, and database-specific dangerous features.
- Sensitive Data Scanning — Enumerates schema columns across all accessible databases and flags columns with sensitive-pattern names (SSN, credit card, password, PII, PHI, PCI-related fields) using regex matching.
- Schema Enumeration — Exports the full database schema (tables, columns, types, row counts) to
db_schema.jsonfor offline analysis.
Auger is strictly read-only — it does NOT modify the database in any way. It connects using the provided credentials and issues only read queries (SELECT, SHOW, information_schema lookups) to inspect configuration state. For AWS managed databases, it uses boto3 to audit the control-plane surface (encryption, backups, public accessibility, IAM auth) without connecting to the database engine itself.
Findings are emitted in the Fracture-compatible universal finding schema with catalogue IDs (DB-NNN prefix), OWASP 2021 compliance mappings, and actionable remediation guidance enriched from catalogue/auger_catalogue.json. When run under Crucible (CRUCIBLE_MANAGED=1), Auger emits structured protocol tokens (__CRUCIBLE_LOG__, __CRUCIBLE_ERR__, __CRUCIBLE_STATUS__, __CRUCIBLE_PROMPT__, __CRUCIBLE_ACTION_ITEM__). Checkpoint/resume support persists completed phases so an interrupted audit can be resumed without repeating checks.
Phase Pipeline
- Phase 1 — Target Discovery
- Phase 2 — Network Phase
- Phase 3 — Service Enumeration
- Phase 4 — Vulnerability Scanning
- Phase 5 — Credential Auditing
- Phase 6 — Findings Generation
Security
Auger is designed as a read-only auditor that never modifies the target database. All checks use SELECT queries, SHOW commands, information_schema lookups, or equivalent read-only operations for each database type. For NoSQL databases (MongoDB, Redis, Elasticsearch, CouchDB, InfluxDB, Neo4j, Memcached), checks use read-only admin commands (e.g., CONFIG GET, db.adminCommand, REST API GETs). Default credential testing includes a configurable delay between attempts (--cred-delay, default 0.5s) to avoid account lockout. When running under Crucible, Auger prompts for confirmation (__CRUCIBLE_PROMPT__) before default credential checks. The tool never stores credentials in output files — only the authentication success/failure status is recorded.
Features
AWS Cloud
Compliance
Data
Database Support
Network
Output
Resilience
Use Cases
Database Security Assessment
Comprehensive authenticated security audit of database servers during a penetration test, covering authentication, encryption, access control, logging, and configuration hardening across 15+ database types.
Compliance Database Audit
Evaluate database configurations against PCI DSS, HIPAA, SOC 2, ISO 27001, and NIST 800-53 requirements. Findings include multi-framework compliance mappings for direct reporting.
Medical Device Database Review
Audit the database backend of medical device systems for security hardening, checking for default credentials, unencrypted connections, excessive privileges, sensitive data exposure (PHI columns), and missing audit trails.
Cloud Database Assessment
Audit AWS managed databases (RDS, DynamoDB, Redshift) via boto3 for encryption at rest, public accessibility, IAM authentication, backup retention, deletion protection, and resource policy misconfigurations.
Multi-Database Environment Audit
Systematically audit all database servers in a heterogeneous environment: MySQL for web apps, MongoDB for document stores, Redis for caching, PostgreSQL for analytics, Elasticsearch for search, each with type-specific security checks.
Default Credential Sweep
Test all database servers in scope for default credentials with configurable delay (--cred-delay) to avoid account lockout, flagging any that succeed as critical findings requiring immediate remediation.
Sensitive Data Discovery
Enumerate all accessible database schemas and flag columns whose names match PII/PHI/PCI patterns (SSN, credit card, password, health data), producing an inventory for data classification efforts.
CLI Reference
Third-Party Tool Invocations
Commands and flags used when this tool invokes third-party dependencies during operation.
Finding Nomenclature
Auger findings use the DB- prefix in catalogue IDs, organized by database type and finding category:
- DB-001 through DB-019 — Universal database findings (EOL version, weak TLS, self-signed certificate, weak ciphers, sensitive data columns)
- DB-051 through DB-057 — MySQL/MariaDB-specific checks (anonymous users, test DB, LOCAL INFILE, remote root, password policy, general log, audit log)
- DB-100 through DB-110 — PostgreSQL-specific checks (SSL, encryption method, superusers, public schema, row security, logging, extensions, COPY PROGRAM, pgcrypto, pg_audit, data directory)
- DB-151 through DB-157 — MSSQL-specific checks (xp_cmdshell, SA account, CLR, OLE automation, linked servers, BUILTIN\Administrators, TDE, audit)
- DB-200 through DB-208 — MongoDB-specific checks (auth, JavaScript, TLS, users, bind IP, encryption, oplog)
- DB-300 through DB-303, DB-350 through DB-352 — Redis and Cassandra checks
- DB-400 through DB-402 — Elasticsearch checks
- DB-420 through DB-451 — CouchDB, InfluxDB, Neo4j, and Memcached checks
- DB-RDS-xxx — AWS RDS/Aurora control-plane checks (encryption, public access, backups, IAM, monitoring)
- DB-DDB-xxx — AWS DynamoDB control-plane checks (encryption, PITR, streams, deletion protection, resource policies)
- DB-MS-xxx — MSSQL Always Encrypted and audit-specific checks
- DB-PG-xxx — PostgreSQL extended checks (pgcrypto, pg_audit, data directory)
- DB-MDB-xxx — MongoDB extended checks (oplog, encryption at rest)
Each finding carries:
- Risk Level — CRITICAL (default credentials, disabled authentication, RCE vectors), HIGH (missing encryption, excessive privileges, disabled audit logging), MEDIUM (configuration gaps, weak TLS), LOW/INFO (best-practice recommendations)
- Compliance Mappings — OWASP 2021, ISO 27001, PCI DSS 4.0, NIST 800-53, HIPAA references from the catalogue
- Confidence — 'Firm' for fully automated verifiable detections, 'Tentative' for findings flagged as
validation_required=true - CVE References — Matched CVEs with CVSS scores from the built-in vulnerability database
Action Items
Auger emits action items as __CRUCIBLE_ACTION_ITEM__ protocol tokens and persists them to action_items.json in the output directory. Each action item includes an ID, type, recommended tool, target (host:port), priority, and description. The recommended tools are:
- ExploitDB — When a matched CVE has known public exploits (triggered by keyword matching in CVE descriptions)
- Metasploit — When a matched CVE has a known Metasploit module (e.g., xp_cmdshell exploitation, Redis Lua sandbox escape)
- Manual Verification — When a finding requires human judgment to determine if the configuration is intentional or represents a true vulnerability
Common action item scenarios:
- CVE exploitation follow-up — When a database version matches a critical CVE with known exploits, an action item recommends verification via ExploitDB or Metasploit
- Default credential verification — Confirming whether identified default credentials are used in production vs. test environments
- Stored procedure review — Verifying whether flagged dangerous stored procedures (xp_cmdshell, CLR assemblies, OLE automation) are legitimately required by applications
- Privilege review — Reviewing specific user privileges that appear excessive but may be justified by application requirements
- Encryption key management — Validating that encryption key management meets organisational requirements when TDE or KMS is misconfigured
- Memcached data key review — Manual inspection of enumerated cache key names for PII, session tokens, or API keys
Output Files
| File | Format | Description |
|---|---|---|
meta.json |
JSON | Tool identity and engagement metadata |
findings.json |
JSON | Universal findings array v1.1 |
findings.csv |
CSV | CSV mirror of findings |
summary.json |
JSON | Aggregated statistics |
scan.log |
TXT | Human-readable timestamped log |
scan.log.json |
JSONL | Machine-readable JSON log events |
errors.log |
TXT | ERROR-level entries only |
checkpoint.json |
JSON | Resumable scan checkpoint |
Invocation Methods
| Method | Usage |
|---|---|
| CLI — Direct |
cd /opt/pr0t31n/Auger && python3 auger.py [OPTIONS]
Run directly with command-line arguments. |
| Crucible-Managed |
Launched and managed by Crucible (port 5100). Crucible handles start/stop/pause, log streaming, findings aggregation, and status tracking. |
Integration
Used By
- Crucible (manages)
- Prometheus (reports)
Third-Party Dependencies & Credits
| Tool / Library | Developer | Type | Link |
|---|---|---|---|
| PyMySQL | Inada Naoki / PyMySQL contributors | python | https://github.com/PyMySQL/PyMySQL |
| psycopg2 | Federico Di Gregorio / Daniele Varrazzo | python | https://github.com/psycopg/psycopg2 |
| pymssql | pymssql contributors | python | https://github.com/pymssql/pymssql |
| oracledb | Oracle Corporation | python | https://github.com/oracle/python-oracledb |
| pymongo | MongoDB, Inc. | python | https://github.com/mongodb/mongo-python-driver |
| redis-py | Redis, Inc. / Andy McCurdy | python | https://github.com/redis/redis-py |
| cassandra-driver | DataStax | python | https://github.com/datastax/python-driver |
| elasticsearch-py | Elastic | python | https://github.com/elastic/elasticsearch-py |
| influxdb-client | InfluxData | python | https://github.com/influxdata/influxdb-client-python |
| neo4j (Python driver) | Neo4j, Inc. | python | https://github.com/neo4j/neo4j-python-driver |
| boto3 | Amazon Web Services | python | https://github.com/boto/boto3 |
Metadata
| Name | Auger |
| Category | Analysis |
| Version | 1.11.1 |
| Install Path | /opt/pr0t31n/Auger |
| Main File | auger.py |
| GitHub | https://github.com/pr0t31n/Auger.git |