Skip to content

Commit 7fd92b5

Browse files
authored
Merge pull request #7 from jakehildreth/chore/update-readme
chore(docs): update README, LICENSE, and manifest to align with standards
2 parents 041d21d + 9457d2b commit 7fd92b5

3 files changed

Lines changed: 89 additions & 4 deletions

File tree

ADCSGoat/ADCSGoat.psd1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
RootModule = 'ADCSGoat.psm1'
1313

1414
# Version number of this module.
15-
ModuleVersion = '0.3.1'
15+
ModuleVersion = '0.4.0'
1616

1717
# Supported PSEditions
1818
# CompatiblePSEditions = @()
@@ -27,7 +27,7 @@ Author = 'Jake Hildreth'
2727
CompanyName = 'Gilmour Technologies Ltd'
2828

2929
# Copyright statement for this module
30-
Copyright = '(c) 2025 Jake Hildreth. All rights reserved.'
30+
Copyright = '(c) 2026 Jake Hildreth, Gilmour Technologies Ltd. All rights reserved.'
3131

3232
# Description of the functionality provided by this module
3333
Description = 'A tiny module built for a single purpose: building a small and very insecure AD CS lab.'

LICENSE

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,29 @@
1+
"Commons Clause" License Condition v1.0
2+
3+
The Software is provided to you by the Licensor under the License, as defined
4+
below, subject to the following condition.
5+
6+
Without limiting other conditions in the License, the grant of rights under the
7+
License will not include, and the License does not grant to you, the right to
8+
Sell the Software.
9+
10+
For purposes of the foregoing, "Sell" means practicing any or all of the rights
11+
granted to you under the License to provide to third parties, for a fee or other
12+
consideration (including without limitation fees for hosting or
13+
consulting/support services related to the Software), a product or service whose
14+
value derives, entirely or substantially, from the functionality of the
15+
Software. Any license notice or attribution required by the License must also
16+
include this Commons Clause License Condition notice.
17+
18+
Software: ADCSGoat
19+
License: MIT
20+
Licensor: Jake Hildreth, Gilmour Technologies Ltd
21+
22+
---
23+
124
MIT License
225

3-
Copyright (c) 2025 Jake Hildreth
26+
Copyright (c) 2026 Jake Hildreth, Gilmour Technologies Ltd
427

528
Permission is hereby granted, free of charge, to any person obtaining a copy
629
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,69 @@ A tiny module built for a single purpose: building a small and very insecure AD
44

55
## Overview
66

7+
ADCSGoat creates vulnerable Active Directory Certificate Services (AD CS) certificate templates and CA misconfigurations in a lab environment. It deploys the following ESC scenarios:
8+
9+
| Scenario | Description |
10+
|----------|-------------|
11+
| ESC1 | Enrollee supplies subject in SAN-enabled template |
12+
| ESC2 | Overly permissive template allows any purpose |
13+
| ESC3 (Condition 1) | Enrollment agent template misconfiguration |
14+
| ESC3 (Condition 2) | Certificate request agent abuse |
15+
| ESC4 | Vulnerable certificate template ACLs |
16+
| ESC6 | EDITF_ATTRIBUTESUBJECTALTNAME2 enabled on CA |
17+
| ESC9 | No security extension on template |
18+
| ESC11 | IF_ENFORCEENCRYPTICERTREQUEST disabled on CA |
19+
20+
## Prerequisites
21+
22+
- Windows Server with Active Directory and AD CS installed
23+
- [AutomatedLab](https://automatedlab.org/) (for infrastructure deployment)
24+
- [PSCertutil](https://github.com/jakehildreth/PSCertutil) module
25+
- PowerShell 5.1+
26+
727
## Installation
828

9-
## Examples
29+
```powershell
30+
Install-Module -Name ADCSGoat
31+
```
32+
33+
Or clone the repo and import directly:
34+
35+
```powershell
36+
git clone https://github.com/jakehildreth/ADCSGoat.git
37+
Import-Module .\ADCSGoat\ADCSGoat\ADCSGoat.psd1
38+
```
39+
40+
## Quick Start
41+
42+
```powershell
43+
# Deploy lab infrastructure (Hyper-V + AutomatedLab)
44+
Deploy-AGInfrastructure
45+
46+
# Install all vulnerable templates and CA misconfigurations
47+
Install-ADCSGoat
48+
49+
# Clean up when done
50+
Uninstall-ADCSGoat
51+
```
52+
53+
## Commands
54+
55+
| Command | Description |
56+
|---------|-------------|
57+
| `Deploy-AGInfrastructure` | Deploys a Hyper-V lab using AutomatedLab |
58+
| `Install-ADCSGoat` | Creates all vulnerable templates and CA misconfigs |
59+
| `Uninstall-ADCSGoat` | Removes all ADCSGoat templates and reverts CA changes |
60+
| `Find-AGEnrollmentService` | Queries AD for all Enrollment Services |
61+
| `New-AGBlankTemplateObject` | Creates blank certificate template objects in AD |
62+
| `Set-AGTemplateAce` | Adds ACEs to a certificate template |
63+
| `Set-AGTemplateProperty` | Sets properties on a certificate template |
64+
| `Set-AGEnrollmentServiceFullName` | Adds a FullName property to an Enrollment Service object |
65+
66+
## License
67+
68+
MIT License w/Commons Clause - see [LICENSE](..\LICENSE) file for details.
69+
70+
---
1071

72+
Made with 💜 by [Jake Hildreth](https://jakehildreth.com)

0 commit comments

Comments
 (0)