Commit Graph

264 Commits

Author SHA1 Message Date
Itay Mizeretz 919e462a48 remove grequests from monkey-linux spec 2017-08-28 18:32:38 +03:00
Itay Mizeretz c254412c9f Add monkey_runner.so sourcecode 2017-08-28 16:37:33 +03:00
Itay Mizeretz 57e69fafee minor fix in dropper
Rename constants
2017-08-28 10:41:11 +03:00
Itay Mizeretz 9f93fb8310 minor fix in dropper 2017-08-28 09:46:29 +03:00
Itay Mizeretz 332a11b272 minor fix in dropper 2017-08-28 09:41:27 +03:00
Itay Mizeretz 6f74a5e6cc Add arg parsing to dropper 2017-08-27 19:18:11 +03:00
Itay Mizeretz 97205e6427 Fix config property bug 2017-08-21 11:51:47 +03:00
Itay Mizeretz 26df64fb87 Fixed CR 2017-08-20 19:32:18 +03:00
Itay Mizeretz 1a55c8362f Add C&C ability to share credentials found from monkeys 2017-08-17 18:04:36 +03:00
Itay Mizeretz 1e876eb597 Update example.conf 2017-08-16 19:07:50 +03:00
Itay Mizeretz 875eba393c Fix config erasing of creds 2017-08-16 16:36:51 +03:00
Itay Mizeretz f1b7fb6706 Fix unicode problem 2017-08-16 16:13:31 +03:00
Itay Mizeretz 60d64c4e6b Fix minor bug 2017-08-16 15:40:23 +03:00
Itay Mizeretz a671b55df3 Add mimikatz collector
Combine all users and passwords in config
2017-08-16 15:14:26 +03:00
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
acepace f95bbb0d13 Removed out of date build explanations 2016-03-01 19:01:40 +02:00
acepace 584810e79b Moved chaos money build notes to proper directory. 2016-03-01 15:34:10 +02:00
acepace 6a486165e5 Fixed broken imports 2016-03-01 13:19:45 +02:00
acepace 73fe684589 Upgraded pyinstaller usage 2016-02-29 11:32:50 +02:00
urihershgc 6e521db994 removed fake 2016-02-16 10:16:21 +02:00
urihershgc eab6f386a8 monkey debian minor improvements 2016-01-19 16:07:02 +02:00
urihershgc 0cd5d5aea3 GC-5050: skip timeouts fix and shorter timeout 2016-01-14 16:14:07 +02:00
urihershgc 6fe21a83e1 GC-5050: skip timeouts if no potential machines were found 2016-01-14 14:35:55 +02:00
urihershgc 013c87f478 GC-5050: added execution script 2016-01-14 14:05:27 +02:00
urihershgc 047939b80d GC-5050: better configuration handling 2016-01-14 11:58:15 +02:00
urihershgc a0e87a82f7 GC-5050: better range calculation 2016-01-13 10:27:49 +02:00
urihershgc 54e4453d67 pyinstaller run clean 2015-12-31 09:57:29 +02:00
urihershgc 471fede2fe GC-3598: #resolved added process list 2015-12-09 16:33:44 +02:00
urihershgc e5d809e7aa GC-4599: better logging of depth 2015-12-08 09:58:06 +02:00
urihershgc 21463211fd GC-4599: fixed depth to int 2015-12-08 09:41:21 +02:00
urihershgc 0ec19578c3 GC-4599: added depth parameter 2015-12-07 19:08:15 +02:00
urihershgc 2333436da4 added example configuration 2015-12-07 10:15:56 +02:00
urihershgc 893ba1b7af GC-4600 added command line option 2015-12-06 09:50:36 +02:00
urihershgc 3522e6e02d GC-4600: monkey is propagating current C&C server 2015-12-03 16:38:50 +02:00
urihershgc fa4c92c7f1 logging missing configuration 2015-12-03 16:21:16 +02:00
urihershgc cc266329bd restore proxy addressing 2015-12-03 09:39:54 +02:00
urihershgc 378f0bdedf configuration fix 2015-12-02 14:18:49 +02:00
urihershgc d9b2c9590a config edit 2015-12-02 13:49:26 +02:00
urihershgc 52e5abfc81 code organization #3 2015-12-02 11:18:49 +02:00
urihershgc 234781bc47 GC-3598: added info collection infrastructure 2015-11-30 15:29:30 +02:00
urihershgc d984641f53 code organization #2 2015-11-30 14:11:19 +02:00
urihershgc 6b5c1e46aa monkey and not winworm in log 2015-11-30 11:03:54 +02:00
urihershgc 048c989b27 code organization 2015-11-30 10:56:20 +02:00
urihershgc b370582666 tunneling bug fix 2015-11-26 16:30:49 +02:00
urihershgc 3081ac6d91 configuration print and meaningless spaces fixes 2015-11-26 15:48:47 +02:00
urihershgc 7466cdccfb variable name fix 2015-11-25 15:44:22 +02:00
Barak Hoffer 6a5c4f834d fix no log file bug 2015-10-15 10:13:40 +03:00
Barak Hoffer 6169f1f42e added default tunnel is the exploiter
added self delete on cleanup
fixed argument parsing
2015-10-14 17:22:05 +03:00
Barak Hoffer 4731df114c fixed ssh on different port bugs 2015-10-12 17:42:54 +03:00
Barak Hoffer 5b647f97af windows xp firewall bug fix 2015-10-12 14:57:04 +03:00
Barak Hoffer cc32b369b4 tunnel bugs fix 2015-10-12 14:56:44 +03:00