Skip to content

Commit 9f9f83d

Browse files
committed
update README.md
1 parent 92cf00b commit 9f9f83d

1 file changed

Lines changed: 169 additions & 72 deletions

File tree

README.md

Lines changed: 169 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -10,166 +10,263 @@
1010
</p>
1111

1212
<p align="center">
13-
<a href="https://github.com/silverhack/monkey365/issues"><img alt="Issues" src="https://img.shields.io/github/issues/silverhack/monkey365"></a>
14-
<a href="https://github.com/silverhack/monkey365/blob/main/LICENSE"><img src="https://img.shields.io/github/license/silverhack/monkey365" alt="License"></a>
13+
<a href="https://github.com/silverhack/monkey365/issues"><img alt="Issues" src="https://img.shields.io/github/issues/silverhack/monkey365"></a>
14+
<a href="https://github.com/silverhack/monkey365/blob/main/LICENSE"><img src="https://img.shields.io/github/license/silverhack/monkey365" alt="License"></a>
1515
</p>
1616

1717
<p align="center">
1818
<a href="https://github.com/silverhack/monkey365/releases"><img src="https://img.shields.io/github/downloads/silverhack/monkey365/total?style=flat&logo=powershell&label=GitHub%20Release%20Download" alt="GitHub Downloads"></a>
1919
<a href="https://www.powershellgallery.com/packages/monkey365"><img src="https://img.shields.io/powershellgallery/dt/monkey365.svg?style=flat&logo=powershell&label=PSGallery%20Download" alt="PowerShell Gallery Downloads"></a>
2020
</p>
2121

22-
*Monkey365* is an Open Source security tool that can be used to easily conduct not only Microsoft 365, but also Azure subscriptions and Microsoft Entra ID security configuration reviews without the significant overhead of learning tool APIs or complex admin panels from the start. To help with this effort, Monkey365 also provides several ways to identify security gaps in the desired tenant setup and configuration. Monkey365 provides valuable recommendations on how to best configure those settings to get the most out of your Microsoft 365 tenant or Azure subscription.
22+
Monkey365 is an open-source security assessment tool for Microsoft 365, Azure, and Microsoft Entra ID. It helps administrators, consultants, and security professionals identify misconfigurations, review cloud security posture, and evaluate environments against industry security best practices and compliance standards.
23+
24+
Monkey365 is designed to simplify Microsoft cloud security assessments without requiring users to learn complex APIs or navigate multiple administration portals.
25+
26+
---
27+
28+
# Features
29+
30+
- Self-contained PowerShell module with bundled dependencies
31+
- No external module installation required
32+
- No additional Microsoft PowerShell modules required
33+
- Security posture assessment for Microsoft 365, Azure, and Microsoft Entra ID
34+
- CIS benchmark and compliance checks
35+
- HTML, JSON, and CSV reporting
36+
- Support for Azure Public, China, and Government cloud environments
37+
- Collector-based and extensible architecture
38+
- Easy deployment across workstations, jump boxes, and assessment environments
39+
40+
---
41+
42+
# Quick Start
43+
44+
Install Monkey365 from the PowerShell Gallery:
45+
46+
```powershell
47+
Install-Module -Name monkey365 -Scope CurrentUser
48+
```
49+
50+
Import the module:
51+
52+
```powershell
53+
Import-Module monkey365
54+
```
55+
56+
Run a basic assessment:
57+
58+
```powershell
59+
$options = @{
60+
Instance = 'Microsoft365';
61+
Collect = 'SharePointOnline';
62+
PromptBehavior = 'SelectAccount';
63+
IncludeEntraID = $true;
64+
ExportTo = 'HTML';
65+
}
66+
$assets = Invoke-Monkey365 @options
67+
```
68+
69+
Get available options and examples:
70+
71+
```powershell
72+
Get-Help Invoke-Monkey365 -Detailed
73+
```
74+
75+
---
2376

2477
# Introduction
2578

26-
Monkey365 is a collector-based PowerShell module that can be used to review the security posture of your cloud environment. With Monkey365 you can scan for potential misconfigurations and security issues in public cloud accounts according to security best practices and compliance standards, across Azure, Microsoft Entra ID, and Microsoft 365 core applications.
79+
Monkey365 is a collector-based PowerShell module used to review the security posture of cloud environments. It scans Microsoft 365, Azure, and Microsoft Entra ID for potential security issues, configuration weaknesses, and deviations from security best practices.
80+
81+
The tool provides recommendations to help organizations strengthen their cloud security posture and improve compliance readiness.
82+
83+
---
2784

28-
## Installation
85+
# Installation
2986

30-
### PowerShell Gallery
87+
## PowerShell Gallery
3188

32-
You can install Monkey365 using the built-in `Install-Module` command. The examples below will install Monkey365 in your <a href="https://learn.microsoft.com/en-us/powershell/module/powershellget/install-module?view=powershellget-3.x#-scope" target="_blank">installation scope</a> depending on your PowerShell version. You can control this using the `-Scope <AllUsers/CurrentUser>` parameter.
89+
Install the latest stable version:
3390

34-
``` powershell
91+
```powershell
3592
Install-Module -Name monkey365 -Scope CurrentUser
3693
```
3794

38-
To install a beta version, you can use the following command:
95+
Install the latest prerelease version:
3996

40-
``` powershell
97+
```powershell
4198
Install-Module -Name monkey365 -Scope CurrentUser -AllowPrerelease
4299
```
43100

44-
To update monkey365:
101+
Update Monkey365:
45102

46-
``` powershell
103+
```powershell
47104
Update-Module -Name monkey365 -Scope CurrentUser
48105
```
49106

50-
To force install monkey365:
107+
Force reinstall Monkey365:
51108

52-
``` powershell
109+
```powershell
53110
Install-Module -Name monkey365 -Scope CurrentUser -Force
54111
```
55112

56-
### GitHub
113+
> [!NOTE]
114+
> Monkey365 is distributed as a self-contained PowerShell module and includes all required dependencies. No additional Microsoft PowerShell modules are required.
57115
58-
You can download the latest release by clicking [here](https://github.com/silverhack/monkey365/releases). Once downloaded, you must extract the file and extract the files to a suitable directory.
116+
## GitHub Releases
59117

60-
Once downloaded, you must extract the files to a suitable directory. Once you have unzipped the zip file, you can use the PowerShell V3 Unblock-File cmdlet to unblock files:
118+
Download the latest release from the following page:
61119

62-
``` powershell
63-
Get-ChildItem -Recurse c:\monkey365 | Unblock-File
120+
https://github.com/silverhack/monkey365/releases
121+
122+
After downloading the release package, extract the archive to a suitable directory.
123+
124+
Use the PowerShell `Unblock-File` cmdlet to unblock extracted files if required:
125+
126+
```powershell
127+
Get-ChildItem -Recurse C:\monkey365 | Unblock-File
64128
```
65129

66-
Once you have installed the monkey365 module on your system, you will likely want to import the module with the Import-Module cmdlet. Assuming that Monkey365 is located in the ```PSModulePath```, PowerShell would load monkey365 into active memory:
67-
``` powershell
130+
Import the module:
131+
132+
```powershell
68133
Import-Module monkey365
69134
```
70-
If Monkey365 is not located on a ```PSModulePath``` path, you can use an explicit path to import:
71-
``` powershell
135+
136+
If Monkey365 is not located in a `PSModulePath` directory, import it using an explicit path:
137+
138+
```powershell
72139
Import-Module C:\temp\monkey365
73140
```
74-
You can also use the ```Force``` parameter in case you want to reimport the Monkey365 module into the same session
75-
``` powershell
141+
142+
Reimport the module into the current PowerShell session:
143+
144+
```powershell
76145
Import-Module C:\temp\monkey365 -Force
77146
```
78147

79-
## Basic Usage
148+
---
80149

81-
The following command will provide the list of available command line options:
150+
# Basic Usage
82151

83-
``` powershell
152+
Display available command options:
153+
154+
```powershell
84155
Get-Help Invoke-Monkey365
85156
```
86157

87-
To get a list of examples use:
158+
Display usage examples:
88159

89-
``` powershell
160+
```powershell
90161
Get-Help Invoke-Monkey365 -Examples
91162
```
92163

93-
To get a list of all options and examples with detailed info use:
94-
164+
Display detailed help information:
95165

96-
``` powershell
166+
```powershell
97167
Get-Help Invoke-Monkey365 -Detailed
98168
```
99169

100-
The following example will retrieve data and metadata from Azure AD and SharePoint Online and then print results. If credentials are not supplied, Monkey365 will prompt for credentials.
101-
170+
Example assessment:
102171

103-
``` powershell
172+
```powershell
104173
$options = @{
105-
Instance = 'Microsoft365';
106-
Collect = 'ExchangeOnline';
107-
PromptBehavior = 'SelectAccount';
108-
IncludeEntraID = $true;
109-
ExportTo = 'CSV';
174+
Instance = 'Microsoft365'
175+
Collect = 'ExchangeOnline'
176+
PromptBehavior = 'SelectAccount'
177+
IncludeEntraID = $true
178+
ExportTo = 'HTML'
110179
}
180+
111181
Invoke-Monkey365 @options
112182
```
113183

114-
### Running Monkey365 in a National or Gov Cloud Environments
184+
If credentials are not supplied, Monkey365 prompts for authentication.
115185

116-
The `-Environment` parameter can be used on `Invoke-Monkey365` to specify the name of the cloud environment to connect to. By default the global cloud (AzurePublic) is used.
186+
---
117187

118-
Allowed values include:
188+
# Running Monkey365 in National or Government Cloud Environments
119189

120-
- AzurePublic (default, if `Environment` parameter is not specified)
121-
- AzureChina
122-
- AzureUSGovernment
190+
Use the `-Environment` parameter with `Invoke-Monkey365` to specify the target cloud environment.
191+
192+
Supported environments:
193+
194+
- `AzurePublic` (default)
195+
- `AzureChina`
196+
- `AzureUSGovernment`
197+
198+
Example:
123199

124200
```powershell
125201
$options = @{
126-
Environment = "AzureUSGovernment";
127-
Instance = 'Microsoft365';
128-
Collect = @('ExchangeOnline','SharePointOnline');
129-
PromptBehavior = 'SelectAccount';
130-
IncludeEntraID = $true;
131-
ExportTo = "JSON","HTML";
202+
Environment = 'AzureUSGovernment'
203+
Instance = 'Microsoft365'
204+
Collect = @('ExchangeOnline', 'SharePointOnline')
205+
PromptBehavior = 'SelectAccount'
206+
IncludeEntraID = $true
207+
ExportTo = @('JSON', 'HTML')
132208
}
209+
133210
Invoke-Monkey365 @options
134211
```
135212

136-
## Regulatory compliance checks
213+
---
137214

138-
Monkey365 helps streamline the process of performing not only Microsoft 365, but also Azure subscriptions and Microsoft Entra ID Security Reviews.
215+
# Regulatory Compliance Checks
139216

140-
160+ checks covering industry defined security best practices for Microsoft 365, Azure and Entra ID.
217+
Monkey365 helps streamline Microsoft 365, Azure, and Microsoft Entra ID security reviews through hundreds of built-in checks aligned with industry security best practices.
141218

142-
Monkey365 will help consultants to assess cloud environment and to analyze the risk factors according to controls and best practices. The report will contain structured data for quick checking and verification of the results.
219+
The tool helps consultants, administrators, and security teams identify security gaps, validate tenant configurations, and assess risk exposure across cloud environments.
220+
221+
Assessment reports include structured and actionable data for rapid analysis and verification.
143222

144223
<p align="center">
145224
<img src="https://silverhack.github.io/monkey365/assets/images/htmlreport.png" />
146225
</p>
147226

148-
## Supported standards
227+
---
228+
229+
# Supported Standards
230+
231+
By default, the HTML report displays CIS (Center for Internet Security) benchmark mappings for Microsoft Azure and Microsoft 365 environments.
232+
233+
Currently supported standards include:
234+
235+
- CIS Microsoft Azure Foundations Benchmark v3.0.0
236+
- CIS Microsoft Azure Database Services Benchmark v2.0.0
237+
- CIS Microsoft Azure Compute Services Benchmark v2.0.0
238+
- CIS Microsoft 365 Foundations Benchmark v3.0.0
239+
- CIS Microsoft 365 Foundations Benchmark v4.0.0
240+
- CIS Microsoft 365 Foundations Benchmark v5.0.0
241+
242+
Additional standards and frameworks may be added in future releases, including:
149243

150-
By default, the HTML report shows you the CIS (Center for Internet Security) Benchmark. The CIS Benchmarks for Azure and Microsoft 365 are guidelines for security and compliance best practices.
244+
- NIST
245+
- HIPAA
246+
- GDPR
247+
- PCI-DSS
151248

152-
The following standards are supported by Monkey365:
249+
---
153250

154-
* CIS Microsoft Azure Foundations Benchmark v3.0.0
155-
* CIS Microsoft Azure Database Services Benchmark v2.0.0
156-
* CIS Microsoft 365 Foundations Benchmark v3.0.0, v4.0.0 and V5.0.0
251+
# Documentation
157252

158-
More standards will be added in next releases (NIST, HIPAA, GDPR, PCI-DSS, etc..) as they are available.
253+
Detailed installation guides, advanced usage examples, configuration references, and additional documentation are available at:
159254

160-
Additional information such as Installation or advanced usage can be found in the following [link](https://silverhack.github.io/monkey365/)
255+
https://silverhack.github.io/monkey365/
161256

257+
---
162258

163259
> [!TIP]
164-
> **Give us a Star!** If you find this tool useful, please consider giving it a [star ⭐ on GitHub](https://github.com/silverhack/monkey365)! It helps more people discover the project and keeps it evolving.
260+
> **Give us a Star!** If you find Monkey365 useful, please consider starring the repository on GitHub. It helps improve visibility and supports ongoing development.
165261
262+
---
166263

167-
## Star History
264+
# Star History
168265

169266
<a href="https://www.star-history.com/#silverhack/monkey365&type=date&legend=top-left">
170-
<picture>
171-
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=silverhack/monkey365&type=date&theme=dark&legend=top-left" />
172-
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=silverhack/monkey365&type=date&legend=top-left" />
173-
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=silverhack/monkey365&type=date&legend=top-left" />
174-
</picture>
267+
<picture>
268+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=silverhack/monkey365&type=date&theme=dark&legend=top-left" />
269+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=silverhack/monkey365&type=date&legend=top-left" />
270+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=silverhack/monkey365&type=date&legend=top-left" />
271+
</picture>
175272
</a>

0 commit comments

Comments
 (0)