A Recon-NG Update Primer

by | Feb 19, 2020 | Uncategorized

Print PDF

Submit your email address to access the PDF of this post.

  • This field is for validation purposes and should be left unchanged.

Recently, Tim Tomes (@LaNMaSteR53 on Twitter) made a huge update to his recon-ng program. I am grateful for his hard work, dedication, and generosity as he serves the infosec community and provides such a wonderful free tool. The new update changed a lot of the syntax for the commands and I wanted to provide a very brief overview for the things that I use the most.

When you first load the program, everything is pretty similar as shown below.

Creating a workspace is still one the first function which is accomplished by executing “workspaces create <$NAME>” where the name would be your own label (my workspace is named “test”). However, the marketplace is a new feature and I prefer to install all of the modules before creating the workspace. This is accomplished by executing “marketplace install <$MODULE>”. I normally run “marketplace install all” as shown below.

A close up of a sign

Description automatically generated

You can now run “marketplace search <$MODULE>” and see their status; I will demonstrate checking the hibp modules.

A screenshot of a computer

Description automatically generated

You can see that this module now requires an API key. You can read about this decision here and apply for a key here; it is well worth the small price Troy hunt is charging for this valuable service. I won’t cover adding API keys as that function is still the same.

Adding a domain can be done a couple of ways, I prefer to execute “db insert domains <$DOMAIN>”, in my example I will insert google.com.

This replaces the “domains add” command and a positive result is indicated by the “[*] 1 rows affected.” output.

Inserting a list into the database can be performed similarly to the older version with only a few adjustments. Instead of  “use import/list” the new command is “modules load import/list”. I will use the options to import a list of emails into the contacts table. To view the database schema run “db schema” and you will be able to replicate this for the applicable table and column. The  primary difference in the new version is using “options set…” instead of just “set”.

A screenshot of text

Description automatically generated

The final main difference I have noticed is loading modules. Instead of “use” the program now uses “modules load <$MODULE>”. In the example below I will use the whois_pocs module and list/set any options.

A screenshot of text

Description automatically generated

I hope this is helpful as the examples above were the main things that slowed me down with the newer version. If there are other specific functions or uses that you would like more explanation on please let me know. Thanks again to Tim Tomes for this great tool.