Skip to content

Tool Integration

maxlandon edited this page Mar 9, 2019 · 1 revision

I - General Structure

Integration of Metasploit objects into a Maltego-conforming object-hierarchy is of paramount importance, as it conditions the success of this project. Given the importance of Metasploit, it will be used as the base namespace for almost -if not all- Entity Classes. (See Section Entity Tree Logic for explanations about this choice.)

Upon acknowledgement of each framework's strengths, some arbitrary choices are needed to preserve them:

1) Entity Tree Logic

In order to integrate several tools in EffectiveCouscous, it is important to devise a unified Entity tree (and namespace), for easier management.

  • Observation: Ideally, it should allow any given Entity type to be used by any concerned tool, while never restraining its use by other tools of the same category: for instance, a Service Entity should already have Metasploit, Nikto and Burpsuite Attributes (even if some attributes are not assigned/used yet), so that this Entity can be easily added, modified, deleted or used from/to any of these tools.
  • Choice: Any Entity should have an attribute tree which root should be the 'biggest' tool in EffectiveCouscous. So, because Metasploit is the biggest tool at the moment, it should be first in the class hierarchy, and will add Metasploit attributes. Then, if PowerShell Empire is the second biggest tool acting on a given entity, it should be second in the class hierarchy.

This subject only concerns the Python transforms & entity code logic, so this point will seem to be abstract for users not accustomed to the project's code base. Therefore, for fully understanding this point, please carefully read the Entity code structure and the Transform code structure. Nonetheless it is very important.