diff --git a/hydra-cvs.c b/hydra-cvs.c index cbef603..3995c95 100644 --- a/hydra-cvs.c +++ b/hydra-cvs.c @@ -69,7 +69,7 @@ int start_cvs(int s, char *ip, int port, unsigned char options, char *miscptr, F } } else if (strstr(buf, "no such user") || strstr(buf, "E PAM start error: Critical error - immediate abort\n")) { if (verbose) { - hydra_report(stderr, "[VERBOSE] User %s does not exist\n", login); + hydra_report(stderr, "[INFO] User %s does not exist, skipping\n", login); } hydra_completed_pair_skip(); free(buf); diff --git a/hydra-ftp.c b/hydra-ftp.c index e8a2ef7..8eab162 100644 --- a/hydra-ftp.c +++ b/hydra-ftp.c @@ -22,6 +22,8 @@ int start_ftp(int s, char *ip, int port, unsigned char options, char *miscptr, F return 1; /* special hack to identify 530 user unknown msg. suggested by Jean-Baptiste.BEAUFRETON@turbomeca.fr */ if (buf[0] == '5' && buf[1] == '3' && buf[2] == '0') { + if (verbose) + printf("[INFO] user %s does not exist, skipping\n", login); hydra_completed_pair_skip(); if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0) return 4; diff --git a/hydra-oracle.c b/hydra-oracle.c index 1025969..f590ea9 100644 --- a/hydra-oracle.c +++ b/hydra-oracle.c @@ -1,4 +1,3 @@ - /* david: code is based on SNORT spo_database.c @@ -95,9 +94,15 @@ int start_oracle(int s, char *ip, int port, unsigned char options, char *miscptr } if (strstr((const char *) o_errormsg, "ORA-12514") != NULL) { hydra_report(stderr, "[ERROR] ORACLE SID is not valid, you should try to enumerate them.\n"); + hydra_completed_pair(); + return 3; } if (strstr((const char *) o_errormsg, "ORA-28000") != NULL) { - hydra_report(stderr, "[ERROR] ORACLE account %s is locked.\n", login); + hydra_report(stderr, "[INFO] ORACLE account %s is locked.\n", login); + hydra_completed_pair_skip(); + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0) + return 3; + return 2; } if (o_error) { @@ -110,8 +115,9 @@ int start_oracle(int s, char *ip, int port, unsigned char options, char *miscptr //set these parameters to not generate the file //LOG_DIRECTORY_CLIENT = /dev/null //LOG_FILE_CLIENT = /dev/null - unlink("sqlnet.log"); + if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0) + return 3; return 2; } else { OCILogoff(o_servicecontext, o_error); @@ -164,6 +170,7 @@ void service_oracle(char *ip, int sp, unsigned char options, char *miscptr, FILE case 3: /* clean exit */ if (sock >= 0) sock = hydra_disconnect(sock); + unlink("sqlnet.log"); hydra_child_exit(0); return; default: diff --git a/hydra-pop3.c b/hydra-pop3.c index b78525a..ac3c8a4 100644 --- a/hydra-pop3.c +++ b/hydra-pop3.c @@ -397,6 +397,8 @@ int start_pop3(int s, char *ip, int port, unsigned char options, char *miscptr, } /* special AS/400 hack */ if (strstr(buf, "CPF2204") != NULL || strstr(buf, "CPF22E3") != NULL || strstr(buf, "CPF22E4") != NULL || strstr(buf, "CPF22E5") != NULL) { + if (verbose) + printf("[INFO] user %s does not exist, skipping\n", login); hydra_completed_pair_skip(); free(buf); if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0) diff --git a/hydra-snmp.c b/hydra-snmp.c index 8b9d3c3..497b7b1 100644 --- a/hydra-snmp.c +++ b/hydra-snmp.c @@ -454,8 +454,8 @@ int start_snmp(int s, char *ip, int port, unsigned char options, char *miscptr, return 3; return 1; } else if ((buf[off + 15] & 5) == 4 && hydra_memsearch(buf, i, snmpv3_nouser, sizeof(snmpv3_nouser)) >= 0) { // user does not exist - if (debug) - printf("[DEBUG] server reply indicates login %s does not\n", login); + if (verbose) + printf("[INFO] user %s does not exist, skipping\n", login); hydra_completed_pair_skip(); if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0) return 3; diff --git a/hydra-svn.c b/hydra-svn.c index eecdc12..8413749 100644 --- a/hydra-svn.c +++ b/hydra-svn.c @@ -118,6 +118,8 @@ int start_svn(int s, char *ip, int port, unsigned char options, char *miscptr, F return 4; //error } else { if (strstr(err->message, "Username not found")) { + if (verbose) + printf("[INFO] user %s does not exist, skipping\n", login); hydra_completed_pair_skip(); if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0) return 3;