Coder Social home page Coder Social logo

hegusung / webhashcat Goto Github PK

View Code? Open in Web Editor NEW
277.0 10.0 60.0 1.68 MB

Hashcat web interface

License: MIT License

Python 40.30% HTML 17.57% CSS 2.50% JavaScript 38.91% Dockerfile 0.53% Shell 0.18%
hashcat cracking analytics pentesting password-cracking security-tools

webhashcat's Introduction

WebHashcat

Hashcat web interface

WebHashcat is a very simple but efficient web interface for hashcat password cracking tool. It hash the following features:

  • Distributed cracking sessions between multiple server (you only need to install HashcatNode on the remote server)
  • Cracked hashes are displayed almost as soon as they are cracked
  • Cracking session restore (for example after host reboot)
  • Upload plaintext files for analytics purposes
  • Search patterns through the entire database
  • Analytics

Currently WebHashcat supports rule-based and mask-based attack mode

This project is composed of 2 parts:

  • WebHashcat, the web interface made with the django framework
  • HashcatNode, A hashcat wrapper which creates an API over hashcat

WebHashcat Usage

Adding rules, masks and wordlists to webhashcat

Go to the Hashcat > Files page, than simply use the upload button to add new files. Note that uploaded files are added to webhashcat but not deployed to nodes yet.

Rules/Masks/Wordlists

Registering a node

The nodes can be simply added and removed on the Node page, you only need to define the ip, port, username and password (as defined in the hashcatnode configuration script).

Node list

Once a node is registered, click on the node and hit the synchronise button on the top. Rules, Masks and Wordlists should now be uploaded to the node (all files should be green).

Node

Adding a hashfile

In the hashcat page, simply hit the bottom "add" button to upload a new hashfile, after comparing the new hashfile to the centralised potfile (can take a few minutes with huge hashfiles), your hashfile should appear in the list.

Creating a cracking session

Simply hit the "+" button on the left of the hashfile, then select the desired cracking method. Note that sessions aren't started automatically, you will need to use the "play" button to start them.

Hashfile list

If you set the cron to 5 minutes, the central potfile will be updated every 5 minutes with newly cracked hashes.

Simply click on the hashfile to view the results, it can take few seconds on huge hashfiles. Note that you can also download the results on both the hashfile list and hashfile views.

Hashfile details

Search for ŝpecific patterns in usernames

Using this functionality you can easily search from client's email addresses in leaks uploaded in webhashcat. Simply provide a string you want to look for in the username and select in which hashfiles you want to look for it. Once the research in the database is done, you should be able to download the results. If you add a new hashfile afterwards, you can simply click on the 'reload' button and WebHashcat will search again in the whole database.

Hashfile details

Install

HashcatNode

Using docker

If you are using docker on Windows (or WSL), change the Dockerfile:

FROM dizcza/docker-hashcat:latest
# to:
FROM dizcza/docker-hashcat:cuda

First install nvidia-docker:

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

Then, run the following docker command:

docker-compose up -d --build

The default credentials are: test:test

Change them by editing the docker-compose.yml config file

Manual install

HashcatNode can be run on both Windows and Python

Windows limitation: Only one cracking session can be running/paused at a time

Install the pip packages:

pip3 install -r requirements.txt

If you are running it on Windows, install also the pywin32 package

pip3 install pywin32

Rename the settings.ini.sample file to settings.ini and fill the parameters accordingly.

The rules, mask and wordlist directory must be writable by the user running hashcatnode

the hashcatnode can be run simply by running ./hashcatnode.py

  • Create the database (sqlite) Run the script (HashcatNode folder)
./create_database.py
  • Create the node certificates (Install a Windows version of OpenSSL if you are running HashcatNode on Windows)
openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 365 -nodes
  • HashcatNode can be started manually by:
python3 hashcatnode.py
  • Register as a service (systemd) (linux only) Edit the systemd/hashcatnode.service file to match your setup, then copy it to /etc/systemd/system/
Dependencies
  • python3
  • flask
  • flask-basicauth
  • peewee
  • hashcat >= 3

WebHashcat

Using docker

docker-compose >= 2.29 is required, you can install it using the following guide: https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04

Then, run the following command:

docker-compose up -d --build

WebHashcat should be available on port 8000

Manual install

Installing Packages

Install the following packages:

apt install mysql-server
apt install libmysqlclient-dev
apt install redis
apt install supervisor

Install the pip packages:

pip3 install -r requirements.txt
Creating the database

Create the database using the following command to ensure you can insert utf8 usernames/passwords

mysql> CREATE DATABASE webhashcat CHARACTER SET utf8;
mysql> CREATE USER webhashcat IDENTIFIED BY '<insert_password_here>';
mysql> GRANT ALL PRIVILEGES ON webhashcat.* TO 'webhashcat';
Configuration

WebHashcat is a django application using mysql database, its installation is done this way:

  • Copy Webhashcat/settings.py.sample file to WebHashcat/settings.py
  • Edit it:
  • Change the SECRET_KEY parameter You can generate a random secret key by running this in a python shell
from django.utils.crypto import get_random_string

chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
get_random_string(50, chars)
  • Copy settings.ini.sample file to settings.ini
  • Edit settings.ini file
  • the potfile parameter doesn't need to be changed
  • Create the tables with django
./manage.py makemigrations
./manage.py migrate
  • Create the user to access the interface
./manage.py createsuperuser
Setting up the web server
  • If you want to test the interface without setting up a web server use this command:
./manage.py runserver
Setting up supervisor

Supervisor is the deamon which is responsible of heavy background tasks such as pulling latest results from the nodes or importing hashfiles.

  • After installing supervisor, copy the configuration files from the Webhashcat/supervisor folder to the /etc/supervisor/conf.d/ folder.
  • Once done, edit them to match your configuration
Dependencies
  • python3
  • django >= 2
  • hashcat >= 3
  • mysqlclient
  • humanize
  • requests
  • requests-toolbelt
  • celery
  • redis
  • supervisor

Operating System improvements

If you are willing to process more than 10M hashes, I recommend you to apply the following mofication to your system:

  • Increase the your /tmp size: Mysql tends to put a lot of data in the /tmp directory when processing huge hashfiles
  • Increase your swap partition size
  • If you use InnoDB tables in you MySQL configuration, I recommend you to edit your my.cnf configuration file and increase the innodb_buffer_pool_size value. This way MySQL will be able to allocate sufficiant memory when updating cracked hashes.

webhashcat's People

Contributors

djbios avatar hegusung avatar hexpandaa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webhashcat's Issues

[Wordlist] Easily add specific words to preloaded word lists

One may want to select a word list he likes, (e.g. rockyou.txt) and then happend to it (maybe at the beginning) specific words (e.g if I am cracking github's passwords I may want to add "Github" to my word list), creating thus a unique word list which would be used only for this run.

The input of new words should be quick and easy to do for the user.

Exception Value: division by zero

Environment:

Request Method: GET
Request URL: http://127.0.0.1:8000/hashfile/10

Django Version: 2.0.6
Python Version: 3.5.2
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Nodes',
'Hashcat',
'Utils',
'API',
'Auth']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']

Traceback:

File "/home/hidden/.local/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
35. response = get_response(request)

File "/home/hidden/.local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
128. response = self.process_exception_by_middleware(e, request)

File "/home/hidden/.local/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
126. response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/hidden/.local/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
21. return view_func(request, *args, **kwargs)

File "/hidden/WebHashcat/WebHashcat/Hashcat/views.py" in hashfile
247. context['recovered'] = "%s (%.2f%%)" % (humanize.intcomma(hashfile.cracked_count), hashfile.cracked_count/hashfile.line_count*100)

Exception Type: ZeroDivisionError at /hashfile/10
Exception Value: division by zero

[HashcatNode] Needs Windows Node

As i can understand, Node was written only to Linux, but i have my hashcat on Windows. If you can, please make Node avaliable to Windows too.

What means some parameters in HashcatNode settings

Hi. I have bit stupid question. So.
I can't configure HashcatNode because don't understand where I should set password for connecting.

[Server]
bind = 23.15.24.23
port = 9999
username = user
sha256hash = WHAT IS IT? HERE?

Thanks for support.

OverflowError

Unfortunately, this error occurs when synchronizing the nodes. Probably it is due to too large word lists.

OverflowError at /Nodes/node/<node_name>
string longer than 2147483647 bytes

The sync then stops and the nodes cannot be used to their full extent.

[Mail] Email alerting performed when a new password has been found

As cracking is a long process one may want to do other thing while everything is running. Yet, if in a hurry we may need to be alerted as soon as a new password has been found. This feature would require to:

  • Be able to configure sender and receiver email addresses;
  • Be able to configure the spaming throttle one may wish. Like I don't want to receive more than 10 mail per hour or 0.5 mails.

When adding nodes, the hashes are not imported.

When I import/synchronise a node, the available hashes are not imported. So when I go to upload a file, the only hash is 'plaintext'.
When uploading a hash file (plaintext) and then starting a crack, I get the following message (to be expected, I think):
Error! Inexistant hash mode, did you upgraded hashcat ?
When I click on the 'nodes' tab, I can see all the hash types supported, nothing exciting there.
image

Any docker plans?

I think it would be comfortable to run nodes and web server in docker. Any plans on it?

Add time limit for cracking sessions

Add time limit for cracking sessions, can be useful for a time constrained assessments where we don't need to leave it run after a certain date.

Rules/Masks/Wordlists empty

This is a weird one: when I try adding my local hashcatnode, it will successfully enumerate the hash types and reflect this in the front end, but rules, masks and wordlists are empty.

Adding debugging print statements to hashcatnode show that it is passing it to webhashcat in the JSON, but they remain empty when I try to add a cracking job or view the node.

Receiving the following Error "name 'hashes' is not defined"

http://dpaste.com/3EC6705

Environment:

Request Method: POST
Request URL: http://192.168.2.201/new_session

Django Version: 2.0.7
Python Version: 3.5.2
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Nodes',
'Hashcat',
'Utils',
'API',
'Auth']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']

Traceback:

File "/usr/local/share/WebHashcat/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
35. response = get_response(request)

File "/usr/local/share/WebHashcat/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
128. response = self.process_exception_by_middleware(e, request)

File "/usr/local/share/WebHashcat/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
126. response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/usr/local/share/WebHashcat/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
21. return view_func(request, *args, **kwargs)

File "/opt/WebHashcat/Hashcat/views.py" in new_session
177. res = hashcat_api.create_mask_session(session_name, hashfile, mask)

File "/opt/WebHashcat/Utils/hashcatAPI.py" in create_mask_session
67. "hashes": hashes,

Exception Type: NameError at /new_session
Exception Value: name 'hashes' is not defined

Unable to create the tables with django

./manage.py migrate

`./manage.py migrate
Operations to perform:
Apply all migrations: Hashcat, Nodes, Utils, admin, auth, contenttypes, sessions
Running migrations:
Applying Hashcat.0004_auto_20180824_1041...Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/mysql/base.py", line 71, in execute
return self.cursor.execute(query, args)
File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 250, in execute
self.errorhandler(self, exc, value)
File "/usr/local/lib/python3.5/dist-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
raise errorvalue
File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 247, in execute
res = self._query(query)
File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 412, in _query
rowcount = self._do_query(q)
File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 375, in _do_query
db.query(q)
File "/usr/local/lib/python3.5/dist-packages/MySQLdb/connections.py", line 276, in query
_mysql.connection.query(self, query)
_mysql_exceptions.OperationalError: (1091, "Can't DROP 'hashfileid_index'; check that column/key exists")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "./manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/init.py", line 381, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.5/dist-packages/django/core/management/init.py", line 375, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 316, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 353, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 83, in wrapped
res = handle_func(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/commands/migrate.py", line 203, in handle
fake_initial=fake_initial,
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/executor.py", line 117, in migrate
state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/executor.py", line 147, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/executor.py", line 244, in apply_migration
state = migration.apply(state, schema_editor)
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/migration.py", line 124, in apply
operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
File "/usr/local/lib/python3.5/dist-packages/django/db/migrations/operations/models.py", line 804, in database_forwards
schema_editor.remove_index(model, index)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/base/schema.py", line 344, in remove_index
self.execute(index.remove_sql(model, self))
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/base/schema.py", line 133, in execute
cursor.execute(sql, params)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 68, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 77, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.5/dist-packages/django/db/utils.py", line 89, in exit
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python3.5/dist-packages/django/db/backends/mysql/base.py", line 71, in execute
return self.cursor.execute(query, args)
File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 250, in execute
self.errorhandler(self, exc, value)
File "/usr/local/lib/python3.5/dist-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
raise errorvalue
File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 247, in execute
res = self._query(query)
File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 412, in _query
rowcount = self._do_query(q)
File "/usr/local/lib/python3.5/dist-packages/MySQLdb/cursors.py", line 375, in _do_query
db.query(q)
File "/usr/local/lib/python3.5/dist-packages/MySQLdb/connections.py", line 276, in query
_mysql.connection.query(self, query)
django.db.utils.OperationalError: (1091, "Can't DROP 'hashfileid_index'; check that column/key exists")
root@hashcatnode:/opt/WebHashcat/WebHashcat#
`

Hashes appear to be empty when added via the Web Interface

When adding Hashes from the Website, they appear to be empty on the website, however they are present when navigating to their location:

hashcat - 1

WebHashcat File Information
administrator@ubuntu:/opt/WebHashcat/Files/Hashfiles$ ls -l
total 16
-rw-rw-r-- 1 administrator administrator 34 Jul 31 04:10 1BZ1TJ5QKN7Q.hashfile
-rw-rw-r-- 1 administrator administrator 34 Jul 31 04:11 8A9LK9826H87.hashfile
-rw-rw-r-- 1 administrator administrator 34 Jul 31 04:01 BEG6N6EIVZYN.hashfile
-rw-rw-r-- 1 administrator administrator 34 Jul 31 04:04 RQ0LO8MP605Y.hashfile

administrator@ubuntu:/opt/WebHashcat/Files/Hashfiles$ cat 1BZ1TJ5QKN7Q.hashfile
$1$vSS8.S0u$55m92Mb5gUOzasbOYWDyX/

Database Output
mysql> SELECT * FROM Hashcat_hashfile
-> ;
+----+-------+-----------------------+-----------+------------+---------------+-------------------+
| id | name | hashfile | hash_type | line_count | cracked_count | username_included |
+----+-------+-----------------------+-----------+------------+---------------+-------------------+
| 1 | tarot | BEG6N6EIVZYN.hashfile | 500 | 0 | 0 | 0 |
| 2 | tarot | RQ0LO8MP605Y.hashfile | 500 | 0 | 0 | 0 |
| 3 | tarot | 1BZ1TJ5QKN7Q.hashfile | 500 | 0 | 0 | 0 |
| 4 | tarot | 8A9LK9826H87.hashfile | 500 | 0 | 0 | 0 |
+----+-------+-----------------------+-----------+------------+---------------+-------------------+
4 rows in set (0.00 sec)

system_info.txt

lack of info and cannot connect to node

spends hours trying to figure it out how to make the node connect to the interface without any luck, keep getting this:

idx 0
s 'Unauthorized Access'
self <json.decoder.JSONDecoder object at 0x7f4c578d2c10>

also cannot connect to server unless if specify the ip, ex: ./manage.py runserver 0.0.0.0:8000

node is running:
● hashcatnode.service - HashcatNode
Loaded: loaded (/etc/systemd/system/hashcatnode.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-12-14 12:52:43 CST; 35min ago
Main PID: 657 (python3)
Tasks: 1 (limit: 28072)
Memory: 27.0M
CGroup: /system.slice/hashcatnode.service

KeyError:Hashcat

Request Method: GET
http://127.0.0.1:8000/hashfiles
2.2.1
KeyError
'Hashcat'
/usr/lib/python3.6/configparser.py in getitem, line 959
/usr/bin/python3
3.6.7
['/Hashcat/WebHashcat/WebHashcat', '/Hashcat/WebHashcat/WebHashcat', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']
Wed, 29 May 2019 06:52:10 +0000

Unable to crack a hash-list with a username without changing mysql conf

When using MySQL or MariaDB, secure-file-priv option must be disabled in the configuration file.

[mysqld]
secure-file-priv = ""

However, It would be better for the code to work without this modification. The destination folder can be found by requesting the secure_file_priv variable in MySQL.

SHOW VARIABLES LIKE "secure_file_priv";

Add custom mask attack without file

As a pentester I would like to create a new session using custom mask attacks without uploading a file, because I usually run something like "$company$20?d?d". In order to implement this enhancement I detected the following tasks:

  • Add this option in the dashboard / website
  • Add this option in the hashcatnode
  • Fix the progress, by default mask attack shows total progress which fails with a single mask

Thanks for this software

ImportError: cannot import name 'url' from 'django.conf.urls'

When running on docker-compose, the celery breaks with a import error from django. The requirements.txt does not have a version specified, which is prone to breakage. That import was deprecated in Django 3 and removed in django 4.

web_1     | Traceback (most recent call last):
web_1     |   File "manage.py", line 10, in <module>
web_1     |     execute_from_command_line(sys.argv)
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/core/management/__init__.py", line 446, in execute_from_command_line
web_1     |     utility.execute()
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/core/management/__init__.py", line 440, in execute
web_1     |     self.fetch_command(subcommand).run_from_argv(self.argv)
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/core/management/base.py", line 414, in run_from_argv
web_1     |     self.execute(*args, **cmd_options)
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/core/management/base.py", line 460, in execute
web_1     |     output = self.handle(*args, **options)
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/core/management/base.py", line 98, in wrapped
web_1     |     res = handle_func(*args, **kwargs)
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/core/management/commands/migrate.py", line 91, in handle
web_1     |     self.check(databases=[database])
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/core/management/base.py", line 487, in check
web_1     |     all_issues = checks.run_checks(
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/core/checks/registry.py", line 88, in run_checks
web_1     |     new_errors = check(app_configs=app_configs, databases=databases)
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/core/checks/urls.py", line 14, in check_url_config
web_1     |     return check_resolver(resolver)
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/core/checks/urls.py", line 24, in check_resolver
web_1     |     return check_method()
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/urls/resolvers.py", line 480, in check
web_1     |     for pattern in self.url_patterns:
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/utils/functional.py", line 49, in __get__
web_1     |     res = instance.__dict__[self.name] = self.func(instance)
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/urls/resolvers.py", line 696, in url_patterns
web_1     |     patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/utils/functional.py", line 49, in __get__
web_1     |     res = instance.__dict__[self.name] = self.func(instance)
web_1     |   File "/usr/local/lib/python3.8/dist-packages/django/urls/resolvers.py", line 689, in urlconf_module
web_1     |     return import_module(self.urlconf_name)
web_1     |   File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
web_1     |     return _bootstrap._gcd_import(name[level:], package, level)
web_1     |   File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
web_1     |   File "<frozen importlib._bootstrap>", line 991, in _find_and_load
web_1     |   File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
web_1     |   File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
web_1     |   File "<frozen importlib._bootstrap_external>", line 848, in exec_module
web_1     |   File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
web_1     |   File "/webhashcat/WebHashcat/urls.py", line 16, in <module>
web_1     |     from django.conf.urls import include,url
web_1     | ImportError: cannot import name 'url' from 'django.conf.urls' (/usr/local/lib/python3.8/dist-packages/django/conf/urls/__init__.py)

GPG error when trying to build hashcatnode with docker_compose.yml

It looks like its having an issue with the Nvidia CUDA drivers


[ 2/16] RUN apt-get update && apt-get install -y python3 python3-pip:
#0 0.718 Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
#0 0.718 Get:2 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
#0 0.769 Get:3 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease [1581 B]
#0 0.807 Get:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
#0 0.835 Get:5 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
#0 0.905 Ign:6 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 InRelease
#0 0.912 Err:3 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease
#0 0.912 The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
#0 0.923 Hit:7 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 Release
#0 1.035 Get:8 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [29.8 kB]
#0 1.073 Get:9 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [2284 kB]
#0 1.416 Get:11 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [957 kB]
#0 1.968 Get:12 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [3231 kB]
#0 2.856 Get:13 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [2798 kB]
#0 3.292 Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [991 kB]
#0 3.727 Get:15 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [12.2 kB]
#0 3.732 Get:16 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [12.9 kB]
#0 6.752 Get:17 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [1512 kB]
#0 8.824 Get:18 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [22.8 kB]
#0 9.036 Reading package lists...
#0 11.03 W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
#0 11.03 E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 InRelease' is no longer signed.


failed to solve: executor failed running [/bin/sh -c apt-get update && apt-get install -y python3 python3-pip]: exit code: 100

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.