diff --git a/chaos_monkey/exploit/shellshock.py b/chaos_monkey/exploit/shellshock.py index 97c950a18..bca03b6ea 100644 --- a/chaos_monkey/exploit/shellshock.py +++ b/chaos_monkey/exploit/shellshock.py @@ -38,8 +38,10 @@ class ShellShockExploiter(HostExploiter): def exploit_host(self): # start by picking ports - candidate_services = {service: self.host.services[service] for service in self.host.services if - self.host.services[service]['name'] == 'http'} + candidate_services = { + service: self.host.services[service] for service in self.host.services if + ('name' in self.host.services[service]) and (self.host.services[service]['name'] == 'http') + } valid_ports = [(port, candidate_services['tcp-' + str(port)]['data'][1]) for port in self.HTTP if 'tcp-' + str(port) in candidate_services] diff --git a/monkey_island/cc/resources/monkey.py b/monkey_island/cc/resources/monkey.py index 93fb0a0be..8670505b0 100644 --- a/monkey_island/cc/resources/monkey.py +++ b/monkey_island/cc/resources/monkey.py @@ -54,6 +54,7 @@ class Monkey(flask_restful.Resource): def post(self, **kw): monkey_json = json.loads(request.data) monkey_json['creds'] = [] + monkey_json['dead'] = False if 'keepalive' in monkey_json: monkey_json['keepalive'] = dateutil.parser.parse(monkey_json['keepalive']) else: