update command line

This commit is contained in:
van Hauser 2017-03-02 10:32:25 +01:00
parent a81aa6db64
commit 09f5395b7a
3 changed files with 32 additions and 12 deletions

View file

@ -2,8 +2,11 @@ Changelog for hydra
------------------- -------------------
Release 8.5-dev 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 * ./configure now honors the CC enviroment variable if present
* Favor strrchr() over rindex() * Favor strrchr() over rindex()
* Updated man page with missing command line options
Release 8.4 Release 8.4

36
hydra.1
View file

@ -1,11 +1,12 @@
.TH "HYDRA" "1" "24/05/2012" .TH "HYDRA" "1" "01/03/2017"
.SH NAME .SH NAME
hydra \- a very fast network logon cracker which support many different services hydra \- a very fast network logon cracker which support many different services
.SH SYNOPSIS .SH SYNOPSIS
.B hydra .B hydra
[[[\-l LOGIN|\-L FILE] [\-p PASS|\-P FILE|\-x OPT]] | [\-C FILE]] [\-e nsr] [[[\-l LOGIN|\-L FILE] [\-p PASS|\-P FILE|\-x OPT \-y]] | [\-C FILE]] [\-e nsr]
[\-u] [\-f] [\-F] [\-M FILE] [\-o FILE] [\-t TASKS] [\-w TIME] [\-W TIME] [\-u] [\-f|\-F] [\-M FILE] [\-o FILE] [\-b FORMAT] [\-t TASKS] [\-T TASKS]
[\-m OPTIONS] [\-s PORT] [\-S] [\-4/6] [\-vV] [\-d] [\-w TIME] [\-W TIME] [\-m OPTIONS] [\-s PORT] [\-S] [\-4|6] [\-O] [\-I]
[\-vV] [\-d]
server service [OPTIONS] server service [OPTIONS]
.br .br
.SH DESCRIPTION .SH DESCRIPTION
@ -18,13 +19,13 @@ show how easy it would be to gain unauthorized access from remote to a
system. system.
Currently this tool supports: Currently this tool supports:
AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, FTPS, adam6500 afp asterisk cisco cisco-enable cvs firebird ftp ftps
HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, http[s]-{head|get|post} http[s]-{get|post}-form http-proxy http-proxy-urlenum
HTTP-PROXY-URLENUM, ICQ, IMAP, IRC, LDAP2, LDAP3, MS-SQL, MYSQL, NCP, NNTP, icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql(v4) mysql5
Oracle, Oracle-Listener, Oracle-SID, PC-Anywhere, PCNFS, POP3, POSTGRES, ncp nntp oracle oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres
RDP, REXEC, RLOGIN, RSH, SAP/R3, SIP, SMB, SMTP, SMTP-Enum, SNMP, rdp redis rexec rlogin rpcap rsh rtsp s7-300 sapr3 sip smb smtp[s] smtp-enum
SOCKS5, SSH(v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp
VMware-Auth, VNC and XMPP.
For most protocols, SSL mode is available (e.g. https-get, ftp-ssl, etc.) 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 If not all necessary libraries are found during compile time, your
available services will be less. Type "hydra" to see what is available. 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 .B \-S
connect via SSL connect via SSL
.TP .TP
.TP
.B \-O
use old SSL v2 and v3
.TP
.B \-s PORT .B \-s PORT
if the service is on a different default port, define it here if the service is on a different default port, define it here
.TP .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 The generated passwords will be of length 1 to 2 and contain
lowcase letters, numbers and/or percent signs and dots. lowcase letters, numbers and/or percent signs and dots.
.TP .TP
.B \-y
disable use of symbols in \-x bruteforce, see above
.TP
.B \-e nsr .B \-e nsr
additional checks, "n" for null password, "s" try login as pass, "r" try the reverse login as pass additional checks, "n" for null password, "s" try login as pass, "r" try the reverse login as pass
.TP .TP
@ -87,6 +95,9 @@ server list for parallel attacks, one entry per line
.B \-o FILE .B \-o FILE
write found login/password pairs to FILE instead of stdout write found login/password pairs to FILE instead of stdout
.TP .TP
.B \-b FORMAT
specify the format for the \-o FILE: text(default), json, jsonv1
.TP
.B \-t TASKS .B \-t TASKS
run TASKS number of connects in parallel (default: 16) run TASKS number of connects in parallel (default: 16)
.TP .TP
@ -109,6 +120,9 @@ verbose mode / show login+pass combination for each attempt
.B \-d .B \-d
debug mode debug mode
.TP .TP
.B \-I
ignore an existing restore file (dont wait 10 seconds)
.TP
.B \-h, \-\-help .B \-h, \-\-help
Show summary of options. Show summary of options.
.SH SEE ALSO .SH SEE ALSO

View file

@ -359,7 +359,7 @@ void help(int ext) {
if (ext) if (ext)
printf(" -o FILE write found login/password pairs to FILE instead of stdout\n"); printf(" -o FILE write found login/password pairs to FILE instead of stdout\n");
if (ext) 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) if (ext)
printf(" -f / -F exit when a login/pass pair is found (-M: -f per host, -F global)\n"); 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); 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"); bail("You can only use -L OR -l, not both\n");
if (hydra_options.pass != NULL && hydra_options.passfile != NULL) if (hydra_options.pass != NULL && hydra_options.passfile != NULL)
bail("You can only use -P OR -p, not both\n"); 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) { if (hydra_options.restore) {
hydra_restore_read(); hydra_restore_read();
// stuff we have to copy from the non-restore part // stuff we have to copy from the non-restore part