chrismaddalena / ODIN

Automated network asset, email, and social media profile discovery and cataloguing.
https://posts.specterops.io/gathering-open-source-intelligence-bee58de48e05
BSD 3-Clause "New" or "Revised" License
630 stars 114 forks source link

There was a problem with the specified Chrome web driver in your keys.config! #20

Open ghost opened 6 years ago

ghost commented 6 years ago

I have downloaded and extracted both gecko driver and chrome driver to ODIN directory, specified the path in either for chrome or geckodriver but odin does not recognize either of them and gives me this error. I am on Kali on VM.

[WebDriver] driver_path = /root/ODIN/chromedriver

Please help.

chrismaddalena commented 6 years ago

I am looking into changing some code around the use of the Chrome driver. Selenium has deprecated some of the features ODIN currently uses and there has been some odd behavior, like ODIN getting stuck in a loop, related to those features. For those reasons, ODIN will be updated in a few ways very soon, but there's a few potential causes for this.

Do you have Chrome installed on this Kali VM? It is not installed by default on Kali and the web drivers (chromedriver and geckdriver) cannot be used if their associated web browsers (Chrome and Firefox) are not installed.

Also make sure the chromedriver file is accessible to the user you are using to run odin.py. Presumably you;ve been doing everything as root on Kali, so this may not be an issue.

ghost commented 6 years ago

Thank you ever so much for your reply. I have followed your directions, I even installed original firefox as Kali comes with firefox-esr and pointed geckodriver to the correct path. Sadly no go. Same error. I installed google chrome, same procedure, pointed the path to chromedriver and there was a different response than usual. Odin took some time before launching scripts, something I have not experienced before and ... gave me the same message: "There was a problem with the specified Chrome web driver in your keys.config". I made sure both files can be run as a program. Did chmod +x ./chromedriver.

Please take a look at the screenshot, maybe I am doing something wrong. My keys.config file seems to be configured fine as the APIs are loading as they should.

screenshot_20180708_221416

I am really motivated to get it working as of now ODIN seemed to be the best recon tool I have found and I have tried many! Please do not stop developing the project it really rocks! I wish I could sort out that one issue.

Note: not sure if it is relevant but when I start chromedriver it gives me this: Starting ChromeDriver (v2.11.298611 (d1120fdf51badec2f7b63a96e19a58d4783de84d)) on port 9515 Only local connections are allowed.

Thanks for your hard work.

ghost commented 6 years ago

Update: I got it working on Ubuntu 18.04!!! Wohooo! I think the problem might be with Kali as in order to start chrome I have to run it with --no-sandbox. I tried adding this switch to config file but sadly no go.

I got a full report with all API included. One word: Amazing tool! I love the network map at the end.

chrismaddalena commented 6 years ago

Brilliant! Thank you for the update and kind words. That's interesting that Kali requires --no-sandbox. I would need to add that to the code as a Chrome option. I will look into why that might be the case and do some testing on a fresh Kali VM.

Please let me know if you have any other issues.

Leaving this open as a reminder for me to investigate Kali.

ghost commented 6 years ago

Thanks for looking into that, getting it working on Kali will make this tool available to much more people. One niggle I have noticed is that when it is performing whois lookup, ODIN gives me this error, regardless of the OS:

[!] The whois lookup for ....... failed! L.. Details: 'NoneType' object is not subscriptable

Although I have whois installed and can do whois lookup (and return information) on the reconed website without any issues.

chrismaddalena commented 6 years ago

That typically means the whois record was empty (at least contact info was empty). That pieces needs some work and will likely be replaced to get more consistent results from something like dnsstuff or another service.

offshores commented 5 years ago

@angusonmacgyver if you run on kali as non-root should not be an issue. if you do run as root you need to modify lib/helpers.py and add chrome_options.add_argument("--no-sandbox") to line 124. I think this will fix your issue. Testing now.

chrismaddalena commented 5 years ago

@offshores You are correct. You won't need to modify the code, though. I added a flag for this a while back:

@click.option('--unsafe',is_flag=True,help="Adding this flag will spawn the headless Chrome \
browser with the --no-sandbox command line flag. This is NOT recommended for any users who are \
NOT running ODIN on a Kali Linux VM as root. Chrome will not run as the root user on Kali \
without this option.")

You can just add --unsafe to your command and ODIN will use the --no-sandbox option for Chrome.