diff --git a/CHANGES b/CHANGES index 05002c8..ec7c474 100644 --- a/CHANGES +++ b/CHANGES @@ -7,7 +7,7 @@ Release 8.4-dev - HYDRA_PROXY[_HTTP] environment can be a text file with up to 64 entries - HYDRA_PROXY_AUTH was deprecated, set login/password in HTTP_PROXY[_HTTP] * New protocol: adam6500 - this one is work in progress, please test and report -* New protocol: rpcap! thanks to Petar Kaleychev +* New protocol: rpcap - thanks to Petar Kaleychev * New command line options: -y : disables -x 1aA interpretation, thanks to crondaemon for the patch -I : ignore an existing hydra.restore file (dont wait for 10 seconds) @@ -29,7 +29,7 @@ Release 8.3 Release 8.2 * Added RTSP module, thanks to jjavi89 for supplying! -* Added patch for ssh that fixes hyra stopping to connect, thanks to ShantonRU for the patch +* Added patch for ssh that fixes hydra stopping to connect, thanks to ShantonRU for the patch * Added new -O option to hydra to support SSL servers that do not suport TLS * Added xhydra gtk patche by Petar Kaleychev to support modules that do not use usernames * Added patch to redis for initial service checking by Petar Kaleychev - thanks a lot! diff --git a/hydra-gtk/src/callbacks.c b/hydra-gtk/src/callbacks.c index 234b2fd..62c441c 100644 --- a/hydra-gtk/src/callbacks.c +++ b/hydra-gtk/src/callbacks.c @@ -151,24 +151,24 @@ int hydra_get_options(char *options[]) { } /* get the pass, pass list, or generate */ - /* The "generate" button was implemented by Petar Kaleychev */ + /* The "generate" button was implemented by Petar Kaleychev */ 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); - } - widget = lookup_widget(GTK_WIDGET(wndMain), "radioPass2"); - if (gtk_toggle_button_get_active((GtkToggleButton *) widget)) { + } + 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); + 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); } } @@ -297,7 +297,7 @@ int hydra_get_options(char *options[]) { } widget = lookup_widget(GTK_WIDGET(wndMain), "chkNTLM"); if (gtk_toggle_button_get_active((GtkToggleButton *) widget)) { - strcat(smbparm, "Hash"); + strcat(smbparm, "Hash"); } options[i++] = smbparm; @@ -540,6 +540,7 @@ int *popen_re_unbuffered(char *command) { static int *pfd = NULL; char *options[128]; + hydra_pid = 0; update_statusbar(); @@ -562,6 +563,7 @@ int *popen_re_unbuffered(char *command) { return NULL; } else if (hydra_pid == 0) { /* child */ int k; + if (setpgid(getpid(), getpid()) < 0) g_warning("popen_rw_unbuffered: setpgid() failed"); if (close(p_r[0]) < 0) @@ -585,7 +587,7 @@ int *popen_re_unbuffered(char *command) { execv(HYDRA_BIN, options); g_warning("%s %i: popen_rw_unbuffered: execv() returned", __FILE__, __LINE__); - + for (k = 0; options[k] != NULL; k++) { g_warning("%s", options[k]); } @@ -701,6 +703,7 @@ void on_btnSave_clicked(GtkButton * button, gpointer user_data) { void on_chkColon_toggled(GtkToggleButton * togglebutton, gpointer user_data) { GtkWidget *user, *pass; + user = lookup_widget(GTK_WIDGET(wndMain), "frmUsername");; pass = lookup_widget(GTK_WIDGET(wndMain), "frmPass"); @@ -715,6 +718,7 @@ void on_chkColon_toggled(GtkToggleButton * togglebutton, gpointer user_data) { void on_chkDisUser_toggled(GtkToggleButton * togglebutton, gpointer user_data) { GtkWidget *radioUsername1, *radioUsername2, *entUsername, *entUsernameFile; + radioUsername1 = lookup_widget(GTK_WIDGET(wndMain), "radioUsername1");; radioUsername2 = lookup_widget(GTK_WIDGET(wndMain), "radioUsername2"); entUsername = lookup_widget(GTK_WIDGET(wndMain), "entUsername"); diff --git a/hydra-gtk/src/interface.c b/hydra-gtk/src/interface.c index 6b39186..1ad52f4 100644 --- a/hydra-gtk/src/interface.c +++ b/hydra-gtk/src/interface.c @@ -222,6 +222,7 @@ GtkWidget *create_wndMain(void) { gtk_widget_set_name(cmbProtocol, "cmbProtocol"); gtk_widget_show(cmbProtocol); gtk_table_attach(GTK_TABLE(table8), cmbProtocol, 1, 2, 4, 5, (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK), (GtkAttachOptions) (GTK_EXPAND), 0, 0); + cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "adam6500"); cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "afp"); cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "asterisk"); cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "cisco"); @@ -262,7 +263,9 @@ GtkWidget *create_wndMain(void) { cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "redis"); cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "rexec"); cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "rlogin"); + cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "rpcap"); cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "rsh"); + cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "rtsp"); cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "s7-300"); cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "sapr3"); cmbProtocol_items = g_list_append(cmbProtocol_items, (gpointer) "sip"); diff --git a/hydra-gtk/xhydra.glade b/hydra-gtk/xhydra.glade index b3f69d5..fab45dd 100644 --- a/hydra-gtk/xhydra.glade +++ b/hydra-gtk/xhydra.glade @@ -549,6 +549,26 @@ xmpp + + + True + True + adam6500 + + + + + True + True + rpcap + + + + True + True + rtsp + +