lanmaster53 / recon-ng Goto Github PK
View Code? Open in Web Editor NEWOpen Source Intelligence gathering tool aimed at reducing the time spent harvesting information from open sources.
License: GNU General Public License v3.0
Open Source Intelligence gathering tool aimed at reducing the time spent harvesting information from open sources.
License: GNU General Public License v3.0
root@xxxx:/opt/ferramentas/osint/recon-ng# python3 recon-ng
File "recon-ng", line 16
print(f"{Colors.R}[!] Module 'readline' not available. Tab complete disabled.{Colors.N}")
^
Help men
I was trying to install recon-ng on my computer. I installed the old repo from bitbucket and it went through the start up on terminal, found out it was out of date. 'rm-rf recon-ng'. Then went through the install from "Getting Started" page and got errors. I went through the base.py file, the core.py and the framework.py file and removed all the 'f' from about 100lines and it finally loaded again. I will try it out to see if there are anymore things giving me trouble. If this was the wrong way to handle these errors please let me know and help me fix it.
root@xxxx:/opt/ferramentas/osint/recon-ng# python3 recon-ng
File "recon-ng", line 16
print(f"{Colors.R}[!] Module 'readline' not available. Tab complete disabled.{Colors.N}")
^
Help men
File "./recon-ng", line 16
print(f"{Colors.R}[!] Module 'readline' not available. Tab complete disabled.{Colors.N}")
^
SyntaxError: invalid syntax
I use Ubuntu LTS 16.04
and python version 3.5 does it have to upgrade to version 3.6?
and after I read the issue #41
I found the problem solving comments should upgrade to Ubuntu 18.04 LTS?
The add feature seems broke? I can add within a module using SOURCE but cannot add as explained in the recon-ng wiki. create works fine. I am a noob, This site helped with ver 5
https://geekwire.co.uk/recon-ng-v5-tutorial/
[recon-ng][default] > workspaces add space 2
Manages workspaces
Usage: workspaces <create|delete|list|select> [...]
[recon-ng][default] > workspaces list
+------------+
| Workspaces |
+------------+
| space 1 |
| default |
+------------+
)
[recon-ng][default] > workspaces add space 2
Manages workspaces
Usage: workspaces <create|delete|list|select> [...]
[recon-ng][default] > workspaces list
+------------+
| Workspaces |
+------------+
| space 1 |
| default |
+------------+
[recon-ng][default] > workspaces create space 2
[recon-ng][space 2] > workspaces list
+------------+
| Workspaces |
+------------+
| space 1 |
| space 2 |
| default |
+------------+
is add gone?
thank you for your time
Traceback (most recent call last):
File "./recon-ng", line 58, in
recon_ui(args)
File "./recon-ng", line 43, in recon_ui
x.start(*options)
File "/root/recon-ng/recon/core/base.py", line 76, in start
self._init_workspace(workspace)
File "/root/recon-ng/recon/core/base.py", line 202, in _init_workspace
self._migrate_db()
File "/root/recon-ng/recon/core/base.py", line 258, in _migrate_db
tmp = self.get_random_str(20)
File "/root/recon-ng/recon/core/framework.py", line 229, in get_random_str
return ''.join(random.choice(string.lowercase) for i in range(length))
File "/root/recon-ng/recon/core/framework.py", line 229, in
return ''.join(random.choice(string.lowercase) for i in range(length))
AttributeError: module 'string' has no attribute 'lowercase'
Traceback (most recent call last):
File "./recon-ng", line 57, in <module>
recon_ui(args)
File "./recon-ng", line 42, in recon_ui
x.start(*options)
File "/usr/share/recon-ng/recon/core/base.py", line 73, in start
self._init_workspace(workspace)
File "/usr/share/recon-ng/recon/core/base.py", line 194, in _init_workspace
self._migrate_db()
File "/usr/share/recon-ng/recon/core/base.py", line 263, in _migrate_db
self.query('ALTER TABLE pushpin RENAME TO pushpins')
File "/usr/share/recon-ng/recon/core/framework.py", line 342, in query
return self._query(path, *args, **kwargs)
File "/usr/share/recon-ng/recon/core/framework.py", line 354, in _query
cur.execute(query)
sqlite3.OperationalError: no such table: pushpin
Error saying that table pushpin does not exist.
First off, much love. I use to use this framework a lot and loved it. It was brilliantly written, and there is definitely a case of beer with your name on it. This framework also was the first, I cut my developmental teeth on, so there is a little sentimental attachment. But, there has been a steady movement towards the use of paid APIs in maturing of the framework, and although they may make life easier for the programmer, and you deserve it. It makes technology less accessible for young developers and college students who can not afford to legitimize the expense of a glob of paid APIs. For example, namchk.com. The namchk module use to work brilliantly, but now requires a paid api. I have written the company about offering an educational deal, for those of us performing educational research, to which they informed me to jump in a lake. Which was irritating.
You can close out this issue upon reading it. I just wanted to provide some feedback, because I am sad to see the framework move into the realm of closed. Thanks again.
I am using recon-ng 4.9.0 from inside ADHD 3.1.
The pushpins twitter module works. The reporting module works but when the map view opens in Firefox, the map is shaded with a grey color. I get an alert saying "Do you own this site" too.
I have entered my Google Maps API key.
I remember some time ago that the map in the reporting module did not have this behavior.
I am using python 3.8.1 via pyenv, and I get the following when attempting to pip install -r REQUIREMENTS"
pip install -r REQUIREMENTS
[truncated]
ERROR: flasgger 0.9.3 has requirement jsonschema<3.0.0, but you'll have jsonschema 3.2.0 which is incompatible.
This can be easily addressed by issuing the following command:
pip install 'jsonschema==2.6.0'
Running interesting files yields results yet also throws an error:
recon-ng][acme] > modules load interesting_files
[recon-ng][acme][interesting_files] > run
[] http://www.acme.org:80/robots.txt => 200. 'robots.txt' found!
[] http://www.acme.org:80/sitemap.xml => 200. 'sitemap.xml' found!
[!] Can't concat str to bytes.
[!] Something broken? See https://github.com/lanmaster53/recon-ng/wiki/Troubleshooting#issue-reporting.
[recon-ng][acme][interesting_files] >
[!] Version check failed (FileNotFoundError).
[] Your version of Recon-ng does not match the latest release.
[] Please consider updating before further use.
[] Remote version: 5.1.0
[] Local version: 0
I've upgraded recon-ng and i have this FilenotFound error.
Whats the new command for : add domain?
This command does not work anymore, so i guess you changed it?
Hey, I don't understand much about this update, right now I'm unable to launch any module with the "use" function, also it feels weird there is now some kind of marketplace.
recon-ng was one of the best framework imo so where is it ?
i got issue that
[!] 'Response' object has no attribute 'cookiejar'.
[!] Something broken? See https://github.com/lanmaster53/recon-ng/wiki/Troubleshooting#issue-reporting.
when I try to issue the command to run a modules such as recon/hosts-hosts/resolve, it replies me that "source contains no input. something broken", i don't know how to fix it even your explanation to fix this i fails to understand since it highly technical difficult for newcomers like me to understand what did you mean,,,, I advice you to help us through a tutorial video on how to fix this boring trouble so as to dump this problem away....
From @root123-bot
Instead of forcing users to back out of a module, allow us to search the marketplace from within modules. Countless times I forget to "back" - frustrating.
Working through The Hacker Playbook 3, and got to the section about discovery. Using a script ( https://github.com/leebaird/discover ) that makes use of a bunch of different discovery tools.
I've ironed out most of the kinks, but it seems to be having issue with recon-ng, and I'm not sure how to approach fixing this one. I get a lot of stuff like below:
[recon-ng][cyberspacekittens.com] > spool stop
[*] Spooling stopped. Output saved to '/tmp/networks'.
[recon-ng][cyberspacekittens.com] >
[recon-ng][cyberspacekittens.com] > spool start /tmp/subdomains
[*] Spooling output to '/tmp/subdomains'.
[recon-ng][cyberspacekittens.com] > db query SELECT DISTINCT host,ip_address FROM hosts ORDER BY host ASC
[*] Command: db query SELECT DISTINCT host,ip_address FROM hosts ORDER BY host ASC
/bin/sh: 1: db: not found
[recon-ng][cyberspacekittens.com] > db query SELECT DISTINCT host,ip_address FROM ports ORDER BY host ASC
[*] Command: db query SELECT DISTINCT host,ip_address FROM ports ORDER BY host ASC
/bin/sh: 1: db: not found
[recon-ng][cyberspacekittens.com] > spool stop
[*] Spooling stopped. Output saved to '/tmp/subdomains'.
[recon-ng][cyberspacekittens.com] >
[recon-ng][cyberspacekittens.com] > spool start /tmp/usernames
[*] Spooling output to '/tmp/usernames'.
[recon-ng][cyberspacekittens.com] > db query SELECT username FROM profiles ORDER BY username ASC
[*] Command: db query SELECT username FROM profiles ORDER BY username ASC
/bin/sh: 1: db: not found
[recon-ng][cyberspacekittens.com] > spool stop
[*] Spooling stopped. Output saved to '/tmp/usernames'.
[recon-ng][cyberspacekittens.com] >
[recon-ng][cyberspacekittens.com] > exit
cat: networks-tmp: No such file or directory
Great software! Very advanced and comprehensive.
Having trouble with v5 finding dependencies that I install. For example account_creds module requires the pyaes. Therefore, i pip install pyaes, verify that the library is installed, and yet when v5 loads up it says accounts_creds is disabled because it cannot find pyaes. Run into the same issue with PyPDF3 and metacrawler module. "modules reload" command will output the same dependency not found error.
What am I doing wrong?
Thank you
Hi, i was testing the application and give me a error like this:
File "./recon-ng", line 16
print(f"{Colors.R}[!] Module 'readline' not available. Tab complete disabled.{Colors.N}")
^
SyntaxError: invalid syntax
The version of python is 3.4.3
Description
A column for the Contacts table for Phone Numbers. This would open up modules, like PhoneInfoga that use phone numbers as seed content.
The show command is not working. When I do show modules , or show workspaces or show domains I get this result: show various framework items. But it shows nothing.
When I try to add domains , i get an error: Invalid command
I am running on last Kali version.
i propose this feature specifically to support external APIs with budgeted quotas - a status
command.
i modified my local copy of recon-ng (/usr/share/recon-ng/recon/core/module.py) to stub out a do_status()
command and then call it like this in a module:
def do_status(self, *unused):
api_key = self.get_key('whoxy_key')
url = 'http://api.whoxy.com/?key={0}&account=balance'.format(api_key)
resp = self.request('GET', url).json()
self.output(resp)
this then prints out my account balance.
[recon-ng][datacom][whoxy_company] > status
[*] {'status': 1, 'live_whois_balance': 500, 'whois_history_balance': 750, 'reverse_whois_balance': 229}
a number of APIs support this query (for free in most cases), and it helps budget my pivots.
Installed recon-ng 5.0.1 from apt repository and tried out findsubdomains module.
options set SOURCE website.site
[!] Module 'lxml' has no attribute 'html'
i removed and installed recon-ng but its still showing the same message the message while i the moudle after setting the target source
[!] Not enough values to unpack (expected 2, got 1).
For systems which still have Python2 as the default, running
pip install -r REQUIREMENTS
Will install the Python2 versions, it might be worth stressing to run pip3
instead.
Hello!
I run the recon-ng web server by ./recon-web
and create a new task by passing path through POST /tasks
and see my tasks in a list ...
So. If it is in the list with status queued
how to execute it? I could not find any mention about it on API endpoints.
I am wondering cause it looks like API has all the features about how to prepare module and task to run but I could not get hot to execute it...
Description
In order to aid with he future testing story, we should have some user input validation. For example, if a table expects a name and an email address, we should check if the user actually gives a name and an properly formatted email address.
Feature Details
Hi, I cannot run it because there are "f" in various places before strings, for instance:
File "recon-ng", line 16
print(f"{Colors.R}[!] Module 'readline' not available. Tab complete disabled.{Colors.N}")
i was retyping it since there are only two of it in recon-ng but when I saw it goes down into the lib folder I stopped, i'm not sure if this is a technique or a typo, but it won't run with python3 or 3.5.
After a fresh install of 5.0.1 on Ubuntu 18.04, including running pip3 install -r REQUIREMENTS
, the framework complains at startup about two missing modules. The missing modules are not listed in the REQUIREMENTS file.
[!] Module 'recon/domains-credentials/pwnedlist/domain_creds' disabled. Dependency required: ''pyaes''.
...
[!] Module 'recon/domains-contacts/metacrawler' disabled. Dependency required: ''PyPDF3''.
Adding 'pyPDF3' and 'pyaes' to the REQUIREMENTS file and re-running pip3 install -r REQUIREMENTS
resolved the issue.
Hi,
I am testing last version of recon-ng. I added a valid ipinfodb_api key and run this module. I receive an error about to limit the queries under two seconds per query. I cannot see any option to do this. the option LIMIT is true but it looks like it miss something. I don't know if it is actually a bug but I cannot see anything in the documentation.
thank you and great job.
Hello, the cli fails with Python 3.7.5
.
File "/tmp/recon-ng/recon-cli", line 89, in <module>
recon_cli(args)
File "/tmp/recon-ng/recon-cli", line 25, in recon_cli
x.start(*options)
File "/tmp/recon-ng/recon/core/base.py", line 76, in start
self._init_workspace(workspace)
File "/tmp/recon-ng/recon/core/base.py", line 202, in _init_workspace
self._migrate_db()
File "/tmp/recon-ng/recon/core/base.py", line 258, in _migrate_db
tmp = self.get_random_str(20)
File "/tmp/recon-ng/recon/core/framework.py", line 229, in get_random_str
return ''.join(random.choice(string.lowercase) for i in range(length))
File "/tmp/recon-ng/recon/core/framework.py", line 229, in <genexpr>
return ''.join(random.choice(string.lowercase) for i in range(length))
AttributeError: module 'string' has no attribute 'lowercase'
I think you should use ascii_lowercase
instead.
Workspaces should be listed in alphabetical order.
-- Feature request:
Add 2 columns: Created and Modified
Able to sort by all columns
Traceback (most recent call last):
File "/usr/share/recon-ng/recon/core/module.py", line 289, in do_run
self.module_run(*params)
File "/root/.recon-ng/modules/recon/domains-hosts/shodan_hostname.py", line 25, in module_run
results = self.search_shodan_api(query, limit)
File "/usr/share/recon-ng/recon/mixins/search.py", line 129, in search_shodan_api
if resp.json() == None:
File "/usr/lib/python3/dist-packages/requests/models.py", line 897, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/lib/python3/dist-packages/simplejson/init.py", line 518, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 370, in decode
obj, end = self.raw_decode(s)
File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 400, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[!] Unsupported operand type(s) for += 'int' and 'list'. recon-ng
this error is what i do get and this command is what i give
db insert domains facebook.com or google.com or whatever
edit:
now i see that i have the old version of recon-ng it was preinstalled on kali linux...
how to update it?
It would be helpful if the word "OPTIONS" (both global and per-module) did not have to be entered as all-caps. It already tab-completes INTO all caps if you start it in lower-case and hit the tab key...
If allowing these as lower-case is unacceptable, maybe the response from the framework could be made more helpful. Right now it gives the same "Invalid option name" error whether I type garbage or a valid option name that's just not all-caps. Maybe it could mention that these are case-sensitive, for example, and/or give a list of valid names.
Example:
[recon-ng][example][hackertarget] > options set source example.com
[!] Invalid option name.
[recon-ng][example][hackertarget] > options set SOURCE example.com
SOURCE => example.com
My main use case: When a module fails and I want to troubleshoot, I have to back out of the module, then set options VERBOSITY 2
then re-load the module, then re-run it.
It would be cool if I could just set the option then up-arrow to run the module again.
When run command is sent to bing_domain_web module the following error is returned
[!] Name 'urllib' is not defined.
[!] Something broken? See https://github.com/lanmaster53/recon-ng/wiki/Troubleshooting#issue-reporting.
issues with the version variable
issues with the modules
other than that, seems ot run perfect on Python376 on Windows 10
Please PLEASE consider making a go at normal functionality for us Windows users. I tried, I failed. If you can't do long term support, at least get current master working so it can be forked off and someone can maintain that fork separately.
Traceback (most recent call last):
File "./recon-ng", line 57, in
recon_ui(args)
File "./recon-ng", line 42, in recon_ui
x.start(*options)
File "/usr/share/recon-ng/recon/core/base.py", line 73, in start
self._init_workspace(workspace)
File "/usr/share/recon-ng/recon/core/base.py", line 200, in _init_workspace
self._load_modules()
File "/usr/share/recon-ng/recon/core/base.py", line 438, in _load_modules
self._update_module_index()
File "/usr/share/recon-ng/recon/core/base.py", line 348, in _update_module_index
self.debug('Updating index file...')
File "/usr/share/recon-ng/recon/core/framework.py", line 288, in debug
if self._global_options['verbosity'] >= 2:
TypeError: '>=' not supported between instances of 'str' and 'int'
Hi please an idea
Please update the Features page (https://github.com/lanmaster53/recon-ng/wiki/Features) with the latest correct documentation. There are older commands and options in there that do not accurately reflect how the tool is currently working. Some examples:
workspaces add
--> workspaces create
marketplace list
--> marketplace search
There are probably other issues in there that I did not mention above that could be adjusted to currently reflect the project too.
im using latest version of kali first of all i did not understand this:
https://github.com/lanmaster53/recon-ng/wiki/Getting-Started#v4-to-v5
i already have it on my repos do i need to do this section:
Upgrading
v4 to v5If you're reading this, then you've likely been sent here by Recon-ng v4 in search of guidance for upgrading to the latest version. Upgrading can only be done for source installs of Recon-ng. Recon-ng installs through Linux distributions with their own repositories (i.e Kali) must be handled by the distribution.
Since Recon-ng v5 is hosted in a new repository on a different provider, the normal source upgrade procedure of git pull won't work. The repository must be migrated to the new source. There are several ways to do this:
Remove the old version completely and replace it with the new version. From the Recon-ng install directory: cd .. rm -rf recon-ng git clone https://github.com/lanmaster53/recon-ng.git cd recon-ng Update the remote URL of the current repository. From the Recon-ng install directory: git remote set-url origin https://github.com/lanmaster53/recon-ng.git git reset --hard HEAD~1 git pull
IMPORTANT! Recon-ng has changed dramatically! Once Recon-ng has been migrated, new dependencies must be installed. See the Installation section below for more information.
From this point, upgrading a source installation is as simple as navigating to the Recon-ng install directory and issuing the git pull command.
Migrating KeysKeys used by the framework are stored in an independent SQLite3 database at "~/.recon-ng/keys.db". When installing a new instance of Recon-ng on the same machine, no migration is necessary. The new Recon-ng instance will recognize and use the existing key database. However, in order to access the key database on another system, the key database must me manually moved to the same location on the new machine, where it can be recognized and used by any instance of Recon-ng running there.
my another question is the command list is not explained anywhere i want to see the source options but show options is not working how to know the commands?
the tool looks good but sorry for saying that: the viki and man page and help command results are very poor designed
edit:
okay i found it finally but now i get this error:
[recon-ng][default][netcraft] > show credentials
[*] No data returned.
[recon-ng][default][netcraft] > options
Manages the current context options
Usage: options <list|set|unset> [...]
[recon-ng][default][netcraft] > options list
Name Current Value Required Description
------ ------------- -------- -----------
SOURCE default yes source of input (see 'show info' for details)
[recon-ng][default][netcraft] > options set SOURCE kali.org
SOURCE => kali.org
[recon-ng][default][netcraft] > options list
Name Current Value Required Description
------ ------------- -------- -----------
SOURCE kali.org yes source of input (see 'show info' for details)
[recon-ng][default][netcraft] > show info
Shows various framework items
Usage: show <companies|contacts|credentials|domains|hosts|leaks|locations|netblocks|ports|profiles|pushpins|repositories|vulnerabilities>
[recon-ng][default][netcraft] > show domains
[*] No data returned.
[recon-ng][default][netcraft] > run
[!] 'Response' object has no attribute 'cookiejar'.
[!] Something broken? See https://github.com/lanmaster53/recon-ng/wiki/Troubleshooting#issue-reporting.
hello!
congrats on the new release, really happy to see recon-ng is back. Not sure you've noticed, but I've been working on a modern reinterpretation of recon-ng in the meantime called sn0int.
One of the core features is the registry I've introduced in late 2018 as an attempt to prevent one of the issues recon-ng ran into before the projects (temporary) inactivity.
The new marketplace feature in recon-ng looks very similar and the documentation also reads slightly similar to mine so I'm wondering if some of the ideas have been borrowed from my project.
If that's the case that's awesome and I'd appreciate if you could credit sn0int as an inspiration.
Thanks <3
Would it be possible to please add a "notes" column to the "ports" table as freeform text, so modules can put notes about the port. This could include service information as imported from Nmap, for example.
When the search is used correctly, it gives the reply to say nothing is found, but then still dumps out the usage information:
[recon-ng][default] > modules search email
[*] Searching installed modules for 'email'...
[!] No modules found.
Searches installed modules
Usage: modules search [<regex>]
I've been working on a Dockerfile for recon-ng. The resulting Dockerfile works great when creating an image which runs 'recon-ng'. However, when running 'recon-web', you must add the '-p 5000:5000' option to the Docker run command to map the port between host and container. When Flask is running in Docker and listening on 127.0.0.1, the ports cannot be mapped between host and container when running Docker on Mac or Windows and works only when running Docker on Linux.
To get this working in Docker, recon-web would need to add a cli option to allow to run Flask on 0.0.0.0.
I'm getting the following error when trying to run the hibp_breach module.
I'm doing the following commands.
set source [email protected]
run
[!] TypeError: 'NoneType' object is not iterable
File "/usr/share/recon-ng/modules/recon/contacts-credentials/hibp_breach.py", line 30, in module_run.
Could it be because I do not have any of the api keys installed?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.