@etcsec-com/etc-collector 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +60 -0
- package/.env.test.example +33 -0
- package/.github/workflows/ci.yml +83 -0
- package/.github/workflows/release.yml +246 -0
- package/.prettierrc.json +10 -0
- package/CHANGELOG.md +15 -0
- package/Dockerfile +57 -0
- package/LICENSE +190 -0
- package/README.md +194 -0
- package/dist/api/controllers/audit.controller.d.ts +21 -0
- package/dist/api/controllers/audit.controller.d.ts.map +1 -0
- package/dist/api/controllers/audit.controller.js +179 -0
- package/dist/api/controllers/audit.controller.js.map +1 -0
- package/dist/api/controllers/auth.controller.d.ts +16 -0
- package/dist/api/controllers/auth.controller.d.ts.map +1 -0
- package/dist/api/controllers/auth.controller.js +146 -0
- package/dist/api/controllers/auth.controller.js.map +1 -0
- package/dist/api/controllers/export.controller.d.ts +27 -0
- package/dist/api/controllers/export.controller.d.ts.map +1 -0
- package/dist/api/controllers/export.controller.js +80 -0
- package/dist/api/controllers/export.controller.js.map +1 -0
- package/dist/api/controllers/health.controller.d.ts +5 -0
- package/dist/api/controllers/health.controller.d.ts.map +1 -0
- package/dist/api/controllers/health.controller.js +16 -0
- package/dist/api/controllers/health.controller.js.map +1 -0
- package/dist/api/controllers/jobs.controller.d.ts +13 -0
- package/dist/api/controllers/jobs.controller.d.ts.map +1 -0
- package/dist/api/controllers/jobs.controller.js +125 -0
- package/dist/api/controllers/jobs.controller.js.map +1 -0
- package/dist/api/controllers/providers.controller.d.ts +15 -0
- package/dist/api/controllers/providers.controller.d.ts.map +1 -0
- package/dist/api/controllers/providers.controller.js +112 -0
- package/dist/api/controllers/providers.controller.js.map +1 -0
- package/dist/api/dto/AuditRequest.dto.d.ts +6 -0
- package/dist/api/dto/AuditRequest.dto.d.ts.map +1 -0
- package/dist/api/dto/AuditRequest.dto.js +3 -0
- package/dist/api/dto/AuditRequest.dto.js.map +1 -0
- package/dist/api/dto/AuditResponse.dto.d.ts +17 -0
- package/dist/api/dto/AuditResponse.dto.d.ts.map +1 -0
- package/dist/api/dto/AuditResponse.dto.js +3 -0
- package/dist/api/dto/AuditResponse.dto.js.map +1 -0
- package/dist/api/dto/TokenRequest.dto.d.ts +6 -0
- package/dist/api/dto/TokenRequest.dto.d.ts.map +1 -0
- package/dist/api/dto/TokenRequest.dto.js +3 -0
- package/dist/api/dto/TokenRequest.dto.js.map +1 -0
- package/dist/api/dto/TokenResponse.dto.d.ts +12 -0
- package/dist/api/dto/TokenResponse.dto.d.ts.map +1 -0
- package/dist/api/dto/TokenResponse.dto.js +3 -0
- package/dist/api/dto/TokenResponse.dto.js.map +1 -0
- package/dist/api/middlewares/authenticate.d.ts +12 -0
- package/dist/api/middlewares/authenticate.d.ts.map +1 -0
- package/dist/api/middlewares/authenticate.js +141 -0
- package/dist/api/middlewares/authenticate.js.map +1 -0
- package/dist/api/middlewares/errorHandler.d.ts +3 -0
- package/dist/api/middlewares/errorHandler.d.ts.map +1 -0
- package/dist/api/middlewares/errorHandler.js +30 -0
- package/dist/api/middlewares/errorHandler.js.map +1 -0
- package/dist/api/middlewares/rateLimit.d.ts +3 -0
- package/dist/api/middlewares/rateLimit.d.ts.map +1 -0
- package/dist/api/middlewares/rateLimit.js +34 -0
- package/dist/api/middlewares/rateLimit.js.map +1 -0
- package/dist/api/middlewares/validate.d.ts +4 -0
- package/dist/api/middlewares/validate.d.ts.map +1 -0
- package/dist/api/middlewares/validate.js +31 -0
- package/dist/api/middlewares/validate.js.map +1 -0
- package/dist/api/routes/audit.routes.d.ts +5 -0
- package/dist/api/routes/audit.routes.d.ts.map +1 -0
- package/dist/api/routes/audit.routes.js +24 -0
- package/dist/api/routes/audit.routes.js.map +1 -0
- package/dist/api/routes/auth.routes.d.ts +6 -0
- package/dist/api/routes/auth.routes.d.ts.map +1 -0
- package/dist/api/routes/auth.routes.js +22 -0
- package/dist/api/routes/auth.routes.js.map +1 -0
- package/dist/api/routes/export.routes.d.ts +5 -0
- package/dist/api/routes/export.routes.d.ts.map +1 -0
- package/dist/api/routes/export.routes.js +16 -0
- package/dist/api/routes/export.routes.js.map +1 -0
- package/dist/api/routes/health.routes.d.ts +4 -0
- package/dist/api/routes/health.routes.d.ts.map +1 -0
- package/dist/api/routes/health.routes.js +11 -0
- package/dist/api/routes/health.routes.js.map +1 -0
- package/dist/api/routes/index.d.ts +10 -0
- package/dist/api/routes/index.d.ts.map +1 -0
- package/dist/api/routes/index.js +20 -0
- package/dist/api/routes/index.js.map +1 -0
- package/dist/api/routes/providers.routes.d.ts +5 -0
- package/dist/api/routes/providers.routes.d.ts.map +1 -0
- package/dist/api/routes/providers.routes.js +13 -0
- package/dist/api/routes/providers.routes.js.map +1 -0
- package/dist/api/validators/audit.schemas.d.ts +60 -0
- package/dist/api/validators/audit.schemas.d.ts.map +1 -0
- package/dist/api/validators/audit.schemas.js +55 -0
- package/dist/api/validators/audit.schemas.js.map +1 -0
- package/dist/api/validators/auth.schemas.d.ts +17 -0
- package/dist/api/validators/auth.schemas.d.ts.map +1 -0
- package/dist/api/validators/auth.schemas.js +21 -0
- package/dist/api/validators/auth.schemas.js.map +1 -0
- package/dist/app.d.ts +3 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +62 -0
- package/dist/app.js.map +1 -0
- package/dist/config/config.schema.d.ts +65 -0
- package/dist/config/config.schema.d.ts.map +1 -0
- package/dist/config/config.schema.js +95 -0
- package/dist/config/config.schema.js.map +1 -0
- package/dist/config/index.d.ts +4 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +75 -0
- package/dist/config/index.js.map +1 -0
- package/dist/container.d.ts +47 -0
- package/dist/container.d.ts.map +1 -0
- package/dist/container.js +137 -0
- package/dist/container.js.map +1 -0
- package/dist/data/database.d.ts +13 -0
- package/dist/data/database.d.ts.map +1 -0
- package/dist/data/database.js +68 -0
- package/dist/data/database.js.map +1 -0
- package/dist/data/jobs/token-cleanup.job.d.ts +23 -0
- package/dist/data/jobs/token-cleanup.job.d.ts.map +1 -0
- package/dist/data/jobs/token-cleanup.job.js +96 -0
- package/dist/data/jobs/token-cleanup.job.js.map +1 -0
- package/dist/data/migrations/migration.runner.d.ts +13 -0
- package/dist/data/migrations/migration.runner.d.ts.map +1 -0
- package/dist/data/migrations/migration.runner.js +136 -0
- package/dist/data/migrations/migration.runner.js.map +1 -0
- package/dist/data/models/Token.model.d.ts +30 -0
- package/dist/data/models/Token.model.d.ts.map +1 -0
- package/dist/data/models/Token.model.js +3 -0
- package/dist/data/models/Token.model.js.map +1 -0
- package/dist/data/repositories/token.repository.d.ts +16 -0
- package/dist/data/repositories/token.repository.d.ts.map +1 -0
- package/dist/data/repositories/token.repository.js +97 -0
- package/dist/data/repositories/token.repository.js.map +1 -0
- package/dist/providers/azure/auth.provider.d.ts +5 -0
- package/dist/providers/azure/auth.provider.d.ts.map +1 -0
- package/dist/providers/azure/auth.provider.js +13 -0
- package/dist/providers/azure/auth.provider.js.map +1 -0
- package/dist/providers/azure/azure-errors.d.ts +40 -0
- package/dist/providers/azure/azure-errors.d.ts.map +1 -0
- package/dist/providers/azure/azure-errors.js +121 -0
- package/dist/providers/azure/azure-errors.js.map +1 -0
- package/dist/providers/azure/azure-retry.d.ts +41 -0
- package/dist/providers/azure/azure-retry.d.ts.map +1 -0
- package/dist/providers/azure/azure-retry.js +85 -0
- package/dist/providers/azure/azure-retry.js.map +1 -0
- package/dist/providers/azure/graph-client.d.ts +26 -0
- package/dist/providers/azure/graph-client.d.ts.map +1 -0
- package/dist/providers/azure/graph-client.js +146 -0
- package/dist/providers/azure/graph-client.js.map +1 -0
- package/dist/providers/azure/graph.provider.d.ts +23 -0
- package/dist/providers/azure/graph.provider.d.ts.map +1 -0
- package/dist/providers/azure/graph.provider.js +161 -0
- package/dist/providers/azure/graph.provider.js.map +1 -0
- package/dist/providers/azure/queries/app.queries.d.ts +6 -0
- package/dist/providers/azure/queries/app.queries.d.ts.map +1 -0
- package/dist/providers/azure/queries/app.queries.js +9 -0
- package/dist/providers/azure/queries/app.queries.js.map +1 -0
- package/dist/providers/azure/queries/policy.queries.d.ts +6 -0
- package/dist/providers/azure/queries/policy.queries.d.ts.map +1 -0
- package/dist/providers/azure/queries/policy.queries.js +9 -0
- package/dist/providers/azure/queries/policy.queries.js.map +1 -0
- package/dist/providers/azure/queries/user.queries.d.ts +7 -0
- package/dist/providers/azure/queries/user.queries.d.ts.map +1 -0
- package/dist/providers/azure/queries/user.queries.js +10 -0
- package/dist/providers/azure/queries/user.queries.js.map +1 -0
- package/dist/providers/interfaces/IGraphProvider.d.ts +31 -0
- package/dist/providers/interfaces/IGraphProvider.d.ts.map +1 -0
- package/dist/providers/interfaces/IGraphProvider.js +3 -0
- package/dist/providers/interfaces/IGraphProvider.js.map +1 -0
- package/dist/providers/interfaces/ILDAPProvider.d.ts +37 -0
- package/dist/providers/interfaces/ILDAPProvider.d.ts.map +1 -0
- package/dist/providers/interfaces/ILDAPProvider.js +3 -0
- package/dist/providers/interfaces/ILDAPProvider.js.map +1 -0
- package/dist/providers/ldap/acl-parser.d.ts +8 -0
- package/dist/providers/ldap/acl-parser.d.ts.map +1 -0
- package/dist/providers/ldap/acl-parser.js +157 -0
- package/dist/providers/ldap/acl-parser.js.map +1 -0
- package/dist/providers/ldap/ad-mappers.d.ts +8 -0
- package/dist/providers/ldap/ad-mappers.d.ts.map +1 -0
- package/dist/providers/ldap/ad-mappers.js +162 -0
- package/dist/providers/ldap/ad-mappers.js.map +1 -0
- package/dist/providers/ldap/ldap-client.d.ts +33 -0
- package/dist/providers/ldap/ldap-client.d.ts.map +1 -0
- package/dist/providers/ldap/ldap-client.js +195 -0
- package/dist/providers/ldap/ldap-client.js.map +1 -0
- package/dist/providers/ldap/ldap-errors.d.ts +48 -0
- package/dist/providers/ldap/ldap-errors.d.ts.map +1 -0
- package/dist/providers/ldap/ldap-errors.js +120 -0
- package/dist/providers/ldap/ldap-errors.js.map +1 -0
- package/dist/providers/ldap/ldap-retry.d.ts +14 -0
- package/dist/providers/ldap/ldap-retry.d.ts.map +1 -0
- package/dist/providers/ldap/ldap-retry.js +102 -0
- package/dist/providers/ldap/ldap-retry.js.map +1 -0
- package/dist/providers/ldap/ldap-sanitizer.d.ts +12 -0
- package/dist/providers/ldap/ldap-sanitizer.d.ts.map +1 -0
- package/dist/providers/ldap/ldap-sanitizer.js +104 -0
- package/dist/providers/ldap/ldap-sanitizer.js.map +1 -0
- package/dist/providers/ldap/ldap.provider.d.ts +21 -0
- package/dist/providers/ldap/ldap.provider.d.ts.map +1 -0
- package/dist/providers/ldap/ldap.provider.js +165 -0
- package/dist/providers/ldap/ldap.provider.js.map +1 -0
- package/dist/providers/ldap/queries/computer.queries.d.ts +6 -0
- package/dist/providers/ldap/queries/computer.queries.d.ts.map +1 -0
- package/dist/providers/ldap/queries/computer.queries.js +9 -0
- package/dist/providers/ldap/queries/computer.queries.js.map +1 -0
- package/dist/providers/ldap/queries/group.queries.d.ts +6 -0
- package/dist/providers/ldap/queries/group.queries.d.ts.map +1 -0
- package/dist/providers/ldap/queries/group.queries.js +9 -0
- package/dist/providers/ldap/queries/group.queries.js.map +1 -0
- package/dist/providers/ldap/queries/user.queries.d.ts +7 -0
- package/dist/providers/ldap/queries/user.queries.d.ts.map +1 -0
- package/dist/providers/ldap/queries/user.queries.js +10 -0
- package/dist/providers/ldap/queries/user.queries.js.map +1 -0
- package/dist/providers/smb/smb.provider.d.ts +68 -0
- package/dist/providers/smb/smb.provider.d.ts.map +1 -0
- package/dist/providers/smb/smb.provider.js +382 -0
- package/dist/providers/smb/smb.provider.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +44 -0
- package/dist/server.js.map +1 -0
- package/dist/services/audit/ad-audit.service.d.ts +70 -0
- package/dist/services/audit/ad-audit.service.d.ts.map +1 -0
- package/dist/services/audit/ad-audit.service.js +1019 -0
- package/dist/services/audit/ad-audit.service.js.map +1 -0
- package/dist/services/audit/attack-graph.service.d.ts +62 -0
- package/dist/services/audit/attack-graph.service.d.ts.map +1 -0
- package/dist/services/audit/attack-graph.service.js +702 -0
- package/dist/services/audit/attack-graph.service.js.map +1 -0
- package/dist/services/audit/audit.service.d.ts +4 -0
- package/dist/services/audit/audit.service.d.ts.map +1 -0
- package/dist/services/audit/audit.service.js +10 -0
- package/dist/services/audit/audit.service.js.map +1 -0
- package/dist/services/audit/azure-audit.service.d.ts +37 -0
- package/dist/services/audit/azure-audit.service.d.ts.map +1 -0
- package/dist/services/audit/azure-audit.service.js +153 -0
- package/dist/services/audit/azure-audit.service.js.map +1 -0
- package/dist/services/audit/detectors/ad/accounts.detector.d.ts +37 -0
- package/dist/services/audit/detectors/ad/accounts.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/accounts.detector.js +881 -0
- package/dist/services/audit/detectors/ad/accounts.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/adcs.detector.d.ts +21 -0
- package/dist/services/audit/detectors/ad/adcs.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/adcs.detector.js +227 -0
- package/dist/services/audit/detectors/ad/adcs.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/advanced.detector.d.ts +63 -0
- package/dist/services/audit/detectors/ad/advanced.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/advanced.detector.js +867 -0
- package/dist/services/audit/detectors/ad/advanced.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/attack-paths.detector.d.ts +16 -0
- package/dist/services/audit/detectors/ad/attack-paths.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/attack-paths.detector.js +369 -0
- package/dist/services/audit/detectors/ad/attack-paths.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/compliance.detector.d.ts +28 -0
- package/dist/services/audit/detectors/ad/compliance.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/compliance.detector.js +896 -0
- package/dist/services/audit/detectors/ad/compliance.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/computers.detector.d.ts +30 -0
- package/dist/services/audit/detectors/ad/computers.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/computers.detector.js +799 -0
- package/dist/services/audit/detectors/ad/computers.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/gpo.detector.d.ts +17 -0
- package/dist/services/audit/detectors/ad/gpo.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/gpo.detector.js +257 -0
- package/dist/services/audit/detectors/ad/gpo.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/groups.detector.d.ts +19 -0
- package/dist/services/audit/detectors/ad/groups.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/groups.detector.js +488 -0
- package/dist/services/audit/detectors/ad/groups.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/index.d.ts +15 -0
- package/dist/services/audit/detectors/ad/index.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/index.js +51 -0
- package/dist/services/audit/detectors/ad/index.js.map +1 -0
- package/dist/services/audit/detectors/ad/kerberos.detector.d.ts +17 -0
- package/dist/services/audit/detectors/ad/kerberos.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/kerberos.detector.js +293 -0
- package/dist/services/audit/detectors/ad/kerberos.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/monitoring.detector.d.ts +23 -0
- package/dist/services/audit/detectors/ad/monitoring.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/monitoring.detector.js +328 -0
- package/dist/services/audit/detectors/ad/monitoring.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/network.detector.d.ts +39 -0
- package/dist/services/audit/detectors/ad/network.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/network.detector.js +257 -0
- package/dist/services/audit/detectors/ad/network.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/password.detector.d.ts +14 -0
- package/dist/services/audit/detectors/ad/password.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/password.detector.js +235 -0
- package/dist/services/audit/detectors/ad/password.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/permissions.detector.d.ts +20 -0
- package/dist/services/audit/detectors/ad/permissions.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/permissions.detector.js +392 -0
- package/dist/services/audit/detectors/ad/permissions.detector.js.map +1 -0
- package/dist/services/audit/detectors/ad/trusts.detector.d.ts +11 -0
- package/dist/services/audit/detectors/ad/trusts.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/ad/trusts.detector.js +186 -0
- package/dist/services/audit/detectors/ad/trusts.detector.js.map +1 -0
- package/dist/services/audit/detectors/azure/app-security.detector.d.ts +11 -0
- package/dist/services/audit/detectors/azure/app-security.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/azure/app-security.detector.js +184 -0
- package/dist/services/audit/detectors/azure/app-security.detector.js.map +1 -0
- package/dist/services/audit/detectors/azure/conditional-access.detector.d.ts +10 -0
- package/dist/services/audit/detectors/azure/conditional-access.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/azure/conditional-access.detector.js +130 -0
- package/dist/services/audit/detectors/azure/conditional-access.detector.js.map +1 -0
- package/dist/services/audit/detectors/azure/privilege-security.detector.d.ts +8 -0
- package/dist/services/audit/detectors/azure/privilege-security.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/azure/privilege-security.detector.js +113 -0
- package/dist/services/audit/detectors/azure/privilege-security.detector.js.map +1 -0
- package/dist/services/audit/detectors/azure/user-security.detector.d.ts +14 -0
- package/dist/services/audit/detectors/azure/user-security.detector.d.ts.map +1 -0
- package/dist/services/audit/detectors/azure/user-security.detector.js +198 -0
- package/dist/services/audit/detectors/azure/user-security.detector.js.map +1 -0
- package/dist/services/audit/detectors/index.d.ts +2 -0
- package/dist/services/audit/detectors/index.d.ts.map +1 -0
- package/dist/services/audit/detectors/index.js +38 -0
- package/dist/services/audit/detectors/index.js.map +1 -0
- package/dist/services/audit/response-formatter.d.ts +176 -0
- package/dist/services/audit/response-formatter.d.ts.map +1 -0
- package/dist/services/audit/response-formatter.js +240 -0
- package/dist/services/audit/response-formatter.js.map +1 -0
- package/dist/services/audit/scoring.service.d.ts +15 -0
- package/dist/services/audit/scoring.service.d.ts.map +1 -0
- package/dist/services/audit/scoring.service.js +139 -0
- package/dist/services/audit/scoring.service.js.map +1 -0
- package/dist/services/auth/crypto.service.d.ts +19 -0
- package/dist/services/auth/crypto.service.d.ts.map +1 -0
- package/dist/services/auth/crypto.service.js +135 -0
- package/dist/services/auth/crypto.service.js.map +1 -0
- package/dist/services/auth/errors.d.ts +19 -0
- package/dist/services/auth/errors.d.ts.map +1 -0
- package/dist/services/auth/errors.js +46 -0
- package/dist/services/auth/errors.js.map +1 -0
- package/dist/services/auth/token.service.d.ts +41 -0
- package/dist/services/auth/token.service.d.ts.map +1 -0
- package/dist/services/auth/token.service.js +208 -0
- package/dist/services/auth/token.service.js.map +1 -0
- package/dist/services/config/config.service.d.ts +6 -0
- package/dist/services/config/config.service.d.ts.map +1 -0
- package/dist/services/config/config.service.js +64 -0
- package/dist/services/config/config.service.js.map +1 -0
- package/dist/services/export/export.service.d.ts +28 -0
- package/dist/services/export/export.service.d.ts.map +1 -0
- package/dist/services/export/export.service.js +28 -0
- package/dist/services/export/export.service.js.map +1 -0
- package/dist/services/export/formatters/csv.formatter.d.ts +8 -0
- package/dist/services/export/formatters/csv.formatter.d.ts.map +1 -0
- package/dist/services/export/formatters/csv.formatter.js +46 -0
- package/dist/services/export/formatters/csv.formatter.js.map +1 -0
- package/dist/services/export/formatters/json.formatter.d.ts +40 -0
- package/dist/services/export/formatters/json.formatter.d.ts.map +1 -0
- package/dist/services/export/formatters/json.formatter.js +58 -0
- package/dist/services/export/formatters/json.formatter.js.map +1 -0
- package/dist/services/jobs/azure-job-runner.d.ts +38 -0
- package/dist/services/jobs/azure-job-runner.d.ts.map +1 -0
- package/dist/services/jobs/azure-job-runner.js +199 -0
- package/dist/services/jobs/azure-job-runner.js.map +1 -0
- package/dist/services/jobs/index.d.ts +4 -0
- package/dist/services/jobs/index.d.ts.map +1 -0
- package/dist/services/jobs/index.js +20 -0
- package/dist/services/jobs/index.js.map +1 -0
- package/dist/services/jobs/job-runner.d.ts +64 -0
- package/dist/services/jobs/job-runner.d.ts.map +1 -0
- package/dist/services/jobs/job-runner.js +952 -0
- package/dist/services/jobs/job-runner.js.map +1 -0
- package/dist/services/jobs/job-store.d.ts +27 -0
- package/dist/services/jobs/job-store.d.ts.map +1 -0
- package/dist/services/jobs/job-store.js +261 -0
- package/dist/services/jobs/job-store.js.map +1 -0
- package/dist/services/jobs/job.types.d.ts +67 -0
- package/dist/services/jobs/job.types.d.ts.map +1 -0
- package/dist/services/jobs/job.types.js +36 -0
- package/dist/services/jobs/job.types.js.map +1 -0
- package/dist/types/ad.types.d.ts +74 -0
- package/dist/types/ad.types.d.ts.map +1 -0
- package/dist/types/ad.types.js +3 -0
- package/dist/types/ad.types.js.map +1 -0
- package/dist/types/adcs.types.d.ts +58 -0
- package/dist/types/adcs.types.d.ts.map +1 -0
- package/dist/types/adcs.types.js +38 -0
- package/dist/types/adcs.types.js.map +1 -0
- package/dist/types/attack-graph.types.d.ts +135 -0
- package/dist/types/attack-graph.types.d.ts.map +1 -0
- package/dist/types/attack-graph.types.js +58 -0
- package/dist/types/attack-graph.types.js.map +1 -0
- package/dist/types/audit.types.d.ts +34 -0
- package/dist/types/audit.types.d.ts.map +1 -0
- package/dist/types/audit.types.js +3 -0
- package/dist/types/audit.types.js.map +1 -0
- package/dist/types/azure.types.d.ts +61 -0
- package/dist/types/azure.types.d.ts.map +1 -0
- package/dist/types/azure.types.js +3 -0
- package/dist/types/azure.types.js.map +1 -0
- package/dist/types/config.types.d.ts +63 -0
- package/dist/types/config.types.d.ts.map +1 -0
- package/dist/types/config.types.js +3 -0
- package/dist/types/config.types.js.map +1 -0
- package/dist/types/error.types.d.ts +33 -0
- package/dist/types/error.types.d.ts.map +1 -0
- package/dist/types/error.types.js +70 -0
- package/dist/types/error.types.js.map +1 -0
- package/dist/types/finding.types.d.ts +133 -0
- package/dist/types/finding.types.d.ts.map +1 -0
- package/dist/types/finding.types.js +3 -0
- package/dist/types/finding.types.js.map +1 -0
- package/dist/types/gpo.types.d.ts +39 -0
- package/dist/types/gpo.types.d.ts.map +1 -0
- package/dist/types/gpo.types.js +15 -0
- package/dist/types/gpo.types.js.map +1 -0
- package/dist/types/token.types.d.ts +26 -0
- package/dist/types/token.types.d.ts.map +1 -0
- package/dist/types/token.types.js +3 -0
- package/dist/types/token.types.js.map +1 -0
- package/dist/types/trust.types.d.ts +45 -0
- package/dist/types/trust.types.d.ts.map +1 -0
- package/dist/types/trust.types.js +71 -0
- package/dist/types/trust.types.js.map +1 -0
- package/dist/utils/entity-converter.d.ts +17 -0
- package/dist/utils/entity-converter.d.ts.map +1 -0
- package/dist/utils/entity-converter.js +285 -0
- package/dist/utils/entity-converter.js.map +1 -0
- package/dist/utils/graph.util.d.ts +66 -0
- package/dist/utils/graph.util.d.ts.map +1 -0
- package/dist/utils/graph.util.js +382 -0
- package/dist/utils/graph.util.js.map +1 -0
- package/dist/utils/logger.d.ts +7 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +86 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/type-name-normalizer.d.ts +5 -0
- package/dist/utils/type-name-normalizer.d.ts.map +1 -0
- package/dist/utils/type-name-normalizer.js +218 -0
- package/dist/utils/type-name-normalizer.js.map +1 -0
- package/docker-compose.yml +26 -0
- package/docs/api/README.md +178 -0
- package/docs/api/openapi.yaml +1524 -0
- package/eslint.config.js +54 -0
- package/jest.config.js +38 -0
- package/package.json +97 -0
- package/scripts/fetch-ad-cert.sh +142 -0
- package/src/.gitkeep +0 -0
- package/src/api/.gitkeep +0 -0
- package/src/api/controllers/.gitkeep +0 -0
- package/src/api/controllers/audit.controller.ts +313 -0
- package/src/api/controllers/auth.controller.ts +258 -0
- package/src/api/controllers/export.controller.ts +153 -0
- package/src/api/controllers/health.controller.ts +16 -0
- package/src/api/controllers/jobs.controller.ts +187 -0
- package/src/api/controllers/providers.controller.ts +165 -0
- package/src/api/dto/.gitkeep +0 -0
- package/src/api/dto/AuditRequest.dto.ts +8 -0
- package/src/api/dto/AuditResponse.dto.ts +19 -0
- package/src/api/dto/TokenRequest.dto.ts +8 -0
- package/src/api/dto/TokenResponse.dto.ts +14 -0
- package/src/api/middlewares/.gitkeep +0 -0
- package/src/api/middlewares/authenticate.ts +203 -0
- package/src/api/middlewares/errorHandler.ts +54 -0
- package/src/api/middlewares/rateLimit.ts +35 -0
- package/src/api/middlewares/validate.ts +32 -0
- package/src/api/routes/.gitkeep +0 -0
- package/src/api/routes/audit.routes.ts +77 -0
- package/src/api/routes/auth.routes.ts +71 -0
- package/src/api/routes/export.routes.ts +34 -0
- package/src/api/routes/health.routes.ts +14 -0
- package/src/api/routes/index.ts +40 -0
- package/src/api/routes/providers.routes.ts +24 -0
- package/src/api/validators/.gitkeep +0 -0
- package/src/api/validators/audit.schemas.ts +59 -0
- package/src/api/validators/auth.schemas.ts +59 -0
- package/src/app.ts +87 -0
- package/src/config/.gitkeep +0 -0
- package/src/config/config.schema.ts +108 -0
- package/src/config/index.ts +82 -0
- package/src/container.ts +221 -0
- package/src/data/.gitkeep +0 -0
- package/src/data/database.ts +78 -0
- package/src/data/jobs/token-cleanup.job.ts +166 -0
- package/src/data/migrations/.gitkeep +0 -0
- package/src/data/migrations/001_initial_schema.sql +47 -0
- package/src/data/migrations/migration.runner.ts +125 -0
- package/src/data/models/.gitkeep +0 -0
- package/src/data/models/Token.model.ts +35 -0
- package/src/data/repositories/.gitkeep +0 -0
- package/src/data/repositories/token.repository.ts +160 -0
- package/src/providers/.gitkeep +0 -0
- package/src/providers/azure/.gitkeep +0 -0
- package/src/providers/azure/auth.provider.ts +14 -0
- package/src/providers/azure/azure-errors.ts +189 -0
- package/src/providers/azure/azure-retry.ts +168 -0
- package/src/providers/azure/graph-client.ts +315 -0
- package/src/providers/azure/graph.provider.ts +294 -0
- package/src/providers/azure/queries/app.queries.ts +9 -0
- package/src/providers/azure/queries/policy.queries.ts +9 -0
- package/src/providers/azure/queries/user.queries.ts +10 -0
- package/src/providers/interfaces/.gitkeep +0 -0
- package/src/providers/interfaces/IGraphProvider.ts +117 -0
- package/src/providers/interfaces/ILDAPProvider.ts +142 -0
- package/src/providers/ldap/.gitkeep +0 -0
- package/src/providers/ldap/acl-parser.ts +231 -0
- package/src/providers/ldap/ad-mappers.ts +280 -0
- package/src/providers/ldap/ldap-client.ts +259 -0
- package/src/providers/ldap/ldap-errors.ts +188 -0
- package/src/providers/ldap/ldap-retry.ts +267 -0
- package/src/providers/ldap/ldap-sanitizer.ts +273 -0
- package/src/providers/ldap/ldap.provider.ts +293 -0
- package/src/providers/ldap/queries/computer.queries.ts +9 -0
- package/src/providers/ldap/queries/group.queries.ts +9 -0
- package/src/providers/ldap/queries/user.queries.ts +10 -0
- package/src/providers/smb/smb.provider.ts +653 -0
- package/src/server.ts +60 -0
- package/src/services/.gitkeep +0 -0
- package/src/services/audit/.gitkeep +0 -0
- package/src/services/audit/ad-audit.service.ts +1481 -0
- package/src/services/audit/attack-graph.service.ts +1104 -0
- package/src/services/audit/audit.service.ts +12 -0
- package/src/services/audit/azure-audit.service.ts +286 -0
- package/src/services/audit/detectors/ad/accounts.detector.ts +1232 -0
- package/src/services/audit/detectors/ad/adcs.detector.ts +449 -0
- package/src/services/audit/detectors/ad/advanced.detector.ts +1270 -0
- package/src/services/audit/detectors/ad/attack-paths.detector.ts +600 -0
- package/src/services/audit/detectors/ad/compliance.detector.ts +1421 -0
- package/src/services/audit/detectors/ad/computers.detector.ts +1188 -0
- package/src/services/audit/detectors/ad/gpo.detector.ts +485 -0
- package/src/services/audit/detectors/ad/groups.detector.ts +685 -0
- package/src/services/audit/detectors/ad/index.ts +84 -0
- package/src/services/audit/detectors/ad/kerberos.detector.ts +424 -0
- package/src/services/audit/detectors/ad/monitoring.detector.ts +501 -0
- package/src/services/audit/detectors/ad/network.detector.ts +538 -0
- package/src/services/audit/detectors/ad/password.detector.ts +324 -0
- package/src/services/audit/detectors/ad/permissions.detector.ts +637 -0
- package/src/services/audit/detectors/ad/trusts.detector.ts +315 -0
- package/src/services/audit/detectors/azure/app-security.detector.ts +246 -0
- package/src/services/audit/detectors/azure/conditional-access.detector.ts +186 -0
- package/src/services/audit/detectors/azure/privilege-security.detector.ts +176 -0
- package/src/services/audit/detectors/azure/user-security.detector.ts +280 -0
- package/src/services/audit/detectors/index.ts +18 -0
- package/src/services/audit/response-formatter.ts +604 -0
- package/src/services/audit/scoring.service.ts +234 -0
- package/src/services/auth/.gitkeep +0 -0
- package/src/services/auth/crypto.service.ts +230 -0
- package/src/services/auth/errors.ts +47 -0
- package/src/services/auth/token.service.ts +420 -0
- package/src/services/config/.gitkeep +0 -0
- package/src/services/config/config.service.ts +75 -0
- package/src/services/export/.gitkeep +0 -0
- package/src/services/export/export.service.ts +99 -0
- package/src/services/export/formatters/csv.formatter.ts +124 -0
- package/src/services/export/formatters/json.formatter.ts +160 -0
- package/src/services/jobs/azure-job-runner.ts +312 -0
- package/src/services/jobs/index.ts +9 -0
- package/src/services/jobs/job-runner.ts +1280 -0
- package/src/services/jobs/job-store.ts +384 -0
- package/src/services/jobs/job.types.ts +182 -0
- package/src/types/.gitkeep +0 -0
- package/src/types/ad.types.ts +91 -0
- package/src/types/adcs.types.ts +107 -0
- package/src/types/attack-graph.types.ts +260 -0
- package/src/types/audit.types.ts +42 -0
- package/src/types/azure.types.ts +68 -0
- package/src/types/config.types.ts +79 -0
- package/src/types/error.types.ts +69 -0
- package/src/types/finding.types.ts +284 -0
- package/src/types/gpo.types.ts +72 -0
- package/src/types/smb2.d.ts +73 -0
- package/src/types/token.types.ts +32 -0
- package/src/types/trust.types.ts +140 -0
- package/src/utils/.gitkeep +0 -0
- package/src/utils/entity-converter.ts +453 -0
- package/src/utils/graph.util.ts +609 -0
- package/src/utils/logger.ts +111 -0
- package/src/utils/type-name-normalizer.ts +302 -0
- package/tests/.gitkeep +0 -0
- package/tests/e2e/.gitkeep +0 -0
- package/tests/fixtures/.gitkeep +0 -0
- package/tests/integration/.gitkeep +0 -0
- package/tests/integration/README.md +156 -0
- package/tests/integration/ad-audit.integration.test.ts +216 -0
- package/tests/integration/api/.gitkeep +0 -0
- package/tests/integration/api/endpoints.integration.test.ts +431 -0
- package/tests/integration/auth/jwt-authentication.integration.test.ts +358 -0
- package/tests/integration/providers/.gitkeep +0 -0
- package/tests/integration/providers/azure-basic.integration.test.ts +167 -0
- package/tests/integration/providers/ldap-basic.integration.test.ts +152 -0
- package/tests/integration/providers/ldap-connectivity.test.ts +44 -0
- package/tests/integration/providers/ldap-provider.integration.test.ts +347 -0
- package/tests/mocks/.gitkeep +0 -0
- package/tests/setup.ts +16 -0
- package/tests/unit/.gitkeep +0 -0
- package/tests/unit/api/middlewares/authenticate.test.ts +446 -0
- package/tests/unit/providers/.gitkeep +0 -0
- package/tests/unit/providers/azure/azure-errors.test.ts +193 -0
- package/tests/unit/providers/azure/azure-retry.test.ts +254 -0
- package/tests/unit/providers/azure/graph-provider.test.ts +313 -0
- package/tests/unit/providers/ldap/ad-mappers.test.ts +392 -0
- package/tests/unit/providers/ldap/ldap-provider.test.ts +376 -0
- package/tests/unit/providers/ldap/ldap-retry.test.ts +377 -0
- package/tests/unit/providers/ldap/ldap-sanitizer.test.ts +301 -0
- package/tests/unit/sample.test.ts +19 -0
- package/tests/unit/services/.gitkeep +0 -0
- package/tests/unit/services/audit/detectors/ad/accounts.detector.test.ts +393 -0
- package/tests/unit/services/audit/detectors/ad/advanced.detector.test.ts +380 -0
- package/tests/unit/services/audit/detectors/ad/computers.detector.test.ts +440 -0
- package/tests/unit/services/audit/detectors/ad/groups.detector.test.ts +276 -0
- package/tests/unit/services/audit/detectors/ad/kerberos.detector.test.ts +215 -0
- package/tests/unit/services/audit/detectors/ad/password.detector.test.ts +226 -0
- package/tests/unit/services/audit/detectors/ad/permissions.detector.test.ts +244 -0
- package/tests/unit/services/audit/detectors/azure/app-security.detector.test.ts +349 -0
- package/tests/unit/services/audit/detectors/azure/conditional-access.detector.test.ts +374 -0
- package/tests/unit/services/audit/detectors/azure/privilege-security.detector.test.ts +374 -0
- package/tests/unit/services/audit/detectors/azure/user-security.detector.test.ts +297 -0
- package/tests/unit/services/auth/crypto.service.test.ts +296 -0
- package/tests/unit/services/auth/token.service.test.ts +579 -0
- package/tests/unit/services/export/export.service.test.ts +241 -0
- package/tests/unit/services/export/formatters/csv.formatter.test.ts +270 -0
- package/tests/unit/services/export/formatters/json.formatter.test.ts +258 -0
- package/tests/unit/utils/.gitkeep +0 -0
- package/tsconfig.json +50 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export interface ADCSCertificateTemplate {
|
|
2
|
+
dn: string;
|
|
3
|
+
name: string;
|
|
4
|
+
displayName?: string;
|
|
5
|
+
'msPKI-Cert-Template-OID'?: string;
|
|
6
|
+
'msPKI-Certificate-Name-Flag'?: number;
|
|
7
|
+
'msPKI-Enrollment-Flag'?: number;
|
|
8
|
+
'msPKI-Private-Key-Flag'?: number;
|
|
9
|
+
'msPKI-RA-Signature'?: number;
|
|
10
|
+
'msPKI-Template-Schema-Version'?: number;
|
|
11
|
+
pKIExtendedKeyUsage?: string[];
|
|
12
|
+
nTSecurityDescriptor?: Buffer;
|
|
13
|
+
cn?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ADCSCertificateAuthority {
|
|
16
|
+
dn: string;
|
|
17
|
+
name: string;
|
|
18
|
+
dNSHostName: string;
|
|
19
|
+
certificateTemplates?: string[];
|
|
20
|
+
cACertificate?: Buffer;
|
|
21
|
+
nTSecurityDescriptor?: Buffer;
|
|
22
|
+
}
|
|
23
|
+
export declare const CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT = 1;
|
|
24
|
+
export declare const CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT_ALT_NAME = 65536;
|
|
25
|
+
export declare const CT_FLAG_SUBJECT_REQUIRE_DIRECTORY_PATH = 2147483648;
|
|
26
|
+
export declare const CT_FLAG_SUBJECT_REQUIRE_COMMON_NAME = 1073741824;
|
|
27
|
+
export declare const CT_FLAG_SUBJECT_REQUIRE_EMAIL = 536870912;
|
|
28
|
+
export declare const CT_FLAG_SUBJECT_REQUIRE_DNS_AS_CN = 268435456;
|
|
29
|
+
export declare const CT_FLAG_SUBJECT_ALT_REQUIRE_UPN = 33554432;
|
|
30
|
+
export declare const CT_FLAG_SUBJECT_ALT_REQUIRE_EMAIL = 67108864;
|
|
31
|
+
export declare const CT_FLAG_SUBJECT_ALT_REQUIRE_SPN = 8388608;
|
|
32
|
+
export declare const CT_FLAG_SUBJECT_ALT_REQUIRE_DIRECTORY_GUID = 16777216;
|
|
33
|
+
export declare const CT_FLAG_SUBJECT_ALT_REQUIRE_DNS = 134217728;
|
|
34
|
+
export declare const CT_FLAG_SUBJECT_ALT_REQUIRE_DOMAIN_DNS = 4194304;
|
|
35
|
+
export declare const CT_FLAG_INCLUDE_SYMMETRIC_ALGORITHMS = 1;
|
|
36
|
+
export declare const CT_FLAG_PEND_ALL_REQUESTS = 2;
|
|
37
|
+
export declare const CT_FLAG_PUBLISH_TO_KRA_CONTAINER = 4;
|
|
38
|
+
export declare const CT_FLAG_PUBLISH_TO_DS = 8;
|
|
39
|
+
export declare const CT_FLAG_AUTO_ENROLLMENT_CHECK_USER_DS_CERTIFICATE = 16;
|
|
40
|
+
export declare const CT_FLAG_AUTO_ENROLLMENT = 32;
|
|
41
|
+
export declare const CT_FLAG_PREVIOUS_APPROVAL_VALIDATE_REENROLLMENT = 64;
|
|
42
|
+
export declare const CT_FLAG_USER_INTERACTION_REQUIRED = 256;
|
|
43
|
+
export declare const CT_FLAG_REMOVE_INVALID_CERTIFICATE_FROM_PERSONAL_STORE = 1024;
|
|
44
|
+
export declare const CT_FLAG_ALLOW_ENROLL_ON_BEHALF_OF = 2048;
|
|
45
|
+
export declare const CT_FLAG_ADD_OCSP_NOCHECK = 4096;
|
|
46
|
+
export declare const CT_FLAG_ENABLE_KEY_REUSE_ON_NT_TOKEN_KEYSET_STORAGE_FULL = 8192;
|
|
47
|
+
export declare const CT_FLAG_NOREVOCATIONINFOINISSUEDCERTS = 16384;
|
|
48
|
+
export declare const CT_FLAG_INCLUDE_BASIC_CONSTRAINTS_FOR_EE_CERTS = 32768;
|
|
49
|
+
export declare const CT_FLAG_ALLOW_PREVIOUS_APPROVAL_KEYBASEDRENEWAL_VALIDATE_REENROLLMENT = 65536;
|
|
50
|
+
export declare const CT_FLAG_ISSUANCE_POLICIES_FROM_REQUEST = 131072;
|
|
51
|
+
export declare const EKU_CLIENT_AUTH = "1.3.6.1.5.5.7.3.2";
|
|
52
|
+
export declare const EKU_PKIINIT_CLIENT_AUTH = "1.3.6.1.5.2.3.4";
|
|
53
|
+
export declare const EKU_SMART_CARD_LOGON = "1.3.6.1.4.1.311.20.2.2";
|
|
54
|
+
export declare const EKU_ANY_PURPOSE = "2.5.29.37.0";
|
|
55
|
+
export declare const EKU_CERTIFICATE_REQUEST_AGENT = "1.3.6.1.4.1.311.20.2.1";
|
|
56
|
+
export declare const EKU_SERVER_AUTH = "1.3.6.1.5.5.7.3.1";
|
|
57
|
+
export type ESCVulnerabilityType = 'ESC1' | 'ESC2' | 'ESC3' | 'ESC4' | 'ESC5' | 'ESC6' | 'ESC7' | 'ESC8' | 'ESC9' | 'ESC10' | 'ESC11';
|
|
58
|
+
//# sourceMappingURL=adcs.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adcs.types.d.ts","sourceRoot":"","sources":["../../src/types/adcs.types.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAGnC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,+BAA+B,CAAC,EAAE,MAAM,CAAC;IAGzC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAKD,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAGpB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAGD,eAAO,MAAM,iCAAiC,IAAa,CAAC;AAC5D,eAAO,MAAM,0CAA0C,QAAa,CAAC;AACrE,eAAO,MAAM,sCAAsC,aAAa,CAAC;AACjE,eAAO,MAAM,mCAAmC,aAAa,CAAC;AAC9D,eAAO,MAAM,6BAA6B,YAAa,CAAC;AACxD,eAAO,MAAM,iCAAiC,YAAa,CAAC;AAC5D,eAAO,MAAM,+BAA+B,WAAa,CAAC;AAC1D,eAAO,MAAM,iCAAiC,WAAa,CAAC;AAC5D,eAAO,MAAM,+BAA+B,UAAa,CAAC;AAC1D,eAAO,MAAM,0CAA0C,WAAa,CAAC;AACrE,eAAO,MAAM,+BAA+B,YAAa,CAAC;AAC1D,eAAO,MAAM,sCAAsC,UAAa,CAAC;AAGjE,eAAO,MAAM,oCAAoC,IAAa,CAAC;AAC/D,eAAO,MAAM,yBAAyB,IAAa,CAAC;AACpD,eAAO,MAAM,gCAAgC,IAAa,CAAC;AAC3D,eAAO,MAAM,qBAAqB,IAAa,CAAC;AAChD,eAAO,MAAM,iDAAiD,KAAa,CAAC;AAC5E,eAAO,MAAM,uBAAuB,KAAa,CAAC;AAClD,eAAO,MAAM,+CAA+C,KAAa,CAAC;AAC1E,eAAO,MAAM,iCAAiC,MAAa,CAAC;AAC5D,eAAO,MAAM,sDAAsD,OAAa,CAAC;AACjF,eAAO,MAAM,iCAAiC,OAAa,CAAC;AAC5D,eAAO,MAAM,wBAAwB,OAAa,CAAC;AACnD,eAAO,MAAM,wDAAwD,OAAa,CAAC;AACnF,eAAO,MAAM,qCAAqC,QAAa,CAAC;AAChE,eAAO,MAAM,8CAA8C,QAAa,CAAC;AACzE,eAAO,MAAM,qEAAqE,QAAa,CAAC;AAChG,eAAO,MAAM,sCAAsC,SAAa,CAAC;AAGjE,eAAO,MAAM,eAAe,sBAAsB,CAAC;AACnD,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AACzD,eAAO,MAAM,oBAAoB,2BAA2B,CAAC;AAC7D,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,6BAA6B,2BAA2B,CAAC;AACtE,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAKnD,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EKU_SERVER_AUTH = exports.EKU_CERTIFICATE_REQUEST_AGENT = exports.EKU_ANY_PURPOSE = exports.EKU_SMART_CARD_LOGON = exports.EKU_PKIINIT_CLIENT_AUTH = exports.EKU_CLIENT_AUTH = exports.CT_FLAG_ISSUANCE_POLICIES_FROM_REQUEST = exports.CT_FLAG_ALLOW_PREVIOUS_APPROVAL_KEYBASEDRENEWAL_VALIDATE_REENROLLMENT = exports.CT_FLAG_INCLUDE_BASIC_CONSTRAINTS_FOR_EE_CERTS = exports.CT_FLAG_NOREVOCATIONINFOINISSUEDCERTS = exports.CT_FLAG_ENABLE_KEY_REUSE_ON_NT_TOKEN_KEYSET_STORAGE_FULL = exports.CT_FLAG_ADD_OCSP_NOCHECK = exports.CT_FLAG_ALLOW_ENROLL_ON_BEHALF_OF = exports.CT_FLAG_REMOVE_INVALID_CERTIFICATE_FROM_PERSONAL_STORE = exports.CT_FLAG_USER_INTERACTION_REQUIRED = exports.CT_FLAG_PREVIOUS_APPROVAL_VALIDATE_REENROLLMENT = exports.CT_FLAG_AUTO_ENROLLMENT = exports.CT_FLAG_AUTO_ENROLLMENT_CHECK_USER_DS_CERTIFICATE = exports.CT_FLAG_PUBLISH_TO_DS = exports.CT_FLAG_PUBLISH_TO_KRA_CONTAINER = exports.CT_FLAG_PEND_ALL_REQUESTS = exports.CT_FLAG_INCLUDE_SYMMETRIC_ALGORITHMS = exports.CT_FLAG_SUBJECT_ALT_REQUIRE_DOMAIN_DNS = exports.CT_FLAG_SUBJECT_ALT_REQUIRE_DNS = exports.CT_FLAG_SUBJECT_ALT_REQUIRE_DIRECTORY_GUID = exports.CT_FLAG_SUBJECT_ALT_REQUIRE_SPN = exports.CT_FLAG_SUBJECT_ALT_REQUIRE_EMAIL = exports.CT_FLAG_SUBJECT_ALT_REQUIRE_UPN = exports.CT_FLAG_SUBJECT_REQUIRE_DNS_AS_CN = exports.CT_FLAG_SUBJECT_REQUIRE_EMAIL = exports.CT_FLAG_SUBJECT_REQUIRE_COMMON_NAME = exports.CT_FLAG_SUBJECT_REQUIRE_DIRECTORY_PATH = exports.CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT_ALT_NAME = exports.CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT = void 0;
|
|
4
|
+
exports.CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT = 0x00000001;
|
|
5
|
+
exports.CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT_ALT_NAME = 0x00010000;
|
|
6
|
+
exports.CT_FLAG_SUBJECT_REQUIRE_DIRECTORY_PATH = 0x80000000;
|
|
7
|
+
exports.CT_FLAG_SUBJECT_REQUIRE_COMMON_NAME = 0x40000000;
|
|
8
|
+
exports.CT_FLAG_SUBJECT_REQUIRE_EMAIL = 0x20000000;
|
|
9
|
+
exports.CT_FLAG_SUBJECT_REQUIRE_DNS_AS_CN = 0x10000000;
|
|
10
|
+
exports.CT_FLAG_SUBJECT_ALT_REQUIRE_UPN = 0x02000000;
|
|
11
|
+
exports.CT_FLAG_SUBJECT_ALT_REQUIRE_EMAIL = 0x04000000;
|
|
12
|
+
exports.CT_FLAG_SUBJECT_ALT_REQUIRE_SPN = 0x00800000;
|
|
13
|
+
exports.CT_FLAG_SUBJECT_ALT_REQUIRE_DIRECTORY_GUID = 0x01000000;
|
|
14
|
+
exports.CT_FLAG_SUBJECT_ALT_REQUIRE_DNS = 0x08000000;
|
|
15
|
+
exports.CT_FLAG_SUBJECT_ALT_REQUIRE_DOMAIN_DNS = 0x00400000;
|
|
16
|
+
exports.CT_FLAG_INCLUDE_SYMMETRIC_ALGORITHMS = 0x00000001;
|
|
17
|
+
exports.CT_FLAG_PEND_ALL_REQUESTS = 0x00000002;
|
|
18
|
+
exports.CT_FLAG_PUBLISH_TO_KRA_CONTAINER = 0x00000004;
|
|
19
|
+
exports.CT_FLAG_PUBLISH_TO_DS = 0x00000008;
|
|
20
|
+
exports.CT_FLAG_AUTO_ENROLLMENT_CHECK_USER_DS_CERTIFICATE = 0x00000010;
|
|
21
|
+
exports.CT_FLAG_AUTO_ENROLLMENT = 0x00000020;
|
|
22
|
+
exports.CT_FLAG_PREVIOUS_APPROVAL_VALIDATE_REENROLLMENT = 0x00000040;
|
|
23
|
+
exports.CT_FLAG_USER_INTERACTION_REQUIRED = 0x00000100;
|
|
24
|
+
exports.CT_FLAG_REMOVE_INVALID_CERTIFICATE_FROM_PERSONAL_STORE = 0x00000400;
|
|
25
|
+
exports.CT_FLAG_ALLOW_ENROLL_ON_BEHALF_OF = 0x00000800;
|
|
26
|
+
exports.CT_FLAG_ADD_OCSP_NOCHECK = 0x00001000;
|
|
27
|
+
exports.CT_FLAG_ENABLE_KEY_REUSE_ON_NT_TOKEN_KEYSET_STORAGE_FULL = 0x00002000;
|
|
28
|
+
exports.CT_FLAG_NOREVOCATIONINFOINISSUEDCERTS = 0x00004000;
|
|
29
|
+
exports.CT_FLAG_INCLUDE_BASIC_CONSTRAINTS_FOR_EE_CERTS = 0x00008000;
|
|
30
|
+
exports.CT_FLAG_ALLOW_PREVIOUS_APPROVAL_KEYBASEDRENEWAL_VALIDATE_REENROLLMENT = 0x00010000;
|
|
31
|
+
exports.CT_FLAG_ISSUANCE_POLICIES_FROM_REQUEST = 0x00020000;
|
|
32
|
+
exports.EKU_CLIENT_AUTH = '1.3.6.1.5.5.7.3.2';
|
|
33
|
+
exports.EKU_PKIINIT_CLIENT_AUTH = '1.3.6.1.5.2.3.4';
|
|
34
|
+
exports.EKU_SMART_CARD_LOGON = '1.3.6.1.4.1.311.20.2.2';
|
|
35
|
+
exports.EKU_ANY_PURPOSE = '2.5.29.37.0';
|
|
36
|
+
exports.EKU_CERTIFICATE_REQUEST_AGENT = '1.3.6.1.4.1.311.20.2.1';
|
|
37
|
+
exports.EKU_SERVER_AUTH = '1.3.6.1.5.5.7.3.1';
|
|
38
|
+
//# sourceMappingURL=adcs.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adcs.types.js","sourceRoot":"","sources":["../../src/types/adcs.types.ts"],"names":[],"mappings":";;;AAqDa,QAAA,iCAAiC,GAAG,UAAU,CAAC;AAC/C,QAAA,0CAA0C,GAAG,UAAU,CAAC;AACxD,QAAA,sCAAsC,GAAG,UAAU,CAAC;AACpD,QAAA,mCAAmC,GAAG,UAAU,CAAC;AACjD,QAAA,6BAA6B,GAAG,UAAU,CAAC;AAC3C,QAAA,iCAAiC,GAAG,UAAU,CAAC;AAC/C,QAAA,+BAA+B,GAAG,UAAU,CAAC;AAC7C,QAAA,iCAAiC,GAAG,UAAU,CAAC;AAC/C,QAAA,+BAA+B,GAAG,UAAU,CAAC;AAC7C,QAAA,0CAA0C,GAAG,UAAU,CAAC;AACxD,QAAA,+BAA+B,GAAG,UAAU,CAAC;AAC7C,QAAA,sCAAsC,GAAG,UAAU,CAAC;AAGpD,QAAA,oCAAoC,GAAG,UAAU,CAAC;AAClD,QAAA,yBAAyB,GAAG,UAAU,CAAC;AACvC,QAAA,gCAAgC,GAAG,UAAU,CAAC;AAC9C,QAAA,qBAAqB,GAAG,UAAU,CAAC;AACnC,QAAA,iDAAiD,GAAG,UAAU,CAAC;AAC/D,QAAA,uBAAuB,GAAG,UAAU,CAAC;AACrC,QAAA,+CAA+C,GAAG,UAAU,CAAC;AAC7D,QAAA,iCAAiC,GAAG,UAAU,CAAC;AAC/C,QAAA,sDAAsD,GAAG,UAAU,CAAC;AACpE,QAAA,iCAAiC,GAAG,UAAU,CAAC;AAC/C,QAAA,wBAAwB,GAAG,UAAU,CAAC;AACtC,QAAA,wDAAwD,GAAG,UAAU,CAAC;AACtE,QAAA,qCAAqC,GAAG,UAAU,CAAC;AACnD,QAAA,8CAA8C,GAAG,UAAU,CAAC;AAC5D,QAAA,qEAAqE,GAAG,UAAU,CAAC;AACnF,QAAA,sCAAsC,GAAG,UAAU,CAAC;AAGpD,QAAA,eAAe,GAAG,mBAAmB,CAAC;AACtC,QAAA,uBAAuB,GAAG,iBAAiB,CAAC;AAC5C,QAAA,oBAAoB,GAAG,wBAAwB,CAAC;AAChD,QAAA,eAAe,GAAG,aAAa,CAAC;AAChC,QAAA,6BAA6B,GAAG,wBAAwB,CAAC;AACzD,QAAA,eAAe,GAAG,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
export type AttackNodeType = 'user' | 'group' | 'computer' | 'gpo' | 'ou' | 'domain';
|
|
2
|
+
export type AttackPathRisk = 'critical' | 'high' | 'medium' | 'low';
|
|
3
|
+
export type AttackPathType = 'ACL_ABUSE' | 'KERBEROASTING' | 'ASREP_ROASTING' | 'DELEGATION_ABUSE' | 'LATERAL_MOVEMENT' | 'CERTIFICATE_ABUSE' | 'GROUP_MEMBERSHIP' | 'DCSYNC' | 'OWNERSHIP_ABUSE';
|
|
4
|
+
export type AttackRelationType = 'MemberOf' | 'GenericAll' | 'WriteDacl' | 'WriteOwner' | 'GenericWrite' | 'ForceChangePassword' | 'AddMember' | 'DCSync' | 'AllowedToDelegate' | 'AllowedToAct' | 'HasSPN' | 'NoPreauth' | 'Owns' | 'AdminTo' | 'HasSession' | 'CanPSRemote' | 'CanRDP' | 'ExecuteDCOM' | 'SQLAdmin' | 'ReadLAPSPassword' | 'ReadGMSAPassword' | 'Contains' | 'GPLink' | 'TrustedBy';
|
|
5
|
+
export interface AttackGraphNode {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
type: AttackNodeType;
|
|
9
|
+
sid?: string;
|
|
10
|
+
dn?: string;
|
|
11
|
+
domain?: string;
|
|
12
|
+
isEnabled?: boolean;
|
|
13
|
+
isPrivileged?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface AttackGraphRelation {
|
|
16
|
+
relation: AttackRelationType;
|
|
17
|
+
isAbusable: boolean;
|
|
18
|
+
accessMask?: number;
|
|
19
|
+
objectType?: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
}
|
|
22
|
+
export type AttackChainElement = AttackGraphNode | AttackGraphRelation;
|
|
23
|
+
export interface AttackEntryPointProperties {
|
|
24
|
+
hasSPN?: boolean;
|
|
25
|
+
noPreauth?: boolean;
|
|
26
|
+
passwordNotExpire?: boolean;
|
|
27
|
+
unconstrained?: boolean;
|
|
28
|
+
constrained?: boolean;
|
|
29
|
+
rbcd?: boolean;
|
|
30
|
+
adminCount?: boolean;
|
|
31
|
+
enabled?: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface AttackEntryPoint {
|
|
34
|
+
id: string;
|
|
35
|
+
name: string;
|
|
36
|
+
type: AttackNodeType;
|
|
37
|
+
properties: AttackEntryPointProperties;
|
|
38
|
+
}
|
|
39
|
+
export interface AttackPath {
|
|
40
|
+
id: string;
|
|
41
|
+
risk: AttackPathRisk;
|
|
42
|
+
type: AttackPathType;
|
|
43
|
+
hops: number;
|
|
44
|
+
description: string;
|
|
45
|
+
chain: AttackChainElement[];
|
|
46
|
+
entryPoint: AttackEntryPoint;
|
|
47
|
+
target: AttackGraphNode;
|
|
48
|
+
mitigation: string;
|
|
49
|
+
}
|
|
50
|
+
export interface AttackTarget {
|
|
51
|
+
id: string;
|
|
52
|
+
name: string;
|
|
53
|
+
type: AttackNodeType;
|
|
54
|
+
sid?: string;
|
|
55
|
+
dn?: string;
|
|
56
|
+
reason: string;
|
|
57
|
+
}
|
|
58
|
+
export interface AttackGraphStats {
|
|
59
|
+
totalPaths: number;
|
|
60
|
+
byRisk: {
|
|
61
|
+
critical: number;
|
|
62
|
+
high: number;
|
|
63
|
+
medium: number;
|
|
64
|
+
low: number;
|
|
65
|
+
};
|
|
66
|
+
byType: Record<AttackPathType, number>;
|
|
67
|
+
averageHops: number;
|
|
68
|
+
shortestPath: number;
|
|
69
|
+
longestPath: number;
|
|
70
|
+
}
|
|
71
|
+
export interface AttackGraphUniqueNode {
|
|
72
|
+
id: string;
|
|
73
|
+
name: string;
|
|
74
|
+
type: AttackNodeType;
|
|
75
|
+
pathCount: number;
|
|
76
|
+
sid?: string;
|
|
77
|
+
}
|
|
78
|
+
export interface AttackGraphExport {
|
|
79
|
+
version: string;
|
|
80
|
+
generatedAt: string;
|
|
81
|
+
domain: string;
|
|
82
|
+
targets: AttackTarget[];
|
|
83
|
+
paths: AttackPath[];
|
|
84
|
+
stats: AttackGraphStats;
|
|
85
|
+
uniqueNodes: AttackGraphUniqueNode[];
|
|
86
|
+
}
|
|
87
|
+
export declare const ACL_GUIDS: {
|
|
88
|
+
readonly FORCE_CHANGE_PASSWORD: "00299570-246d-11d0-a768-00aa006e0529";
|
|
89
|
+
readonly DS_REPLICATION_GET_CHANGES: "1131f6aa-9c07-11d1-f79f-00c04fc2dcd2";
|
|
90
|
+
readonly DS_REPLICATION_GET_CHANGES_ALL: "1131f6ad-9c07-11d1-f79f-00c04fc2dcd2";
|
|
91
|
+
readonly DS_REPLICATION_GET_CHANGES_IN_FILTERED_SET: "89e95b76-444d-4c62-991a-0facbeda640c";
|
|
92
|
+
readonly SELF_MEMBERSHIP: "bf9679c0-0de6-11d0-a285-00aa003049e2";
|
|
93
|
+
readonly LAPS_PASSWORD: "e91556f8-b3c8-4b66-b3c8-4b0c8ac2c45b";
|
|
94
|
+
readonly CERTIFICATE_ENROLLMENT: "0e10c968-78fb-11d2-90d4-00c04f79dc55";
|
|
95
|
+
readonly CERTIFICATE_AUTOENROLLMENT: "a05b8cc2-17bc-4802-a710-e7c15ab866a2";
|
|
96
|
+
};
|
|
97
|
+
export declare const ACCESS_MASK: {
|
|
98
|
+
readonly GENERIC_READ: 2147483648;
|
|
99
|
+
readonly GENERIC_WRITE: 1073741824;
|
|
100
|
+
readonly GENERIC_EXECUTE: 536870912;
|
|
101
|
+
readonly GENERIC_ALL: 268435456;
|
|
102
|
+
readonly MAXIMUM_ALLOWED: 33554432;
|
|
103
|
+
readonly ACCESS_SYSTEM_SECURITY: 16777216;
|
|
104
|
+
readonly SYNCHRONIZE: 1048576;
|
|
105
|
+
readonly WRITE_OWNER: 524288;
|
|
106
|
+
readonly WRITE_DACL: 262144;
|
|
107
|
+
readonly READ_CONTROL: 131072;
|
|
108
|
+
readonly DELETE: 65536;
|
|
109
|
+
readonly WRITE_PROPERTY: 32;
|
|
110
|
+
readonly READ_PROPERTY: 16;
|
|
111
|
+
readonly SELF: 8;
|
|
112
|
+
readonly LIST_OBJECT: 128;
|
|
113
|
+
readonly DELETE_TREE: 64;
|
|
114
|
+
readonly CONTROL_ACCESS: 256;
|
|
115
|
+
};
|
|
116
|
+
export declare const PRIVILEGED_SID_SUFFIXES: {
|
|
117
|
+
readonly DOMAIN_ADMINS: "-512";
|
|
118
|
+
readonly DOMAIN_USERS: "-513";
|
|
119
|
+
readonly DOMAIN_GUESTS: "-514";
|
|
120
|
+
readonly DOMAIN_COMPUTERS: "-515";
|
|
121
|
+
readonly DOMAIN_CONTROLLERS: "-516";
|
|
122
|
+
readonly SCHEMA_ADMINS: "-518";
|
|
123
|
+
readonly ENTERPRISE_ADMINS: "-519";
|
|
124
|
+
readonly GROUP_POLICY_CREATOR_OWNERS: "-520";
|
|
125
|
+
readonly KEY_ADMINS: "-526";
|
|
126
|
+
readonly ENTERPRISE_KEY_ADMINS: "-527";
|
|
127
|
+
readonly ADMINISTRATORS: "-544";
|
|
128
|
+
readonly BACKUP_OPERATORS: "-551";
|
|
129
|
+
readonly ACCOUNT_OPERATORS: "-548";
|
|
130
|
+
readonly SERVER_OPERATORS: "-549";
|
|
131
|
+
readonly PRINT_OPERATORS: "-550";
|
|
132
|
+
};
|
|
133
|
+
export declare function isAttackGraphNode(element: AttackChainElement): element is AttackGraphNode;
|
|
134
|
+
export declare function isAttackGraphRelation(element: AttackChainElement): element is AttackGraphRelation;
|
|
135
|
+
//# sourceMappingURL=attack-graph.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attack-graph.types.d.ts","sourceRoot":"","sources":["../../src/types/attack-graph.types.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;AAKrF,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAKpE,MAAM,MAAM,cAAc,GACtB,WAAW,GACX,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,QAAQ,GACR,iBAAiB,CAAC;AAKtB,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,cAAc,GACd,qBAAqB,GACrB,WAAW,GACX,QAAQ,GACR,mBAAmB,GACnB,cAAc,GACd,QAAQ,GACR,WAAW,GACX,MAAM,GACN,SAAS,GACT,YAAY,GACZ,aAAa,GACb,QAAQ,GACR,aAAa,GACb,UAAU,GACV,kBAAkB,GAClB,kBAAkB,GAClB,UAAU,GACV,QAAQ,GACR,WAAW,CAAC;AAKhB,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAKD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAKD,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,mBAAmB,CAAC;AAKvE,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,0BAA0B,CAAC;CACxC;AAKD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAKD,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAKD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC;IACxB,WAAW,EAAE,qBAAqB,EAAE,CAAC;CACtC;AAKD,eAAO,MAAM,SAAS;;;;;;;;;CAgBZ,CAAC;AAKX,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;CAkBd,CAAC;AAKX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;CAgB1B,CAAC;AAKX,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,IAAI,eAAe,CAEzF;AAKD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,IAAI,mBAAmB,CAEjG"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PRIVILEGED_SID_SUFFIXES = exports.ACCESS_MASK = exports.ACL_GUIDS = void 0;
|
|
4
|
+
exports.isAttackGraphNode = isAttackGraphNode;
|
|
5
|
+
exports.isAttackGraphRelation = isAttackGraphRelation;
|
|
6
|
+
exports.ACL_GUIDS = {
|
|
7
|
+
FORCE_CHANGE_PASSWORD: '00299570-246d-11d0-a768-00aa006e0529',
|
|
8
|
+
DS_REPLICATION_GET_CHANGES: '1131f6aa-9c07-11d1-f79f-00c04fc2dcd2',
|
|
9
|
+
DS_REPLICATION_GET_CHANGES_ALL: '1131f6ad-9c07-11d1-f79f-00c04fc2dcd2',
|
|
10
|
+
DS_REPLICATION_GET_CHANGES_IN_FILTERED_SET: '89e95b76-444d-4c62-991a-0facbeda640c',
|
|
11
|
+
SELF_MEMBERSHIP: 'bf9679c0-0de6-11d0-a285-00aa003049e2',
|
|
12
|
+
LAPS_PASSWORD: 'e91556f8-b3c8-4b66-b3c8-4b0c8ac2c45b',
|
|
13
|
+
CERTIFICATE_ENROLLMENT: '0e10c968-78fb-11d2-90d4-00c04f79dc55',
|
|
14
|
+
CERTIFICATE_AUTOENROLLMENT: 'a05b8cc2-17bc-4802-a710-e7c15ab866a2',
|
|
15
|
+
};
|
|
16
|
+
exports.ACCESS_MASK = {
|
|
17
|
+
GENERIC_READ: 0x80000000,
|
|
18
|
+
GENERIC_WRITE: 0x40000000,
|
|
19
|
+
GENERIC_EXECUTE: 0x20000000,
|
|
20
|
+
GENERIC_ALL: 0x10000000,
|
|
21
|
+
MAXIMUM_ALLOWED: 0x02000000,
|
|
22
|
+
ACCESS_SYSTEM_SECURITY: 0x01000000,
|
|
23
|
+
SYNCHRONIZE: 0x00100000,
|
|
24
|
+
WRITE_OWNER: 0x00080000,
|
|
25
|
+
WRITE_DACL: 0x00040000,
|
|
26
|
+
READ_CONTROL: 0x00020000,
|
|
27
|
+
DELETE: 0x00010000,
|
|
28
|
+
WRITE_PROPERTY: 0x00000020,
|
|
29
|
+
READ_PROPERTY: 0x00000010,
|
|
30
|
+
SELF: 0x00000008,
|
|
31
|
+
LIST_OBJECT: 0x00000080,
|
|
32
|
+
DELETE_TREE: 0x00000040,
|
|
33
|
+
CONTROL_ACCESS: 0x00000100,
|
|
34
|
+
};
|
|
35
|
+
exports.PRIVILEGED_SID_SUFFIXES = {
|
|
36
|
+
DOMAIN_ADMINS: '-512',
|
|
37
|
+
DOMAIN_USERS: '-513',
|
|
38
|
+
DOMAIN_GUESTS: '-514',
|
|
39
|
+
DOMAIN_COMPUTERS: '-515',
|
|
40
|
+
DOMAIN_CONTROLLERS: '-516',
|
|
41
|
+
SCHEMA_ADMINS: '-518',
|
|
42
|
+
ENTERPRISE_ADMINS: '-519',
|
|
43
|
+
GROUP_POLICY_CREATOR_OWNERS: '-520',
|
|
44
|
+
KEY_ADMINS: '-526',
|
|
45
|
+
ENTERPRISE_KEY_ADMINS: '-527',
|
|
46
|
+
ADMINISTRATORS: '-544',
|
|
47
|
+
BACKUP_OPERATORS: '-551',
|
|
48
|
+
ACCOUNT_OPERATORS: '-548',
|
|
49
|
+
SERVER_OPERATORS: '-549',
|
|
50
|
+
PRINT_OPERATORS: '-550',
|
|
51
|
+
};
|
|
52
|
+
function isAttackGraphNode(element) {
|
|
53
|
+
return 'type' in element && 'name' in element && !('relation' in element);
|
|
54
|
+
}
|
|
55
|
+
function isAttackGraphRelation(element) {
|
|
56
|
+
return 'relation' in element;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=attack-graph.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attack-graph.types.js","sourceRoot":"","sources":["../../src/types/attack-graph.types.ts"],"names":[],"mappings":";;;AA0PA,8CAEC;AAKD,sDAEC;AA1EY,QAAA,SAAS,GAAG;IAEvB,qBAAqB,EAAE,sCAAsC;IAC7D,0BAA0B,EAAE,sCAAsC;IAClE,8BAA8B,EAAE,sCAAsC;IACtE,0CAA0C,EAAE,sCAAsC;IAGlF,eAAe,EAAE,sCAAsC;IAGvD,aAAa,EAAE,sCAAsC;IAGrD,sBAAsB,EAAE,sCAAsC;IAC9D,0BAA0B,EAAE,sCAAsC;CAC1D,CAAC;AAKE,QAAA,WAAW,GAAG;IACzB,YAAY,EAAE,UAAU;IACxB,aAAa,EAAE,UAAU;IACzB,eAAe,EAAE,UAAU;IAC3B,WAAW,EAAE,UAAU;IACvB,eAAe,EAAE,UAAU;IAC3B,sBAAsB,EAAE,UAAU;IAClC,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,UAAU;IACvB,UAAU,EAAE,UAAU;IACtB,YAAY,EAAE,UAAU;IACxB,MAAM,EAAE,UAAU;IAClB,cAAc,EAAE,UAAU;IAC1B,aAAa,EAAE,UAAU;IACzB,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,UAAU;IACvB,cAAc,EAAE,UAAU;CAClB,CAAC;AAKE,QAAA,uBAAuB,GAAG;IACrC,aAAa,EAAE,MAAM;IACrB,YAAY,EAAE,MAAM;IACpB,aAAa,EAAE,MAAM;IACrB,gBAAgB,EAAE,MAAM;IACxB,kBAAkB,EAAE,MAAM;IAC1B,aAAa,EAAE,MAAM;IACrB,iBAAiB,EAAE,MAAM;IACzB,2BAA2B,EAAE,MAAM;IACnC,UAAU,EAAE,MAAM;IAClB,qBAAqB,EAAE,MAAM;IAC7B,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,MAAM;IACxB,iBAAiB,EAAE,MAAM;IACzB,gBAAgB,EAAE,MAAM;IACxB,eAAe,EAAE,MAAM;CACf,CAAC;AAKX,SAAgB,iBAAiB,CAAC,OAA2B;IAC3D,OAAO,MAAM,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,IAAI,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC;AAC5E,CAAC;AAKD,SAAgB,qBAAqB,CAAC,OAA2B;IAC/D,OAAO,UAAU,IAAI,OAAO,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Finding } from './finding.types';
|
|
2
|
+
export type Provider = 'active-directory' | 'azure';
|
|
3
|
+
export interface AuditOptions {
|
|
4
|
+
includeDetails?: boolean;
|
|
5
|
+
includeComputers?: boolean;
|
|
6
|
+
includeConfig?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface AuditSummary {
|
|
9
|
+
totalFindings: number;
|
|
10
|
+
critical: number;
|
|
11
|
+
high: number;
|
|
12
|
+
medium: number;
|
|
13
|
+
low: number;
|
|
14
|
+
riskScore: number;
|
|
15
|
+
categoryScores?: Record<string, number>;
|
|
16
|
+
}
|
|
17
|
+
export interface AuditMetadata {
|
|
18
|
+
auditId: string;
|
|
19
|
+
provider: Provider;
|
|
20
|
+
timestamp: string;
|
|
21
|
+
duration: number;
|
|
22
|
+
objectsCounted?: {
|
|
23
|
+
users?: number;
|
|
24
|
+
groups?: number;
|
|
25
|
+
computers?: number;
|
|
26
|
+
policies?: number;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface AuditResult {
|
|
30
|
+
metadata: AuditMetadata;
|
|
31
|
+
summary: AuditSummary;
|
|
32
|
+
findings: Finding[];
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=audit.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.types.d.ts","sourceRoot":"","sources":["../../src/types/audit.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAM1C,MAAM,MAAM,QAAQ,GAAG,kBAAkB,GAAG,OAAO,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.types.js","sourceRoot":"","sources":["../../src/types/audit.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export interface AzureUser {
|
|
2
|
+
id: string;
|
|
3
|
+
userPrincipalName: string;
|
|
4
|
+
displayName?: string;
|
|
5
|
+
mail?: string;
|
|
6
|
+
givenName?: string;
|
|
7
|
+
surname?: string;
|
|
8
|
+
jobTitle?: string;
|
|
9
|
+
department?: string;
|
|
10
|
+
companyName?: string;
|
|
11
|
+
manager?: {
|
|
12
|
+
id?: string;
|
|
13
|
+
displayName?: string;
|
|
14
|
+
} | string;
|
|
15
|
+
officeLocation?: string;
|
|
16
|
+
employeeId?: string;
|
|
17
|
+
createdDateTime?: string;
|
|
18
|
+
lastSignInDateTime?: string;
|
|
19
|
+
lastPasswordChangeDateTime?: string;
|
|
20
|
+
accountEnabled: boolean;
|
|
21
|
+
userType?: string;
|
|
22
|
+
riskLevel?: string;
|
|
23
|
+
riskState?: string;
|
|
24
|
+
isMfaRegistered?: boolean;
|
|
25
|
+
strongAuthenticationMethods?: unknown[];
|
|
26
|
+
assignedLicenses?: Array<{
|
|
27
|
+
skuId?: string;
|
|
28
|
+
}>;
|
|
29
|
+
memberOf?: Array<{
|
|
30
|
+
id?: string;
|
|
31
|
+
displayName?: string;
|
|
32
|
+
}> | string[];
|
|
33
|
+
passwordPolicies?: string;
|
|
34
|
+
[key: string]: unknown;
|
|
35
|
+
}
|
|
36
|
+
export interface AzureGroup {
|
|
37
|
+
id: string;
|
|
38
|
+
displayName: string;
|
|
39
|
+
mailEnabled: boolean;
|
|
40
|
+
securityEnabled: boolean;
|
|
41
|
+
groupTypes?: string[];
|
|
42
|
+
members?: string[];
|
|
43
|
+
[key: string]: unknown;
|
|
44
|
+
}
|
|
45
|
+
export interface AzureApp {
|
|
46
|
+
id: string;
|
|
47
|
+
appId: string;
|
|
48
|
+
displayName: string;
|
|
49
|
+
createdDateTime?: string;
|
|
50
|
+
signInAudience?: string;
|
|
51
|
+
[key: string]: unknown;
|
|
52
|
+
}
|
|
53
|
+
export interface AzurePolicy {
|
|
54
|
+
id: string;
|
|
55
|
+
displayName: string;
|
|
56
|
+
state?: string;
|
|
57
|
+
conditions?: unknown;
|
|
58
|
+
grantControls?: unknown;
|
|
59
|
+
[key: string]: unknown;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=azure.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"azure.types.d.ts","sourceRoot":"","sources":["../../src/types/azure.types.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IAExB,EAAE,EAAE,MAAM,CAAC;IACX,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAGpC,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2BAA2B,CAAC,EAAE,OAAO,EAAE,CAAC;IACxC,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM,EAAE,CAAC;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"azure.types.js","sourceRoot":"","sources":["../../src/types/azure.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export interface ServerConfig {
|
|
2
|
+
port: number;
|
|
3
|
+
nodeEnv: 'development' | 'production' | 'test';
|
|
4
|
+
}
|
|
5
|
+
export interface JWTConfig {
|
|
6
|
+
privateKeyPath: string;
|
|
7
|
+
publicKeyPath: string;
|
|
8
|
+
tokenExpiry: string;
|
|
9
|
+
tokenMaxUses: number;
|
|
10
|
+
}
|
|
11
|
+
export interface InfoEndpointsConfig {
|
|
12
|
+
tokenInfoEnabled: boolean;
|
|
13
|
+
providersInfoEnabled: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface LDAPConfig {
|
|
16
|
+
url: string;
|
|
17
|
+
bindDN: string;
|
|
18
|
+
bindPassword: string;
|
|
19
|
+
baseDN: string;
|
|
20
|
+
tlsVerify: boolean;
|
|
21
|
+
caCertPath?: string;
|
|
22
|
+
timeout: number;
|
|
23
|
+
skipHostnameVerification?: boolean;
|
|
24
|
+
tlsServername?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface AzureConfig {
|
|
27
|
+
enabled: boolean;
|
|
28
|
+
tenantId?: string;
|
|
29
|
+
tenantName?: string;
|
|
30
|
+
clientId?: string;
|
|
31
|
+
clientSecret?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface SMBConfig {
|
|
34
|
+
enabled: boolean;
|
|
35
|
+
username?: string;
|
|
36
|
+
password?: string;
|
|
37
|
+
timeout: number;
|
|
38
|
+
}
|
|
39
|
+
export interface AzureProviderConfig {
|
|
40
|
+
tenantId: string;
|
|
41
|
+
clientId: string;
|
|
42
|
+
clientSecret: string;
|
|
43
|
+
}
|
|
44
|
+
export interface LoggingConfig {
|
|
45
|
+
level: 'error' | 'warn' | 'info' | 'debug';
|
|
46
|
+
format: 'json' | 'simple';
|
|
47
|
+
}
|
|
48
|
+
export interface DatabaseConfig {
|
|
49
|
+
path: string;
|
|
50
|
+
enableWAL: boolean;
|
|
51
|
+
busyTimeout: number;
|
|
52
|
+
}
|
|
53
|
+
export interface AppConfig {
|
|
54
|
+
server: ServerConfig;
|
|
55
|
+
infoEndpoints: InfoEndpointsConfig;
|
|
56
|
+
jwt: JWTConfig;
|
|
57
|
+
ldap: LDAPConfig;
|
|
58
|
+
azure: AzureConfig;
|
|
59
|
+
smb: SMBConfig;
|
|
60
|
+
logging: LoggingConfig;
|
|
61
|
+
database: DatabaseConfig;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=config.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,GAAG,YAAY,GAAG,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,SAAS,CAAC;IACf,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.types.js","sourceRoot":"","sources":["../../src/types/config.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare class BaseError extends Error {
|
|
2
|
+
statusCode: number;
|
|
3
|
+
isOperational: boolean;
|
|
4
|
+
constructor(message: string, statusCode?: number, isOperational?: boolean);
|
|
5
|
+
}
|
|
6
|
+
export declare class AuthenticationError extends BaseError {
|
|
7
|
+
constructor(message?: string);
|
|
8
|
+
}
|
|
9
|
+
export declare class AuthorizationError extends BaseError {
|
|
10
|
+
constructor(message?: string);
|
|
11
|
+
}
|
|
12
|
+
export declare class ValidationError extends BaseError {
|
|
13
|
+
constructor(message?: string);
|
|
14
|
+
}
|
|
15
|
+
export declare class NotFoundError extends BaseError {
|
|
16
|
+
constructor(message?: string);
|
|
17
|
+
}
|
|
18
|
+
export declare class LDAPConnectionError extends BaseError {
|
|
19
|
+
constructor(message?: string);
|
|
20
|
+
}
|
|
21
|
+
export declare class GraphAPIError extends BaseError {
|
|
22
|
+
constructor(message?: string);
|
|
23
|
+
}
|
|
24
|
+
export declare class AuditExecutionError extends BaseError {
|
|
25
|
+
constructor(message?: string);
|
|
26
|
+
}
|
|
27
|
+
export declare class TokenExpiredError extends BaseError {
|
|
28
|
+
constructor(message?: string);
|
|
29
|
+
}
|
|
30
|
+
export declare class RateLimitError extends BaseError {
|
|
31
|
+
constructor(message?: string);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=error.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.types.d.ts","sourceRoot":"","sources":["../../src/types/error.types.ts"],"names":[],"mappings":"AAIA,qBAAa,SAAU,SAAQ,KAAK;IAGzB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,OAAO;gBAF7B,OAAO,EAAE,MAAM,EACR,UAAU,GAAE,MAAY,EACxB,aAAa,GAAE,OAAc;CAMvC;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,SAA0B;CAG9C;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,SAA6B;CAGjD;AAED,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,OAAO,SAAsB;CAG1C;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,SAAuB;CAG3C;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,SAA2B;CAG/C;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,OAAO,SAA6B;CAGjD;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,SAA2B;CAG/C;AAED,qBAAa,iBAAkB,SAAQ,SAAS;gBAClC,OAAO,SAAsB;CAG1C;AAED,qBAAa,cAAe,SAAQ,SAAS;gBAC/B,OAAO,SAAwB;CAG5C"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RateLimitError = exports.TokenExpiredError = exports.AuditExecutionError = exports.GraphAPIError = exports.LDAPConnectionError = exports.NotFoundError = exports.ValidationError = exports.AuthorizationError = exports.AuthenticationError = exports.BaseError = void 0;
|
|
4
|
+
class BaseError extends Error {
|
|
5
|
+
statusCode;
|
|
6
|
+
isOperational;
|
|
7
|
+
constructor(message, statusCode = 500, isOperational = true) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.statusCode = statusCode;
|
|
10
|
+
this.isOperational = isOperational;
|
|
11
|
+
this.name = this.constructor.name;
|
|
12
|
+
Error.captureStackTrace(this, this.constructor);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.BaseError = BaseError;
|
|
16
|
+
class AuthenticationError extends BaseError {
|
|
17
|
+
constructor(message = 'Authentication failed') {
|
|
18
|
+
super(message, 401);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.AuthenticationError = AuthenticationError;
|
|
22
|
+
class AuthorizationError extends BaseError {
|
|
23
|
+
constructor(message = 'Insufficient permissions') {
|
|
24
|
+
super(message, 403);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.AuthorizationError = AuthorizationError;
|
|
28
|
+
class ValidationError extends BaseError {
|
|
29
|
+
constructor(message = 'Validation failed') {
|
|
30
|
+
super(message, 400);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.ValidationError = ValidationError;
|
|
34
|
+
class NotFoundError extends BaseError {
|
|
35
|
+
constructor(message = 'Resource not found') {
|
|
36
|
+
super(message, 404);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.NotFoundError = NotFoundError;
|
|
40
|
+
class LDAPConnectionError extends BaseError {
|
|
41
|
+
constructor(message = 'LDAP connection failed') {
|
|
42
|
+
super(message, 503);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.LDAPConnectionError = LDAPConnectionError;
|
|
46
|
+
class GraphAPIError extends BaseError {
|
|
47
|
+
constructor(message = 'Graph API request failed') {
|
|
48
|
+
super(message, 502);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.GraphAPIError = GraphAPIError;
|
|
52
|
+
class AuditExecutionError extends BaseError {
|
|
53
|
+
constructor(message = 'Audit execution failed') {
|
|
54
|
+
super(message, 500);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.AuditExecutionError = AuditExecutionError;
|
|
58
|
+
class TokenExpiredError extends BaseError {
|
|
59
|
+
constructor(message = 'Token has expired') {
|
|
60
|
+
super(message, 401);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.TokenExpiredError = TokenExpiredError;
|
|
64
|
+
class RateLimitError extends BaseError {
|
|
65
|
+
constructor(message = 'Rate limit exceeded') {
|
|
66
|
+
super(message, 429);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.RateLimitError = RateLimitError;
|
|
70
|
+
//# sourceMappingURL=error.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.types.js","sourceRoot":"","sources":["../../src/types/error.types.ts"],"names":[],"mappings":";;;AAIA,MAAa,SAAU,SAAQ,KAAK;IAGzB;IACA;IAHT,YACE,OAAe,EACR,aAAqB,GAAG,EACxB,gBAAyB,IAAI;QAEpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,eAAU,GAAV,UAAU,CAAc;QACxB,kBAAa,GAAb,aAAa,CAAgB;QAGpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAVD,8BAUC;AAED,MAAa,mBAAoB,SAAQ,SAAS;IAChD,YAAY,OAAO,GAAG,uBAAuB;QAC3C,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,OAAO,GAAG,0BAA0B;QAC9C,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAJD,gDAIC;AAED,MAAa,eAAgB,SAAQ,SAAS;IAC5C,YAAY,OAAO,GAAG,mBAAmB;QACvC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAJD,0CAIC;AAED,MAAa,aAAc,SAAQ,SAAS;IAC1C,YAAY,OAAO,GAAG,oBAAoB;QACxC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAJD,sCAIC;AAED,MAAa,mBAAoB,SAAQ,SAAS;IAChD,YAAY,OAAO,GAAG,wBAAwB;QAC5C,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,aAAc,SAAQ,SAAS;IAC1C,YAAY,OAAO,GAAG,0BAA0B;QAC9C,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAJD,sCAIC;AAED,MAAa,mBAAoB,SAAQ,SAAS;IAChD,YAAY,OAAO,GAAG,wBAAwB;QAC5C,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAJD,kDAIC;AAED,MAAa,iBAAkB,SAAQ,SAAS;IAC9C,YAAY,OAAO,GAAG,mBAAmB;QACvC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAJD,8CAIC;AAED,MAAa,cAAe,SAAQ,SAAS;IAC3C,YAAY,OAAO,GAAG,qBAAqB;QACzC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;CACF;AAJD,wCAIC"}
|