recon-ng icon indicating copy to clipboard operation
recon-ng copied to clipboard

Added Windows support.

Open rubenae opened this issue 5 years ago • 6 comments

rubenae avatar Jun 14 '20 15:06 rubenae

How extensively has this been tested?

lanmaster53 avatar Jun 18 '20 02:06 lanmaster53

Hi Tim, it has been properly tested both on Windows and Linux, debugging to make sure everything it's working fine. I've also installed modules from the marketplace, loading and running them.

Moreover, I've integrated Elasticsearch with Recon-ng (recon-es), developing several modules (recon-es-marketplace).

Here you have the technical paper, it's my final project for the Software Engineering degree: TFG

Regards.

rubenae avatar Jun 18 '20 10:06 rubenae

Hi Tim, it has been properly tested both on Windows and Linux, debugging to make sure everything it's working fine. I've also installed modules from the marketplace, loading and running them.

Moreover, I've integrated Elasticsearch with Recon-ng (recon-es), developing several modules (recon-es-marketplace).

Here you have the technical paper, it's my final project for the Software Engineering degree: TFG

Regards.

Interesting. So it just replaces SQL with ES for setting and retrieving the default module sources? The rest of the code base looks unchanged.

lanmaster53 avatar Jun 19 '20 03:06 lanmaster53

Basically, yes. An index is created in Elasticsearch for each Recon-ng workspace, where documents containing the collected data are indexed, organised by type of data.

In addition, due to the lack of duplicity control in Elasticsearch as the autogenerated _id is independent of the indexed data, the _id used is instead the hashed dictionary values to avoid data redundancy.

rubenae avatar Jun 21 '20 11:06 rubenae

The parsing of paths seems a bit complicated (using regexp). I suggest using os.sep to split paths into components. Example: def _get_category(self, dirpath): parts = dirpath.split(os.sep) return parts[parts.index('modules') + 1] def _get_dispname(self, dirpath, mod_name): parts = dirpath.split(os.sep) return os.sep.join(parts[parts.index('modules') + 1:] + [mod_name]) This should work for both Windows and Linux.

rogerlindberg avatar Jun 18 '21 20:06 rogerlindberg

Is this already merged?

kurogai avatar Sep 18 '23 10:09 kurogai