stampery / mongoaudit

🔥 A powerful MongoDB auditing and pentesting tool 🔥
https://mongoaud.it
MIT License
1.32k stars 135 forks source link

Crashes with "SSL handshake failed" if you choose the authenticated option #37

Open josephrocca opened 6 years ago

josephrocca commented 6 years ago

It works fine for the basic test (no authentication), but when I tried the authenticated one the program crashed with the message below. Note that I'm connecting directly to an IP address with no SSL.

Traceback (most recent call last):
  File "/home/user/.local/bin/mongoaudit", line 11, in <module>
    sys.exit(main())
  File "/home/user/.local/lib/python2.7/site-packages/mongoaudit/__main__.py", line 64, in main
    App().main()
  File "/home/user/.local/lib/python2.7/site-packages/mongoaudit/__main__.py", line 23, in __init__
    self.main()
  File "/home/user/.local/lib/python2.7/site-packages/mongoaudit/__main__.py", line 58, in main
    self.loop.run()
  File "/home/user/.local/lib/python2.7/site-packages/urwid/main_loop.py", line 286, in run
    self._run()
  File "/home/user/.local/lib/python2.7/site-packages/urwid/main_loop.py", line 384, in _run
    self.event_loop.run()
  File "/home/user/.local/lib/python2.7/site-packages/urwid/main_loop.py", line 788, in run
    self._loop()
  File "/home/user/.local/lib/python2.7/site-packages/urwid/main_loop.py", line 825, in _loop
    self._watch_files[fd]()
  File "/home/user/.local/lib/python2.7/site-packages/urwid/raw_display.py", line 404, in <lambda>
    event_loop, callback, self.get_available_raw_input())
  File "/home/user/.local/lib/python2.7/site-packages/urwid/raw_display.py", line 502, in parse_input
    callback(processed, processed_codes)
  File "/home/user/.local/lib/python2.7/site-packages/urwid/main_loop.py", line 411, in _update
    self.process_input(keys)
  File "/home/user/.local/lib/python2.7/site-packages/urwid/main_loop.py", line 511, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/home/user/.local/lib/python2.7/site-packages/urwid/container.py", line 595, in keypress
    *self.calculate_padding_filler(size, True)), key)
  File "/home/user/.local/lib/python2.7/site-packages/urwid/container.py", line 1590, in keypress
    key = self.focus.keypress(tsize, key)
  File "/home/user/.local/lib/python2.7/site-packages/mongoaudit/widgets.py", line 220, in keypress
    return self.__super.keypress(size, key)
  File "/home/user/.local/lib/python2.7/site-packages/urwid/container.py", line 1590, in keypress
    key = self.focus.keypress(tsize, key)
  File "/home/user/.local/lib/python2.7/site-packages/urwid/decoration.py", line 622, in keypress
    return self._original_widget.keypress(maxvals, key)
  File "/home/user/.local/lib/python2.7/site-packages/urwid/container.py", line 1590, in keypress
    key = self.focus.keypress(tsize, key)
  File "/home/user/.local/lib/python2.7/site-packages/urwid/container.py", line 1590, in keypress
    key = self.focus.keypress(tsize, key)
  File "/home/user/.local/lib/python2.7/site-packages/mongoaudit/widgets.py", line 145, in keypress
    self.next_callback()
  File "/home/user/.local/lib/python2.7/site-packages/mongoaudit/widgets.py", line 184, in next
    self.callbacks['next'](form=self, **(self.get_field_values()))
  File "/home/user/.local/lib/python2.7/site-packages/mongoaudit/cards.py", line 101, in _next
    self.run_test(cred, title, tester, tests)
  File "/home/user/.local/lib/python2.7/site-packages/mongoaudit/cards.py", line 129, in run_test
    test_runner.run(self.app)
  File "/home/user/.local/lib/python2.7/site-packages/mongoaudit/widgets.py", line 271, in run
    self.tester.run(self.each, self.end)
  File "/home/user/.local/lib/python2.7/site-packages/mongoaudit/testers/testers.py", line 45, in run
    res = test.run()
  File "/home/user/.local/lib/python2.7/site-packages/mongoaudit/testers/testers.py", line 161, in run
    test_result = TEST_FUNCTIONS[self.test_name](self)
  File "/home/user/.local/lib/python2.7/site-packages/mongoaudit/testers/testers.py", line 242, in try_scram
    mechanism='SCRAM-SHA-1'))
  File "/home/user/.local/lib/python2.7/site-packages/pymongo/database.py", line 1274, in authenticate
    connect=True)
  File "/home/user/.local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 609, in _cache_credentials
    writable_preferred_server_selector)
  File "/home/user/.local/lib/python2.7/site-packages/pymongo/topology.py", line 224, in select_server
    address))
  File "/home/user/.local/lib/python2.7/site-packages/pymongo/topology.py", line 183, in select_servers
    selector, server_timeout, address)
  File "/home/user/.local/lib/python2.7/site-packages/pymongo/topology.py", line 199, in _select_servers_loop
    self._error_message(selector))
pymongo.errors.ServerSelectionTimeoutError: SSL handshake failed: my.server.ip.addr:port: EOF occurred in violation of protocol (_ssl.c:590)
kartikb29 commented 5 years ago

Any fixes to this yet ?

inormalize commented 5 years ago

I'm hitting the same issue. I'm thinking because SSL is disabled.