Telehack Telehack is a simulation of a stylized arpanet/usenet, circa 1985-1990. It is a full multi-user simulation, including 26,600 hosts and BBS's from the early net, thousands of files from the era, a collection of adventure and IF games, a working BASIC interpreter with a library of programs to run, simulated historical users, and more. Connecting ---------- On the web: http://telehack.com/ or open a shell and type telnet telehack.com Telehack is accessible via * Telnet on ports 23 (the standard telnet port), 443, 1337, 8080 and 31173 * HTTP on port 80 (the standard HTTP port) * SSH on port 6668 * FTP on port 21 (the standard ftp port) NOTE: The FTP server is RFC 959 compliant and will likely not work with more modern FTP clients Accessibility ------------- Non-sighted users: please type STTY /dumb after connecting to telehack. This will invoke plain terminal mode in the Z-code games and avoid using ANSI cursor addressing. For users connecting with Teletypes or other Teleprinter Terminal setups please type STTY /tty after connection to switch telehack into a more Teletype friendly mode. About this Document ------------------- Telehack is case-insensitive. Commands are often shown in uppercase to distinguish them from surrounding text. Note that you do not need to type commands in all-caps. For example: Type DIR for a list of files You may type DIR or dir to obtain a list of files. In help messages, <> signifies required arguments to commands, whereas [] signifies optional arguments. The pipe symbol | signifies "or" or an alternative. For example, send <user|port> [message] means that a user or port must follow the send command, but that the message argument is optional (send will prompt for messages lines if you do not specify one on the command line). @ send forbin hello @ send 15 hello @ send forbin forbin> hello forbin> Getting Help ------------ You can type ? at any prompt to get a list of available commands: @ ? Command, one of the following: acct basic clear daytime dial dir exit files finger halt help hosts ipaddr joke jsr link list log netstat password ping ps ptycon quest rem run send starwars status systat telnet traceroute type uptime usenet users uupath The HELP command provides one-line descriptions of command functions, including any modifier arguments that may be available. Examples: @ help @ help telnet @ help ftp Getting Unstuck --------------- Any command may be terminated by typing ^C (control-C). To log out of a remote host or exit a subshell, type ^D (control-D), EXIT or QUIT. Control Characters ------------------ A control key (CTRL) initiates a number of system functions when it is used in conjunction with another character. To type a control character, hold down the control key, and at the same time press the character you want. For example: to type a CTRL-C, hold down the control key and at the same time press the letter C. In most cases this prints (echoes) on your terminal as ^C. In system documentation, a control character such as control-C may also be described as CTRL-C or ^C. Special control characters: ctrl-C interrupt program ctrl-N next line ctrl-P previous line ctrl-R quick relay (requires backgrounded relay) ctrl-T print system status ctrl-W delete word (up arrow) previous line (next arrow) next line (tab) autocomplete next command/file/user/host Quick Fun --------- Type STARWARS to view the pinnacle of ASCII-mation, a full-length rendition of Star Wars in ASCII. Typing JOKE will display a joke randomly selected from a massive unified historical arpanet/caltech joke database. NLI Lobby --------- When you first connect to Telehack, you will be in the not-logged-in lobby. The NLI lobby is indicated by the '.' prompt: $ telnet telehack.com Trying 64.13.147.30... Connected to telehack.com. Escape character is '^]'. Connected to TELEHACK port 13 It is 8:16 am on Saturday, April 30, 2011 in Mountain View, California, USA. There are 10 local users. There are 24139 hosts on the network. Type ? for a command list. Type HELP for a more detailed command listing. Type control-C to interrupt any command. May the command line live forever. Command, one of the following: acct basic clear daytime exit finger help hosts ipaddr joke list login netstat newuser ping ps run starwars systat telnet traceroute uptime users . A limited subset of commands are available in the lobby. To login or create a new account, type LOGIN. Pager Commands -------------- When viewing any paginated output on Telehack, you may receive a --More-- prompt. This may be seen in the commands type, cat, more, less, as well as any command which produces paginated output. At the --More-- prompt, the following single-key commands may be typed: space show next page b back one page q quit g go to top G go to bottom return down one line j down one line k up one line / search for a given string The pager also supports several pipes. These can be appended to commands that produce paginated output: grep <pattern> show lines matching pattern grep -c <pattern> show number of lines matching grep -i <pattern> case insensitive matching grep -v <pattern> show lines NOT matching pattern sort [field] sort output (field can be column header or number) sort -r [field] reverse sorting wc -c show number of characters wc -l show number of lines (including header) wc -m show maximum line length wc -w show number of words For example: @ users | grep Mountain View, CA | sort username Network Hosts ------------- There are approximately 26,600 virtual hosts on the Telehack network. These represent systems that were on the early Usenet/arpanet as well as defunct BBS systems from the 80's and 90's. Type HOSTS to see a partial list of network hosts. Type HELP HOSTS for more information on the hosts command. A collection of retro files has been distributed across the hosts in the network. The files were sourced from the extensive archive assembled by Jason Scott of Textfiles.com as well as other sources. Telnetting to Hosts ------------------- You may telnet to any host appearing in your netstat list: @ netstat host organization location ---- ------------ -------- sunkist Sun Microsystems Inc. Irvine, California mimsy Computer Science Dept., Univ of Maryland College Park, MD spgh01 Church of the Holy Sepulchre Butler, PA vitam6 Vitalink Communications Fremont, CA hell Clinton Reilly Campaigns Alameda, CA accom Axial Corp. Belmont, CA @ telnet mimsy Trying... Connected to MIMSY Computer Science Dept., University of Maryland, College Park DEC Vax-8600 4.3BSD login: guest Authentication successful. Last login: Thu May 5 16:32:51 2011 WARNING: You must have prior authorization to access this system. All connections are logged and monitored. By connecting to to this system you fully consent to all monitoring. Unauthorized access or use will be prosecuted to the full extent of the law. mimsy$ If you have not yet hacked into a host, you can try to login as the guest user. The full set of commands on the host may not be available if you are logged in as guest. Hacking a Host -------------- @ dir *.exe porthack.exe wardial.exe @ porthack [run porthack.exe] host? mimsy probing MIMSY for open sockets... Once a host has been successfully hacked, you should be able to log into it using your Telehack username and password. Note that hosts which have been hacked and which you can log in to with your username/password are identified in the netstat list with a '*'. Collecting and Moving Programs ------------------------------ DIR *.exe or ls *.exe. You will be able to transfer programs between hosts using the FTP command. On each host, a dedicated part of the disk has been made available to you, in which you can store these programs. Be careful not to overfill it, check your disk usage with the DF command before transferring a file. Example of an FTP session: is1$ ftp uunet Connected to uunet. 220 uunet FTP server (Version 4.109 Wed Nov 19 21:52:18 CST 1986) ready. Name (uunet:johndoe): johndoe 331 Password required for johndoe Password: ******** 230 User johndoe logged in Remote system type is UNIX. Using BIN mode to transfer files. ftp> put porthack.exe 200 PORT command successful ... Historical Users ---------------- The 26,600 virtual hosts within Telehack were real systems available via modem dialup, fidonet, uucp/usenet, or on the arpanet in the 1980's and 90's. Real people used these systems and could often be seen logged in doing work, reading, socializing or playing games. Data archaeology applied against the oldest available uucp archives, UUCP network maps from the era, as well as other available electronic sources has allowed Telehack to reconstruct the online occupants of these vanished network hosts. To see users logged into a Telehack host, use the FINGER @host command: @ finger @sgi [sgi] Login Name Tty Idle Login Time Office Office Phone vjs Vernon Schryver pts/10 3h Apr 29 06:34 (58.12.207.23) rpw3 Rob Warnock pts/13 6h Apr 25 10:31 (95.16.201.17) vic Victor Mitnick pts/6 1 Apr 28 23:33 (53.23.126.26) greg Greg Chesson pts/9 3 Apr 27 15:05 (64.23.138.34) davidf David Fenstemaker pts/8 2d Apr 24 05:10 (63.18.194.22) cjohnson Chris Johnson pts/12 4h Apr 29 12:21 (64.23.149.19) ian Ian Clements pts/4 6h Apr 23 22:03 (22.13.234.36) baskett Forest Baskett pts/2 29 Apr 27 00:54 (28.4.37.13) pchin Phil Chin pts/7 2h Apr 30 04:31 (98.23.18.35) root Superuser pts/3 1d Apr 28 08:27 (97.18.154.15) artibee Mary Artibee pts/1 3h Apr 23 09:19 (98.16.192.38) wen Wen-ching Chow pts/5 2d Apr 29 04:36 (33.11.81.7) @ finger @chinet [chinet] Login Name Tty Idle Login Time Office Office Phone schneier Bruce Schneier pts/20 3h Apr 26 12:09 (62.3.122.13) randy Randy Suess pts/5 3h Apr 27 17:37 (71.22.51.21) odesta Odesta Corp. pts/27 20 Apr 29 17:34 (76.23.223.30) ward Ward Christensen pts/0 7h Apr 28 06:37 (109.10.48.39) saj Stephen Jacobs pts/8 1h Apr 23 11:59 (57.10.70.35) ... Guessing Passwords ------------------ Users in the past did not always choose strong passwords. A common hacking method was to try various common passwords such as "secret", "love", "trustno1", etc. to find a way into a system. Z-Code Games ------------ A collection of games written for the Z-Machine have been distributed across the hosts in the Telehack network. Z-Code games are identified by the .GAM extension: @ ls *.gam advent.gam lostpig.gam zork.gam @ run advent.gam Welcome to Adventure At End Of Road You are standing at the end of a road before a small brick building. Around you is a forest. A small stream flows out of the building and down a gully. > login and use the save command.. BASIC Interpreter ----------------- To enter the basic interpreter, type BASIC. @ basic Dartmouth DTSS TeleBASIC (c) 1964,1966,1969,1970,1971,1979 The basic interpreter subsystem has a number of historical programs compiled from the SIMTEL archives as well as other sources. To see a full list of available programs, type DIR within basic. You can load a program with LOAD or begin execution with RUN. Basic commands are: > help delete delete a user program dir directory of basic programs help print this list list list the program in memory load <file> load program from file quit exit the basic interpreter run run the program in memory run <program> load and run the specified program file save <file> save a user program Example basic session: @ basic Dartmouth DTSS TeleBASIC (c) 1964,1966,1969,1970,1971,1979 > ? Command, one of the following: delete dir help list load quit run save > dir 23matches.bas 3dplot.bas aceyducey.bas aceyducy.bas astrnmy2.bas bar.bas basketball.bas basketbl.bas batnum.bas baz.bas bigcal2.bas birthday.bas bobo.bas bombsaway.bas bombsawy.bas boxing.bas budget.bas bug.bas bunny.bas buzzword.bas calendar.bas calendr5.bas change.bas chemist.bas chief.bas combat.bas command.bas cpmprt51.bas craps.bas cube.bas deedyork.bas delers.bas depthcharge.bas depthchg.bas diamond.bas eddie.bas euphoria.bas evenwin1.bas evenwins.bas fakephre.bas feesten.bas finance.bas godd.bas gomoko.bas gunner.bas hammurabi.bas hamurabi.bas hello.bas hi-lo.bas hilo.bas hurkle.bas ic-timer.bas kalfeest.bas kinema.bas lander.bas lem.bas letter.bas life.bas lifscore.bas litquiz.bas loan2.bas log10k.bas lunar.bas maptest.bas massa.bas mathdice.bas million.bas nicoma.bas nicomachus.bas nim.bas number.bas orbit.bas pirate.bas pizza.bas poetry.bas qubit.bas queen.bas rc5.bas rocket.bas rockscissor.bas rocksp.bas rusrou.bas satelite.bas sceptre1.bas slalom.bas slots.bas snafufun.bas sort.bas splat.bas stars.bas stock.bas stockmarket.bas survival2.bas target.bas tem-ins.bas test1.bas tictac1.bas tictactoe1.bas timer555.bas trap.bas ttl-scrl.bas ucase.bas uitleg1.bas uitleg2.bas unprotct.bas war.bas weekday.bas windchil.bas xfertime.bas xformer.bas ykw1.bas ykw2.bas > load hello.bas Ok > list 2 PRINT TAB(33); HELLO 4 PRINT TAB(15); CREATIVE COMPUTING MORRISTOWN, NEW JERSEY 6 PRINT: PRINT: PRINT 10 PRINT HELLO. MY NAME IS CREATIVE COMPUTER. 20 PRINT: PRINT: INPUT WHAT'S YOUR NAME ;N$: PRINT 30 PRINT HI THERE, ;N$; , ARE YOU ENJOYING YOURSELF HERE ; 40 INPUT B$: PRINT 50 IF B$= YES THEN 70 55 IF B$= NO THEN 80 ... > run CREATIVE COMPUTING MORRISTOWN, NEW JERSEY HELLO. MY NAME IS CREATIVE COMPUTER. WHAT'S YOUR NAME? 6502 System Monitor ------------------- To enter the system monitor, type: @ call -151 1441102 96 14 STX $14,X * Monitor commands are: d dump memory l disassemble cpu opcodes r return to last jsr point g execute address The memory dump will show the octal address on the left column, the hex values for the memory at that address, and an ASCII translation of the memory values: *d 2364636 60 01 2C 26 6C D1 68 C7 45 40 1A F9 39 66 23 21 `.,&l.h.E@..9f 2364656 07 8D 39 0D 00 2C 1E F4 69 8D 64 07 19 10 00 35 ..9..,..i.d....5 2364676 09 A1 2C 6E 2B B5 29 2E 65 D4 4F 01 04 3E 04 73 ..,n+.).e.O..>.s 2364716 53 25 54 B9 14 E1 1D 9A 2B 19 60 13 51 20 52 E0 S%T.....+.`.Q R. 2364736 4B 52 1E 2A 03 66 33 4A 47 C1 10 99 35 5E 00 54 KR.*.f3JG...5^.T 2364756 32 26 4D 0A 03 34 70 D7 24 04 3C C8 40 21 09 CE 2&M..4p.$.<.@ .. 2364776 2C 02 78 31 1A 60 51 6B 39 0E 1A 20 5D 58 56 93 ,.x1.`Qk9.. ]XV. 2365016 61 45 C8 A5 BB AB 02 21 02 3A 01 08 AD A4 B2 01 aE..... .:...... 2365036 94 2B 00 52 61 84 A5 21 02 45 00 9D E0 1F 32 BF .+.Ra.. .E....2. To disassemble CPU instructions instead, use the l command: *l 2366320 63 SUBD2 2366321 04 25 TSB $25 2366323 64 9C STZ $9C 2366325 2A ROL 2366326 31 04 AND ($04),Y 2366330 21 30 AND ($30,X) 2366332 31 09 AND ($09),Y 2366334 A3 MOVAB 2366335 44 PUSHAW If an entry point in the system monitor is known, you can execute it with the g command: *2425152g To return to the Telehack command shell from the system monitor, use the r command. Remote Terminal Monitoring -------------------------- The link command will connect a remote user's tty to your tty. This will let you assist the remote user by being able to view the remote output. @ link <user or port> In this case, the other user would see something like . %link from port 16 user forbin And their session from that point would be mirrored on the linking user's terminal. There is also a separate facility within ptycon to allow simultaneous monitoring of all connected ports. Finger from Outside ------------------- Telehack also responds to finger requests from the outside Internet on port 79: $ finger @telehack.com TELEHACK SYSTEM STATUS 04-May-11 23:27:08 4 users port username status last what where ---- -------- ------ ---- ---- ----- 0 operator System Operator 5m console 16 - 3m alice3 Lithuania 17 forbin Dr. Charles Forbin 13m Provo, UT 20 foo Yoda Soda 19m ptycon Oakland, CA $ finger forbin@telehack.com USER: forbin system level: WIZARD account age: 95 days last login: today system connects: 5 commands executed: 143 user status bits: HACK10 Hacked 10 network hosts 30-Jan-11 23:19:57 HACK5 Hacked 5 network hosts 30-Jan-11 21:00:34 HACKER Hack the Planet 29-Jan-11 22:31:48 ACCT Registered User 29-Jan-11 22:23:17 $ finger @sgi@telehack.com [sgi] Login Name Tty Idle Login Time Office Office Phone vjs Vernon Schryver pts/10 3h May 03 21:26 (58.12.207.23) rpw3 Rob Warnock pts/13 6h Apr 30 01:23 (95.16.201.17) vic Victor Mitnick pts/6 1 May 03 14:25 (53.23.126.26) greg Greg Chesson pts/9 3 May 02 05:57 (64.23.138.34) davidf David Fenstemaker pts/8 2d Apr 28 20:02 (63.18.194.22) cjohnson Chris Johnson pts/12 4h May 04 03:13 (64.23.149.19) ian Ian Clements pts/4 6h Apr 28 12:55 (22.13.234.36) baskett Forest Baskett pts/2 29 May 01 15:46 (28.4.37.13) pchin Phil Chin pts/7 2h May 04 19:23 (98.23.18.35) root Superuser pts/3 1d May 02 23:19 (97.18.154.15) artibee Mary Artibee pts/1 3h Apr 28 00:11 (98.16.192.38) wen Wen-ching Chow pts/5 2d May 03 19:28 (33.11.81.7) Usenet Archive -------------- Type USENET to view the Usenet archive. The archive was originally collected by Henry Spencer at the University of Toronto beginning in 1981. Later it was rescued by David G. Wiseman from the University of Western Ontario, who drove two hours in a pickup truck to collect 141 magtapes and save them from destruction: If I recall correctly, the issue of Henry Spencer's (actually, the University of Toronto, Department of Zoology's) NetNews archive was raised at a Usenix conference in the early 90's. The question: can we get at them? Bruce Jones was especially interested in this. Henry's answer was that it really wasn't going to be easy because he had neither the disk space nor the tape drive to pull them all down to make them available. I, it turned out, did. So one bright winter day I drove from London (Ontario Canada) to Toronto (Ontario Canada) -- a two hour drive in my shiny new pickup truck and picked up 141 magtapes from the Zoology department at UofT and brought them back to the Department of Computer Science at the University of Western Ontario. (A not unimpressive bandwidth, by the way, of some 18Mb/sec :-) never underestimate the bandwidth of a pickup truck on the highway ) -- http://www.csd.uwo.ca/staff/magi/personal/usenet.html Some additions have been made to the usenet archive available on Telehack which have been provided from other sources. Halt ---- Halting the CPU to enter the system monitor is not advised. However, if you do this, the operator will usually supply a monitor entry point to enable CPU restart and re-entry into the telehack exec. Shortcuts --------- . repeat last command w systat w finger l dir ls dir date daytime cat type cls clear ? command list How to enable telnet in Windows 7 --------------------------------- Windows 7 ships with a telnet client, but it is shut off by default. To enable it, do the following: Start Control Panel Programs And Features Turn Windows features on or off Check Telnet Client Hit OK After that, you can open a command prompt and type telnet telehack.com Privacy Policy -------------- See the PRIVACY command or privacy.txt, or visit the link below: http://telehack.com/privacy.html See Also -------- http://telehack.wikia.com/ http://twitter.com/telehack http://xkcd.com/138/ http://walyou.com/telehack/ http://waxy.org/2011/06/playable_archaeology_an_interview_with_the_telehacks_anonymous_creator/ http://www.techradar.com/news/networking/hack-virtual-1980s-networks-with-telehack-1035135 http://news.ycombinator.com/item?id=2620552 http://xkcd.com/1305 Movie List ---------- Colossus: The Forbin Project (1970) Scanners (1981) Tron (1982) Blade Runner (1982) WarGames (1983) Brainstorm (1983) Sneakers (1992) Hackers (1995) Tron: Legacy (2010) 2001: A Space Odyssey (1968) Demon Seed (1977) Real Genius (1985) EOF --- http://www.youtube.com/watch?v=Y6ljFaKRTrI