Merge remote-tracking branch 'origin/develop' into bugfix/rename_Cnc_island
This commit is contained in:
commit
a69f7d93a3
|
@ -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
|
||||||
|
|
|
@ -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
|
Before Width: | Height: | Size: 232 KiB After Width: | Height: | Size: 232 KiB |
|
@ -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()
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue