Windows XP Startup Methods

There are literally dozens of ways for programs to be launched when Windows starts. While these methods all have valid uses, many are often exploited by malware and viruses. Therefore, it’s a good idea to become familiar with them.

Contributed by
Rating: 4 stars4 stars4 stars4 stars4 stars / 7
May 02, 2007
Rate this Article:
MEH MEH++


SEARCH ASP FREE
TOOLS YOU CAN USE

advertisement

You can classify start up methods into three basic categories:  the registry, startup directories, and startup file.  We’re going to take each of these categories one at a time and look and the most common methods for each of them.

The Windows Registry is a combination of files that work as a sort of database to hold system configuration settings.  This provides an interface similar to a directory hierarchy that houses keys with data/value pairs to store the information.

Changing the wrong settings in your registry can have catastrophic effects that render your system completely unusable.  Always take precautions; follow directions and back up your registry before making any changes.

The second method of starting applications is by the use of startup folders.  These are folders on your system that contain either programs or shortcuts to programs.  Each of the items in these folders is executed at a certain stage of the startup process.

The last method of starting applications is the file method.  In most cases this is considered a legacy method.  Certain system files contain entries that are executed during startup.  While the registry should generally be used for this, these methods remain largely available for reverse compatibility with software designed for use in older versions of Windows.

Startup Registry Keys

There are far too many startup registry keys to cover in this article.  I’m only going to focus on the most commonly used and exploited ones.  You can find links to more information at the end of this article.

The most common of these registry keys are the ones commonly referred to as the Run Keys.  These are keys specifically used to schedule program startup.  There are three sets of them: one under the HKEY_LOCAL_MACHINE root, another under HKEY_CURRENT_USER, and the last under HKEY_USERS.

HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion
RunServicesOnce


HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunOnce
Setup


HKEY_USERS.DefaultSoftwareMicrosoftWindowsCurrentVersionRun
HKEY_USERS.DefaultSoftwareMicrosoftWindowsCurrentVersionRunOnce

The keys under HKEY_LOCAL_MACHINE are executed regardless of who logs on to the computer.  These are system-wide startup settings.  HKEY_CURRENT_USER houses the settings specific to the currently logged on user and HKEY_USERS houses each user profile.

The Run keys execute processes at every startup.  The RunOnce keys are only executed once and then deleted upon successful execution.  The same is true for the RunServices and RunServicesOnce keys except that they are executed as system services instead.

One commonly exploited key is the one seen below.  Specifically, its Shell value is responsible for identifying the executable that starts the system shell, namely Explorer.exe.  However, this key can be changed to execute unwanted programs unbeknownst to the user.

HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon

The Winlogon process is responsible for much of Windows startup.  It provides the user login system as well as starting the Windows environment.  There are two other common locations used to exploit this process as well.

HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogonUserinit

HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogonNotify

The first is a value that contains another setting used internally by Windows and should never be changed from its default.

The second is ended for use by Winlogon Notification Packages. These are programs designed to perform certain actions when Winlogon events, such as Logon or Logoff, are triggered.  Placing a harmful executable in this key will cause the exploit code to be executed every time one of these events occurs.

As much as I would love to be complete, there are far too many of these to cover in this article.  Please read the links provided for more information.  If you have questions about specific keys or their intended purpose, please post those questions in this article’s blog.

Startup Folders

As with the Registry, there are startup folders with legitimate uses and those that are commonly exploited.  Let’s take a look.

Most likely the first one of these folders that comes to mind is the one so appropriately named Startup.  Each user has his/her own and there is one that is common to all users in the All Users profile.

As I just eluded, these are located in user profile directories found in the Documents and Settings folder.  A typical location might look like this:

C:Documents and SettingsUsernameStart MenuProgramsStartup

Any program or shortcut placed in this folder will be executed as soon as the Desktop is initialized.  You can see these easily by looking in the Startup folder on your Start Menu.

Keep in mind that it is very easy to hide unwanted programs in these locations on a default Windows installation.  Unless you have enabled viewing of hidden files and folders, any shortcut with a hidden attribute will not appear on your start menu but will still be executed.

Unless you are a power user, this next location probably goes overlooked.  But it shouldn’t.  Not only is it a huge security vulnerability but it’s also commonly exploited.

%windir%Tasks

This is the folder responsible for housing Scheduled Tasks.  While traditional scheduled tasks are specialized shortcuts designed to include information about when and how often a process should be executed, dropping anything in this folder is likely to make it execute.

windirsystemiosubsys

windirsystemvmm32

These final two locations are intended for internal use by the operating system for housing processes related to Windows functionality such as hardware drivers.  Identifying rogue programs in these folders is generally very difficult unless you really know what you’re looking for.

Startup Files

While older versions of Windows had many startup file locations, this is much less common in Windows XP.  Again, they are provided for reverse compatibility, but in my experience are much less reliable than registry entries.

%windir%systemautoexec.nt

%windir%systemconfig.nt

These are essentially the Windows NT equivalents of the Autoexec.bat and Config.sys files found in older versions of Windows.

%windir%system.ini

%windir%win.ini

As in older versions of Windows, these files house some basic startup configuration settings.  In win.ini pay close attention to the [load] and [run] sections.  In system.ini you’ll want to watch the [boot] section.

Again, the possibilities don’t stop here, but unfortunately I’m out of space.  For more information about Windows startup methods, check out these very informative links:

http://www.diamondcs.com.au/index.php?page=autostarts

http://gladiator-antivirus.com/forum/index.php?showtopic=24610

Thanks for reading.  I hope you found this article at least a bit informative.  For every one of the dozens of startup methods available there is probably at least that many viruses that target it.

Educating yourself with the inner workings of Windows is the only true way to become a power user.  Until next time…

blog comments powered by Disqus
BRAINDUMP ARTICLES

- Microsoft Windows 8 Committed to Cloud Compu...
- Independent Developers Favor Windows Phone 7
- Dell Introduces VMware-based Cloud
- Microsoft and Skype Agree to Acquisition Deal
- Transfer Contacts in Microsoft Outlook
- Zune`s Next Steps
- Safari Books Online Review
- Does Microsoft Get Touch Screens Now?
- Microsoft`s Record Quarterly Earnings Not En...
- Basic Operations and Registers in Assembly
- Assembly Coding within Visual C/C++ IDE
- New Microsoft Office Coming with a Twist
- Microsoft`s FUSE Labs Unveils Spindex Social...
- HP Slate with Windows 7: Dead or Alive?
- Windows Phone 7 Mobile OS to Rival Android a...

ASP Web Hosting ASP.Net Web Hosting Windows Web Hosting
 
 
 

ASP Free Forums 
 RSS  Tutorials RSS
 RSS  Forums RSS
 RSS  All Feeds
Site Map 
Request Media Kit
Write For Us Get Paid 
Weekly Newsletter
 
Developer Updates  
Free Website Content 
Privacy Policy 
Support 


© 2003-2012 by Developer Shed. All rights reserved. DS Cluster 7 - Follow our Sitemap
Most Popular Topics
All ASP.Net Tutorials