Go to file
shreyamalviya 5abcadc69a tests: Move tests from test_utils.py to test_file_utils.py 2021-06-15 12:47:34 +05:30
.github Add changelog checklist item to pull request template 2021-03-29 12:20:33 -04:00
.swm Swimm: update exercise Add a simple Post Breach action (id: tbxb2cGgUiJQ8Btma0fp). 2021-05-17 22:54:19 +05:30
appimage appimage: Remove `run_appimage.sh` as it is no longer needed 2021-06-03 10:57:23 -04:00
deployment_scripts Removed code related to running mongodb and db folder creation 2021-05-27 11:05:43 +03:00
docs docs: Minor wording change to AppImage description 2021-06-11 10:54:36 -04:00
envs Improve exception message, thrown when trying to establish connection to island in BB tests 2021-05-21 08:41:28 +03:00
monkey tests: Move tests from test_utils.py to test_file_utils.py 2021-06-15 12:47:34 +05:30
.flake8 Rename vulture_whitelist.py -> vultue_allowlist.py 2021-06-02 13:08:37 +05:30
.gitignore Fixed gitignores to exclude some irrelevant files 2021-04-09 14:54:02 +03:00
.gitmodules Refactored ScoutSuite into a separate package rather than submodule 2021-03-17 11:49:33 -04:00
.pre-commit-config.yaml Add vulture pre-commit hook 2021-05-05 19:09:07 +05:30
.travis.yml island: Remove server_config.json.develop 2021-06-03 20:38:13 -04:00
CHANGELOG.md Update encryption/decryption PR numbers in changelog 2021-06-09 10:02:44 -04:00
CONTRIBUTING.md Update slack links in documentation 2021-01-25 10:35:39 -05:00
LICENSE Add SecureAuth Corporation acknowledgement to LICENSE.md 2021-02-22 17:44:15 +05:30
README.md job posting 2021-03-29 10:10:22 -04:00
codecov.yml Fix codecov.io integration 2021-01-14 09:24:37 -05:00
pyproject.toml Only search tests/unit_tests for monkey unit tests 2021-06-03 16:09:57 -04:00
vulture_allowlist.py Implemented safety check on import. 2021-06-03 17:02:12 +03:00

README.md

Infection Monkey

GitHub release (latest by date)

Build Status codecov

GitHub stars GitHub commit activity

Data center Security Testing Tool

Welcome to the Infection Monkey!

The Infection Monkey is an open source security tool for testing a data center's resiliency to perimeter breaches and internal server infection. The Monkey uses various methods to self propagate across a data center and reports success to a centralized Monkey Island server.

The Infection Monkey is comprised of two parts:

  • Monkey - A tool which infects other machines and propagates to them.
  • Monkey Island - A dedicated server to control and visualize the Infection Monkey's progress inside the data center.

To read more about the Monkey, visit infectionmonkey.com.

💥 We're Hiring 💥

We are looking for a strong, full-stack developer with a passion for cybersecurity to join the Infection Monkey development team. Infection Monkey is an open-source, automated, breach and attack simulation platform, consisting of a worm-like agent and C&C server. This is a remote position and is open world-wide. If you're excited about Infection Monkey, we want to see your resume. You can learn more about Infection Monkey on our website.

For more information, or to apply, see the official job post here.

Screenshots

Map

Security report

Zero trust report

ATT&CK report

Main Features

The Infection Monkey uses the following techniques and exploits to propagate to other machines.

  • Multiple propagation techniques:
    • Predefined passwords
    • Common logical exploits
    • Password stealing using Mimikatz
  • Multiple exploit methods:
    • SSH
    • SMB
    • WMI
    • Shellshock
    • Conficker
    • SambaCry
    • Elastic Search (CVE-2015-1427)
    • Weblogic server
    • and more, see our Documentation hub for more information about our RCE exploiters.

Setup

Check out the Setup page in the Wiki or a quick getting started guide.

The Infection Monkey supports a variety of platforms, documented in our documentation hub.

Building the Monkey from source

To deploy development version of monkey you should refer to readme in the deployment scripts folder or follow documentation in documentation hub.

Build status

Branch Status
Develop Build Status
Master Build Status

Tests

Unit Tests

In order to run all of the Unit Tests, run the command python -m pytest in the monkey directory.

To get a coverage report, first make sure the coverage package is installed using pip install coverage. Run the command coverage run -m unittest in the monkey directory and then coverage html. The coverage report can be found in htmlcov.index.

Blackbox tests

In order to run the Blackbox tests, refer to envs/monkey_zoo/blackbox/README.md.

License

Copyright (c) Guardicore Ltd

See the LICENSE file for license rights and limitations (GPLv3).