Commit Graph

200 Commits

Author SHA1 Message Date
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
Daniel Goldberg aced96819b Reverted again the dup requests library 2016-09-21 15:42:26 +03:00
daniel goldberg ab7f731ed5 Removed reliance on grequests. Complicates other code and no real performance improvement in a LAN enviornment. 2016-09-21 14:55:13 +03:00
daniel goldberg 9ab5b178df Merge remote-tracking branch 'origin/master' 2016-09-21 12:32:12 +03:00
daniel goldberg 3549bb351e Issue #35 - Added option for blocked IPs. 2016-09-21 11:35:41 +03:00
Evstifeev Roman 2066c19190 requirements.txt - remove duplicate (requests) 2016-09-20 19:35:23 +04:00
itsikkes 155a03efad Small hack to support fast-user switching when RDPing to already loggen-in host
Although it doesn't always happen, because there is no easy wasy to know
- trying  to press YES on the dialog box (if any) can help the login
process
2016-09-19 22:27:17 +03:00
daniel goldberg 084cee78fd Merge remote-tracking branch 'origin/master' 2016-09-14 14:19:13 +03:00
Daniel Goldberg d1f218daad Don't dup pip list 2016-09-13 14:07:48 +03:00
itsikkes b3322b2541 improved local interface selection when exploiting 2016-09-08 12:30:40 +03:00
daniel goldberg 6fcf8b2f15 Merge remote-tracking branch 'origin/master' 2016-09-08 10:21:47 +03:00
daniel goldberg 24792aec61 Remove commented build step. 2016-09-08 08:56:11 +03:00
danielguardicore d2203b2220 Removed legacy ChaosMonkey from SMB execution. 2016-09-07 19:10:30 +03:00
danielguardicore 9f27825789 Changed tcp scanning to be a bit more random. Might confuse really basic defenses. 2016-09-07 19:01:19 +03:00
danielguardicore ce3eaa9b2e Fixed grequsts/gevents monkey patching of socket code, which lead to paramiko being unable to function after a shellshock scan. 2016-09-07 10:16:17 +03:00
itsikkes 39eaca300f RDP: change VBS object to reduce requirements + process is more verbose 2016-09-06 11:05:15 +03:00
daniel goldberg 6e76162b8f Added str representation of hosts. 2016-09-05 21:10:17 +03:00
daniel goldberg 397c4f82ca Merge remote-tracking branch 'origin/master' 2016-09-05 18:49:10 +03:00
daniel goldberg 32c326bd7b PEP8 in diff files
Add concept of non default timeout for copying SMB files. This is by default 5 minutes.
Changed behavior of SMB exploiter if file already exists, we don't assume exploitation is useless and try again. Worse case is we run the monkey after it finished running.
Changed behavior if managed to connect to machine to IPC$ over some dialect. If Success, we don't try again.
2016-09-05 17:45:27 +03:00
Daniel Goldberg 78cafb8d58 Set minimum Python version for Windows version.
This should fix #34
2016-09-05 16:13:55 +03:00
daniel goldberg 5ae67840a6 No manifest files, everything compiled in onefile 2016-09-04 14:33:02 +03:00
daniel goldberg 442cc827c0 Merge remote-tracking branch 'origin/master' 2016-09-04 14:30:56 +03:00
daniel goldberg fc19da7427 Added grequests to hidden imports.
Fixed dict lookup in monkeyfs
2016-09-04 13:45:49 +03:00
Daniel Goldberg ffb0baaa31 Typo 2016-09-01 13:58:44 +03:00
daniel goldberg 12ff0c5677 Reverted bug in config, added 'user' to default bruteforce. 2016-08-30 11:04:44 +03:00
daniel goldberg 6a51e926f8 Fixed random IP 2016-08-29 19:14:37 +03:00
daniel goldberg bbc5cfb24c Add log 2016-08-29 18:58:16 +03:00
daniel goldberg 1a4a08e3bd Add HTTPFinger to conf file and PEP8 fix 2016-08-29 18:58:16 +03:00
daniel goldberg 91427eb346 Tiny PEP8 change and changed reporting of vulnerable URLs in shellshock 2016-08-29 18:58:16 +03:00
daniel goldberg 30cb88f01d Update conf to use shellshock as well 2016-08-29 18:58:16 +03:00
Daniel Goldberg 835c861219 Add ShellShockExploiter to default config 2016-08-29 18:58:16 +03:00
daniel goldberg d80c670392 Fixed bug in HTTPFingering
Added support for skip_exploit_if_file_exists in linux exploiters.
Delayed/fixed a race in the monkey patching that gevents does.
2016-08-29 18:58:16 +03:00
daniel goldberg cd27438a1e PEP 8 changes 2016-08-29 18:58:15 +03:00
daniel goldberg 1806f9bc62 Issue #33 - Added support for skip_exploit_if_file_exist in linux 2016-08-29 13:34:21 +03:00
daniel goldberg a322a619cb Issue 23 - Added shellshock exploit. 2016-08-29 12:09:46 +03:00
daniel goldberg bdde8dfeed Added func to find route to victim, reorganised firewall 2016-08-29 12:08:42 +03:00
daniel goldberg 3b39ee4308 Added more logging to HTTP server 2016-08-29 12:05:24 +03:00
daniel goldberg 57525b6450 Moved to using HEAD to save code 2016-08-25 16:32:16 +03:00
daniel goldberg dd8738a4f1 Fixed collision where HTTP auto upgraded to HTTPS 2016-08-25 16:27:29 +03:00
daniel goldberg bee9fc23ea BugFix 2016-08-25 15:46:29 +03:00
daniel goldberg 4f1dfb4016 PEP8 2016-08-25 15:45:47 +03:00
daniel goldberg 8c9014684c Fixed some bugs in HTTP fingerprinting 2016-08-25 15:43:59 +03:00
daniel goldberg d455a8bb40 Added basic HTTP fingering by using banner grabbing 2016-08-24 18:31:16 +03:00
daniel goldberg 67d77408f6 PEP8 2016-08-22 18:34:22 +03:00
acepace 8c4288d100 PEP8 changes 2016-08-20 23:37:42 +03:00
acepace e16debeff9 Documented config variable 2016-08-20 17:56:23 +03:00
acepace 88951f920d Bunch of generic PEP8 improvements 2016-08-20 17:03:49 +03:00
acepace 0eb655c44b Changed Monkey SSH file path to /tmp to not require root.
Tiny PEP8 changes
2016-08-20 15:28:14 +03:00
itsikkes fba5bea912 Tunnel improvements - bugfix for using default tunnel, improvement in tunnel shutdown
1) Bugfix when searching for tunnel - registration packet might be sent
from wrong interface in case of the default tunnel
2) Tunnel shutdown now verifies that no one used the tunnel before
shutting it down (added code to allow tracing of last used time)
3) Timeouts increasments
2016-08-13 18:38:31 +03:00
itsikkes a2fccaca03 Bug fix in shutdown sequence and added sleep for allowing newly exploited use the tunnel
1) When exploiting new host, ensure it has enough time to get access to
the tunnel before shut down
2) When shutting down, first report to the island and only then quit the
tunnel (if in use)
2016-08-13 18:33:49 +03:00
itsikkes 82efd24c4e updated to reflect recent patch 2016-08-13 18:30:24 +03:00
acepace 8f1669dd44 Added functionality to report all brute force password attempts even if unsuccessful. 2016-08-09 00:23:18 +03:00
acepace d75ce529ab Issue #18, added ability to attack multiple users in SSH brute force.
Also fixed small bug in windows kill path parsing.
2016-08-08 22:25:33 +03:00
acepace 2ed7cc359e Merge branch 'master' of https://github.com/guardicore/monkey
# Conflicts:
#	chaos_monkey/example.conf
2016-08-03 09:24:55 +03:00
itsikkes de958088b4 depth commandline option is not overwritten when getting config from the island 2016-08-01 16:52:27 +03:00
itsikkes f55b8d429d moved connectivity checking outside of loop 2016-08-01 14:46:21 +03:00
itsikkes 2afcae489e updated missing fields 2016-07-31 20:40:45 +03:00
acepace 39a208afc3 Added local kill switch to flow, right after loading configuration. 2016-07-31 14:33:48 +03:00
acepace 1c5ec3086f Change default server to non-sense IP to force override. Must never be localhost. 2016-07-31 14:33:13 +03:00
acepace d466824a0c Fixed Pyinstaller versioning 2016-07-28 11:22:21 +03:00
acepace dfb8b8b812 Added local network scan to default configuration 2016-07-28 11:22:02 +03:00
itsikkes 07db5ea348 Merge branch 'master' of https://github.com/guardicore/monkey 2016-07-26 18:53:05 +03:00
itsikkes 76e3350fa3 merge duplicate code 2016-07-26 18:52:58 +03:00
acepace 3cd0d5818a Merge branch 'master' of https://github.com/guardicore/monkey 2016-07-25 17:44:37 +03:00
acepace 59712c6816 Updated requirements to include netifaces 2016-07-25 17:44:10 +03:00
itsikkes fc95dccf22 bug fixes and features
added support for multi-parent, auto mark dead monkeys,; UI: get exploit
details, can select edges, show num pf monkeys alive, show failed
exploit attempts; some bug fixes;
2016-07-24 01:04:42 +03:00
itsikkes b8519300ab config bugfix - missing field 2016-07-23 08:59:26 +03:00
itsikkes e26f849286 RDP module bugfix 2016-07-23 08:41:57 +03:00
itsikkes df4c8c6415 restored mission import 2016-07-21 11:45:29 +03:00
itsikkes 9adffe86dc Merge branch 'master' of https://github.com/guardicore/monkey 2016-07-21 11:23:21 +03:00
itsikkes ad6b7a9893 missing parent flag 2016-07-21 11:22:01 +03:00
acepace c9eb743ea7 Merge branch 'master' of https://github.com/guardicore/monkey
# Conflicts:
#	README.md
2016-07-20 08:54:41 +03:00
itsikkes 4a42fc540e fixes and improvements after test-run 1 2016-07-20 00:53:41 +03:00
acepace 5eb2379fa2 Merge branch 'master' of https://github.com/guardicore/monkey
# Conflicts:
#	chaos_monkey/config.py
#	chaos_monkey/network/info.py
2016-07-18 23:45:02 +03:00
acepace 6871a3da4f Removed unused import. Added kill file option. 2016-07-18 23:43:17 +03:00
itsikkes 2c3d0af3e3 merge fix 2016-07-15 17:00:55 +03:00
itsikkes c5fd92c570 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	chaos_monkey/config.py
2016-07-15 16:58:09 +03:00
itsikkes 3da0c1a57c Added auto-scan subnets option
Monkey is now able to auto scan the local host subnets, removing the
need to preconfigure it to scan the network subnets (option is on by
default)
2016-07-15 16:54:46 +03:00
acepace 5a9153858a Changed DNS path to monkey.guardicore.com 2016-07-10 11:47:07 +03:00
acepace 3767e05434 Change order of config file to be easier to modify.
Added internet servers to config file
2016-07-10 11:41:13 +03:00
acepace eaaa5f314b Updated config documentation 2016-07-10 11:20:22 +03:00
itsikkes 5d1a3680b2 serval bug fixes
1. all monkeys got the 1st config;
2. incompatible config types
3. UI fixes at the island
2016-07-06 11:44:33 +03:00
itsikkes 3d5d972cf8 Add monkey kill option from island 2016-07-04 10:44:57 +03:00
itsikkes 84496dd3f5 Added internet access check
Shown in the monkey properties in the island
2016-06-28 11:13:24 +03:00
acepace 57a0426dfb Moved PIP requirements for Chaos Monkey itself and removed useless build_env. 2016-06-21 18:18:45 +03:00
acepace 27d14094cc Changed MS08-67 user to monkey indicative to help track infections 2016-06-14 17:06:17 +03:00
acepace 20e4793c0e Revert prior change. 2016-06-07 18:15:34 +03:00
acepace a004a757ec Fixed an annoying path in Windows paths... 2016-06-07 18:14:38 +03:00
acepace 61ff2ed740 made fixed range actually load from configuration... 2016-06-07 17:18:51 +03:00
itsikkes 347833d619 add tunnels visualization
tunnel information is sent to island and appears on the map: blue -
tunnel, red - expolit
2016-05-27 01:06:56 +03:00
itsikkes 539174e1c5 known issue regarding using twisted with pyInstaller 2016-05-26 20:33:29 +03:00
itsikkes 3dacde2f28 find tunnel now searches on all host's interfaces 2016-05-26 19:52:15 +03:00
itsikkes 3990806d8c ignore empty strings in fixed address list
empty address string is used in the sample config for empty strings
touple, which shouldn't cause an exception
2016-05-26 16:36:55 +03:00
itsikkes e1cd671e0a add missed dependency for mongoDB 2016-05-26 09:57:26 +03:00
itsikkes ace6a758f7 update installation process on linux
still not final, but improved
2016-05-25 22:51:38 +03:00
acepace 12c9062dd4 Added hidden import to monkey-linux.spec 2016-03-02 17:13:52 +02:00
acepace e76513529e GC-5506 #resolved added different log files for different platforms. 2016-03-02 17:13:36 +02:00
acepace 2860305278 Merge branch 'master' of https://github.com/guardicore/monkey 2016-03-02 15:39:27 +02:00
acepace 3afbd6b93f GC-5502: #resolved - Added code to handle lack of permissions. 2016-03-02 15:38:51 +02:00
urihershgc 4f0a0093da GC-5503: #resolved - added missing package as hidden 2016-03-02 15:25:14 +02:00