Skip to content

Commit ed2a656

Browse files
committed
docs: initiate the documentation for cloudpwn
1 parent 1872b52 commit ed2a656

9 files changed

+387
-4
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ cloudpwn.egg-info/
33
__pycache__/
44
.mypy_cache/
55
build/
6-
dist/
6+
dist/
7+
site/

Makefile

+2-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ setup: ## Set up the virtual environment and install dependencies
3232
@echo "Installing dependencies..."
3333
@source $(VENV_DIR)/bin/activate && pip install -e .
3434
@echo -e "\n✅🎉 Done.\n"
35-
@echo "➡️ source $(VENV_DIR)/bin/activate"
35+
@echo "➡️ For Linux/MacOs source $(VENV_DIR)/bin/activate"
36+
@echo "➡️ For Windows source $(VENV_DIR)/Scripts/activate"
3637
@echo "➡️ python3 cloudpwn/main.py"
3738

3839
install: setup ## Install the project and dependencies

cloudpwn/main.py

-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ def main(
2828
CloudPwn: A toolkit for cloud platform enumeration and exploitation.
2929
3030
Example usage:
31-
- python src/main.py aws --profile custom-profile
3231
- python src/main.py aws --profile custom-profile ec2 --region us-east-1
3332
"""
3433

docs/docs/index.md

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Welcome to CloudPwn
2+
3+
CloudPwn is cloud enumeration toolkit, designed for security professionals and enthusiasts to uncover and analyze resources in cloud environments. With cutting-edge features like AI-powered report generation, CloudPwn aims to simplify and enhance your cloud security assessments too.
4+
5+
## Features
6+
7+
- Cloud Enumeration: Efficiently map and uncover resources in your cloud environment [AWS].
8+
- Security Insights: Identify misconfigurations and vulnerabilities.
9+
- AI-Generated Reports: Leverage Large Language Models (LLMs) to generate detailed, human-readable reports for your findings.
10+
11+
## Getting Started
12+
13+
New to CloudPwn? Check out the 🚀 Getting Started Guide for a step-by-step walkthrough to set up and begin your journey in cloud exploration.
14+
15+
## Need Help
16+
If the documentation doesn't cover what you’re looking for, don’t worry! I’m here to help. Reach out to me through the social links provided. Let’s work together to resolve your queries and enhance your CloudPwn experience.
17+
18+
## Support
19+
Cloudpwn is my passion project alongside my day job. Your support helps to keep grow this project. Here's how you can contribute:
20+
21+
- Star the CloudPwn repository on GitHub.
22+
- Spread the word about CloudPwn via social media, blogs, or communities.
23+
- Provide infosec learning vouchers for platforms like HTB, TryHackMe, or similar tools to help me deepen my knowledge.
24+
- Support my career transition into cybersecurity as I am trying to pivot from DevOps/SRE/Software Development.
25+
26+
Your encouragement and contributions show that CloudPwn is making an impact. Thank you for supporting this journey!

docs/docs/installation.md

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
# Installation
2+
3+
Follow these steps to set up and start using CloudPwn:
4+
5+
## Prerequisites
6+
Before installing, ensure the following tools and dependencies are available on your system:
7+
8+
- Python3:
9+
- Verify your Python version:
10+
```
11+
python3 --version
12+
```
13+
14+
- pip (Python Package Installer):
15+
- Confirm pip is installed:
16+
```
17+
pip --version
18+
```
19+
20+
- git:
21+
- Confirm Git is installed:
22+
```
23+
git --version
24+
```
25+
- make:
26+
- Confirm make is installed:
27+
```
28+
make --help
29+
```
30+
- For installation guide
31+
```
32+
sudo apt-get install build-essential # linux
33+
choco install make # windows
34+
brew install make # macos
35+
```
36+
37+
## Installation
38+
39+
- Step 1: Clone the Repository
40+
- Clone the CloudPwn repository to your local machine:
41+
```
42+
git clone https://github.com/ajutamangdev/CloudPwn.git && cd cloudpwn
43+
```
44+
45+
- Step 2: Setup Environment and install required dependencies
46+
- Use Makefile to setup the Environment
47+
```
48+
make setup
49+
```
50+
- Activate the virtual environment
51+
```
52+
source venv/bin/activate # For Linux/MacOS
53+
source venv\Scripts\activate # For Windows
54+
```
55+
56+
## Post-Installation Setup
57+
- Step 1: Configure Cloud Provider CLI
58+
- For AWS, set up your credentials and profiles:
59+
```
60+
aws configure
61+
```
62+
- For custom AWS profile
63+
```
64+
aws configure --profile <custom-name>
65+
```
66+
- Step 2: Verify Installation
67+
- Run the --help command to ensure CloudPwn is working:
68+
```
69+
python3 cloudpwn/main.py --help
70+
```
71+
72+
You should see the usage guide displayed.
73+
74+
## Updating CloudPwn
75+
Keep CloudPwn up to date by pulling the latest changes from the repository:
76+
77+
```
78+
git pull origin main
79+
```
80+
81+
Follow the step 2 of Installation
82+
83+
## Troubleshooting
84+
If you encounter issues:
85+
- Ensure all dependencies are installed correctly:
86+
```
87+
pip check
88+
```
89+
- Verify your cloud provider CLI setup (e.g., AWS credentials):
90+
```
91+
aws sts get-caller-identity
92+
```
93+
94+
> For additional help, refer to the [Need Help section](http://localhost:8000/ajutamangdev/CloudPwn/#need-help) or contact me via the social links.

docs/docs/quickstart.md

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Quick Start
2+
3+
This guide provides a streamlined workflow to get up and running with CloudPwn right after installation.
4+
5+
- Initialize CloudPwn
6+
Ensure you’ve already installed and configured CloudPwn.
7+
8+
Verify your setup with:
9+
10+
```
11+
python3 cloudpwn/main.py --help
12+
```
13+
14+
## Basic Usage
15+
Here’s how you can start enumerating and find exploitable cloud resources:
16+
17+
### AWS Example Commands
18+
19+
Enumerate All AWS Resources
20+
21+
```
22+
python3 cloudpwn/main.py aws --profile default
23+
```
24+
25+
Explore EC2 Instances in a Specific Region
26+
27+
```
28+
python3 cloudpwn/main.py aws ec2 --region us-west-2
29+
```
30+
31+
This Quickstart is designed to help you take your first steps with CloudPwn while leaving room to explore advanced workflows. Let me know if you'd like further refinements!

docs/docs/usage.md

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Usage
2+
3+
The primary script for CloudPwn is main.py. You can use the --help flag to view all available options and commands:
4+
5+
```
6+
python3 cloudpwn/main.py --help
7+
```
8+
9+
Example:
10+
11+
```
12+
python3 cloudpwn/main.py aws --profile custom-profile # perform full enumeration
13+
python3 cloudpwn/main.py aws --profile custom-profile ec2 --region us-east-1
14+
```
15+
16+
## Command Structure
17+
18+
19+
```
20+
Usage: main.py [OPTIONS] PROVIDER [SERVICE]
21+
```
22+
23+
Arguments
24+
```
25+
Argument Description Required Default
26+
PROVIDER Select a cloud provider (aws, azure, gcp).
27+
SERVICE Specify a service type (e.g., ec2, s3, rds, eks).
28+
```
29+
30+
Options
31+
```
32+
Option Description Default
33+
--profile TEXT Specify the AWS profile name to use. None
34+
--region TEXT Specify the AWS region to target. us-east-1
35+
--help Display the help message and exit. —
36+
```
37+
38+
## Sample
39+
40+
- Enumerate AWS Resources with a Custom Profile
41+
42+
```
43+
python3 cloudpwn/main.py aws --profile custom-profile
44+
```
45+
46+
- Target Specific AWS Service
47+
- Enumerate all EC2 instances in the us-west-2 region:
48+
49+
```
50+
python3 cloudpwn/main.py aws ec2 --region us-west-2
51+
```
52+
53+
54+
# Supported Cloud Providers
55+
- AWS
56+
- Azure
57+
- GCP
58+
59+
# Supported AWS Services
60+
- EC2 : Elastic Compute Cloud
61+
- Coming soon

docs/mkdocs.yml

+139
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
site_name: CloudPwn
2+
site_description: Cloud security toolkit to perform enumeration in AWS, Azure, and GCP
3+
site_url: https://github.com/ajutamangdev/CloudPwn
4+
theme:
5+
name: material
6+
palette:
7+
- media: "(prefers-color-scheme)"
8+
toggle:
9+
icon: material/lightbulb-auto
10+
name: Switch to light mode
11+
- media: '(prefers-color-scheme: light)'
12+
scheme: default
13+
primary: teal
14+
accent: amber
15+
toggle:
16+
icon: material/lightbulb
17+
name: Switch to dark mode
18+
- media: '(prefers-color-scheme: dark)'
19+
scheme: slate
20+
primary: teal
21+
accent: amber
22+
toggle:
23+
icon: material/lightbulb-outline
24+
name: Switch to system preference
25+
features:
26+
- content.code.annotate
27+
- content.code.copy
28+
# - content.code.select
29+
- content.footnote.tooltips
30+
- content.tabs.link
31+
- content.tooltips
32+
- navigation.footer
33+
- navigation.indexes
34+
- navigation.instant
35+
- navigation.instant.prefetch
36+
# - navigation.instant.preview
37+
- navigation.instant.progress
38+
- navigation.path
39+
- navigation.tabs
40+
- navigation.tabs.sticky
41+
- navigation.top
42+
- navigation.tracking
43+
- search.highlight
44+
- search.share
45+
- search.suggest
46+
- toc.follow
47+
48+
icon:
49+
repo: fontawesome/brands/github-alt
50+
repo_name: ajutamangdev/CloudPwn
51+
repo_url: https://github.com/ajutamangdev/cloudpwn
52+
plugins:
53+
mkdocstrings:
54+
handlers:
55+
python:
56+
options:
57+
extensions:
58+
- griffe_typingdoc
59+
show_root_heading: true
60+
show_if_no_docstring: true
61+
preload_modules:
62+
- httpx
63+
- starlette
64+
inherited_members: true
65+
members_order: source
66+
separate_signature: true
67+
unwrap_annotated: true
68+
filters:
69+
- '!^_'
70+
merge_init_into_class: true
71+
docstring_section_style: spacy
72+
signature_crossrefs: true
73+
show_symbol_type_heading: true
74+
show_symbol_type_toc: true
75+
76+
nav:
77+
- CloudPwn: index.md
78+
- Getting Started:
79+
- Installation: installation.md
80+
- Quick Start: quickstart.md
81+
- Usage: usage.md
82+
83+
markdown_extensions:
84+
# Python Markdown
85+
abbr:
86+
attr_list:
87+
footnotes:
88+
md_in_html:
89+
tables:
90+
toc:
91+
permalink: true
92+
93+
# Python Markdown Extensions
94+
pymdownx.betterem:
95+
pymdownx.caret:
96+
pymdownx.highlight:
97+
line_spans: __span
98+
pymdownx.inlinehilite:
99+
pymdownx.keys:
100+
pymdownx.mark:
101+
pymdownx.superfences:
102+
custom_fences:
103+
- name: mermaid
104+
class: mermaid
105+
format: !!python/name:pymdownx.superfences.fence_code_format
106+
pymdownx.tilde:
107+
108+
# pymdownx blocks
109+
pymdownx.blocks.admonition:
110+
types:
111+
- note
112+
- attention
113+
- caution
114+
- danger
115+
- error
116+
- tip
117+
- hint
118+
- warning
119+
# Custom types
120+
- info
121+
- check
122+
pymdownx.blocks.details:
123+
pymdownx.blocks.tab:
124+
alternate_style: True
125+
126+
# Other extensions
127+
mdx_include:
128+
markdown_include_variants:
129+
130+
extra:
131+
social:
132+
- icon: fontawesome/brands/github-alt
133+
link: https://github.com/ajutamangdev/cloudpwn
134+
- icon: fontawesome/brands/bluesky
135+
link: https://bsky.app/profile/ajutamang.bsky.social
136+
- icon: fontawesome/brands/linkedin
137+
link: https://www.linkedin.com/in/aju-tamang
138+
- icon: fontawesome/brands/twitter
139+
link: https://x.com/_ajutamang_

0 commit comments

Comments
 (0)