Skip to content

Commit 882fcaa

Browse files
committed
Merge branch 'docs' of github.com:hashtopolis/server into docs
2 parents 3e84c99 + 00196e1 commit 882fcaa

File tree

2 files changed

+150
-29
lines changed

2 files changed

+150
-29
lines changed

doc/install.md

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ The official Docker images can be found on Docker Hub at: https://hub.docker.com
1919

2020
A docker-compose file allowing to configure the docker containers for Hashtopolis is available in this repository. Here are the steps to follow to run Hashtopolis using that docker-compose file:
2121

22-
1. Create a folder and change into the folder
22+
1. Create a folder and change into the folder
2323
```
2424
mkdir hashtopolis
2525
cd hashtopolis
@@ -52,20 +52,20 @@ To enable 'version 2' of the API:
5252
2. set the HASHTOPOLIS_APIV2_ENABLE to 1 inside the .env file.
5353

5454
3. Relaunch the containers
55-
```
56-
docker compose up --detach
57-
```
55+
```
56+
docker compose up --detach
57+
```
5858

5959
4. Access the technical preview via: http://127.0.0.1:4200 using the credentials user=admin and password=hashtopolis, unless modified in the .env file.
6060

6161
### Agent installation
6262
#### Prerequisites
6363
To install the agent, ensure that the following prerequisites are met:
6464
1. Python: Python 3 must be installed on the agent system. You can verify the installation by running the following command in your terminal:
65-
```
66-
python3 --version
67-
```
68-
If Python 3 is not installed, refer to the official Python installation guide.
65+
```
66+
python3 --version
67+
```
68+
If Python 3 is not installed, refer to the official Python installation guide.
6969
2. Python Packages: The Hashtopolis agents depends on the following Python packages:
7070
- requests
7171
- psutil
@@ -85,36 +85,36 @@ pip install requests psutil
8585
#### Download the Hashtopolis agent
8686
1. Connect to the Hashtopolis server: http://<server-ip-address>:8080 and log in. Navigate to the Agents tab > New Agent.
8787
2. From that page, you can either download the agent by clicking on the Download button, or copy and paste the provided url to download the agent using wget/curl:
88-
```
89-
curl -o hastopolis.zip "http://<server-ip-address>:8080/agents.php?download=1"
90-
```
88+
```
89+
curl -o hastopolis.zip "http://<server-ip-address>:8080/agents.php?download=1"
90+
```
9191

9292
#### Start and register a new agent
9393

9494
1. Activate your python virtual environment if not done before:
95-
```
96-
source hashtopolis_env/bin/activate
97-
```
95+
```
96+
source hashtopolis_env/bin/activate
97+
```
9898
2. Start the agent:
99-
```
100-
python hashtopolis.zip
101-
```
99+
```
100+
python hashtopolis.zip
101+
```
102102

103103
3. When prompted, provide the URL to the server API as provided in the Agents page of Hashtopolis (http://<server-ip-address>:8080/api/server.php).
104-
```
105-
Starting client 's3-python-0.7.2.4'...
106-
Please enter the url to the API of your Hashtopolis installation:
107-
http://localhost:8080/api/server.php
108-
```
104+
```
105+
Starting client 's3-python-0.7.2.4'...
106+
Please enter the url to the API of your Hashtopolis installation:
107+
http://localhost:8080/api/server.php
108+
```
109109
4. On the server Agents page of Hashtopolis, create a new Voucher and copy it.
110110
5. Register the agent by providing the newly created token.
111-
```
112-
No token found! Please enter a voucher to register your agent:
113-
peKxylVY
114-
Successfully registered!
115-
Collecting agent data...
116-
Login successful!
117-
```
111+
```
112+
No token found! Please enter a voucher to register your agent:
113+
peKxylVY
114+
Successfully registered!
115+
Collecting agent data...
116+
Login successful!
117+
```
118118

119119
Your agent is now ready to receive new tasks. If you wish to finetune the configuration of your agent, please consult the section related to the agent configuration file or the command line arguments in the Advanced installation section. Otherwise, to start using Hashtopolis, consult the Basic workflow section.
120120

doc/user_manual.md

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# Basic Workflow
2+
Basic workflow highlighting the main point. The goal is that with such workflow a new user is able to run a task on a new hashlist with files or with masks.
3+
- New Hashlist
4+
- New Files, wordlist/rules/others
5+
- New Task
6+
- Monitoring
7+
8+
## Hashlists
9+
Hashtopolis utilizes hashlists to store password hashes you want to crack. These lists can be in plain text, HCCAPX, or binary format. Some hashes might include additional information like salts, depending on the format.
10+
This section details the creation of a hashlist within the Hashtopolis interface. Note that at least one hashlist is required for creating tasks.
11+
Refer to the Hashcat documentation for detailed information on supported hash types and their expected formats. You can also use the example hashes provided there as a test to create your first hashlist.
12+
13+
### Create a hashlist
14+
In the Hashtopolis web interface, navigate to *Lists > New Hashlist*. You will get the following window:
15+
16+
Here is how to fill in the different fields:
17+
1. **Name**: Provide a descriptive name for your hashlist.
18+
2. **Hash Type**: Select the appropriate hash type from the dropdown menu. Suggestions will appear as you enter text.
19+
3. **Hashlist Format**: Choose the format for your hashlist:
20+
- Text File: Paste or upload a plain text file containing one hash per line.
21+
- HCCAPX/PMKID: Upload a HCCAPX file containing password hashes.
22+
- Binary File: Upload a binary file containing password hashes.
23+
4. **Salted Hashes**: Tick the box related to salted hashes if appropriate and provide the correct separator for your hashlist.
24+
5. **Hash source**: Select one of the following hash source types.
25+
6. **Providing the hash**: The last field of the form will automatically adapt depending on the chosen source type. You’ll be asked to provide additional details:
26+
- **Paste**: Copy and paste the hashes directly into the "Input" field.
27+
- **Upload**: Select a file containing the hashes from your computer.
28+
- **URL Download**: Provide a URL to download the hashlist.
29+
- **Import**: This option can be used as a workaround in case of upload errors with the first version of the user interface. To import a file, first copy it to the import folder as described in the section Import a new file.
30+
7. **Access Group**: Modify the access group associated with the hashlist if needed.
31+
8. **Create Hashlist**: Click "Create Hashlist" to finalize the process. This will open a new page displaying the details of your newly created hashlist.
32+
33+
## Files: Rules, Wordlist and other
34+
When creating a password recovery task in Hashtopolis, you may need to upload additional files to the server, depending on the type of attack you want to perform. These files fall into three main categories:
35+
1. **Rules**
36+
Rules files contain sets of instructions for dynamically modifying entries in a wordlist during an attack. By applying rules, you can generate variations of passwords without the need for additional wordlist files. For example, rules can:
37+
- Append numbers or special characters.
38+
- Replace or capitalize specific characters.
39+
- Reverse words or combine entries.
40+
41+
Rules are commonly used alongside wordlist attacks to increase the range of password candidates efficiently.
42+
43+
2. **Wordlist**
44+
Wordlists, also known as dictionaries, are used in dictionary attacks. Each line in a wordlist is treated as a potential password candidate. Examples include: collections of commonly used passwords, specialized dictionaries tailored to a specific target or context.
45+
46+
3. **Others:**
47+
This category includes any additional files required for specific attack types or configurations. Examples include … These files vary depending on the nature of the task and the tools being used.
48+
Files can be uploaded to the Hashtopolis server from the Files page. To begin, select the appropriate file category by clicking on one of the tabs: Rules, Wordlists, or Other. The following figure illustrates the selection of the Rules category.
49+
50+
Once a category is selected, files can be added to the server using one of the following methods:
51+
- **Upload from your computer** – Directly upload files stored on your local machine.
52+
- **Import from an import directory** – Use files that have been preloaded into the server’s import directory.
53+
- **Download from a URL** – Provide a URL to fetch files from an external source.
54+
Detailed instructions for each upload method are provided in the following subsections.
55+
56+
### Upload a new file from the computer
57+
58+
1. **Add file**: Click this button to enable file upload.. After clicking, a new field labeled Choose file will appear. Each time you click on Add File, an additional Choose file field will be added, allowing you to upload multiple files simultaneously..
59+
2. **Associated Access Group**: Define the access group that will have permissions to access the file(s) you are uploading.
60+
3. **Choose file**: Click this button to open your computer’s file explorer. Select the file you wish to upload.
61+
4. **Upload files**: Once you have selected all the files you wanted to upload, click the Upload files button.
62+
63+
### Import a new file
64+
When dealing with large files, such as wordlists, rules, or hashlists, you may encounter issues uploading them via the v1 of the Hashtopolis User Interface.. Common errors include exceeding the maximum upload size or experiencing a connection timeout. To bypass these limitations, you can use the import functionality of Hashtopolis.
65+
- **Copy the file to the import folder**: Place the file in the designated import directory on the Hashtopolis server. If you are using the default Docker Compose setup, you can achieve this with the following command:
66+
```
67+
docker cp <dict> hashtopolis-backend:/usr/local/share/hashtopolis/import/
68+
```
69+
- **Import the file**:
70+
71+
1. **Associated Access Group**: Define the access group that will have permissions to access the file(s) you are uploading.
72+
2. **Select the files to import** by ticking the box in front of them. Alternatively, use Select All below.
73+
3. **Import files**.
74+
75+
### Download new file from URL
76+
77+
1. **Associated Access Group**: Define the access group that will have permissions to access the file(s) you are uploading.
78+
2. **URL**: Provide the URL to download from..
79+
3. **Download file**.
80+
81+
### Manage Files
82+
Navigating to the Files page of the Hashtopolis User Interface, you can manage the files uploaded to the server.
83+
84+
1. **Select Category**.
85+
2. **Secret**: Files that are marked as secret will only be sent to trusted agents.
86+
Line count: Reprocess the file and update the line count with the number of lines contained in the file.
87+
3. **Edit**: Edit the parameters of the file (name, file type and associated group).
88+
4. **Delete**: Removes the file from Hashtopolis.
89+
90+
## Tasks
91+
92+
## Monitoring
93+
94+
# Advanced options/Features
95+
96+
## Advanced Hashlist
97+
98+
- Super Hashlist
99+
100+
- New Hashmode
101+
102+
## Advanced tasks
103+
104+
- Advanced option in task creation
105+
- Preconfigured tasks (including from existing task)
106+
- Super Task
107+
- Import Super task
108+
109+
## New Binary
110+
111+
# Settings and Configuration
112+
113+
# Access Management
114+
115+
Under construction
116+
117+
# Future Work
118+
- Project structure
119+
- LDAP
120+
- Permission Scheme
121+
- (Ref to the sprints)

0 commit comments

Comments
 (0)