home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast.iso / virus / solomon.lst < prev    next >
Internet Message Format  |  1994-03-07  |  32KB

  1. Date: 5 Nov 89 15:01:02 GMT (Sun)
  2. From: Alan Solomon <drsolly@ibmpcug.co.uk>
  3.  
  4.  
  5. Dr Alan Solomon                Day voice:     +44 494 791900
  6. S&S Anti Virus Group           Eve voice:     +44 494 724201
  7. Water Meadow                   Fax:           +44 494 791602
  8. Germain Street,                BBS:           +44 494 724946
  9. Chesham,                       Fido node:     254/29
  10. Bucks, HP5 1LP                 Usenet:        drsolly@ibmpcug.co.uk
  11. England                        Gold:          83:JNL246
  12.                                CIX, CONNECT   drsolly
  13.  
  14. There has been a number of people recently calling for information
  15. about some of the newer viruses, like Ogre, and Dark Avenger.  What
  16. follows are excerpts from the manual of a commercial product;  it's OK
  17. for me to post this, as I wrote it and have the copyright!  I shan't
  18. mention the name of the product, but I must apologise that the pages
  19. of the manual do refer to various components of the product.  Where it
  20. refers to Findvirus, please take this as meaning any virus scanning
  21. program that knows about the virus in question;  when it refers to
  22. Peeka, please take this as meaning any disk sector editor.  The
  23. paragraph numbers are the chapter numbers in the manual.
  24.  
  25. I've taken the liberty of calling Ross Greenberg's discovery Fumble
  26. instead of Typo, as there is already a Typo in the literature, and we
  27. don't want two viruses with the same name.  Sorry, Ross.
  28.  
  29. If anyone finds any errors or significant omissions in these
  30. descriptions, please respond via email or fax to me directly.
  31.  
  32. Finally, could I please lay one myth to rest.  Datacrime (called
  33. Columbus day in the US) does the low level format on October 13th and
  34. every day thereafter until December 31st.  It does this in versions
  35. 1168, 1280 (infective lengths) and Datacrime II.  It does NOT do
  36. anything on October 12th, and Datacrime II does NOT go off on Jan 1 to
  37. Oct 12th.  Datacrime II refrains from the format on Mondays.  The
  38. whole October 12th thing was caused by a misunderstanding about dates,
  39. picked up by the media and turned into a factoid.
  40. The other important thing about Datacrime, is that it is extremely
  41. uncommon indeed. We have had no (zero, nil) cases in the UK, and I
  42. know of only two cases in Holland.  Does anyone know of any
  43. *confirmed*, definite, sightings? Apart from Fridrik's self inflicted
  44. accident, of course :-)
  45.  
  46. 4.18 Ogre
  47.  
  48. Other names - Computer Ogre, Disk Killer
  49. Infects - the boot sector of any writable diskette or hard disk.
  50.  
  51. Classification - Boot sector virus.
  52.  
  53. 4.18.1 Recognition and detection
  54.  
  55. If the virus triggers (see below) then recognition is easy.  Another
  56. method of recognising it is the 8k of memory lost (so a 640k machine
  57. will show 647168 bytes of memory instead of 655360 bytes).  A third
  58. way is if you look at the boot sector using Peeka, it will be full of
  59. program code, without the usual messages like "Not a system disk.".
  60.  
  61. You can detect infected diskettes by running Chkdsk (which comes with
  62. Dos).  If you get 3k of bad sectors on a 360k diskette, that's a sign
  63. of Ogre (Brain and Ashar give the same), as FORMAT marks an entire
  64. track (5k on a 360k diskette) as bad if it finds a defect.  Likewise
  65. on other sizes of diskette;  one track is the minimum that should be
  66. marked as bad, except of course for zero bad.  You can also use
  67. FindVirus from the Toolkit to detect Ogre.
  68.  
  69. On a hard disk, Ogre doesn't use bad sectors, so can't be detected
  70. that way.
  71.  
  72.  
  73. 4.18.2 How the virus copies itself
  74.  
  75. When you boot from an infected diskette, the virus goes memory
  76. resident;  this is true whether the diskette is a boot disk or not.
  77. So the usual thing is for someone to have an infected data diskette,
  78. which they leave in drive A when they shut down.  Next day when they
  79. start up the computer, it attempts to boot from that diskette;  if it
  80. isn't a system diskette, you see the message "Not a system disk.
  81. Please insert a system disk and retry." or a similar message.  If that
  82. diskette was infected, the virus is now in memory, and when you
  83. continue the boot, it remains there.
  84.  
  85. While it is in memory, any disk that you access is liable to be
  86. infected.  If you access the diskette (whether read or write) and the
  87. diskette is write enabled then Ogre will replace the boot sector with
  88. its own code, move the boot sector further up the disk, add the rest
  89. of the Ogre code, and mark these sectors as bad in the FAT.  But there
  90. is a bug (or perhaps it is deliberate) in the virus;  instead of
  91. marking the sectors it has used as bad, it marks a different group.
  92. Ogre also infects hard disks.
  93.  
  94. 4.18.3 What the virus does
  95.  
  96. If you leave your computer on for 48 hours, and access the hard disk
  97. during the following hour, the virus triggers.  It clears the screen,
  98. and puts up "Disk Killer -- Version 1.00 by COMPUTER OGRE 04/01/1989"
  99. in black characters on a white background.  Then in yellow on green,
  100. it says "Warning !!", and two line down "Don't turn off the power or
  101. remove the diskette while Disk Killer is Processing!".  Then in bright
  102. red, and blinking, on black, it says "PROCESSING".
  103.  
  104. By the time you see that and react to it, it will be too late, as the
  105. disk will be inaccessible.  You might decide to switch off in spite of
  106. what Ogre has told you, but even if you do, the disk will have been
  107. made unreadable by then, and your best course will be to re-initialise
  108. the disk and restore the latest backups.
  109.  
  110. 4.18.4 How to get rid of it
  111.  
  112. Boot from a clean Dos disk;  this is a Dos diskette that has come from
  113. the manufacturer, and has never been write enabled.  This ensures that
  114. there is nothing unwanted that is installed in memory.  Use Findvirus
  115. to determine which diskettes are infected.
  116.  
  117. Treatment consists of simply copying all the files off an infected
  118. diskette (using "COPY *.*";  do not use Diskcopy or any image copier),
  119. and reformatting the diskette (see below for details).  Remember that
  120. Ogre might have written itself onto one (or more) of the files.  This
  121. would not make the file infectious, but would mean that if it were a
  122. program, it would not run, and if it were data, the data would be
  123. corrupted.
  124.  
  125. If a large number of diskettes are potentially infected, then you
  126. should consider borrowing our hopper-fed diskette cleaning machine,
  127. which can handle up to 700 diskettes per hour, sorting them into clean
  128. and contaminated bins.
  129.  
  130. If you have a major outbreak of Ogre on a large site, then while you
  131. clear it up, you should use Inoculate on all diskettes.  This works by
  132. putting the Ogre signature (just two harmless bytes) on the boot
  133. sector of the diskette.  If Ogre sees that signature, it thinks that
  134. the diskette is already infected, so doesn't attack it.  This means
  135. that if you use a moving line method to clear out Ogre, you can't have
  136. a re-infection following the demarcation line.
  137.  
  138. In the case of a hard disk, you could use a disk sector editor.  Find
  139. the original boot sector (it will be in the bad sectors) and copy it
  140. back to the place where it should be, at Logical Sector Number zero.
  141. I would recommend that you take a full backup before doing this, as if
  142. you get it wrong, you could make your disk inaccessible.
  143.  
  144. An alternative, and much easier method, is as follows.  First boot
  145. from a clean Dos disk.  Then make two backups of the hard disk (the
  146. second backup is in case you find that you have a problem restoring
  147. the first backup).  With most versions of Dos, SYS will replace the
  148. boot sector, and you can use Findvirus to check that this has worked.
  149.  
  150. This leaves the body of the Ogre code in between the partition and the
  151. boot sector, but since there is nothing to load it in, it is perfectly
  152. harmless.  If in spite of that, you wish to get rid of it, then the
  153. simplest way is a low level format of the hard disk.
  154.  
  155. 4.18.5 Other information
  156.  
  157. It was first sighted in the US, but we have also had a case in Ealing
  158. near London.  Floppy disks are not infected correctly, and Ogre can
  159. write its code into a file on the diskette, not using the bad sectors
  160. that it creates.
  161.  
  162. Ogre is more infectious than Italian virus, as it can infect 80286 and
  163. 80386 machines, which Italian cannot.
  164.  
  165. 4.18.6 Technical details
  166.  
  167. If the computer is left on for 48 hours, and not accessed during the
  168. next hour, then the trigger is deferred for 255 hours, at which point
  169. a disk access will have the same effect.  In order to do this, it
  170. hooks interrupt 8, the timer tick.
  171.  
  172. To copy itself onto other diskettes, Ogre goes memory resident at boot
  173. up, occupying 8k of memory at the top of memory, and changing the byte
  174. 413h to reflect 8k less than the computer has.  It hooks interrupt
  175. 13h, and attempts to infect on read accesses to a disk.
  176.  
  177. When Ogre infects a hard disk, it writes the code into the sectors
  178. immediately preceding the boot sector.
  179.  
  180.  
  181. 4.19 Typo
  182.  
  183. Other names - None
  184. Infects - the boot sector of any writable diskette or hard disk except
  185. 80286 or 80386 machines.
  186.  
  187. Classification - Boot sector virus.
  188.  
  189. 4.19.1 Recognition and detection
  190.  
  191. If you look at the boot sector using Peeka or Norton, it will be full
  192. of program code, without the usual messages like "Not a system disk.".
  193.  
  194. You can detect infected diskettes by running Chkdsk (which comes with
  195. Dos).  If you get 1k of bad sectors, that's a good sign of Typo (or
  196. Italian virus), as FORMAT marks an entire track (5k on a 360k
  197. diskette) as bad if it finds a defect.  You can also use FindVirus
  198. from the Toolkit to detect Typo.
  199.  
  200.  
  201. 4.19.2 How the virus copies itself
  202.  
  203. When you boot from an infected diskette, the virus goes memory
  204. resident;  this is true whether the diskette is a boot disk or not.
  205. So the usual thing is for someone to have an infected data diskette,
  206. which they leave in drive A when they shut down.  Next day when they
  207. start up the computer, it attempts to boot from that diskette;  if it
  208. isn't a system diskette, you see the message "Not a system disk.
  209. Please insert a system disk and retry." or a similar message.  If that
  210. diskette was infected, the virus is now in memory, and when you
  211. continue the boot, it remains there.
  212.  
  213. While it is in memory, any disk that you access is liable to be
  214. infected.  If you access the diskette (whether read or write) and the
  215. diskette is write enabled then Typo will replace the boot sector with
  216. its own code, move the boot sector further up the disk, add the rest
  217. of the Typo code, and mark these sectors as bad in the FAT.  Typo also
  218. infects hard disks.
  219.  
  220. 4.19.3 What the virus does
  221.  
  222. It installs a routine that replaces the normal printer handler
  223. routine.  It sets a counter to 50, and decrements it each time a
  224. character is printed (unless it is an escape, in which case it
  225. increases it by five).  When the counter reaches zero, it does a typo.
  226. A typo consists of a character substitution from the following:
  227.  
  228. 18CKGJMNOU36VW27ckgjmnou49vw
  229.  
  230. So 1 is substituted for 8 and vice versa, C for K and so on.  It also
  231. does a substitution on some of the high order bytes:
  232.  
  233. 80h,92h,9ah,88h,97h,8bh,85h,8fh
  234.  
  235. This is more meaningful when the Hebrew character set is used.
  236.  
  237. 4.19.4 How to get rid of it
  238.  
  239. Boot from a clean Dos disk;  this is a Dos diskette that has come from
  240. the manufacturer, and has never been write enabled.  This ensures that
  241. there is nothing unwanted that is installed in memory.  Use Findvirus
  242. to determine which diskettes are infected.
  243.  
  244. Treatment consists of simply copying all the files off an infected
  245. diskette (using "COPY *.*";  do not use Diskcopy or any image copier),
  246. and reformatting the diskette (see below for details).  Alternatively,
  247. you can use UnVirus (part of the Toolkit) to remove the infection from
  248. a diskette;  UnVirus is a lot faster.
  249.  
  250. If a large number of diskettes are potentially infected, then you
  251. should consider borrowing our hopper-fed diskette cleaning machine,
  252. which can handle up to 700 diskettes per hour, sorting them into clean
  253. and contaminated bins.
  254.  
  255. If you have an outbreak of Typo, then while you clear it up, you
  256. should use Inoculate on all diskettes.  This works by putting the Typo
  257. signature (just two harmless bytes) on the boot sector of the
  258. diskette.  If Typo sees that signature, it thinks that the diskette is
  259. already infected, so doesn't attack it.  You cannot inoculate against
  260. Italian and Typo on the same diskette, as they use different
  261. signatures in the same place.
  262.  
  263. In the case of a hard disk, you could use a disk sector editor.  Find
  264. the original boot sector (it will be in the bad sectors) and copy it
  265. back to the place where it should be, at Logical Sector Number zero.
  266. I would recommend that you take a full backup before doing this, as if
  267. you get it wrong, you could make your disk inaccessible.  You could
  268. then patch the FAT to mark the bad sectors as usable.  We have not
  269. provided a utility to do this, as there are so many different layouts
  270. of hard disk to cope with.
  271.  
  272. An alternative, and much easier method, is as follows.  First boot
  273. from a clean Dos disk.  Then make two backups of the hard disk (the
  274. second backup is in case you find that you have a problem restoring
  275. the first backup).  With most versions of Dos, SYS will replace the
  276. boot sector, and you can use Findvirus to check that this has worked,
  277. but this still leaves you with the 2k in bad sectors;  this is now
  278. quite harmless, and can be ignored.  Alternatively, you can format the
  279. hard disk, using "FORMAT /S/V" and restore the backup;  this has the
  280. advantage of reclaiming the fake bad sectors.
  281.  
  282. 4.19.5 Other information
  283.  
  284. It was first sighted in Israel.  It is based on Italian virus, and the
  285. infective code is very similar indeed.
  286.  
  287. This is a very insidious virus.  Printers often give problems, and so
  288. do printer cables.  A lot of time will be wasted trying to fix a
  289. hardware fault before the virus is discovered.  Likewise, a lot of
  290. genuine printer problems will be blamed on this virus.
  291.  
  292. 4.19.6 Technical details
  293.  
  294. Like Italian, Typo does not work on 80286 and
  295. 80386 machines;  if you boot from an infected floppy, the machine
  296. hangs.
  297.  
  298. 4.22 Dark Avenger
  299.  
  300. Infects - any non-tiny COM or EXE file on any writable Dos device.
  301. Classification - Indirect Action File virus
  302.  
  303. 4.22.1 Recognition and detection
  304.  
  305. COM files grow by 1800 bytes, EXE files by a similar amount, subject
  306. to rounding up to a multiple of 16.  Probably the likeliest give away
  307. for this virus is the way it tries very hard to write to write
  308. protected diskettes, although there is no "Abort, Retry, Ignore?"
  309. message.
  310.  
  311. 4.22.2 How the virus copies itself
  312.  
  313. It is an Indirect Action File Virus.  When you run an infected COM or
  314. EXE file, it goes memory resident.  Thereafter, a number of actions
  315. can trigger an infection.  The virus makes files read/write and resets
  316. the attribute after infection.  It also preserves the date and time of
  317. files.  It only infects files if they are larger than about 1800
  318. bytes.
  319.  
  320. If you copy a file, the source and target are both infected.  If you
  321. read a file, it is infected, so if a program looks at all the files on
  322. a disk, that will infect all the files.  If you change the attribute
  323. of a file, that will infect it.  Loading and executing a file infects
  324. it, just like Jerusalem (1813) virus.
  325.  
  326. Because of all these infection mechanisms, it is a very infectious
  327. virus.
  328.  
  329. 4.22.3 What the virus does
  330.  
  331. It writes a sector that starts "Eddie lives...somewhere in time!" to a
  332. random sector on the hard disk, at intervals.  This sector might not
  333. land on anything, or it might overwrite part of a program or some
  334. data.  The damage done is therefore quite subtle.
  335.  
  336. 4.22.4 How to get rid of it
  337.  
  338. Boot from a clean Dos disk;  this is a Dos diskette that has come from
  339. the manufacturer, and has never been write enabled.  This ensures that
  340. Dark Avenger is not installed in memory.  You can then remove Dark
  341. Avenger by using Findvirus to search for all instances of the virus.
  342. Every infected file that you find, you can delete, and copy a good
  343. file in its place.  Run Findvirus again when you are finished, to make
  344. sure that all instances have been found.
  345.  
  346. If you want to replace the boot sector with a clean copy, you can take
  347. a full backup, and then use SYS C:  to do this.
  348.  
  349. Finally, you should install ChkVirus on all machines that are
  350. potentially infectable, to provide an early warning of a recurrence of
  351. this or another virus.
  352.  
  353. 4.22.5 Other information
  354.  
  355. There is a message that says "This program was written in the city of
  356. Sofia (C) 1988-89 Dark Avenger".  There is also a string "Diana P." -
  357. neither of these strings are used.  The virus only works on Dos 3 and
  358. above.
  359.  
  360. 4.22.6 Technical details
  361.  
  362. This virus does an end run around the disk interrupts.  So any program
  363. that checks to see if anything is using interrupt 13h or 40h will be
  364. fooled.  To do this, it attempts to replace interrupts 13h (disk and
  365. diskette) and 40h (diskette).  It also replaces interrupt 24h
  366. (critical error) with its own, to suppress the "Abort, Retry, Ignore?"
  367. message when it tries to infect a write-protected disk.  This doesn't
  368. work properly, and you can get a number of these messages if diskettes
  369. are write-protected.
  370.  
  371. In spite of carefully doing the end run round 13h and 40h, it does not
  372. attempt to avoid using interrupt 26h to write to the disk, so any TSR
  373. monitoring program that hooks that interrupt, will stand a chance of
  374. spotting it.
  375.  
  376. It also replaces interrupt 27h (terminate and stay resident) with its
  377. own version that doesn't let other programs use this method to go TSR,
  378. and replaces interrupt 21h.  It also traps the Dos calls to get or set
  379. interrupt 21h and 27h, and if any program tries to do this, it
  380. pretends that it has been done, but doesn't do it.
  381.  
  382. It uses the boot sector to store data;  every time an infected program
  383. is run, it increments a counter which is the last byte of the OEM
  384. label on the boot (byte 0ah), and zeros the four most significant
  385. bits.  When this byte is zero (every 16th time), it adds 40h to the
  386. word at offset 8 on the boot.
  387.  
  388. If the word at offset 8 is less than the number of sectors on the
  389. volume, it writes a sector that starts "Eddie lives...somewhere in
  390. time!" to the sector that it has calculated on the disk.  
  391.  
  392. 4.23 Vacsina
  393.  
  394. Infects - any non-tiny COM or EXE file on any writable Dos device.
  395. Classification - Indirect Action File virus
  396.  
  397. 4.23.1 Recognition and detection
  398.  
  399. EXE files are converted to COM files, and in the process, they grow by
  400. a hundred bytes or so (132 is typical).  The conversion is only done
  401. to files less than 63k, as COM files cannot be larger than that.  The
  402. conversion is done to the file format, but not to the file name, so
  403. there is no filename change.
  404.  
  405. COM files are infected, growing them by 1207 to 1213 bytes.  Only
  406. files that are 1206 bytes or larger are infected.  When a COM file is
  407. infected, the computer beeps.  The file's date is not preserved -
  408. that's the most likely way that this virus will be spotted.
  409.  
  410. When it infects a file, it accesses drive A, even if the infected
  411. program doesn't.
  412.  
  413. 4.23.2 How the virus copies itself
  414.  
  415. It is an Indirect Action File Virus.  When you run an infected COM or
  416. EXE file, it goes memory resident.  Thereafter, any time you load a
  417. COM or EXE file, that file is infected.  Readonly files are set to
  418. read/write and it then resets the attribute after infection.  EXE
  419. files are infected in two stages - first the conversion to COM, and
  420. then the COM infection.  EXE files are not in themselves infectious
  421. though - only COM files contain the code that goes memory resident.
  422.  
  423. 4.23.3 What the virus does
  424.  
  425. There is no payload to this virus, other than the beep when it infects
  426. a COM file.
  427.  
  428. 4.23.4 How to get rid of it
  429.  
  430. Boot from a clean Dos disk;  this is a Dos diskette that has come from
  431. the manufacturer, and has never been write enabled.  This ensures that
  432. Vacsina is not installed in memory.  You can then remove Vacsina by
  433. using Findvirus to search for all instances of the virus.  Every
  434. infected file that you find, you can delete, and copy a good file in
  435. its place.  Run Findvirus again when you are finished, to make sure
  436. that all instances have been found.
  437.  
  438. Finally, you should install ChkVirus on all machines that are
  439. potentially infectable, to provide an early warning of a recurrence of
  440. this or another virus.
  441.  
  442. 4.23.5 Other information
  443.  
  444. The virus is named after the string VACSINA that is found in each copy
  445. of it.  But it isn't clear how this virus could be considered a
  446. vaccinator in any sense.
  447.  
  448. 4.23.6 Technical details
  449.  
  450. The string VACSINA is a file name, of a file that it looks for on
  451. drive A.  If it finds it, it opens the file using an FCB call
  452. (interrupt 21h, function 0fh.  The file is left open as it does the
  453. infection, and when the infection terminates normally, the file is
  454. closed using an FCB call interrupt 21h, function 10h.  I cannot see
  455. the purpose of this call, unless it was something to do with
  456. debugging.
  457.  
  458. The virus author makes extensive use of the Dos function 45h,
  459. duplicate a file handle.  This is done for error handling, and is not
  460. a feature of any other virus so far. 
  461.  
  462. 4.24 Mix1
  463.  
  464. Infects - any non-tiny EXE file on any writable Dos device.
  465. Classification - Indirect Action File virus
  466.  
  467. 4.24.1 Recognition and detection
  468.  
  469. This is a virus with a lot of interesting effects, any of which might
  470. be noticed.  The most obvious is the garbling of serial and parallel
  471. port information;  the garble is quite noticeable.
  472.  
  473. In late generation infections (see below for details) the virus
  474. displays a bouncing ball, the lower case letter "o", which bounces off
  475. the sides of the screen like a ping pong ball.  It is not deflected by
  476. letters on the screen (unlike Italian virus) but does replace letters
  477. that it passes over.  the bouncing ball display comes up 60 minutes
  478. after the virus goes memory resident.
  479.  
  480. Also in late generation infections, after 50 minutes the keyboard
  481. handler is replaced, with a routine that always turns off Caps Lock,
  482. and always switches Num Lock on.  Also, if you reboot at that time, it
  483. triggers the video display.
  484.  
  485. The virus doesn't disable the "Abort, Retry, Ignore" message, so that
  486. if it tries to infect a write protected diskette, it gives that
  487. message.
  488.  
  489. Only EXE files are infected, and they grow by 1620 or so bytes.  Files
  490. are not infected unless they are greater than 8192 bytes.
  491.  
  492. 4.24.2 How the virus copies itself
  493.  
  494. It is an Indirect Action File Virus.  When you run an infected EXE
  495. file, it goes memory resident.  Thereafter, any time you load an EXE
  496. file, that file is infected.  Readonly files are set to read/write and
  497. it then resets the attribute after infection.  The memory resident
  498. part of the virus is in high conventional memory, consuming 2048
  499. bytes.
  500.  
  501. 4.24.3 What the virus does
  502.  
  503. The main effect is the garbling of the parallel and serial ports,
  504. which will affect modems and printers.  It uses a simple table;  here
  505. is the translation for letters (numbers are unaffected).
  506.  
  507. abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ   becomes
  508. ebsdapghejklmnufqrctovwxyz BECDAPGHYJKLMNUFQRSTOVWXIZ
  509.  
  510. So, for example,
  511.  
  512. Bad command or file name   becomes
  513. Eed summend ur pela nema
  514.  
  515. 4.24.4 How to get rid of it
  516.  
  517. Boot from a clean Dos disk;  this is a Dos diskette that has come from
  518. the manufacturer, and has never been write enabled.  This ensures that
  519. Mix1 is not installed in memory.  You can then remove Mix1 by using
  520. Findvirus to search for all instances of the virus.  Every infected
  521. file that you find, you can delete, and copy a good file in its place.
  522. Run Findvirus again when you are finished, to make sure that all
  523. instances have been found.
  524.  
  525. If the outbreak is on a large site, you can use Inoculate to prevent a
  526. re-infestation as you clean up.
  527.  
  528. Finally, you should install ChkVirus on all machines that are
  529. potentially infectable, to provide an early warning of a recurrence of
  530. this or another virus.
  531.  
  532. 4.24.5 Other information
  533.  
  534. This virus is modelled after the Icelandic viruses, but the virus
  535. author has put everything that he can think of into the payload.  It
  536. was first detected in Israel in August 1989.
  537.  
  538. 4.24.6 Technical details
  539.  
  540. There is a counter in the virus, which counts the number of infections
  541. since the virus went memory resident, and this counter is written out
  542. to each infected file.  If the counter is greater than 5, then when
  543. such a late generation instance of the virus goes TSR, it replaces the
  544. timer tick (int 8) and the keyboard handler (int 9), as well as int
  545. 14h (serial) and int 17h (parallel).  It is the replacement of int 8
  546. and 9 that eventually trigger the bouncing o display, the caps lock
  547. and num lock twiddling, and the reboot display.  This doesn't work
  548. properly, and on a CGA, just triggers typical CGA snow.
  549.  
  550. To go memory resident, the virus uses Memory Control Blocks directly,
  551. instead of using the Dos interrupts to do so.  
  552.  
  553. 4.25 Fumble
  554.  
  555. Infects - any COM file on any writable Dos device.
  556. Classification - Direct Action File virus
  557.  
  558. 4.25.1 Recognition and detection
  559.  
  560. This virus makes you seem to hit the wrong key, but only rarely.  COM
  561. files grow by 867 bytes.
  562.  
  563. The virus doesn't disable the "Abort, Retry, Ignore" message, so that
  564. if it tries to infect a write protected diskette, it gives that
  565. message.  However, it does preserve date/time, and the file's
  566. attribute (it temporarily sets it to read/write in order to infect
  567. it).
  568.  
  569. 4.25.2 How the virus copies itself
  570.  
  571. It is an Direct Action File Virus.  When you run an infected COM file,
  572. it infects every other uninfected COM file in that subdirectory.  It
  573. detects whether a file is infected or not, by looking for the
  574. characters "V1" immediately after the original infected program.
  575.  
  576. On odd days (the first, third, fifth etc of each month) it does not
  577. infect.
  578.  
  579. 4.25.3 What the virus does
  580.  
  581. The virus replaces the keyboard handler, interrupt 16h.  If it is in
  582. place, it occasionally replaces the key that is typed, with the key
  583. immediately to the right (actually, it is a bit more complicated than
  584. this - see below).
  585.  
  586. 4.25.4 How to get rid of it
  587.  
  588. Boot from a clean Dos disk;  this is a Dos diskette that has come from
  589. the manufacturer, and has never been write enabled.  This ensures that
  590. Fumble is not installed in memory.  You can then remove Fumble by
  591. using Findvirus to search for all instances of the virus.  Every
  592. infected file that you find, you can delete, and copy a good file in
  593. its place.  Run Findvirus again when you are finished, to make sure
  594. that all instances have been found.
  595.  
  596. Finally, you should install ChkVirus on all machines that are
  597. potentially infectable, to provide an early warning of a recurrence of
  598. this or another virus.
  599.  
  600. 4.25.5 Other information
  601.  
  602. This virus has only ever been found on one site.
  603.  
  604. 4.25.6 Technical details
  605.  
  606. The virus defines a new function for interrupt 16h, function 0ddh.  If
  607. interrupt 16h is called with that in the AH register, then it returns
  608. with 0ddh in the AL register.  The virus uses this to determine
  609. whether it is already installed.
  610.  
  611. The fumble table used is:
  612.  
  613. `12345687790-=\~!@#$%^&*()_+|qwertyuiop[][asdfghjkl;'
  614. zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:";ZXCVBNM<>?.
  615.  
  616. The way the table is used is, each letter is replaced by the letter on
  617. the right.
  618.  
  619. The fumble only activates if you type at better than six characters
  620. per second (approximately 60 wpm).  If you type at that speed, after
  621. not using the keyboard for five seconds, you get a fumble.  There is
  622. code in the virus that should gradually decrease that five second gap,
  623. but it doesn't work correctly.  
  624.  
  625. 4.26 Dbase
  626.  
  627. Infects - any COM file on any writable Dos device.
  628. Classification - Indirect Action File virus
  629.  
  630. 4.26.1 Recognition and detection
  631.  
  632. COM files grow by 1864 bytes, and 1884 bytes are subtracted from the
  633. top of conventional memory, which would be shown up by Chkdsk or
  634. Checkmem (in the Toolkit).
  635.  
  636. The virus doesn't disable the "Abort, Retry, Ignore" message, so that
  637. if it tries to infect a write protected diskette, it gives that
  638. message.  However, it does preserve date/time, and the file's
  639. attribute (it temporarily sets it to read/write in order to infect
  640. it).
  641.  
  642. .DBF files are garbled (see below for details).  The virus creates a
  643. hidden file in the root directory called C:\BUGS.DAT.
  644.  
  645. The way you are most likely to detect this virus is if you copy a file
  646. with the extension DBF to an uninfected computer, and then you find
  647. that a database that is fine on the infected computer, is garbled on
  648. the clean one.
  649.  
  650. 4.26.2 How the virus copies itself
  651.  
  652. It is an Indirect Action File Virus.  When you run an infected COM
  653. file, part of the virus goes memory resident.  Then, when you run
  654. another COM program, it infects that from the memory resident part.
  655.  
  656. 4.26.3 What the virus does
  657.  
  658. It intercepts the Dos functions to create, open, read, write and close
  659. a file.  If the file does not have the DBF extension, it ignores it
  660. (DBF is a common extension for database files).  If it does have a DBF
  661. extension, it garbles it.
  662.  
  663. The garble is very simple - it just interchanges pairs of bytes;  it
  664. is equally easy to ungarble a garbled file, by writing a program that
  665. swaps pairs of bytes back again.  We have written such a program, and
  666. it available free of charge to any registered user of the Anti-Virus
  667. Toolkit that has been affected by this virus.  It isn't on the Toolkit
  668. diskette, as the virus has only ever been seen on one site.
  669.  
  670. The virus creates a hidden file C:\BUGS.DAT that contains the list of
  671. garbled files.  If you create a .DBF file (whether you start up a new
  672. database, or copy a file, or make a backup to a file with this name)
  673. three months after the BUGS.DAT file is created, then a damage routine
  674. is triggered.  The same thing happens if the system date is three
  675. months before the date of BUGS.DAT.
  676.  
  677. The first thing to say is that the damage routine doesn't actually
  678. work.  This is because of a bug in it.  But if it had worked, it would
  679. have written garbage over the first 256 sectors on the hard disk,
  680. overwriting the boot, both copies of the File Allocation Table, and
  681. the whole directory.  It does this to every device attached to the
  682. computer, starting at device D, and working up to device Z.  On most
  683. computers, there is no drive D, and the system will just hang, with no
  684. damage done.  On networks, the direct write to the device will be
  685. disallowed by the network software.  So the only time this routine
  686. will work, is if there is a local drive D.
  687.  
  688. 4.26.4 How to get rid of it
  689.  
  690. Boot from a clean Dos disk;  this is a Dos diskette that has come from
  691. the manufacturer, and has never been write enabled.  This ensures that
  692. Dbase is not installed in memory.  You can then remove Dbase by using
  693. Findvirus to search for all instances of the virus.  Every infected
  694. file that you find, you can delete, and copy a good file in its place.
  695. Run Findvirus again when you are finished, to make sure that all
  696. instances have been found.
  697.  
  698. Finally, you should install ChkVirus on all machines that are
  699. potentially infectable, to provide an early warning of a recurrence of
  700. this or another virus.
  701.  
  702. 4.26.5 Other information
  703.  
  704. This virus has only ever been found on one site.  It seems to be
  705. targetted, as it only attacks .DBF files.
  706.  
  707. 4.26.6 Technical details
  708.  
  709. To determine whether the virus is already memory resident, it puts
  710. 0fb0ah in the AX register, and calls interrupt 21h.  If the interrupt
  711. returns with 0afbh in the AX register, then the virus was already
  712. installed.
  713.  
  714. The virus traps dos interrupt 21h, functions 6ch (Dos 4 create file
  715. extended), 5bh (create new file), 3ch (create file), 3dh (open file),
  716. 3fh (read file), 40h (write to file) and 3eh (close file).  It also
  717. traps 4bh, and uses this as the trigger to infect a file. 
  718.  
  719.  
  720.