Go to file
Shreya Malviya f510b89c08 UT: Move event_queue_subscriber fixture back to test_pypubsub_event_queue.py 2022-08-17 14:46:54 +05:30
.github Project: Replace Guardicore links with Akamai links 2022-08-10 14:15:59 +02:00
.swm Swimm: Remove two swimm units 2022-07-06 16:40:19 +02:00
build_scripts Build: Uninstall pipenv and virtualenv after dependencies are installed 2022-06-09 12:06:42 -04:00
deployment_scripts Build: Create separate mongo installation script for Windows 2022-05-12 17:03:38 +05:30
docs Merge pull request #2188 from guardicore/2165-labda-decoupling 2022-08-12 10:33:51 -04:00
envs BB: Rename list_machines -> gcp_machines_to_start 2022-08-10 14:23:16 -04:00
monkey UT: Move event_queue_subscriber fixture back to test_pypubsub_event_queue.py 2022-08-17 14:46:54 +05:30
.flake8 Island: Add all imports from encryption to __init__ 2021-09-23 19:00:13 +02:00
.gitattributes Agent: Move ransomware/ to payload/ransomware/ 2021-12-17 09:02:04 -05:00
.gitignore Docs: Add initial Sphinx code documentation for the Island (#1964) 2022-05-26 11:20:15 -04:00
.gitmodules Island: Remove attack-data submodule 2021-09-30 10:52:41 -04:00
.pre-commit-config.yaml Project: Fix travis build 2022-05-30 13:15:31 +02:00
.travis.yml Project: Remove step in travis build to upgrade pipenv 2022-08-15 08:23:17 -04:00
CHANGELOG.md Merge pull request #2188 from guardicore/2165-labda-decoupling 2022-08-12 10:33:51 -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 Merge pull request #2184 from guardicore/2146-replace-guardicore-links 2022-08-11 07:14:09 -04:00
codecov.yml Disable codecov annotations in pull requests 2021-06-22 10:00:23 -04:00
pyproject.toml Project: Add `monkey/` to PYTHONPATH when running pytest 2022-06-22 10:27:53 -04:00
vulture_allowlist.py Agent: Add add_credentials_from_event_to_propagation_credentials_repository 2022-08-15 09:30:04 +02: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 akamai.com/infectionmonkey.

💥 We're Hiring 💥

We are looking for a software engineering manager with a passion for UX and cybersecurity to join the Infection Monkey development team. This is a remote position and is open anywhere in Israel. You can learn more about Infection Monkey on our website.

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

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
    • Log4Shell
    • Zerologon
    • 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).