Metadata-Version: 2.1
Name: pdcd
Version: 1.1.0
Summary: Tool that orchestrates executing Docker containers to build payloads
License: MIT
Author: 2XXE
Author-email: root@example.com
Requires-Python: >=3.8,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: PyYAML (>=5.4.1,<6.0.0)
Requires-Dist: boto3 (>=1.24.54,<2.0.0)
Requires-Dist: click (>=8.1.3,<9.0.0)
Requires-Dist: desert (>=2020.11.18,<2021.0.0)
Requires-Dist: docker (>=5.0.0,<6.0.0)
Requires-Dist: impacket (>=0.10.0,<0.11.0)
Requires-Dist: mythic (>=0.1.0,<0.2.0)
Requires-Dist: pydantic (>=1.10.5,<2.0.0)
Description-Content-Type: text/markdown

# PDC Docker ("PDCD")

PDC Docker is a lightweight tool that orchestrates executing Docker containers.

Documentation can be found in the [docs directory](docs/).

Release blog can be found here: [link](https://sra.io/blog/pdcd-orchestrating-payload-generation/).

## Setup

- Have Python 3 installed
- Have Docker installed
- (Optional) AWS SSM Session Manager Plugin
  - used for remote mode, see below for mode information

### Using virtualenv

Local

```
pip install dist/*.whl
```

Remote

```
pip install git+https://github.com/SecurityRiskAdvisors/pdcd.git
```

PyPI

```
pip install pdcd
```

## Usage (running)

Execute payloads in config

```
pdcd run -c <config file> [-w <# workers>]
```

- **-c** path to config file

## Usage (logs)

Retrieve logs for payloads in config

*Note:* only usable when cleanup is set to "False" in config

```
pdcd logs -c <config file> [-l <#>] [-i <image>]
```

- **-c** path to config file
- **l** max number of logs to retrieve
- **i** filter to only this specific image

