mirror of
https://github.com/vanhauser-thc/thc-hydra.git
synced 2025-08-14 02:27:31 -07:00
added patch to xhydra for -x option support
This commit is contained in:
parent
aff114ee8e
commit
5222eb0b33
4 changed files with 39 additions and 5 deletions
3
CHANGES
3
CHANGES
|
@ -5,7 +5,8 @@ Release 8.0
|
|||
! Development moved to a public github repository: https://github.com/vanhauser-thc/thc-hydra
|
||||
* Added module for redis (submitted by Alejandro Ramos, thanks!)
|
||||
* Added patch which adds Unicode support for the SMB module (thanks to Max Kosmach)
|
||||
* Added initial interactive password authentication test for ssh (thanks to Joshua Houghton for submitting)
|
||||
* Added initial interactive password authentication test for ssh (thanks to Joshua Houghton)
|
||||
* Added patch for xhydra that adds bruteforce generator to the GUI (thanks to Petar Kaleychev)
|
||||
* Target on the command line can now be a CIDR definition, e.g. 192.168.0.0/24
|
||||
* with -M <targetfile>, you can now specify a port for each entry (use "target:port" per line)
|
||||
* Verified that hydra compiles cleanly on QNX / Blackberry 10 :-)
|
||||
|
|
|
@ -128,16 +128,25 @@ int hydra_get_options(char *options[]) {
|
|||
options[i++] = (char *) gtk_entry_get_text((GtkEntry *) widget);
|
||||
}
|
||||
|
||||
/* get the pass, or pass list */
|
||||
/* get the pass, pass list, or generate */
|
||||
/* The "generate" button was implemented by Petar Kaleychev <petar.kaleychev@gmail.com> */
|
||||
widget = lookup_widget(GTK_WIDGET(wndMain), "radioPass1");
|
||||
if (gtk_toggle_button_get_active((GtkToggleButton *) widget)) {
|
||||
options[i++] = "-p";
|
||||
widget = lookup_widget(GTK_WIDGET(wndMain), "entPass");
|
||||
options[i++] = (char *) gtk_entry_get_text((GtkEntry *) widget);
|
||||
} else {
|
||||
}
|
||||
widget = lookup_widget(GTK_WIDGET(wndMain), "radioPass2");
|
||||
if (gtk_toggle_button_get_active((GtkToggleButton *) widget)) {
|
||||
options[i++] = "-P";
|
||||
widget = lookup_widget(GTK_WIDGET(wndMain), "entPassFile");
|
||||
options[i++] = (char *) gtk_entry_get_text((GtkEntry *) widget);
|
||||
}
|
||||
widget = lookup_widget(GTK_WIDGET(wndMain), "radioGenerate");
|
||||
if (gtk_toggle_button_get_active((GtkToggleButton *) widget)) {
|
||||
options[i++] = "-x";
|
||||
widget = lookup_widget(GTK_WIDGET(wndMain), "entGeneration");
|
||||
options[i++] = (char *) gtk_entry_get_text((GtkEntry *) widget);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,9 @@
|
|||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
@ -75,6 +77,8 @@ GtkWidget *create_wndMain(void) {
|
|||
GtkWidget *radioPass1;
|
||||
GSList *radioPass1_group = NULL;
|
||||
GtkWidget *radioPass2;
|
||||
GtkWidget *radioGenerate;
|
||||
GtkWidget *entGeneration;
|
||||
GtkWidget *labelpass;
|
||||
GtkWidget *frame8;
|
||||
GtkWidget *table5;
|
||||
|
@ -442,7 +446,7 @@ GtkWidget *create_wndMain(void) {
|
|||
gtk_widget_show(frmPass);
|
||||
gtk_box_pack_start(GTK_BOX(vbox2), frmPass, TRUE, TRUE, 0);
|
||||
|
||||
table3 = gtk_table_new(2, 2, FALSE);
|
||||
table3 = gtk_table_new (3, 2, FALSE);
|
||||
gtk_widget_set_name(table3, "table3");
|
||||
gtk_widget_show(table3);
|
||||
gtk_container_add(GTK_CONTAINER(frmPass), table3);
|
||||
|
@ -474,6 +478,23 @@ GtkWidget *create_wndMain(void) {
|
|||
gtk_table_attach(GTK_TABLE(table3), radioPass2, 0, 1, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK), (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK), 0, 0);
|
||||
gtk_radio_button_set_group(GTK_RADIO_BUTTON(radioPass2), radioPass1_group);
|
||||
radioPass1_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(radioPass2));
|
||||
radioGenerate = gtk_radio_button_new_with_mnemonic (NULL, "Generate");
|
||||
gtk_widget_set_name (radioGenerate, "radioGenerate");
|
||||
gtk_widget_show (radioGenerate);
|
||||
gtk_table_attach (GTK_TABLE (table3), radioGenerate, 0, 1, 2, 3,
|
||||
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK),
|
||||
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK), 0, 0);
|
||||
gtk_radio_button_set_group (GTK_RADIO_BUTTON (radioGenerate), radioPass1_group);
|
||||
radioPass1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radioGenerate));
|
||||
|
||||
entGeneration = gtk_entry_new ();
|
||||
gtk_widget_set_name (entGeneration, "entGeneration");
|
||||
gtk_widget_show (entGeneration);
|
||||
gtk_table_attach (GTK_TABLE (table3), entGeneration, 1, 2, 2, 3,
|
||||
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK),
|
||||
(GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK), 0, 0);
|
||||
gtk_tooltips_set_tip (tooltips, entGeneration, "Generate passwords", NULL);
|
||||
gtk_entry_set_text (GTK_ENTRY (entGeneration), "1:1:a");
|
||||
|
||||
labelpass = gtk_label_new("Password");
|
||||
gtk_widget_set_name(labelpass, "labelpass");
|
||||
|
@ -1017,6 +1038,8 @@ GtkWidget *create_wndMain(void) {
|
|||
GLADE_HOOKUP_OBJECT(wndMain, entPass, "entPass");
|
||||
GLADE_HOOKUP_OBJECT(wndMain, radioPass1, "radioPass1");
|
||||
GLADE_HOOKUP_OBJECT(wndMain, radioPass2, "radioPass2");
|
||||
GLADE_HOOKUP_OBJECT(wndMain, radioGenerate, "radioGenerate");
|
||||
GLADE_HOOKUP_OBJECT(wndMain, entGeneration, "entGeneration");
|
||||
GLADE_HOOKUP_OBJECT(wndMain, labelpass, "labelpass");
|
||||
GLADE_HOOKUP_OBJECT(wndMain, frame8, "frame8");
|
||||
GLADE_HOOKUP_OBJECT(wndMain, table5, "table5");
|
||||
|
|
3
hydra.c
3
hydra.c
|
@ -371,7 +371,8 @@ void help(int ext) {
|
|||
if (ext) {
|
||||
printf(" hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN\n");
|
||||
printf(" hydra -C defaults.txt -6 pop3s://[2001:db8::1]:143/TLS:DIGEST-MD5\n");
|
||||
printf(" hydra -l admin -p password ftp://[192.168.0.0/24]\n");
|
||||
printf(" hydra -l admin -p password ftp://[192.168.0.0/24]/\n");
|
||||
printf(" hydra -L logins.txt -P pws.txt -M targets.txt ssh\n");
|
||||
}
|
||||
exit(-1);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue