forked from p15670423/monkey
Merge pull request #129 from cclauss/new-style-exceptions
New style exceptions, has_key(), and types
This commit is contained in:
commit
1af9ffc0d4
|
@ -0,0 +1,23 @@
|
||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us fix things!
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Configure the Monkey with X settings
|
||||||
|
2. Run the monkey on specific machine
|
||||||
|
3. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Machine version(please complete the following information):**
|
||||||
|
- OS: Windows or Linux
|
|
@ -20,7 +20,7 @@ The following is a *short* list of recommendations. PRs that don't match these c
|
||||||
* **Don't** leave your pull request description blank.
|
* **Don't** leave your pull request description blank.
|
||||||
* **Do** license your code as GPLv3.
|
* **Do** license your code as GPLv3.
|
||||||
|
|
||||||
|
Also, please submit PRs to the develop branch.
|
||||||
|
|
||||||
## Issues
|
## Issues
|
||||||
* **Do** write a detailed description of your bug and use a descriptive title.
|
* **Do** write a detailed description of your bug and use a descriptive title.
|
||||||
|
|
|
@ -40,7 +40,7 @@ def _cast_by_example(value, example):
|
||||||
return int(value)
|
return int(value)
|
||||||
elif example_type is float:
|
elif example_type is float:
|
||||||
return float(value)
|
return float(value)
|
||||||
elif example_type is types.ClassType or example_type is ABCMeta:
|
elif example_type in (type, ABCMeta):
|
||||||
return globals()[value]
|
return globals()[value]
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
|
@ -84,10 +84,10 @@ class Configuration(object):
|
||||||
if val_type is types.FunctionType or val_type is types.MethodType:
|
if val_type is types.FunctionType or val_type is types.MethodType:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
if val_type is types.ClassType or val_type is ABCMeta:
|
if val_type in (type, ABCMeta):
|
||||||
value = value.__name__
|
value = value.__name__
|
||||||
elif val_type is tuple or val_type is list:
|
elif val_type is tuple or val_type is list:
|
||||||
if len(value) != 0 and (type(value[0]) is types.ClassType or type(value[0]) is ABCMeta):
|
if len(value) != 0 and type(value[0]) in (type, ABCMeta):
|
||||||
value = val_type([x.__name__ for x in value])
|
value = val_type([x.__name__ for x in value])
|
||||||
|
|
||||||
result[key] = value
|
result[key] = value
|
||||||
|
|
|
@ -27,7 +27,7 @@ LOG = getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def twisted_log_func(*message, **kw):
|
def twisted_log_func(*message, **kw):
|
||||||
if kw.has_key('isError') and kw['isError']:
|
if kw.get('isError'):
|
||||||
error_msg = 'Unknown'
|
error_msg = 'Unknown'
|
||||||
if 'failure' in kw:
|
if 'failure' in kw:
|
||||||
error_msg = kw['failure'].getErrorMessage()
|
error_msg = kw['failure'].getErrorMessage()
|
||||||
|
|
|
@ -144,13 +144,13 @@ class SMBFinger(HostFinger):
|
||||||
host.os['type'] = 'linux'
|
host.os['type'] = 'linux'
|
||||||
|
|
||||||
host.services[SMB_SERVICE]['name'] = service_client
|
host.services[SMB_SERVICE]['name'] = service_client
|
||||||
if not host.os.has_key('version'):
|
if 'version' not in host.os:
|
||||||
host.os['version'] = os_version
|
host.os['version'] = os_version
|
||||||
else:
|
else:
|
||||||
host.services[SMB_SERVICE]['os-version'] = os_version
|
host.services[SMB_SERVICE]['os-version'] = os_version
|
||||||
|
|
||||||
return True
|
return True
|
||||||
except Exception, exc:
|
except Exception as exc:
|
||||||
LOG.debug("Error getting smb fingerprint: %s", exc)
|
LOG.debug("Error getting smb fingerprint: %s", exc)
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -24,7 +24,7 @@ class MimikatzCollector(object):
|
||||||
self._collect = collect_proto(("collect", self._dll))
|
self._collect = collect_proto(("collect", self._dll))
|
||||||
self._get = get_proto(("get", self._dll))
|
self._get = get_proto(("get", self._dll))
|
||||||
self._isInit = True
|
self._isInit = True
|
||||||
except StandardError:
|
except Exception:
|
||||||
LOG.exception("Error initializing mimikatz collector")
|
LOG.exception("Error initializing mimikatz collector")
|
||||||
|
|
||||||
def get_logon_info(self):
|
def get_logon_info(self):
|
||||||
|
@ -71,7 +71,7 @@ class MimikatzCollector(object):
|
||||||
logon_data_dictionary[username]["ntlm_hash"] = ntlm_hash
|
logon_data_dictionary[username]["ntlm_hash"] = ntlm_hash
|
||||||
|
|
||||||
return logon_data_dictionary
|
return logon_data_dictionary
|
||||||
except StandardError:
|
except Exception:
|
||||||
LOG.exception("Error getting logon info")
|
LOG.exception("Error getting logon info")
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ class FTPServer(threading.Thread):
|
||||||
try:
|
try:
|
||||||
func=getattr(self,cmd[:4].strip().upper())
|
func=getattr(self,cmd[:4].strip().upper())
|
||||||
func(cmd)
|
func(cmd)
|
||||||
except Exception,e:
|
except Exception as e:
|
||||||
self.conn.send('500 Sorry.\r\n')
|
self.conn.send('500 Sorry.\r\n')
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
|
@ -122,7 +122,7 @@ class HTTPConnectProxyHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
||||||
address = (u.hostname, u.port or 443)
|
address = (u.hostname, u.port or 443)
|
||||||
try:
|
try:
|
||||||
conn = socket.create_connection(address)
|
conn = socket.create_connection(address)
|
||||||
except socket.error, e:
|
except socket.error as e:
|
||||||
LOG.debug("HTTPConnectProxyHandler: Got exception while trying to connect to %s: %s" % (repr(address), e))
|
LOG.debug("HTTPConnectProxyHandler: Got exception while trying to connect to %s: %s" % (repr(address), e))
|
||||||
self.send_error(504) # 504 Gateway Timeout
|
self.send_error(504) # 504 Gateway Timeout
|
||||||
return
|
return
|
||||||
|
|
|
@ -63,7 +63,7 @@ class TcpProxy(TransportProxyBase):
|
||||||
try:
|
try:
|
||||||
dest = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
dest = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
dest.connect((self.dest_host, self.dest_port))
|
dest.connect((self.dest_host, self.dest_port))
|
||||||
except socket.error, ex:
|
except socket.error as ex:
|
||||||
source.close()
|
source.close()
|
||||||
dest.close()
|
dest.close()
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -17,7 +17,7 @@ class MonkeyConfiguration(flask_restful.Resource):
|
||||||
@jwt_required()
|
@jwt_required()
|
||||||
def post(self):
|
def post(self):
|
||||||
config_json = json.loads(request.data)
|
config_json = json.loads(request.data)
|
||||||
if config_json.has_key('reset'):
|
if 'reset' in config_json:
|
||||||
ConfigService.reset_config()
|
ConfigService.reset_config()
|
||||||
else:
|
else:
|
||||||
ConfigService.update_config(config_json, should_encrypt=True)
|
ConfigService.update_config(config_json, should_encrypt=True)
|
||||||
|
|
|
@ -53,7 +53,7 @@ class Telemetry(flask_restful.Resource):
|
||||||
TELEM_PROCESS_DICT[telem_type](telemetry_json)
|
TELEM_PROCESS_DICT[telem_type](telemetry_json)
|
||||||
else:
|
else:
|
||||||
print('Got unknown type of telemetry: %s' % telem_type)
|
print('Got unknown type of telemetry: %s' % telem_type)
|
||||||
except StandardError as ex:
|
except Exception as ex:
|
||||||
print("Exception caught while processing telemetry: %s" % str(ex))
|
print("Exception caught while processing telemetry: %s" % str(ex))
|
||||||
traceback.print_exc()
|
traceback.print_exc()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue