Skip to content

Commit

Permalink
1.2 fix2
Browse files Browse the repository at this point in the history
* fixed admin gui (new release system)
* removed 7z info from manual
  • Loading branch information
cURLy bOi committed Sep 8, 2016
1 parent 3a4bfdd commit 4a1be04
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 18 deletions.
39 changes: 23 additions & 16 deletions admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ function checkAll(formname, checktoggle)
</script>
</head>
<body>
<table class="big"><tr><td>
<?php
if (isset($_POST["pwd"])) {
if (!isset($config["password"]) || makepwd($_POST["pwd"])==$config["password"]) $_SESSION[$sess_name]=1;
Expand All @@ -104,7 +105,7 @@ function checkAll(formname, checktoggle)
}

// create the menu
echo '<table class="big"><tr><td><a href="'.$myself.'"><img src="img/logo.png" alt="Hashtopus"></a><br><ul>
echo '<a href="'.$myself.'"><img src="img/logo.png" alt="Hashtopus"></a><br><ul>
<li><a href="'.$myself.'?a=agents">Agents</a></li>
<li><a href="'.$myself.'?a=deploy">Agent deployer</a></li>
<br>
Expand Down Expand Up @@ -334,23 +335,29 @@ function checkAll(formname, checktoggle)
$fname=$erej["filename"];
$kver=mysqli_query_wrapper($dblink,"SELECT 1 FROM taskfiles WHERE file=$fid");
if (mysqli_num_rows($kver)>0) {
// file is used
// file is used in task
echo "<script>alert('File is used in a task.');</script>";
} else {
$vysledek1=mysqli_query_wrapper($dblink,"DELETE FROM files WHERE id=$fid");
if ($vysledek1) {
if (file_exists("files/".$fname)) {
$vysledek2=unlink("files/".$fname);
} else {
$vysledek2=true;
}
}
if ($vysledek1 && $vysledek2) {
mysqli_query_wrapper($dblink,"COMMIT");
} else {
mysqli_query_wrapper($dblink,"ROLLBACK");
echo "<script>alert('Could not delete file!');</script>";
}
$kver2=mysqli_query_wrapper($dblink,"SELECT 1 FROM hashcats WHERE file=$fid");
if (mysqli_num_rows($kver2)>0) {
// file is used as release
echo "<script>alert('File is used as a Hashcat release.');</script>";
} else {
$vysledek1=mysqli_query_wrapper($dblink,"DELETE FROM files WHERE id=$fid");
if ($vysledek1) {
if (file_exists("files/".$fname)) {
$vysledek2=unlink("files/".$fname);
} else {
$vysledek2=true;
}
}
if ($vysledek1 && $vysledek2) {
mysqli_query_wrapper($dblink,"COMMIT");
} else {
mysqli_query_wrapper($dblink,"ROLLBACK");
echo "<script>alert('Could not delete file!');</script>";
}
}
}
} else {
echo "<script>alert('Such file is not defined.');</script>";
Expand Down
4 changes: 2 additions & 2 deletions manual.html
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ <h2>Global files</h2>
<li>Import</li>The file will be moved from directory called 'import' you can create inside the web directory. Suitable for large files, you can copy them via FTP or locally and then simply import.
<li>URL download</li>The file will be downloaded from the URL specified. The download will read 128KB chunks and print progress to the screen every few seconds.
</ul>
Because these files will be delivered to every agent who needs them for their current task, you can compress them using 7Zip to save bandwidth. However, you need to keep some basic rules: the file can't be in any subdirectory inside the archive and the algorithm needs to be LZMA (to be specific, it must be unpackable by 7zr). Everytime an agent will download a file ending with .7z, it will first extract it prior to starting the task.<br>
Because these files will be delivered to every agent who needs them for their current task, you can compress them using zip to save bandwidth. All files will be extracted into the same directory, regardless of their original structure inside the archive. Everytime an agent will download a file ending with .zip, it will first extract it prior to starting the task. This also applies recursively - if the zip file contains another zip file, it will also be extracted until there are no more zips left.<br>
You can mark any file as "Secret" using checkbox in the column with a lock icon. This will allow only trusted agents to download the file. Agents not marked as trusted won't even see such task to begin with.
<h2>Pre-conf tasks</h2>
There are two types of tasks in Hashtopus. Regular ones and pre-configured tasks. They are actually the same thing with one difference: while regular task NEEDS to be assigned to specific hashlist, a pre-configured task does not. Pre-conf task can't have any agents assigned or any chunks dispatched. It's sort of a mask for the regular tasks, once there are some hashes to crack. Unlike regular tasks, pre-configured tasks can be defined without having any actual hashes in the system. Once defined, you will be allowed to apply these tasks to every hashlist you upload to Hashtopus.<br>
Expand All @@ -106,7 +106,7 @@ <h2>New task</h2>
The chunk size instructs Hashtopus, how big chunks should it dispatch to agents, time-wise. This means that more powerful agents will be given larger chunks of keyspace compared to less powerful ones, but they should take about the same time. This is achieved by benchmarking the agents prior to giving them chunks.<br>
Next option is the status timer. This defines, how often should an agent report to the server during task cracking.<br>
Last checkbox sets if Hashtopus should adjust agent's benchmark automaticaly according to the last chunk. This means that i.e. if the agent takes longer time than the defined chunk time, next time it will be given smaller chunk to meet the definition. However, this feature should only be enabled for attacks with "stable" speed, like mask attacks.<br>
If you have already uploaded something into Global files, you see another table on the right with every file in the system. If you want to use any of those files for this task, check them. If you have compressed some files into 7Zip archive, check the archive the same way, but use the inside filenames in the task command line.
If you have already uploaded something into Global files, you see another table on the right with every file in the system. If you want to use any of those files for this task, check them. If you have compressed some files into zip archive, check the archive the same way, but use the inside filenames in the task command line.
<h2>Agent deployer</h2>
Since you have set up all things need to crack hashes, you need some computing power! The Agent deployer menu is just the place to start. On the top of the page, you see "Download agent" link. This is the direct, non-passworded link to download the current Hashtopus agent exe. Download this executable on all machines intended for cracking hashes, regardless of their OS.<br>
Once executed, the agent will ask for registration voucher. That's what is the form on the page for. You can generate as many vouchers as you want (and you can define your own text and not use the prefilled one). These vouchers are one-time tickets to allow agent registration. Once the registration is successful, the agent will receive connection token and will never ask for password unless you delete that token or delete the agent from the administration.
Expand Down

0 comments on commit 4a1be04

Please sign in to comment.