mirror of
https://github.com/vanhauser-thc/thc-hydra.git
synced 2025-08-21 05:43:52 -07:00
code indent
This commit is contained in:
parent
531ee7734b
commit
720bdb3f96
83 changed files with 6377 additions and 6240 deletions
89
hydra-rdp.c
89
hydra-rdp.c
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
This module is using freerdp2 lib
|
||||
|
||||
|
||||
Tested on:
|
||||
- Windows 7 pro SP1
|
||||
- Windows 10 pro build 1809
|
||||
|
@ -11,13 +11,11 @@
|
|||
|
||||
extern char *HYDRA_EXIT;
|
||||
#ifndef LIBFREERDP2
|
||||
void dummy_rdp() {
|
||||
printf("\n");
|
||||
}
|
||||
void dummy_rdp() { printf("\n"); }
|
||||
#else
|
||||
|
||||
#include <freerdp/freerdp.h>
|
||||
freerdp * instance = 0;
|
||||
freerdp *instance = 0;
|
||||
BOOL rdp_connect(char *server, int32_t port, char *domain, char *login, char *password) {
|
||||
int32_t err = 0;
|
||||
|
||||
|
@ -34,7 +32,7 @@ BOOL rdp_connect(char *server, int32_t port, char *domain, char *login, char *pa
|
|||
}
|
||||
|
||||
/* Client program */
|
||||
int32_t start_rdp(char *ip, int32_t port, unsigned char options, char *miscptr, FILE * fp) {
|
||||
int32_t start_rdp(char *ip, int32_t port, unsigned char options, char *miscptr, FILE *fp) {
|
||||
char *empty = "";
|
||||
char *login, *pass;
|
||||
char server[64];
|
||||
|
@ -56,39 +54,44 @@ int32_t start_rdp(char *ip, int32_t port, unsigned char options, char *miscptr,
|
|||
}
|
||||
|
||||
login_result = rdp_connect(server, port, domain, login, pass);
|
||||
switch(login_result){
|
||||
case 0:
|
||||
// login success
|
||||
hydra_report_found_host(port, ip, "rdp", fp);
|
||||
hydra_completed_pair_found();
|
||||
break;
|
||||
case 0x00020009:
|
||||
case 0x00020014:
|
||||
case 0x00020015:
|
||||
// login failure
|
||||
hydra_completed_pair();
|
||||
break;
|
||||
case 0x0002000d:
|
||||
hydra_report(stderr, "[%d][rdp] account on %s might be valid but account not active for remote desktop: login: %s password: %s, continuing attacking the account.\n", port, hydra_address2string_beautiful(ip), login, pass);
|
||||
hydra_completed_pair();
|
||||
break;
|
||||
case 0x00020006:
|
||||
case 0x00020008:
|
||||
case 0x0002000c:
|
||||
// cannot establish rdp connection, either the port is not opened or it's not rdp
|
||||
return 3;
|
||||
default:
|
||||
if (verbose) {
|
||||
hydra_report(stderr, "[ERROR] freerdp: %s (0x%.8x)\n", freerdp_get_last_error_string(login_result), login_result);
|
||||
}
|
||||
return login_result;
|
||||
switch (login_result) {
|
||||
case 0:
|
||||
// login success
|
||||
hydra_report_found_host(port, ip, "rdp", fp);
|
||||
hydra_completed_pair_found();
|
||||
break;
|
||||
case 0x00020009:
|
||||
case 0x00020014:
|
||||
case 0x00020015:
|
||||
// login failure
|
||||
hydra_completed_pair();
|
||||
break;
|
||||
case 0x0002000d:
|
||||
hydra_report(stderr,
|
||||
"[%d][rdp] account on %s might be valid but account not "
|
||||
"active for remote desktop: login: %s password: %s, "
|
||||
"continuing attacking the account.\n",
|
||||
port, hydra_address2string_beautiful(ip), login, pass);
|
||||
hydra_completed_pair();
|
||||
break;
|
||||
case 0x00020006:
|
||||
case 0x00020008:
|
||||
case 0x0002000c:
|
||||
// cannot establish rdp connection, either the port is not opened or it's
|
||||
// not rdp
|
||||
return 3;
|
||||
default:
|
||||
if (verbose) {
|
||||
hydra_report(stderr, "[ERROR] freerdp: %s (0x%.8x)\n", freerdp_get_last_error_string(login_result), login_result);
|
||||
}
|
||||
return login_result;
|
||||
}
|
||||
if (memcmp(hydra_get_next_pair(), &HYDRA_EXIT, sizeof(HYDRA_EXIT)) == 0)
|
||||
return 2;
|
||||
return 1;
|
||||
}
|
||||
|
||||
void service_rdp(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname) {
|
||||
void service_rdp(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE *fp, int32_t port, char *hostname) {
|
||||
int32_t run = 1, next_run = 1;
|
||||
int32_t myport = PORT_RDP;
|
||||
|
||||
|
@ -101,15 +104,15 @@ void service_rdp(char *ip, int32_t sp, unsigned char options, char *miscptr, FIL
|
|||
while (1) {
|
||||
next_run = 0;
|
||||
switch (run) {
|
||||
case 1: /* run the cracking function */
|
||||
case 1: /* run the cracking function */
|
||||
next_run = start_rdp(ip, myport, options, miscptr, fp);
|
||||
break;
|
||||
case 2: /* clean exit */
|
||||
case 2: /* clean exit */
|
||||
freerdp_disconnect(instance);
|
||||
freerdp_free(instance);
|
||||
hydra_child_exit(0);
|
||||
return;
|
||||
case 3: /* connection error case */
|
||||
case 3: /* connection error case */
|
||||
hydra_report(stderr, "[ERROR] freerdp: %s\n", "The connection failed to establish.");
|
||||
freerdp_free(instance);
|
||||
hydra_child_exit(1);
|
||||
|
@ -121,20 +124,20 @@ void service_rdp(char *ip, int32_t sp, unsigned char options, char *miscptr, FIL
|
|||
}
|
||||
}
|
||||
|
||||
int32_t service_rdp_init(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE * fp, int32_t port, char *hostname) {
|
||||
int32_t service_rdp_init(char *ip, int32_t sp, unsigned char options, char *miscptr, FILE *fp, int32_t port, char *hostname) {
|
||||
// called before the childrens are forked off, so this is the function
|
||||
// which should be filled if initial connections and service setup has to be
|
||||
// performed once only.
|
||||
//
|
||||
// fill if needed.
|
||||
//
|
||||
//
|
||||
// return codes:
|
||||
// 0 all OK
|
||||
// -1 error, hydra will exit, so print a good error message here
|
||||
|
||||
// Disable freerdp output
|
||||
wLog* root = WLog_GetRoot();
|
||||
WLog_SetStringLogLevel(root, "OFF");
|
||||
wLog *root = WLog_GetRoot();
|
||||
WLog_SetStringLogLevel(root, "OFF");
|
||||
|
||||
// Init freerdp instance
|
||||
instance = freerdp_new();
|
||||
|
@ -145,7 +148,9 @@ int32_t service_rdp_init(char *ip, int32_t sp, unsigned char options, char *misc
|
|||
return 0;
|
||||
}
|
||||
|
||||
void usage_rdp(const char* service) {
|
||||
printf("Module rdp is optionally taking the windows domain name.\n" "For example:\nhydra rdp://192.168.0.1/firstdomainname -l john -p doe\n\n");
|
||||
void usage_rdp(const char *service) {
|
||||
printf("Module rdp is optionally taking the windows domain name.\n"
|
||||
"For example:\nhydra rdp://192.168.0.1/firstdomainname -l john -p "
|
||||
"doe\n\n");
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue