Vulnerability Development mailing list archives

Advisory on (Award) BIOS default/backdoor passwords


From: 11a () GMX NET (Bluefish)
Date: Tue, 18 Jul 2000 17:58:25 +0200


Advisory on (Award) BIOS default/backdoor passwords
===================================================

 Author:  bluefish () 11a nu
          http://bluefish.11a.nu/

 Created: 2000-07-18 (%Y-%m-%d)
 Last ed: 2000-07-18 (%Y-%m-%d)

 The author does not make any claims of correctness, lack of typos,
 correctness or responsibility for usage etc, etc. Any error is probably
 due to lack of coffee.

Abstact
=======

 The recent search for default/backdoor passwords in security mailinglists
 such as vuln-dev and bugtraq has uncovered suspiciously long lists of
 passwords for BIOSes, mainly for Award BIOS. As suspected, some of them
 are false or 'duplicates'. This advisory is intended to aid maintainers
 of such lists to advoid listing such.

 These passwords are fundamental tools for in numerous situations,
 everything from doing security reviews (verify if you are vulnerable to
 them), fixing computers after password loss or cmos corruption, to
 simplify malicious attacks. Any way around, error free lists makes
 everyones life easier.

Summary
=======

 I've identified three kinds of misstakes in published lists regarding
 BIOSes;

 (a) softwares incorrectly listed as passwords. "KILLCMOS" and "BIOS310"
     was noted which are wellknown "anti-password" tools. I sincerly doubt
     that any manufacturer uses them as passwords...
     If they do, their engineers sure got weird humor.

 (b) "duplicates" of one and the same Award password. A "duplicate" is a
     password which has an equal Award hash as other, allready listed,
     passwords. More about this later in the advisory.

 (c) Award hashes accidently listed as plaintext passwords. 1EAAh is such
     an example, it is not a password, it is an Award hash.

Introduction to the Award Hash (message digest algorithm)
=========================================================

 As the main developer of "!BIOS", one of the BIOS Password recovery
 widely available, I investigated the Award BIOS years ago and it was one
 of my first attacks against a simple cryptographic system.

 It turns out that it is extremly weak, the message digest is only 16 bit
 and the algorithm used is made up of two rotations and one addition for
 each character.

 To the best of my knowledge, "!BIOS" was the first cracker which cracked
 this version of Award, but since then several others have successfully
 attacked it, most successfully the code by Jan Stohner, "pwdigit", which
 now is included in "!BIOS". Additionally, we later reverse engineered
 some parts the F000 memory segment and derived a copy of the original
 algorithm.

 On Award, these passwords aren't merely default passwords, but backdoor
 passwords which will override any admin or user password. On some systems
 this hash is readable at FEC60, "!BIOS" among other tools can try to
 decipher it. In some newer Awards the algorithm is only used for
 user/admin passwords and another routine (one to one cipher, not a hash)
 is used to store the backdoor password.

List of "duplicate" Award passwords
===================================
 I've identified the following "duplicates":

 Duplicates with hash 1EAA:
 01322222, 589589, 589721, zjaaadc, AWARD_SW

 Duplicates with hash 16AA:
 g6PJ, h6BB, j09F, j256, j262, j322

 Duplicates with hash 7409:
 CONCAT, djonet, efmukl

 Duplicates with hash BEA2:
 TTPTHA, ttptha, ZAAADA

 Additionally I suspect that the following passwords are really typos and
 should be "AWARD_SW". However, I have no proof of it. They do NOT give
 the same hash as "AWARD_SW" though!

 award_ps, AWARD_PW, award.sw, AWARD?SW, award_?

Tool used to identify "duplicates":
===================================

 I created a simple program in java which takes a password from the
 command-line and then tell you the hash corresponding to it. I used it
 together with the following command:
    cat awpass.txt | awk '{ print "java ptToAw " $1 }' | sh

 There may be some minor bugs in the software.

   public class ptToAw {
     public static short awardEncipher(String s) {
       short ax, bx, cx;
       ax = bx = 0;
       s = s.trim().toUpperCase();
       for (cx=0; cx<s.length(); cx++) {
         ax = (short) s.charAt(cx);
         bx = rol_1(rol_1(bx));
         bx = (short) (ax+bx);
       }
       return bx;
     }
     private static short rol_1(short x) {
       return (short) ((x<<1)^((x>>15)&1));
     }
     public static void main(String[] argv) {
       int md, i;
       for (i=0; i<argv.length; i++) {
         md = awardEncipher(argv[i]) & 0xFFFF;
         System.out.println(Integer.toHexString(md)+
                                    " :: "+argv[i]);
       }
     }
   }

References and credits:
=======================
  Thanks & credits goes to

    * Nathan Einwechter, for compiling a list of known BIOS passwords.
      Nathan can be reached at psychospy () softhome net, please notify
      him if you are aware of any BIOS passwords.

    * People maintaining the default/backdoor password lists on the net.

    * bugtraq & vuln-dev posters participating in the disclosure of
      default/backdoor passwords.

  Links related to this post

    * The original Award algorithm, "!BIOS", etc can be found at:
        http://www.11a.nu/

    * default/backdoor password lists can be found at:
        http://www.phenoelit.de/dpl/ (maintained by dev () phenoelit de)

    * vuln-dev and bugtraq archives can be found at:
        http://www.securityfocus.com/

EOF

This advisory was originally posted to:
  vuln-dev (security mailinglist)
  ibiosdev (BIOS security forum)
  psychospy () softhome net, maintains a BIOS password list
  dev () phenoelit de, maintains a password list

..:::::::::::::::::::::::::::::::::::::::::::::::::..
     http://www.11a.nu || http://bluefish.11a.nu
    eleventh alliance development & security team


Current thread: