mirror of
https://github.com/vanhauser-thc/thc-hydra.git
synced 2025-08-14 10:37:27 -07:00
commit
63ebf3ec25
1 changed files with 114 additions and 251 deletions
365
hydra.c
365
hydra.c
|
@ -1204,132 +1204,123 @@ char *hydra_build_time() {
|
|||
return (char *) &datetime;
|
||||
}
|
||||
|
||||
void hydra_service_init(int target_no) {
|
||||
int x = 99;
|
||||
typedef void (*service_t)(char *ip, int sp, unsigned char options, char *miscptr, FILE * fp, int port, char *hostname);
|
||||
typedef int (*service_init_t)(char *ip, int sp, unsigned char options, char *miscptr, FILE * fp, int port, char *hostname);
|
||||
|
||||
#define SERVICE2(name, func) { name, service_##func##_init, service_##func }
|
||||
#define SERVICE(name) { #name, service_##name##_init, service_##name }
|
||||
|
||||
static const struct {
|
||||
const char* name;
|
||||
service_init_t init;
|
||||
service_t exec;
|
||||
} services[] = {
|
||||
SERVICE(adam6500),
|
||||
#ifdef LIBAFP
|
||||
if (strcmp(hydra_options.service, "afp") == 0)
|
||||
x = service_afp_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
SERVICE(afp),
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "asterisk") == 0)
|
||||
x = service_asterisk_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "cisco-enable") == 0)
|
||||
x = service_cisco_enable_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "cvs") == 0)
|
||||
x = service_cvs_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "adam6500") == 0)
|
||||
x = service_adam6500_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "cisco") == 0)
|
||||
x = service_cisco_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
SERVICE(asterisk),
|
||||
SERVICE(cisco),
|
||||
SERVICE2("cisco-enable", cisco_enable),
|
||||
SERVICE(cvs),
|
||||
#ifdef LIBFIREBIRD
|
||||
if (strcmp(hydra_options.service, "firebird") == 0)
|
||||
x = service_firebird_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
SERVICE(firebird),
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "ftp") == 0 || strcmp(hydra_options.service, "ftps") == 0)
|
||||
x = service_ftp_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "redis") == 0 || strcmp(hydra_options.service, "redis") == 0)
|
||||
x = service_redis_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "http-get") == 0 || strcmp(hydra_options.service, "http-head") == 0)
|
||||
x = service_http_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "http-form") == 0 || strcmp(hydra_options.service, "http-get-form") == 0 || strcmp(hydra_options.service, "http-post-form") == 0)
|
||||
x = service_http_form_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "http-proxy") == 0)
|
||||
x = service_http_proxy_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "http-proxy-urlenum") == 0)
|
||||
x = service_http_proxy_urlenum_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "icq") == 0)
|
||||
x = service_icq_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "imap") == 0)
|
||||
x = service_imap_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "irc") == 0)
|
||||
x = service_irc_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strncmp(hydra_options.service, "ldap", 4) == 0)
|
||||
x = service_ldap_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
#ifdef LIBOPENSSL
|
||||
if (strcmp(hydra_options.service, "sip") == 0)
|
||||
x = service_sip_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "smb") == 0 || strcmp(hydra_options.service, "smbnt") == 0)
|
||||
x = service_smb_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "oracle-listener") == 0)
|
||||
x = service_oracle_listener_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "oracle-sid") == 0)
|
||||
x = service_oracle_sid_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "rdp") == 0)
|
||||
x = service_rdp_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "mssql") == 0)
|
||||
x = service_mssql_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
SERVICE(ftp),
|
||||
{ "ftps", service_ftp_init, service_ftps },
|
||||
{ "http-get", service_http_init, service_http_get },
|
||||
{ "http-get-form", service_http_form_init, service_http_get_form },
|
||||
{ "http-head", service_http_init, service_http_head },
|
||||
{ "http-form", service_http_form_init, NULL },
|
||||
{ "http-post", NULL, service_http_post },
|
||||
{ "http-post-form", service_http_form_init, service_http_post_form },
|
||||
SERVICE2("http-proxy", http_proxy),
|
||||
SERVICE2("http-proxy-urlenum", http_proxy_urlenum),
|
||||
SERVICE(icq),
|
||||
SERVICE(imap),
|
||||
SERVICE(irc),
|
||||
{ "ldap2", service_ldap_init, service_ldap2 },
|
||||
{ "ldap3", service_ldap_init, service_ldap3 },
|
||||
{ "ldap3-crammd5", service_ldap_init, service_ldap3_cram_md5 },
|
||||
{ "ldap3-digestmd5", service_ldap_init, service_ldap3_digest_md5 },
|
||||
SERVICE(mssql),
|
||||
#ifdef HAVE_MATH_H
|
||||
if (strcmp(hydra_options.service, "mysql") == 0)
|
||||
x = service_mysql_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
SERVICE(mysql),
|
||||
#endif
|
||||
#ifdef LIBNCP
|
||||
if (strcmp(hydra_options.service, "ncp") == 0)
|
||||
x = service_ncp_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
SERVICE(ncp),
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "nntp") == 0)
|
||||
x = service_nntp_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
SERVICE(nntp),
|
||||
#ifdef LIBORACLE
|
||||
if (strcmp(hydra_options.service, "oracle") == 0)
|
||||
x = service_oracle_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
SERVICE(oracle),
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "pcanywhere") == 0)
|
||||
x = service_pcanywhere_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "pcnfs") == 0)
|
||||
x = service_pcnfs_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "pop3") == 0)
|
||||
x = service_pop3_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
#ifdef LIBOPENSSL
|
||||
SERVICE2("oracle-listener", oracle_listener),
|
||||
SERVICE2("oracle-sid", oracle_sid),
|
||||
#endif
|
||||
SERVICE(pcanywhere),
|
||||
SERVICE(pcnfs),
|
||||
SERVICE(pop3),
|
||||
#ifdef LIBPOSTGRES
|
||||
if (strcmp(hydra_options.service, "postgres") == 0)
|
||||
x = service_postgres_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
SERVICE(postgres),
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "rexec") == 0)
|
||||
x = service_rexec_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "rlogin") == 0)
|
||||
x = service_rlogin_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "rsh") == 0)
|
||||
x = service_rsh_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
SERVICE(redis),
|
||||
SERVICE(rexec),
|
||||
#ifdef LIBOPENSSL
|
||||
SERVICE(rdp),
|
||||
#endif
|
||||
SERVICE(rlogin),
|
||||
SERVICE(rsh),
|
||||
SERVICE(rtsp),
|
||||
SERVICE(rpcap),
|
||||
SERVICE2("s7-300", s7_300),
|
||||
#ifdef LIBSAPR3
|
||||
if (strcmp(hydra_options.service, "sapr3") == 0)
|
||||
x = service_sapr3_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
SERVICE(sapr3),
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "smtp") == 0)
|
||||
x = service_smtp_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "smtp-enum") == 0)
|
||||
x = service_smtp_enum_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "snmp") == 0)
|
||||
x = service_snmp_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "socks5") == 0)
|
||||
x = service_socks5_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
#ifdef LIBOPENSSL
|
||||
SERVICE(sip),
|
||||
SERVICE2("smbnt", smb),
|
||||
SERVICE(smb),
|
||||
#endif
|
||||
SERVICE(smtp),
|
||||
SERVICE2("smtp-enum", smtp_enum),
|
||||
SERVICE(snmp),
|
||||
SERVICE(socks5),
|
||||
#ifdef LIBSSH
|
||||
// dirty workaround here:
|
||||
if (strcmp(hydra_options.service, "ssh") == 0)
|
||||
x = service_ssh_init(hydra_targets[target_no]->ip, -1, options, login_ptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "sshkey") == 0)
|
||||
x = service_sshkey_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
{ "ssh", NULL, service_ssh },
|
||||
SERVICE(sshkey),
|
||||
#endif
|
||||
#ifdef LIBSVN
|
||||
if (strcmp(hydra_options.service, "svn") == 0)
|
||||
x = service_svn_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
SERVICE(svn),
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "teamspeak") == 0)
|
||||
x = service_teamspeak_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "telnet") == 0)
|
||||
x = service_telnet_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "vmauthd") == 0)
|
||||
x = service_vmauthd_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "vnc") == 0)
|
||||
x = service_vnc_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "xmpp") == 0)
|
||||
x = service_xmpp_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "s7-300") == 0)
|
||||
x = service_s7_300_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "rtsp") == 0)
|
||||
x = service_rtsp_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
if (strcmp(hydra_options.service, "rpcap") == 0)
|
||||
x = service_rpcap_init(hydra_targets[target_no]->ip, -1, options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[target_no]->target);
|
||||
// ADD NEW SERVICES HERE
|
||||
SERVICE(teamspeak),
|
||||
SERVICE(telnet),
|
||||
SERVICE(vmauthd),
|
||||
SERVICE(vnc),
|
||||
{ "xmpp", service_xmpp_init, NULL }
|
||||
};
|
||||
|
||||
void hydra_service_init(int target_no) {
|
||||
int x = 99;
|
||||
int i;
|
||||
hydra_target* t = hydra_targets[target_no];
|
||||
char* miscptr = hydra_options.miscptr;
|
||||
FILE* ofp = hydra_brains.ofp;
|
||||
|
||||
for (i = 0; x == 99 && i < sizeof(services) / sizeof(services[0]); i++) {
|
||||
if (strcmp(hydra_options.service, services[i].name) == 0) {
|
||||
if (services[i].init) {
|
||||
x = services[i].init(t->ip, -1, options, miscptr, ofp, t->port, t->target);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// dirty workaround here:
|
||||
#ifdef LIBSSH
|
||||
if (strcmp(hydra_options.service, "ssh") == 0)
|
||||
x = service_ssh_init(t->ip, -1, options, login_ptr, ofp, t->port, t->target);
|
||||
#endif
|
||||
|
||||
if (x != 0 && x != 99) {
|
||||
if (x > 0 && x < 4)
|
||||
|
@ -1342,7 +1333,6 @@ void hydra_service_init(int target_no) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
int hydra_spawn_head(int head_no, int target_no) {
|
||||
int i;
|
||||
|
||||
|
@ -1390,152 +1380,25 @@ int hydra_spawn_head(int head_no, int target_no) {
|
|||
if (debug)
|
||||
printf("[DEBUG] head_no %d has pid %d\n", head_no, getpid());
|
||||
|
||||
// now call crack module
|
||||
if (strcmp(hydra_options.service, "asterisk") == 0)
|
||||
service_asterisk(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "telnet") == 0)
|
||||
service_telnet(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "ftp") == 0) {
|
||||
|
||||
service_ftp(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
|
||||
hydra_target* t = hydra_targets[target_no];
|
||||
int sp = hydra_heads[head_no]->sp[1];
|
||||
char* miscptr = hydra_options.miscptr;
|
||||
FILE* ofp = hydra_brains.ofp;
|
||||
hydra_target* head_target = hydra_targets[hydra_heads[head_no]->target_no];
|
||||
for (i = 0; i < sizeof(services) / sizeof(services[0]); i++) {
|
||||
if (strcmp(hydra_options.service, services[i].name) == 0) {
|
||||
if (services[i].exec) {
|
||||
services[i].exec(t->ip, sp, options, miscptr, ofp, t->port, head_target->target);
|
||||
// just in case a module returns (which it shouldnt) we let it exit here
|
||||
exit(-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (strcmp(hydra_options.service, "ftps") == 0)
|
||||
service_ftps(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "redis") == 0)
|
||||
service_redis(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "pop3") == 0)
|
||||
service_pop3(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "imap") == 0)
|
||||
service_imap(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "vmauthd") == 0)
|
||||
service_vmauthd(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "ldap2") == 0)
|
||||
service_ldap2(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "ldap3") == 0)
|
||||
service_ldap3(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "http-head") == 0)
|
||||
service_http_head(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "ldap3-crammd5") == 0)
|
||||
service_ldap3_cram_md5(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "ldap3-digestmd5") == 0)
|
||||
service_ldap3_digest_md5(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "http-post") == 0)
|
||||
service_http_post(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "http-get") == 0)
|
||||
service_http_get(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "http-get-form") == 0)
|
||||
service_http_get_form(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "http-post-form") == 0)
|
||||
service_http_post_form(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "http-proxy") == 0)
|
||||
service_http_proxy(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "http-proxy-urlenum") == 0)
|
||||
service_http_proxy_urlenum(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "adam6500") == 0)
|
||||
service_adam6500(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "cisco") == 0)
|
||||
service_cisco(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "cisco-enable") == 0)
|
||||
service_cisco_enable(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "socks5") == 0)
|
||||
service_socks5(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "vnc") == 0)
|
||||
service_vnc(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "rexec") == 0)
|
||||
service_rexec(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "rlogin") == 0)
|
||||
service_rlogin(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "rsh") == 0)
|
||||
service_rsh(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "nntp") == 0)
|
||||
service_nntp(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "icq") == 0)
|
||||
service_icq(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "pcnfs") == 0)
|
||||
service_pcnfs(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#ifdef HAVE_MATH_H
|
||||
if (strcmp(hydra_options.service, "mysql") == 0)
|
||||
service_mysql(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "mssql") == 0)
|
||||
service_mssql(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#ifdef LIBOPENSSL
|
||||
if (strcmp(hydra_options.service, "oracle-listener") == 0)
|
||||
service_oracle_listener(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "oracle-sid") == 0)
|
||||
service_oracle_sid(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
#ifdef LIBORACLE
|
||||
if (strcmp(hydra_options.service, "oracle") == 0)
|
||||
service_oracle(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
#ifdef LIBPOSTGRES
|
||||
if (strcmp(hydra_options.service, "postgres") == 0)
|
||||
service_postgres(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
#ifdef LIBFIREBIRD
|
||||
if (strcmp(hydra_options.service, "firebird") == 0)
|
||||
service_firebird(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
#ifdef LIBAFP
|
||||
if (strcmp(hydra_options.service, "afp") == 0)
|
||||
service_afp(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
#ifdef LIBNCP
|
||||
if (strcmp(hydra_options.service, "ncp") == 0)
|
||||
service_ncp(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "pcanywhere") == 0)
|
||||
service_pcanywhere(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "cvs") == 0)
|
||||
service_cvs(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#ifdef LIBSVN
|
||||
if (strcmp(hydra_options.service, "svn") == 0)
|
||||
service_svn(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "snmp") == 0)
|
||||
service_snmp(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#ifdef LIBOPENSSL
|
||||
if ((strcmp(hydra_options.service, "smb") == 0) || (strcmp(hydra_options.service, "smbnt") == 0))
|
||||
service_smb(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
#ifdef LIBSAPR3
|
||||
if (strcmp(hydra_options.service, "sapr3") == 0)
|
||||
service_sapr3(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
#ifdef LIBSSH
|
||||
if (strcmp(hydra_options.service, "ssh") == 0)
|
||||
service_ssh(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "sshkey") == 0)
|
||||
service_sshkey(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "smtp") == 0)
|
||||
service_smtp(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "smtp-enum") == 0)
|
||||
service_smtp_enum(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "teamspeak") == 0)
|
||||
service_teamspeak(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#ifdef LIBOPENSSL
|
||||
if (strcmp(hydra_options.service, "sip") == 0)
|
||||
service_sip(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "xmpp") == 0)
|
||||
service_xmpp(hydra_targets[target_no]->target, hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "irc") == 0)
|
||||
service_irc(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#ifdef LIBOPENSSL
|
||||
if (strcmp(hydra_options.service, "rdp") == 0)
|
||||
service_rdp(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
#endif
|
||||
if (strcmp(hydra_options.service, "s7-300") == 0)
|
||||
service_s7_300(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "rtsp") == 0)
|
||||
service_rtsp(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
if (strcmp(hydra_options.service, "rpcap") == 0)
|
||||
service_rpcap(hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
// ADD NEW SERVICES HERE
|
||||
|
||||
// FIXME: dirty workaround here
|
||||
if (strcmp(hydra_options.service, "xmpp") == 0) {
|
||||
service_xmpp(hydra_targets[target_no]->target, hydra_targets[target_no]->ip, hydra_heads[head_no]->sp[1], options, hydra_options.miscptr, hydra_brains.ofp, hydra_targets[target_no]->port, hydra_targets[hydra_heads[head_no]->target_no]->target);
|
||||
}
|
||||
|
||||
// just in case a module returns (which it shouldnt) we let it exit here
|
||||
exit(-1);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue