From 09f5395b7a150becbc2a184c130a50b1251eaabd Mon Sep 17 00:00:00 2001 From: van Hauser Date: Thu, 2 Mar 2017 10:32:25 +0100 Subject: [PATCH] update command line --- CHANGES | 3 +++ hydra.1 | 36 +++++++++++++++++++++++++----------- hydra.c | 5 ++++- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/CHANGES b/CHANGES index f6596c2..b43c89c 100644 --- a/CHANGES +++ b/CHANGES @@ -2,8 +2,11 @@ Changelog for hydra ------------------- Release 8.5-dev +* New command line option: + -b : format option for -o output file (json only so far, happy for patches supporting others :) ) - thanks to veggiespam for the patch * ./configure now honors the CC enviroment variable if present * Favor strrchr() over rindex() +* Updated man page with missing command line options Release 8.4 diff --git a/hydra.1 b/hydra.1 index 98e8f98..9f7e3eb 100644 --- a/hydra.1 +++ b/hydra.1 @@ -1,11 +1,12 @@ -.TH "HYDRA" "1" "24/05/2012" +.TH "HYDRA" "1" "01/03/2017" .SH NAME hydra \- a very fast network logon cracker which support many different services .SH SYNOPSIS .B hydra - [[[\-l LOGIN|\-L FILE] [\-p PASS|\-P FILE|\-x OPT]] | [\-C FILE]] [\-e nsr] - [\-u] [\-f] [\-F] [\-M FILE] [\-o FILE] [\-t TASKS] [\-w TIME] [\-W TIME] - [\-m OPTIONS] [\-s PORT] [\-S] [\-4/6] [\-vV] [\-d] + [[[\-l LOGIN|\-L FILE] [\-p PASS|\-P FILE|\-x OPT \-y]] | [\-C FILE]] [\-e nsr] + [\-u] [\-f|\-F] [\-M FILE] [\-o FILE] [\-b FORMAT] [\-t TASKS] [\-T TASKS] + [\-w TIME] [\-W TIME] [\-m OPTIONS] [\-s PORT] [\-S] [\-4|6] [\-O] [\-I] + [\-vV] [\-d] server service [OPTIONS] .br .SH DESCRIPTION @@ -18,13 +19,13 @@ show how easy it would be to gain unauthorized access from remote to a system. Currently this tool supports: - AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, FTPS, - HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, - HTTP-PROXY-URLENUM, ICQ, IMAP, IRC, LDAP2, LDAP3, MS-SQL, MYSQL, NCP, NNTP, - Oracle, Oracle-Listener, Oracle-SID, PC-Anywhere, PCNFS, POP3, POSTGRES, - RDP, REXEC, RLOGIN, RSH, SAP/R3, SIP, SMB, SMTP, SMTP-Enum, SNMP, - SOCKS5, SSH(v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, - VMware-Auth, VNC and XMPP. + adam6500 afp asterisk cisco cisco-enable cvs firebird ftp ftps + http[s]-{head|get|post} http[s]-{get|post}-form http-proxy http-proxy-urlenum + icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql(v4) mysql5 + ncp nntp oracle oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres + rdp redis rexec rlogin rpcap rsh rtsp s7-300 sapr3 sip smb smtp[s] smtp-enum + snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp + For most protocols, SSL mode is available (e.g. https-get, ftp-ssl, etc.) If not all necessary libraries are found during compile time, your available services will be less. Type "hydra" to see what is available. @@ -47,6 +48,10 @@ written. No other options are allowed when using \-R .B \-S connect via SSL .TP +.TP +.B \-O +use old SSL v2 and v3 +.TP .B \-s PORT if the service is on a different default port, define it here .TP @@ -64,6 +69,9 @@ generate passwords from min to max length. charset can contain 1 The generated passwords will be of length 1 to 2 and contain lowcase letters, numbers and/or percent signs and dots. .TP +.B \-y +disable use of symbols in \-x bruteforce, see above +.TP .B \-e nsr additional checks, "n" for null password, "s" try login as pass, "r" try the reverse login as pass .TP @@ -87,6 +95,9 @@ server list for parallel attacks, one entry per line .B \-o FILE write found login/password pairs to FILE instead of stdout .TP +.B \-b FORMAT +specify the format for the \-o FILE: text(default), json, jsonv1 +.TP .B \-t TASKS run TASKS number of connects in parallel (default: 16) .TP @@ -109,6 +120,9 @@ verbose mode / show login+pass combination for each attempt .B \-d debug mode .TP +.B \-I +ignore an existing restore file (dont wait 10 seconds) +.TP .B \-h, \-\-help Show summary of options. .SH SEE ALSO diff --git a/hydra.c b/hydra.c index 528dd64..6d4b6a5 100644 --- a/hydra.c +++ b/hydra.c @@ -359,7 +359,7 @@ void help(int ext) { if (ext) printf(" -o FILE write found login/password pairs to FILE instead of stdout\n"); if (ext) - printf(" -b FORMAT broker -o FILEs in (text[default], json, jsonv1) format\n"); + printf(" -b FORMAT specify the format for the -o FILE: text(default), json, jsonv1\n"); if (ext) printf(" -f / -F exit when a login/pass pair is found (-M: -f per host, -F global)\n"); printf(" -t TASKS run TASKS number of connects in parallel per target (default: %d)\n", TASKS); @@ -2664,6 +2664,9 @@ int main(int argc, char *argv[]) { bail("You can only use -L OR -l, not both\n"); if (hydra_options.pass != NULL && hydra_options.passfile != NULL) bail("You can only use -P OR -p, not both\n"); + if (hydra_options.outfile_format != 0 && hydra_options.outfile_ptr == NULL) + fprintf(stderr, "[WARNING] output file format specified (-b) - but no output file (-o)\n"); + if (hydra_options.restore) { hydra_restore_read(); // stuff we have to copy from the non-restore part