Fixed some module import fails and attacks summary file
This commit is contained in:
5
.idea/enteletaor.iml
generated
5
.idea/enteletaor.iml
generated
@@ -1,7 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<module type="PYTHON_MODULE" version="4">
|
<module type="PYTHON_MODULE" version="4">
|
||||||
<component name="NewModuleRootManager">
|
<component name="NewModuleRootManager">
|
||||||
<content url="file://$MODULE_DIR$" />
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/enteletaor_lib" isTestSource="false" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.idea" />
|
||||||
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
|
|||||||
22
ATTACKS.md
Normal file
22
ATTACKS.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# Attacks
|
||||||
|
|
||||||
|
This document recopile implemented attacks by Enteletaor.
|
||||||
|
|
||||||
|
## Specific by broker/MQ
|
||||||
|
|
||||||
|
Some attacks only can be done in specific software. Here the list of them:
|
||||||
|
|
||||||
|
## Redis
|
||||||
|
|
||||||
|
#. Poisoning cache
|
||||||
|
#. Execute remote script
|
||||||
|
|
||||||
|
## Common attacks
|
||||||
|
|
||||||
|
These attacks can be executed in all of brokers/MQ:
|
||||||
|
|
||||||
|
#. Read remote info
|
||||||
|
#. Looking for sensible information (i.e. user/password)
|
||||||
|
#. Remote command injection
|
||||||
|
#. Listing remote process
|
||||||
|
|
||||||
@@ -69,12 +69,18 @@ def find_modules():
|
|||||||
for m in dir(classes):
|
for m in dir(classes):
|
||||||
_loaded_module = getattr(classes, m)
|
_loaded_module = getattr(classes, m)
|
||||||
if inspect.isclass(_loaded_module) \
|
if inspect.isclass(_loaded_module) \
|
||||||
and _loaded_module.__name__ != "IModule" \
|
and _loaded_module.__name__ != "IModule":
|
||||||
and issubclass(_loaded_module, IModule):
|
|
||||||
try:
|
# Check if class inherits from IModule
|
||||||
results[_loaded_module.name] = _loaded_module
|
for c in inspect.getmro(_loaded_module):
|
||||||
except AttributeError:
|
if c.__name__ == "IModule":
|
||||||
log.warning("Module '%s' has not attribute 'name' and can't be loaded." %
|
try:
|
||||||
_loaded_module.__name__)
|
results[_loaded_module.name] = _loaded_module
|
||||||
|
except AttributeError:
|
||||||
|
log.warning("Module '%s' has not attribute 'name' and can't be loaded." %
|
||||||
|
_loaded_module.__name__)
|
||||||
|
|
||||||
|
# Found!
|
||||||
|
break
|
||||||
|
|
||||||
return results
|
return results
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
six
|
six
|
||||||
flask
|
flask
|
||||||
wtforms
|
wtforms
|
||||||
colorlog
|
colorlog
|
||||||
|
|
||||||
|
# MQ/Brokers requirements
|
||||||
|
redis
|
||||||
|
celery
|
||||||
|
kombu
|
||||||
Reference in New Issue
Block a user