<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Talk Tech To Me - GFI Blog &#187; Andre Muscat</title>
	<atom:link href="http://www.gfi.com/blog/author/andre-muscat/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gfi.com/blog</link>
	<description>Brought to you by GFI Software</description>
	<lastBuildDate>Fri, 13 Sep 2013 16:51:58 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Windows 2008 R2 – When will I get it?</title>
		<link>http://www.gfi.com/blog/windows-2008-r2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=windows-2008-r2</link>
		<comments>http://www.gfi.com/blog/windows-2008-r2/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 08:07:12 +0000</pubDate>
		<dc:creator>Andre Muscat</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Tech Zone]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Server 2008]]></category>

		<guid isPermaLink="false">http://www.gfi.com/blog/?p=830</guid>
		<description><![CDATA[Windows 7 RTM build distribution plan is in execution to partners and public; however, we were missing the dates when Windows 2008 Server R2 RTM would be made available. Thanks to the Windows 2008 R2 team blog, these dates are &#8230;]]></description>
				<content:encoded><![CDATA[<p><a class="lightbox" title="Windows Server 2008 R2" href="http://www.gfi.com/blog/wp-content/uploads/2009/08/windowsserver2008R2.jpg"><img class="alignright size-full wp-image-846" style="margin: 10px;" title="Windows Server 2008 R2" src="http://www.gfi.com/blog/wp-content/uploads/2009/08/windowsserver2008R2.jpg" alt="" width="225" height="154" /></a>Windows 7 RTM build <a href="http://www.gfi.com/blog/confirmed-windows-7-rtm-build-complete/">distribution plan is in execution</a> to partners and public; however, we were missing the dates when Windows 2008 Server R2 RTM would be made available. Thanks to the <a href="http://blogs.technet.com/windowsserver/archive/2009/07/22/when-to-expect-windows-server-2008-r2-rtm.aspx" target="_blank">Windows 2008 R2 team blog</a>, these dates are now available:</p>
<p> </p>
<p><span id="more-830"></span></p>
<p> </p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="312" valign="bottom">ISV (Independent software vendor) partners<br />
IHV (Independent hardware vendor) partners</td>
<td width="135" valign="bottom">MSDN</td>
<td width="177" valign="bottom">August 14<sup>th</sup> 2009</td>
</tr>
<tr>
<td width="312" valign="bottom">Microsoft Partner Program – Gold Certified</td>
<td width="135" valign="bottom">Microsoft Partner Program (MPP)</td>
<td width="177" valign="bottom">August 19<sup>th</sup> 2009</td>
</tr>
<tr>
<td width="312" valign="bottom">Microsoft Action Pack subscribers</td>
<td width="135" valign="bottom"> </td>
<td width="177" valign="bottom">August 23<sup>rd</sup> 2009</td>
</tr>
<tr>
<td width="312" valign="bottom">OEMs</td>
<td width="135" valign="bottom"> </td>
<td width="177" valign="bottom">July 29<sup>th</sup> 2009</td>
</tr>
<tr>
<td width="312" valign="bottom">Volume License customers with Software Assurance</td>
<td width="135" valign="bottom">Volume License Service Center</td>
<td width="177" valign="bottom">August 19<sup>th</sup> 2009</td>
</tr>
<tr>
<td width="312" valign="bottom">Volume License customers without Software Assurance</td>
<td width="135" valign="bottom">Volume License Service Center</td>
<td width="177" valign="bottom">September 1<sup>st</sup> 2009</td>
</tr>
<tr>
<td width="312" valign="bottom">Technet &amp; MSDN subscribers</td>
<td width="135" valign="bottom"> </td>
<td width="177" valign="bottom">August 14<sup>th</sup> 2009</td>
</tr>
<tr>
<td width="312" valign="bottom">Everyone else</td>
<td width="135" valign="bottom">Retail stores</td>
<td width="177" valign="bottom">September 14<sup>th </sup>2009</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.gfi.com/blog/windows-2008-r2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Confirmed: Windows 7 RTM build complete. Now when will you get it?</title>
		<link>http://www.gfi.com/blog/confirmed-windows-7-rtm-build-complete/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=confirmed-windows-7-rtm-build-complete</link>
		<comments>http://www.gfi.com/blog/confirmed-windows-7-rtm-build-complete/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 07:12:20 +0000</pubDate>
		<dc:creator>Andre Muscat</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Tech Zone]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[Windows Server 2008]]></category>

		<guid isPermaLink="false">http://www.gfi.com/blog/?p=642</guid>
		<description><![CDATA[July 22nd 2009 - Steve Ballmer signed off the RTM builds for both Windows 7 and Windows Server 2008 R2 at the annual sales kick-off event in Atlanta. This is big news for us all at GFI. Video of signing: Windows &#8230;]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.gfi.com/blog/wp-content/uploads/2009/07/Windows7.jpg"><img class="alignright size-medium wp-image-508" title="Windows7" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/Windows7-300x261.jpg" alt="" width="240" height="209" /></a>July 22<sup>nd</sup> 2009 - Steve Ballmer signed off the RTM builds for both <a href="http://windowsteamblog.com/blogs/windows7/archive/2009/07/22/windows-7-has-been-released-to-manufacturing.aspx">Windows 7</a> and <a href="http://blogs.technet.com/windowsserver/archive/2009/07/22/windows-server-2008-r2-rtm.aspx">Windows Server 2008 R2</a> at the annual sales kick-off event in Atlanta. This is big news for us all at GFI.</p>
<p>Video of signing: <a href="http://www.microsoft.com/video/en/us/details/09345636-7bed-4d29-8c97-97dc41d6574b?vp_evt=eref&amp;vp_video=Windows%207%20Sneak-Peak%20from%20MGX">Windows 7 Sneak-Peak from MGX</a></p>
<p>Congratulations to the engineering teams of both products! I am personally very much looking forward to using the latest code, as I was well impressed with the quality of the RC. The next question would be of course : When will I get it? The Microsoft Windows Team blog answered just that in their recent post titled “When will you get Windows 7 RTM?”</p>
<p><span id="more-642"></span>In summary:</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="319" valign="top"><strong>ISV (Independent software vendor) partners<br />
IHV (Independent hardware vendor) partners</strong></td>
<td width="138" valign="top"><strong>Microsoft Connect</strong></td>
<td width="181" valign="top"><strong>August 6<sup>th</sup> 2009</strong></td>
</tr>
<tr>
<td width="319" valign="top"><strong>Microsoft Partner Program – Gold Certified</strong></td>
<td width="138" valign="top"><strong>Microsoft Partner Network (MPN)</strong></td>
<td width="181" valign="top"><strong>August 16<sup>th</sup> 2009</strong></td>
</tr>
<tr>
<td width="319" valign="top"><strong>Microsoft Action Pack subscribers</strong></td>
<td width="138" valign="top"><strong> </strong></td>
<td width="181" valign="top"><strong>August 23<sup>rd</sup> 2009</strong></td>
</tr>
<tr>
<td width="319" valign="top"><strong>OEMs</strong></td>
<td width="138" valign="top"><strong> </strong></td>
<td width="181" valign="top"><strong>2 days after RTM</strong></td>
</tr>
<tr>
<td width="319" valign="top"><strong>Volume License customers with Software Assurance</strong></td>
<td width="138" valign="top"><strong>Volume License Service Center</strong></td>
<td width="181" valign="top"><strong>August 7<sup>th</sup> 2009</strong></td>
</tr>
<tr>
<td width="319" valign="top"><strong>Volume License customers without Software Assurance</strong></td>
<td width="138" valign="top"><strong>Volume License Service Center</strong></td>
<td width="181" valign="top"><strong>September 1<sup>st </sup>2009</strong></td>
</tr>
<tr>
<td width="319" valign="top"><strong>Technet &amp; MSDN subscribers</strong></td>
<td width="138" valign="top"><strong> </strong></td>
<td width="181" valign="top"><strong>August 6<sup>th</sup> 2009</strong></td>
</tr>
<tr>
<td width="319" valign="top"><strong>BETA Testers</strong></td>
<td width="138" valign="top"><strong>No free update</strong></td>
<td width="181" valign="top"><strong>No free update</strong></td>
</tr>
<tr>
<td width="319" valign="top"><strong>Everyone else</strong></td>
<td width="138" valign="top"><strong>Retail stores</strong></td>
<td width="181" valign="top"><strong>October 22<sup>nd</sup> 2009</strong></td>
</tr>
</tbody>
</table>
<p>Read more about the <a href="http://windowsteamblog.com/blogs/windows7/archive/2009/07/21/when-will-you-get-windows-7-rtm.aspx" target="_blank">widespread build availability prior to October 22<sup>nd</sup> 2009</a>.</p>
<p>Related Links:</p>
<ul>
<li><a href="http://www.microsoft.com/Presspass/press/2009/jul09/07-22Windows7RTMPR.mspx" target="_blank">Microsoft PressPass</a></li>
<li><a href="http://www.computerworld.com/s/article/9135810/Microsoft_wraps_up_Windows_7_declares_RTM" target="_blank">ComputerWorld</a></li>
<li><a href="http://www.neowin.net/news/main/09/07/22/microsoft-announces-windows-7-rtm-at-mgx" target="_blank">Neowin.net</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.gfi.com/blog/confirmed-windows-7-rtm-build-complete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exploring svchost.exe &#8211; Part 3</title>
		<link>http://www.gfi.com/blog/exploring-svchostexe-part-3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exploring-svchostexe-part-3</link>
		<comments>http://www.gfi.com/blog/exploring-svchostexe-part-3/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 14:46:23 +0000</pubDate>
		<dc:creator>Andre Muscat</dc:creator>
				<category><![CDATA[Tech Zone]]></category>
		<category><![CDATA[host processes]]></category>
		<category><![CDATA[svchost]]></category>

		<guid isPermaLink="false">http://www.gfi.com/blog/?p=459</guid>
		<description><![CDATA[This is the third post of a three part series in which we explore the world of svchost.exe. In part 1, I introduced the topic of the multiple svchost.exe instances running on Microsoft operating systems; their implied usage; as well &#8230;]]></description>
				<content:encoded><![CDATA[<p>This is the third post of a three part series in which we explore the world of svchost.exe. In part 1, I introduced the topic of the <a href="http://www.gfi.com/blog/exploring-svchostexe-part-1/">multiple svchost.exe instances running on Microsoft operating systems</a>; their implied usage; as well as why it is something we should learn more about. In part 2, I went into more depth about <a href="http://www.gfi.com/blog/exploring-svchostexe-part-2/">how the operating system  makes use of this Host Process for its needs</a>. In part 3, I present you with a Powershell script which can be used to better understand what is running on your system as well as investigate and discover potential malware which can be hiding behind this innocent-looking process on your own machines.</p>
<p><span id="more-459"></span>Powershell:</p>
<ul>
<li>Version 1.0</li>
<li>If this is your first time with Powershell, it’s best to ensure that you have the PowerShell scripting engine installed on your system, as well as enabling the rights to run Powershell scripts on your system by using the command “Set-ExecutionPolicy RemoteSigned” from within the powershell prompt.</li>
</ul>
<p style="text-align: center;"><a class="lightbox" title="P3_SvcHost_1" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P3_SvcHost_1.JPG"><img class="size-medium wp-image-462 aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="P3_SvcHost_1" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/P3_SvcHost_1-300x81.jpg" alt="" width="300" height="81" /></a></p>
<ul>
<li>To run script:</li>
</ul>
<ol>
<li>Save the script below to a file named “c:\myFiles\CheckSvc.ps1” .</li>
<li>Open the command prompt with administrator rights: Start &gt; Programs &gt; Accessories &gt; Right click on “Command Prompt” and select “Run as Administrator”.</li>
<li>Start Powershell by typing “Powershell”.</li>
<li>Run the script by typing “c:\myFiles\CheckSvc.ps1”</li>
</ol>
<p>This is what the script outputs:</p>
<ul>
<li>Directly enumerates and checks out all of the processes which have their process name ‘svchost.exe’.</li>
<li>Get a clear view about how many such processes are running on your system and get a feeling of what is normal on your system when run over different days.</li>
<li>For each of those processes, it checks if there are any services running under that instance. If there are, it extracts from them:</li>
</ul>
<ol>
<li>How many services are running under that svchost.exe instance.</li>
<li>The service group (as described in part 2) running under that svchost.exe instance.</li>
<li>The service names and descriptions (as described in part 1 and part 2) of the services running under that svchost.exe instance.  </li>
</ol>
<p style="text-align: center;"><a class="lightbox" title="P3_SvcHost_2" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P3_SvcHost_2.JPG"><img class="size-medium wp-image-463 aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="P3_SvcHost_2" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/P3_SvcHost_2-300x292.jpg" alt="" width="300" height="292" /></a></p>
<ul>
<li>In cases where something out of the norm is detected such as a malformed command line initiator or no service running under that process a warning is displaced clearly to you. </li>
</ul>
<p style="text-align: center;"><a class="lightbox" title="P3_SvcHost_3" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P3_SvcHost_3.JPG"><img class="size-medium wp-image-464 aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="P3_SvcHost_3" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/P3_SvcHost_3-300x31.jpg" alt="" width="300" height="31" /></a></p>
<p>I hope that this three part series has been able to provide you with more visibility into the under wirings of those normally unknown processes which come up under your process explorer views via task manager or other tools, as well as their usage and meanings.</p>
<p>You can also customize this script to your needs. I only ask you keep me posted on your updates as for me to learn from them too by emailing me on <a href="mailto:andre@gfi.com">andre@gfi.com</a>.</p>
<h2>You can <a href="http://www.gfi.com/blog/wp-content/uploads/CheckSVC.zip " target="_self">download the script</a> here.</h2>
<p> </p>
<pre lang="powershell">$FgText1 = "DarkGreen"
$FgText2 = "DarkGray"
$FgError="Red"

Write-Host("==============================================================================") -foreground $FgText1;
Write-Host("SvcHost Explorer...") -foreground $FgText1;
Write-Host("==============================================================================") -foreground $FgText1;
Write-Host("");
$ProcessToCheckFor = "'svchost.exe'";
$TotalProcessesCount = 0;
$TotalServicesCount = 0;

# Create a list of process handles which are running on the system
$PidList = @(Get-WmiObject win32_process -Filter "name=$ProcessToCheckFor");
$TotalProcessesCount = $PidList.length;

$PidHandleList = $PidList | Foreach-Object { $_.Handle };

Write-Host("Total {0} Processes Count: {1}" -f $ProcessToCheckFor, $TotalProcessesCount) -foreground $FgText1;

Write-Host("------------------------------------------------------------------------------") -foreground $FgText1;
Write-Host("");
$CurrentPos = 0;

# For every process detected, check which windows services are running under
# that process
foreach ($procid in $PidHandleList){
$CurrentPos +=1;
$ServicesUnderThisPID = @(Get-WmiObject win32_service -Filter "processID = $procid");

if($ServicesUnderThisPID.length -gt 0){
$ShowHeader = $True;
$PossibleMalware = $False;

$ProcGroup = "";

# For every windows service, break down the command triggered to ensure of
# proper format
# Typical format: C:\Windows\system32\svchost.exe -k netsvcs

foreach($serv in $ServicesUnderThisPID){
if($ProcGroup -eq("")){
$ProcGroup = $serv.PathName;
$CommandComponents = @($ProcGroup.Split(" "));
if ($CommandComponents.length -eq 3 ){
$ProcGroup = $CommandComponents[2];
}
else{
$ProcGroup = "WARNING: POSSIBLE MALWARE - NON STANDARD RUN COMMAND DETECTED";
$PossibleMalware = $True;
}
}

if($ShowHeader){
if($PossibleMalware){
Write-Host("{0}" -f $ProcGroup);
}
else {
Write-Host("Process {0,2} - (Process ID: {1}) - (Services running under this process: {2})" -f $CurrentPos, $procid, $ServicesUnderThisPID.length) -foreground $FgText1;
Write-Host(" (Group {0})" -f $ProcGroup) -foreground $FgText1;
}
$ShowHeader = $False;
}

Write-Host(" {0}" -f $Serv.Name);
Write-Host(" {0}" -f $Serv.DisplayName) -foreground $FgText2;

$DescriptionProc = $Serv.Description;
$DescriptionProc = @($DescriptionProc.Split(" "));
$TempStr = " ";
foreach($word in $DescriptionProc){
if ($TempStr.length -lt 67){
$TempStr += $Word + " ";
}
else{
Write-Host( "{0}" -f $TempStr) -foreground $FgText2;
$TempStr = " ";
}
}
}
}
else {
Write-Host("WARNING: POTENTIAL MALWARE: NO WINDOWS SERVICE DETECTED") -foreground $FgError;
Write-Host(" AS RUNNING UNDER THIS PROCESS. CAN BE A MALWARE RUNNING") -foreground $FgError;
Write-Host(" UNDER THE NAME {0} TO DISGUISE ITSELF" -f $ProcessToCheckFor) -foreground $FgError;
}
" ";
$TotalServicesCount += $ServicesUnderThisPID.length;
}

Write-Host("------------------------------------------------------------------------------") -foreground $FgText1;
Write-Host("Summary:") -foreground $FgText1;
Write-Host("------------------------------------------------------------------------------") -foreground $FgText1;
Write-Host("Total {0} processes counted: {1}" -f $ProcessToCheckFor, $PidList.length) -foreground $FgText1;
Write-Host("Total services running under these processes: {0}" -f $TotalServicesCount) -foreground $FgText1;
Write-Host("==============================================================================") -foreground $FgText1;
Write-Host("");
Write-Host("");</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.gfi.com/blog/exploring-svchostexe-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Awaiting Windows 7 RTM: A MS Windows History memory jog</title>
		<link>http://www.gfi.com/blog/awaiting-windows-7-rtm-ms-windows-history-memory-jog/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=awaiting-windows-7-rtm-ms-windows-history-memory-jog</link>
		<comments>http://www.gfi.com/blog/awaiting-windows-7-rtm-ms-windows-history-memory-jog/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 09:33:22 +0000</pubDate>
		<dc:creator>Andre Muscat</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Tech Zone]]></category>
		<category><![CDATA[Microsoft OS]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://www.gfi.com/blog/?p=502</guid>
		<description><![CDATA[For a large number of hardcore Windows enthusiasts around the world, today is a big day. Today we are all waiting for the signal from Microsoft that the latest Windows 7 build is signed off and Released to Manufacturing (RTM). &#8230;]]></description>
				<content:encoded><![CDATA[<p><a class="lightbox" title="Windows7" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/Windows71.jpg"><img class="alignright size-full wp-image-511" style="margin: 10px;" title="Windows7" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/Windows71.jpg" alt="" width="216" height="188" /></a>For a large number of hardcore Windows enthusiasts around the world, today is a big day. Today we are all waiting for the signal from Microsoft that the latest Windows 7 build is signed off and Released to Manufacturing (RTM). The announcement is widely expected to be made at the <a href="http://www.digitalwpc.com/" target="_blank">Worldwide Partner Conference 2009</a> by Steve Ballmer himself.</p>
<p>For those of you who have been using the Microsoft OS since the beginning, a memory jog through the evolution of this operating system leading to Windows 7 will definitely strike a bell and bring back a myriad of memories.</p>
<p>Enjoy…</p>
<p><span id="more-502"></span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/MrMNHwmd9Hc&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/MrMNHwmd9Hc&amp;hl=en&amp;fs=1&amp;" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<p>This release means a lot to us, and we can understand the excitement around it.</p>
<p>I have personally been using Windows 7 RC since its availability, and was very impressed from my first installation. I admittedly did manage to hang it a couple of times, but my experiences were not reproduced by my fellow colleagues and required a particular combination to reproduce. Even with the unique hang combination, I still enjoy using this OS on a daily basis reliably and without compromise on performance.</p>
<p>My positive experience seems to resound with the rest of the evaluators’ reviews I went through, as well as discussions with other evaluators, MVPs and other sources.</p>
<p>Sites you can monitor for the announcement:<br />
• <a href="http://www.bink.nu" target="_blank">Bink.Nu</a><br />
• <a href="http://www.istartedsomething.com" target="_blank">IStartedSomething<br />
</a>• <a href="http://www.neowin.net" target="_blank">Neowin</a></p>
<p>Now…we wait…</p>
<p>Tick Tock…Tick Tock…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gfi.com/blog/awaiting-windows-7-rtm-ms-windows-history-memory-jog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exploring svchost.exe &#8211; Part 2</title>
		<link>http://www.gfi.com/blog/exploring-svchostexe-part-2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exploring-svchostexe-part-2</link>
		<comments>http://www.gfi.com/blog/exploring-svchostexe-part-2/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 10:08:23 +0000</pubDate>
		<dc:creator>Andre Muscat</dc:creator>
				<category><![CDATA[Tech Zone]]></category>
		<category><![CDATA[host processes]]></category>
		<category><![CDATA[shell scripts]]></category>
		<category><![CDATA[svchost]]></category>
		<category><![CDATA[svchost process]]></category>
		<category><![CDATA[svchost.exe]]></category>

		<guid isPermaLink="false">http://www.gfi.com/blog/?p=441</guid>
		<description><![CDATA[This is the second post of a three part series in which we explore the world of svchost.exe. In Part 1, we introduced the multiple svchost.exe instances running on Microsoft operating systems; their implied usage; as well as why it &#8230;]]></description>
				<content:encoded><![CDATA[<p>This is the second post of a three part series in which we explore the world of svchost.exe. In Part 1, we introduced the <a href="http://www.gfi.com/blog/exploring-svchostexe-part-1/">multiple svchost.exe instances running on Microsoft operating systems</a>; their implied usage; as well as why it is something we should understand a bit more about.  I will now go into more depth on how the operating system itself makes use of this Host Process for its needs.</p>
<h2>The under-wires of the svchost.exe</h2>
<p>A bit of searching around on the process svchost.exe lets you know that this process is indeed legitimate and used by Microsoft. At startup the OS loads a number of services in the background. For the most part these services are executable files (*.exe); however, it is not uncommon that some services are actually dynamic link libraries (*.dll) files which get loaded by a hosting executable file which is started as a service.</p>
<p>In this case, the svchost.exe is the “Host Process” which Microsoft uses to load and manage one or more of its Windows services (via dll files). You also get a number of svchost.exe entries in your task manager because each one of those processes is hosting one or more Microsoft services separately. Let us explore further:<span id="more-441"></span></p>
<ul>
<li>Open command prompt (Start &gt; Run &gt; cmd.exe)</li>
<li>Type in “tasklist /SVC /fi “imagename eq svchost.exe””</li>
<li>You should get a screen similar to the one below:</li>
</ul>
<p style="text-align: center;"><a class="lightbox" title="P2_SvcHost_1" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P2_SvcHost_1.JPG"><img class="size-medium wp-image-444 aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="P2_SvcHost_1" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/P2_SvcHost_1-300x171.jpg" alt="" width="300" height="171" /></a></p>
<p>The table you get shows you:</p>
<ul>
<li>How many svchost.exe processes you have which are actually hosting one or more services.</li>
<li>How many services, as well as which, are being hosted under which svchost.exe.<br />
o Again their names do not really help you out but hang on in there…it is not that bad.</li>
</ul>
<p>Let’s understand what is happening by focusing on the first line:</p>
<ul>
<li>The first svchost.exe which I have is running under process ID 1208.</li>
<li>From the task manager view with “Command Line” column enabled, I can see that the trigger is: C:\Windows\system32\svchost.exe -k DcomLaunch.</li>
</ul>
<p style="text-align: center;"><a class="lightbox" title="P2_SvcHost_2" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P2_SvcHost_21.JPG"><img class="size-medium wp-image-470 aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="P2_SvcHost_2" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/P2_SvcHost_21-300x142.jpg" alt="" width="300" height="142" /></a></p>
<p style="text-align: center;"><a class="lightbox" title="P2_SvcHost_2" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P2_SvcHost_2.JPG"></a></p>
<p>This is what Microsoft does when this process is launched as a service:</p>
<ul>
<li>Svchost.exe is launched with a parameter DcomLaunch.</li>
<li>The Svchost.exe goes to the registry location<br />
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost</li>
<li>Locates the key which matches the parameter entry DcomLaunch as specified and reads it (in this case the string is “PlugPlay DcomLaunch”. This string contains the names of the services it will load and run within the context of that svchost.exe instance.</li>
<li>In this case what it means is that the SvcHost.exe host instance launched with the parameter “-k DcomLaunch” will be the process instance within which two services will be running. One service is the one with name “PlugPlay”, and the other is “Dcomlaunch”.</li>
</ul>
<p style="text-align: center;"><img class="size-medium wp-image-445 aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="P2_SvcHost_2" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/P2_SvcHost_2-300x146.jpg" alt="" width="300" height="146" /></p>
<ul>
<li>Now that Windows knows the name of the services to load under that instance it needs to actually load them. The way it does it is by following the normal procedure of loading services which is to:</li>
<li>Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\&lt;servicename&gt; to find out the parameters pertinent to that service.</li>
<li>For the service PlugPlay which we already established will be a dll file which will be loaded into svchost.exe context it needs to find the location of the dll file to use.</li>
<li>Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PlugPlay, and you will find several of the properties pertinent to the Plug and Play service including the service context it should be running under.</li>
</ul>
<p style="text-align: center;"><a class="lightbox" title="P2_SvcHost_3" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P2_SvcHost_31.JPG"><img class="size-medium wp-image-449 aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="P2_SvcHost_3" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/P2_SvcHost_31-300x126.jpg" alt="" width="300" height="126" /></a></p>
<p style="text-align: center;"><a class="lightbox" title="P2_SvcHost_2" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P2_SvcHost_2.JPG"></a></p>
<ul>
<li>Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PlugPlay\Parameters and you will find a value named “ServiceDll” which contains the path to the dll to load.</li>
</ul>
<p style="text-align: center;"><a class="lightbox" title="P2_SvcHost_4" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P2_SvcHost_4.JPG"><img class="size-medium wp-image-450 aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="P2_SvcHost_4" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/P2_SvcHost_4-300x126.jpg" alt="" width="300" height="126" /></a></p>
<ul>
<li>Voila, now Windows has all it needs to load the dll, into the right svchost.exe process.</li>
<li>Windows will check if there is an svchost.exe process for the “Dcomload&#8221; group already created. If not, it will create an instance of one to handle services in the Dcomload group.</li>
<li>The svchost.exe process for Dcomload will then start the service by executing the “%SystemRoot%\system32\umpnpmgr.dll”. Once the DLL has been loaded by svchost.exe the service will then be in a started state.</li>
</ul>
<p>NOTE: Now that the PlugPlay service has been successfully started, it will move on to the second entry in the list i.e. DComLoad and repeat the process. As this time the svchost.exe instance will already exist, it will only need to attach the dll file for DcomLoad service to the existing svchost.exe which is used for the PlugPlay service initiated above.</p>
<p>In this segment, you have been presented with the way the operating system makes use of the svchost.exe to run critical Windows Services which are highly required by the operating system. You were also presented with a technical step by step flow, of what process the operating system goes through to load and run these service processes. Should you be interested, more information on this technical process is available from: <a href="http://support.microsoft.com/kb/314056">http://support.microsoft.com/kb/314056</a>.</p>
<p>In Part 1, we introduced the <a href="http://www.gfi.com/blog/exploring-svchostexe-part-1/">multiple svchost.exe instances running on Microsoft operating systems</a>. In Part 3, we will put together <a href="http://www.gfi.com/blog/exploring-svchostexe-part-3/">a script which you will be able to run on your system</a>, and determine whether any of those processes have anything strange, or out of the norm, which can indicate malware activity. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.gfi.com/blog/exploring-svchostexe-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Exploring svchost.exe &#8211; Part 1</title>
		<link>http://www.gfi.com/blog/exploring-svchostexe-part-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exploring-svchostexe-part-1</link>
		<comments>http://www.gfi.com/blog/exploring-svchostexe-part-1/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 09:18:50 +0000</pubDate>
		<dc:creator>Andre Muscat</dc:creator>
				<category><![CDATA[Tech Zone]]></category>
		<category><![CDATA[host processes]]></category>
		<category><![CDATA[shell scripts]]></category>
		<category><![CDATA[svchost]]></category>
		<category><![CDATA[svchost process]]></category>
		<category><![CDATA[svchost.exe]]></category>

		<guid isPermaLink="false">http://www.gfi.com/blog/?p=422</guid>
		<description><![CDATA[Computer running slower than usual? Most probably an application taking up too many resources. Up goes the task manager to have a look under the hood &#8211; nothing strange located in the default list. You click on “Show processes from &#8230;]]></description>
				<content:encoded><![CDATA[<p>Computer running slower than usual? Most probably an application taking up too many resources. Up goes the task manager to have a look under the hood &#8211; nothing strange located in the default list. You click on “Show processes from all users” &gt; accept the UAC warning &gt; and up comes a super long list of processes running on your system.</p>
<p>While passing the list you come across a bunch of svchost.exe processes but  you have no idea what each one is doing, why each is running, who is running it&#8230; and most importantly, whether they are legitimate.</p>
<p><a class="lightbox" title="svchost" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/svchost.jpg"><img class="alignright size-medium wp-image-423" style="margin: 10px;" title="svchost" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/svchost-300x200.jpg" alt="" width="240" height="160" /></a></p>
<p>This is a three part post in which I explore the world of svchost.exe. In part 1, I will introduce the topic; its usage and why it is something that we should understand more about. In part 2, I will go into more depth about <a href="http://www.gfi.com/blog/exploring-svchostexe-part-2/">how the operating system makes use of this Host Process for its needs</a>. In part 3, I will show you <a href="http://www.gfi.com/blog/exploring-svchostexe-part-3/">how to create a Powershell script which can be used to investigate and discover potential malware </a>which can be hiding behind this innocent-looking process on your own machines.</p>
<h2><span id="more-422"></span>Discovering svchost.exe</h2>
<p>As mentioned earlier, when investigating the list of processes running on your system, you will come across a bunch of svchost.exe processes running with the most useful description ever to help you understand what they are there for i.e. “Host process for Windows Services”… Or maybe not!</p>
<p style="text-align: center;"><a class="lightbox" title="Host process for Windows Services" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P1_SvcHost_1.JPG"><img class="size-medium wp-image-425 aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="Host process for Windows Services" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/P1_SvcHost_1-300x234.jpg" alt="" width="300" height="234" /></a></p>
<p>What is worse is that the task manager does not show you the source path of this process by default, therefore making it pretty easy for an attacker to just name his process as “svchost.exe”; hence enabling the malware process to hide itself amongst these generic processes which I am so used to seeing in the list.</p>
<p>If you are running Windows Vista or later you can actually get to see the command which launched the process via View &gt; Select Columns… &gt; Travel to the bottom of the list and enable “Command Line”. If you are still on Windows XP, then your only option is to get to the process id, and delve into the world of the command line to discover more…</p>
<p style="text-align: center;"><a class="lightbox" title="Select Process Page Columns" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P1_SvcHost_2.JPG"><img class="aligncenter size-medium wp-image-427" style="margin-top: 10px; margin-bottom: 10px;" title="Select Process Page Columns" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/P1_SvcHost_2-300x296.jpg" alt="" width="240" height="237" /></a></p>
<p style="text-align: center;"><a class="lightbox" title="P1_SvcHost_3" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P1_SvcHost_3.JPG"><img class="size-medium wp-image-428 aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="P1_SvcHost_3" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/P1_SvcHost_3-300x142.jpg" alt="" width="300" height="142" /></a></p>
<p>Even after a good hard look at the command line trigger and the description, you will most probably still have no idea what all of those entries are…they look legitimate in this case as they are running from the windows system, but relatively still in the dark due to a lack of proper description or understanding what they are; We just understand that most probably they are windows services (because that is what the description says).</p>
<p>Another feature improvement which Microsoft did in the Windows Vista Task Manager is that you can also right click on an svchost.exe process from the Processes tab &gt; select go to services &gt; you will be taken to yet another page where it will automatically highlight all of the services running under the context of that svchost.exe.</p>
<p style="text-align: center;"><a class="lightbox" title="Windows Task Manager" href="http://www.gfi.com/blog/wp-content/uploads/2009/07/P1_SvcHost_4.JPG"><img class="size-medium wp-image-430 aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="Windows Task Manager" src="http://www.gfi.com/blog/wp-content/uploads/2009/07/P1_SvcHost_4-300x266.jpg" alt="" width="300" height="266" /></a></p>
<p>Ok, so far we are still looking at this and thinking ‘huh?’ We are still at a loss of what these processes really are etc. and there is no way we want to have to stay manually going through this list every time to discover if they are all legitimate. Nor do we want to wonder whether a new piece of malware was introduced in a system which is masking itself as one of these processes. Needless to say, if seeing a long list of svchost.exe entries will become taken as normal, the chances of noticing an infiltrated malware are below slim.</p>
<p>We have to find out more about them, as well as devise an even better way to root out the legitimate entries from the rest!</p>
<p>The learning experience continues in the second part of this post, in which I will explain the under wiring of the way Microsoft operating systems make use of the svchost.exe system for their needs.</p>
<p>In the meantime one of the most common tools available and recommended for your perusal when discovering the world of process management is a nifty tool from SysInternals called Process Monitor which is available from: <a href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx">http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx</a></p>
<p>In the next segment I will go into more depth about <a href="http://www.gfi.com/blog/exploring-svchostexe-part-2/">how the operating system makes use of this Host Process for its needs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gfi.com/blog/exploring-svchostexe-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

 Served from: www.gfi.com @ 2013-09-15 04:13:08 by W3 Total Cache --