monkey/chaos_monkey
Evstifeev Roman f1dca7fa86 Don't crash when receiving unknown configuration variables
Instead of crashing if the monkey deserializes an unknown configuration
variable, send an error message to the current monkey server and keep on
working.

Add utnittests.

fixes #26
2016-09-27 23:56:26 +03:00
..
exploit Removed reliance on grequests. Complicates other code and no real performance improvement in a LAN enviornment. 2016-09-21 14:55:13 +03:00
model RDP: change VBS object to reduce requirements + process is more verbose 2016-09-06 11:05:15 +03:00
network Issue #35 - Added option for blocked IPs. 2016-09-21 11:35:41 +03:00
system_info PEP8 changes 2016-08-20 23:37:42 +03:00
test Don't crash when receiving unknown configuration variables 2016-09-27 23:56:26 +03:00
transport Added more logging to HTTP server 2016-08-29 12:05:24 +03:00
build_linux.sh pyinstaller run clean 2015-12-31 09:57:29 +02:00
build_windows.bat Remove commented build step. 2016-09-08 08:56:11 +03:00
config.py Don't crash when receiving unknown configuration variables 2016-09-27 23:56:26 +03:00
control.py Don't crash when receiving unknown configuration variables 2016-09-27 23:56:26 +03:00
dropper.py code organization 2015-11-30 10:56:20 +02:00
example.conf Issue #35 - Added option for blocked IPs. 2016-09-21 11:35:41 +03:00
main.py PEP8 changes 2016-08-20 23:37:42 +03:00
monkey-linux.spec Added grequests to hidden imports. 2016-09-04 13:45:49 +03:00
monkey.ico first commit 2015-08-30 10:27:35 +03:00
monkey.py PEP8 changes 2016-08-20 23:37:42 +03:00
monkey.spec Added grequests to hidden imports. 2016-09-04 13:45:49 +03:00
monkeyfs.py Added grequests to hidden imports. 2016-09-04 13:45:49 +03:00
readme.txt Don't dup pip list 2016-09-13 14:07:48 +03:00
requirements.txt Don't crash when receiving unknown configuration variables 2016-09-27 23:56:26 +03:00
system_singleton.py code organization 2015-11-30 10:56:20 +02:00
tunnel.py Tunnel improvements - bugfix for using default tunnel, improvement in tunnel shutdown 2016-08-13 18:38:31 +03:00

readme.txt

How to create a monkey build environment:

Windows:
1. Install python 2.7. Preferably you should use ActiveState Python which includes pywin32 built in. 
	You must use an up to date version, atleast version 2.7.10
	http://www.activestate.com/activepython/downloads
	https://www.python.org/downloads/release/python-2712/
2. install pywin32-219.win32-py2.7.exe at least
	http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/
3. a. install VCForPython27.msi
	http://www.microsoft.com/en-us/download/details.aspx?id=44266
   b. if not installed, install Microsoft Visual C++ 2010 SP1 Redistributable Package
    32bit: http://www.microsoft.com/en-us/download/details.aspx?id=8328
    64bit: http://www.microsoft.com/en-us/download/details.aspx?id=13523
4. Download & Run get-pip.py
	https://bootstrap.pypa.io/get-pip.py
5. Run:
	Install the python packages listed in requirements.txt. Using pip install -r requirements.txt
7. Download and extract UPX binary to [source-path]\monkey\chaos_monkey\bin\upx.exe:
	http://upx.sourceforge.net/download/upx391w.zip
8. (Optional) For some exploits to work better, install 'dnet' python library. You'll need to compile it for your OS
    or use a precompiled setup that can be found at:
    32bit: https://github.com/Kondziowy/scapy_win64/raw/master/win32/dnet-1.12.win32-py2.7.exe
    64bit: https://github.com/Kondziowy/scapy_win64/raw/master/win64/dnet-1.12.win-amd64-py2.7.exe
9. Run [source-path]\monkey\chaos_monkey\build_windows.bat to build, output is in dist\monkey.exe

Linux (Tested on Ubuntu 12.04):
1. Run:
	sudo apt-get update
	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 -r requirements.txt
	sudo apt-get install winbind
2. Put source code in /home/user/Code/monkey/chaos_monkey
3. To build, run in terminal:
	cd /home/user/Code/monkey/chaos_monkey
	chmod +x build_linux.sh
	./build_linux.sh
   output is in dist/monkey