Welcome Guest. | Log In| Register | Membership Benefits
Dark Reading's evil-bytes Weblog

Topics:   Evil Bytes
  • Email this page E-mail this page
  • |  Print Print this page
  • |   Bookmark and Share

Detection And Defense Of Windows Autorun Locations

As an incident responder and forensic investigator, there's a truth we expect malware to always follow: Persistence is a must to survive. OK, exceptions exist. But the general rule of thumb is that malware seeks to persist, and it will hook itself into common areas on a victim Windows machine to do so.

Jul 19, 2010 | 03:05 PM | 

By John H. Sawyer
Dark Reading
As an incident responder and forensic investigator, there's a truth we expect malware to always follow: Persistence is a must to survive. OK, exceptions exist. But the general rule of thumb is that malware seeks to persist, and it will hook itself into common areas on a victim Windows machine to do so.One of the first places we look is the common "autorun" locations, or areas in the file system and Windows Registry that cause processes and services to run when Windows boots. If you remember the old "msconfig" utility, it's an example of one of the tools that allowed you to see what was enabled to start within the Startup folder, autorun.exe, config.sys, and other files. There was also Windows Services MMC and Regedit, which helped determine what was starting up at boot time.

Those tools were OK in a pinch, but they gave a limited view. Autoruns by Microsoft Sysinternals quickly supplanted all of them by providing much more insight into what was really starting when a Windows computer boots up. It's extremely comprehensive. Take a look at the following list, published at Immutable Security, of the different locations from which Autoruns draws its startup information.

It's an incredible list for responders -- and attackers who are trying to get their malware or backdoor installed during a penetration test. In addition, don't miss the recent blog from Nick Harbour at Mandiant about hijacking the search order of DLLs when they're loaded -- wicked research, Nick. After a quick read, it seems almost stupidly simple and makes you wonder why it hasn't been discussed at length before.

That all begs the question: What about defense and detection of things taking advantage of these common startup locations? We know there are numerous but limited numbers of places to search -- even though running Nick's free "finddllhijack.exe" tool will make you think otherwise. Autoruns definitely give a good start with the list linked above and little tricks to narrow down our search, like hiding Microsoft entries, verifying certificate signatures, and detailed metadata for each entry.

Monitoring all of these location should also be implemented and alerts sent whenever a file or Registry entry is written to or modified in any of these locations. OSSEC HIDS can serve that purpose nicely -- it's free and open source.

Determining which DLLs can be hijacked is another good place to start with detection, but doing so could prove to be as easy as finding a needle in a haystack when you can easily have 1,000-plus hijackable DLLs. DLLs loaded on a running system could be compared to the ones loaded on a "gold image" to find discrepancies that might indicate hijacking. My guess is now that this method of persistence is being talked about in the community, new tools will be popping up soon.

Defense can, and should, be approached with a few different methods. For one, detection through monitoring, as mentioned above, is very important. Preventing those areas from being written to is just as important as monitoring any attempts to modify or write to them. Windows provides its own mechanisms to prevent modifications to certain areas if you're not an administrator, but if you are an admin, it's basically "game over."

Application whitelisting is another area of defense that might help because it has the potential to prevent unknown DLLs from being loaded, but I haven't tested this to be sure...it's a good question to ask your friendly application whitelisting vendor.

I feel like a G.I. Joe public service announcement, but, truly, knowing is half the battle. My twist is, having the budget is the other half. Arm yourself with the knowledge of where these things are so you can fight them better.

John H. Sawyer is a senior security engineer on the IT Security Team at the University of Florida. The views and opinions expressed in this blog are his own and do not represent the views and opinions of the UF IT Security Team or the University of Florida. When John's not fighting flaming, malware-infested machines or performing autopsies on blitzed boxes, he can usually be found hanging with his family, bouncing a baby on one knee and balancing a laptop on the other. Special to Dark Reading.



Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dark Reading encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dark Reading moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing/SPAM. Dark Reading further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
Subscribe to RSS









  1. Cookies, Social Media And FireSheep
  2. SMB Guide To Credit Card Regulations, Part 2: The Low-Hanging Fruit
  3. HP And The Scary Corporate Fifth Column Concept
  4. Taking USB Attacks To The Next Level
  5. NoSQL: Not Much, Anyway
  1. Taking Cybersecurity Lessons To The Bank
  2. Researchers See Real-Time Phishing Jump
  3. 'BlackSheep' Sniffs Out Firesheep WiFi-Hacking
  4. Slideshow: Ten Free Security Monitoring Tools
  5. A Different Spin On Sleuthing Stuxnet
  6. M&A Activity Muddles Database Security
  1. Secure Managed Web Hosting Saves 960.gs from Malicious Hackers
  2. Access Governance as a Business Service: An Integrated Strategy for Automation with ITSM
  3. Business Driven Access Management and Governance: Simplifying the Delivery and Governance of Access Throughout
 
 


 
  Ars Technica
Boing Boing
Channel 9 Forums
CRN Blogs
Dr.Dobb's Portal: Blogs
Engadget
Gizmodo
GrokLaw
  Lifehacker
Schneier on Security
Slashdot
TechCrunch
Techdirt
Techmeme
Valleywag
 
  February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
  May 2010
April 2010
March 2010
February 2010
January 2010
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008