SECFORCE / sparta

Network Infrastructure Penetration Testing Tool
GNU General Public License v3.0
1.61k stars 445 forks source link

cannot get program to run #65

Closed BustedSec closed 7 years ago

BustedSec commented 7 years ago

initially installed using ptf, tried again by cloning to /opt/ got error cannot find sparta.py when typing sparta from terminal. tried running python sparta.py

Creating temporary files.. [+] Wordlist was created/opened: /tmp/sparta-uJxJSg-tool-output/sparta-usernames.txt [+] Wordlist was created/opened: /tmp/sparta-uJxJSg-tool-output/sparta-passwords.txt [-] Could not create database. Please try again. [+] Creating settings file.. Traceback (most recent call last): File "sparta.py", line 89, in controller = Controller(view, logic) # Controller prep (communication between model and view) File "/opt/sparta/controller/controller.py", line 34, in init self.start() # initialisations (globals, etc) File "/opt/sparta/controller/controller.py", line 46, in start self.view.start(title) File "/opt/sparta/ui/view.py", line 89, in start self.updateInterface() File "/opt/sparta/ui/view.py", line 1133, in updateInterface self.updateServiceNamesTableView() File "/opt/sparta/ui/view.py", line 870, in updateServiceNamesTableView self.ServiceNamesTableModel = ServiceNamesTableModel(self.controller.getServiceNamesFromDB(self.filters), headers) File "/opt/sparta/controller/controller.py", line 404, in getServiceNamesFromDB return self.logic.getServiceNamesFromDB(filters) File "/opt/sparta/app/logic.py", line 230, in getServiceNamesFromDB return metadata.bind.execute(tmp_query).fetchall() File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2297, in execute return connection.execute(statement, *multiparams, **params) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1405, in execute params) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1582, in _execute_text statement, parameters File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1646, in _execute_context context) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1639, in _execute_context context) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 330, in do_execute cursor.execute(statement, parameters) sqlalchemy.exc.OperationalError: (OperationalError) no such table: db_tables_nmap_service "SELECT DISTINCT service.name FROM db_tables_nmap_service as service INNER JOIN db_tables_nmap_port as ports INNER JOIN db_tables_nmap_host AS hosts ON hosts.id = ports.host_id AND service.id=ports.service_id WHERE 1=1 AND hosts.status!='down' AND ports.state!='closed' AND ports.state!='filtered' AND ports.state!='open|filtered' ORDER BY service.name ASC" ()

KaliSentinelX commented 7 years ago

I'm having the same issue on Linux Sentinel 4.8.0-kali2-amd64 #1 SMP Debian 4.8.11-1kali1 (2016-12-08) x86_64 GNU/Linux. Tried clean install from source and still have the same issue as @BustedSec

BustedSec commented 7 years ago

it appears to be something with database.py - it can't create the DB - beween lines 21-45 it throws the exception

BustedSec commented 7 years ago

Running: /home/havok/sparta/sparta.py (Tue Dec 27 16:26:25 2016)

[+] Creating temporary files.. [+] Wordlist was created/opened: /tmp/sparta-X5E2yQ-tool-output/sparta-usernames.txt [+] Wordlist was created/opened: /tmp/sparta-X5E2yQ-tool-output/sparta-passwords.txt [-] Could not create database. Please try again. [+] Creating settings file..

Traceback (most recent call last):

File "/home/havok/sparta/sparta.py", line 89, in

controller = Controller(view, logic)            # Controller prep (communication between model and view)

File "/home/havok/sparta/controller/controller.py", line 34, in init self.start() # initialisations (globals, etc) File "/home/havok/sparta/controller/controller.py", line 46, in start self.view.start(title) File "/home/havok/sparta/ui/view.py", line 89, in start self.updateInterface() File "/home/havok/sparta/ui/view.py", line 1133, in updateInterface self.updateServiceNamesTableView() File "/home/havok/sparta/ui/view.py", line 870, in updateServiceNamesTableView self.ServiceNamesTableModel = ServiceNamesTableModel(self.controller.getServiceNamesFromDB(self.filters), headers) File "/home/havok/sparta/controller/controller.py", line 404, in getServiceNamesFromDB return self.logic.getServiceNamesFromDB(filters) File "/home/havok/sparta/app/logic.py", line 230, in getServiceNamesFromDB return metadata.bind.execute(tmp_query).fetchall() File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2297, in execute return connection.execute(statement, *multiparams, **params) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1405, in execute params) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1582, in _execute_text statement, parameters File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1646, in _execute_context context) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1639, in _execute_context context) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 330, in do_execute cursor.execute(statement, parameters) sqlalchemy.exc.OperationalError: (OperationalError) no such table: db_tables_nmap_service "SELECT DISTINCT service.name FROM db_tables_nmap_service as service INNER JOIN db_tables_nmap_port as ports INNER JOIN db_tables_nmap_host AS hosts ON hosts.id = ports.host_id AND service.id=ports.service_id WHERE 1=1 AND hosts.status!='down' AND ports.state!='closed' AND ports.state!='filtered' AND ports.state!='open|filtered' ORDER BY service.name ASC" ()

BustedSec commented 7 years ago

further information: added error exception handling - the error preventing running is

Error = isinstance() arg 2 must be a class, type, or tuple of classes and types

BustedSec commented 7 years ago

I was trying on Ubuntu 16.04 - all dependencies installed - Tried it on Kali and it works fine - there must be another dependency

st3r30byt3 commented 7 years ago

Hi, sorry for the late reply. We are focused on making it work in Kali Linux given that it already has most of the dependencies and tools installed (actually SPARTA is already in Kali by default). It could be that since the original release some dependencies have changed so it is best to stick with Kali for now.

KaliSentinelX commented 7 years ago

Awesome hopefully its fixed eventually

On Jan 16, 2017 08:25, "Antonio Quina" notifications@github.com wrote:

Hi, sorry for the late reply. We are focused on making it work in Kali Linux given that it already has most of the dependencies and tools installed (actually SPARTA is already in Kali by default). It could be that since the original release some dependencies have changed so it is best to stick with Kali for now.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/SECFORCE/sparta/issues/65#issuecomment-272874044, or mute the thread https://github.com/notifications/unsubscribe-auth/ATyDvbXyUa0lkvVYb9lU-vZnYpP_rZ9Lks5rS33jgaJpZM4LVCLD .

BustedSec commented 7 years ago

While kali is a great distribution, I feel like by not developing the program to work on any other linux distro you are ignoring a large amount of pentesters who care enough about their clients to not run everything as root in an opsec unsafe way

On Thu, Jan 19, 2017 at 10:06 PM, KaliSentinelX notifications@github.com wrote:

Awesome hopefully its fixed eventually

On Jan 16, 2017 08:25, "Antonio Quina" notifications@github.com wrote:

Hi, sorry for the late reply. We are focused on making it work in Kali Linux given that it already has most of the dependencies and tools installed (actually SPARTA is already in Kali by default). It could be that since the original release some dependencies have changed so it is best to stick with Kali for now.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/SECFORCE/sparta/issues/65#issuecomment-272874044, or mute the thread https://github.com/notifications/unsubscribe-auth/ATyDvbXyUa0lkvVYb9lU- vZnYpP_rZ9Lks5rS33jgaJpZM4LVCLD

.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/SECFORCE/sparta/issues/65#issuecomment-273965794, or mute the thread https://github.com/notifications/unsubscribe-auth/AHFrBx0ykpWkATT04ep8khmJgmKBUqxUks5rUCSggaJpZM4LVCLD .

KaliSentinelX commented 7 years ago

@BustedSec you drive a good point and I know quite a hand full of tools in Kali require to be ran as root. To which I totally understand your concern, most of us know the risk of running as root either on a daily basis or during a pen test. Sparta is a great tool in my eyes it automates a few process which saves time but in the end our talent shines most when we develop custom tools or scrips that are tailored to fit our needs. I don't agree that they are in fact ignoring a large amount of pentesters, I think they simply targeted a specific audience. There are some other great pentesting distros out there for sure and I got to mess with a few, which comes in hand specially during a test you might use another one other than kali due to tools or whatever the case might be. That is another discussion anyways, I look at it from a business perspective.

st3r30byt3 commented 7 years ago

Hi to both! :)

@BustedSec : First off, the truth is this is not a commercial tool. This is a free and open source tool so anyone who feels like it (including you) can improve it - more specifically to be compatible with other systems. Second, believe it or not, SPARTA was coded by 2 people in their spare/research time. Both of its developers are full time pentesters / red teamers and as you can imagine there isn't enough time in the world to do everything we want to do. :) As you can see from the date of the last release, we've been pretty busy with other things so I cannot even imagine what we'd do if we had to troubleshoot and fix bugs for different systems, adapt to dependency changes, etc. Having explained all of that, I understand and agree with your point that SPARTA won't make everyone happy but I guess that's life :)

@KaliSentinelX : Agreed. We've targeted Kali specifically because we quickly understood that maintaining the tool in our free time would become impossible if we targeted many more distros. Is SPARTA working for you in the latest Kali?

KaliSentinelX commented 7 years ago

@st3r30byt3 unfortunately sparta still will not run with the latest kali. I did an update this morning and got the following output

File "sparta.py", line 89, in controller = Controller(view, logic) # Controller prep (communication between model and view) File "/usr/share/sparta/controller/controller.py", line 34, in init self.start() # initialisations (globals, etc) File "/usr/share/sparta/controller/controller.py", line 46, in start self.view.start(title) File "/usr/share/sparta/ui/view.py", line 89, in start self.updateInterface() File "/usr/share/sparta/ui/view.py", line 1133, in updateInterface self.updateServiceNamesTableView() File "/usr/share/sparta/ui/view.py", line 870, in updateServiceNamesTableView self.ServiceNamesTableModel = ServiceNamesTableModel(self.controller.getServiceNamesFromDB(self.filters), headers) File "/usr/share/sparta/controller/controller.py", line 404, in getServiceNamesFromDB return self.logic.getServiceNamesFromDB(filters) File "/usr/share/sparta/app/logic.py", line 230, in getServiceNamesFromDB return metadata.bind.execute(tmp_query).fetchall() File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2297, in execute return connection.execute(statement, *multiparams, **params) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1405, in execute params) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1582, in _execute_text statement, parameters File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1646, in _execute_context context) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1639, in _execute_context context) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 330, in do_execute cursor.execute(statement, parameters) sqlalchemy.exc.OperationalError: (OperationalError) no such table: db_tables_nmap_service "SELECT DISTINCT service.name FROM db_tables_nmap_service as service INNER JOIN db_tables_nmap_port as ports INNER JOIN db_tables_nmap_host AS hosts ON hosts.id = ports.host_id AND service.id=ports.service_id WHERE 1=1 AND hosts.status!='down' AND ports.state!='closed' AND ports.state!='filtered' AND ports.state!='open|filtered' ORDER BY service.name ASC" ()

st3r30byt3 commented 7 years ago

This issue was also reported here: https://github.com/SECFORCE/sparta/issues/63

So, I'll close this thread and we'll try to look into it whenever there's a bit of time :)

Thanks for the report.

00derp commented 7 years ago

justcause

works fine.