Merge remote-tracking branch 'origin/develop' into bugfix/rename_Cnc_island

This commit is contained in:
Itay Mizeretz 2018-02-22 10:57:08 +02:00
commit a69f7d93a3
58 changed files with 15 additions and 15 deletions

View File

@ -12,7 +12,7 @@ The Infection Monkey is an open source security tool for testing a data center's
The Infection Monkey is comprised of two parts: The Infection Monkey is comprised of two parts:
* Monkey - A tool which infects other machines and propagates to them * Monkey - A tool which infects other machines and propagates to them
* Monkey Island - A C&C server with a dedicated UI to visualize the Chaos Monkey's progress inside the data center * Monkey Island - A C&C server with a dedicated UI to visualize the Infection Monkey's progress inside the data center
To read more about the Monkey, visit http://infectionmonkey.com To read more about the Monkey, visit http://infectionmonkey.com
@ -43,7 +43,7 @@ Check out the [Setup](https://github.com/guardicore/monkey/wiki/setup) page in t
Building the Monkey from source Building the Monkey from source
------------------------------- -------------------------------
If you want to build the monkey from source, see [Setup](https://github.com/guardicore/monkey/wiki/setup) If you want to build the monkey from source, see [Setup](https://github.com/guardicore/monkey/wiki/setup)
and follow the instructions at the readme files under [chaos_monkey](chaos_monkey) and [monkey_island](monkey_island). and follow the instructions at the readme files under [infection_monkey](infection_monkey) and [monkey_island](monkey_island).
License License

View File

@ -11,7 +11,7 @@ import traceback
from config import WormConfiguration, EXTERNAL_CONFIG_FILE from config import WormConfiguration, EXTERNAL_CONFIG_FILE
from dropper import MonkeyDrops from dropper import MonkeyDrops
from model import MONKEY_ARG, DROPPER_ARG from model import MONKEY_ARG, DROPPER_ARG
from monkey import ChaosMonkey from monkey import InfectionMonkey
if __name__ == "__main__": if __name__ == "__main__":
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
@ -80,7 +80,7 @@ def main():
if MONKEY_ARG == monkey_mode: if MONKEY_ARG == monkey_mode:
log_path = os.path.expandvars( log_path = os.path.expandvars(
WormConfiguration.monkey_log_path_windows) if sys.platform == "win32" else WormConfiguration.monkey_log_path_linux WormConfiguration.monkey_log_path_windows) if sys.platform == "win32" else WormConfiguration.monkey_log_path_linux
monkey_cls = ChaosMonkey monkey_cls = InfectionMonkey
elif DROPPER_ARG == monkey_mode: elif DROPPER_ARG == monkey_mode:
log_path = os.path.expandvars( log_path = os.path.expandvars(
WormConfiguration.dropper_log_path_windows) if sys.platform == "win32" else WormConfiguration.dropper_log_path_linux WormConfiguration.dropper_log_path_windows) if sys.platform == "win32" else WormConfiguration.dropper_log_path_linux

View File

Before

Width:  |  Height:  |  Size: 232 KiB

After

Width:  |  Height:  |  Size: 232 KiB

View File

@ -19,7 +19,7 @@ __author__ = 'itamar'
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
class ChaosMonkey(object): class InfectionMonkey(object):
def __init__(self, args): def __init__(self, args):
self._keep_running = False self._keep_running = False
self._exploited_machines = set() self._exploited_machines = set()

View File

@ -28,13 +28,13 @@ The monkey is composed of three separate parts.
64bit: http://www.microsoft.com/en-us/download/details.aspx?id=13523 64bit: http://www.microsoft.com/en-us/download/details.aspx?id=13523
6. Download the dependent python packages using 6. Download the dependent python packages using
pip install -r requirements.txt pip install -r requirements.txt
7. Download and extract UPX binary to [source-path]\monkey\chaos_monkey\bin\upx.exe: 7. Download and extract UPX binary to [source-path]\monkey\infection_monkey\bin\upx.exe:
https://github.com/upx/upx/releases/download/v3.94/upx394w.zip https://github.com/upx/upx/releases/download/v3.94/upx394w.zip
8. Build/Download Sambacry and Mimikatz binaries 8. Build/Download Sambacry and Mimikatz binaries
a. Build/Download according to sections at the end of this readme. a. Build/Download according to sections at the end of this readme.
b. Place the binaries under [code location]\chaos_monkey\bin b. Place the binaries under [code location]\infection_monkey\bin
9. To build the final exe: 9. To build the final exe:
cd [code location]/chaos_monkey cd [code location]/infection_monkey
build_windows.bat build_windows.bat
output is placed under dist\monkey.exe output is placed under dist\monkey.exe
@ -46,13 +46,13 @@ Tested on Ubuntu 16.04 and 17.04.
sudo apt-get update sudo apt-get update
sudo apt-get install python-pip python-dev libffi-dev upx libssl-dev libc++1 sudo apt-get install python-pip python-dev libffi-dev upx libssl-dev libc++1
Install the python packages listed in requirements.txt using pip Install the python packages listed in requirements.txt using pip
cd [code location]/chaos_monkey cd [code location]/infection_monkey
pip install -r requirements.txt pip install -r requirements.txt
2. Build Sambacry binaries 2. Build Sambacry binaries
a. Build/Download according to sections at the end of this readme. a. Build/Download according to sections at the end of this readme.
b. Place the binaries under [code location]\chaos_monkey\bin b. Place the binaries under [code location]\infection_monkey\bin
3. To build, run in terminal: 3. To build, run in terminal:
cd [code location]/chaos_monkey cd [code location]/infection_monkey
chmod +x build_linux.sh chmod +x build_linux.sh
./build_linux.sh ./build_linux.sh
output is placed under dist/monkey output is placed under dist/monkey
@ -63,11 +63,11 @@ Sambacry requires two standalone binaries to execute remotely.
1. Install gcc-multilib if it's not installed 1. Install gcc-multilib if it's not installed
sudo apt-get install gcc-multilib sudo apt-get install gcc-multilib
2. Build the binaries 2. Build the binaries
cd [code location]/chaos_monkey/monkey_utils/sambacry_monkey_runner cd [code location]/infection_monkey/monkey_utils/sambacry_monkey_runner
./build.sh ./build.sh
-- Mimikatz -- -- Mimikatz --
Mimikatz is required for the Monkey to be able to steal credentials on Windows. It's possible to either compile from sources (requires Visual Studio 2013 and up) or download the binaries from Mimikatz is required for the Monkey to be able to steal credentials on Windows. It's possible to either compile from sources (requires Visual Studio 2013 and up) or download the binaries from
https://github.com/guardicore/mimikatz/releases/tag/1.0.0 https://github.com/guardicore/mimikatz/releases/tag/1.0.0
Download both 32 and 64 bit DLLs and place them under [code location]\chaos_monkey\bin Download both 32 and 64 bit DLLs and place them under [code location]\infection_monkey\bin

View File

@ -1,5 +1,5 @@
# -*- coding: UTF-8 -*- # -*- coding: UTF-8 -*-
# NOTE: Launch all tests with `nosetests` command from chaos_monkey dir. # NOTE: Launch all tests with `nosetests` command from infection_monkey dir.
import json import json
import unittest import unittest

View File

@ -18,7 +18,7 @@ How to set up the Monkey Island server:
5.1. Download and install from: https://go.microsoft.com/fwlink/?LinkId=746572 5.1. Download and install from: https://go.microsoft.com/fwlink/?LinkId=746572
6. Generate SSL Certificate 6. Generate SSL Certificate
6.1. run create_certificate.bat when your current working directory is monkey_island 6.1. run create_certificate.bat when your current working directory is monkey_island
7. Create the monkey_island\cc\binaries folder and put chaos monkey binaries inside 7. Create the monkey_island\cc\binaries folder and put Infection Monkey binaries inside
monkey-linux-64 - monkey binary for linux 64bit monkey-linux-64 - monkey binary for linux 64bit
monkey-linux-32 - monkey binary for linux 32bit monkey-linux-32 - monkey binary for linux 32bit
monkey-windows-32.exe - monkey binary for windows 32bit monkey-windows-32.exe - monkey binary for windows 32bit