<?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>MSitPros Blog</title>
	<atom:link href="http://msitpros.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://msitpros.com</link>
	<description>Knowledge is of no value, unless you put it into practice</description>
	<lastBuildDate>Thu, 16 May 2013 06:36:06 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>ActiveSync devices are not automatically redirected to after DAG failover.</title>
		<link>http://msitpros.com/?p=1818</link>
		<comments>http://msitpros.com/?p=1818#comments</comments>
		<pubDate>Thu, 16 May 2013 06:33:15 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[TMG]]></category>
		<category><![CDATA[ActiveSync;DAG;Exchange;Redirect;DiscoveryInfoMissing;]]></category>

		<guid isPermaLink="false">http://msitpros.com/?p=1818</guid>
		<description><![CDATA[I have been working with this issue for a time now, and are waiting for a fix:) Since I have not found any threads or information on this on the web, I thought it could be helpful for others to get the information. Quick information about the Exchange environment: We go to sites with Exchange &#8230; </p><p><a class="more-link block-button" href="http://msitpros.com/?p=1818">Continue reading &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>I have been working with this issue for a time now, and are waiting for a fix:) Since I have not found any threads or information on this on the web, I thought it could be helpful for others to get the information.</p>
<p><strong>Quick information about the Exchange environment:</strong> </p>
<p>We go to sites with Exchange 2010. Each site with two Exchange servers and TMG. One server is running DAG and the other CAS/HT. Both sites are internet-facing, and TMG is publishing in both sites. One is publishing e.g mail.domain.com and the DR site is publishing mail-dr.domain.com. Site A is the primary exchange site, Site B is for DR. All clients connects to the primary site except autodiscover pointing to DR site.</p>
<p><strong>So what is the issue:</strong></p>
<p>When DAG failing over, or if you switch over manually, some random ActiveSync devices will not get redirected to the new active Site. If you manually enter the correct URL the sync start. OWA/Outlook works as expected. When you do an new failover, the same device could be correct redirected. But then some other device could have the problem.</p>
<p><strong>So what is going on:</strong></p>
<p>I first saw the issue when after we applied Exchange 2010 SP3. Before this I the issue did not exist (not that I am aware of). When I first get saw the information, I started to collect information. First of all, I checked the event log on the Exchange servers. And on the site that it was failing from I found this error in Application log on the CAS server:</p>
<p><em>The Client Access server doesn&#8217;t have the InternalURL value set for the Microsoft-Server-ActiveSync virtual directory. This prevents Exchange ServiceDiscovery from finding the MobileSyncService information for user &quot;MBX home server&quot; At least one Client Access server in the user&#8217;s mailbox Active Directory site must have the InternalURL value set. The format for the InternalURL value is https://hostname/Microsoft-Server-ActiveSync&quot;</em></p>
<p><a class="highslide img_2" href="http://msitpros.com/wp-content/uploads/2013/05/image5.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/05/image_thumb5.png" width="401" height="285" /></a></p>
<p>I found out that this event came every time the devices that was unable to redirect tried to sync. But there was not any other events regarding this. </p>
<p>I then checked IIS logs on the site where the DAG was not active (default location C:\inetpub\logs\LogFiles\W3SVC1) and found this.</p>
<p><em>2013-05-15 02:16:29 <strong>IP_CAS_Server </strong>OPTIONS /Microsoft-Server-ActiveSync/default.eas &amp;Log=<font color="#ff0000">RdirTo:https%3a%2f%2f<strong>PrimarysiteURL</strong></font>%2fMicrosoft-Server-ActiveSync_V0_LdapC1_LdapL109_Cpo19890_Fet19999_S130<font color="#ff0000">_Error:DiscoveryInfoMissing<font color="#000000">_</font>Mbx:<strong>FQDN_MBXServer</strong></font>_Budget:(D)Conn%3a1%2cHangingConn%3a0%2cAD%3a%24null%2f%24null%2f1%25%2cCAS%3a%24null%2f%24null%2f0%25%2cAB%3a%24null%2f%24null%2f0%25%2cRPC%3a%24null%2f%24null%2f0%25%</em><em>2cFC%3a1000%2f0%2cPolicy%3aDefaultThrottlingPolicy%5F221b878b-f351-48f1-b524-2ae00cda8947%2cNorm_ 443 <strong>domain\username </strong>IP-address from TMG publishing Apple-iPhone4C1/1002.329 <font color="#ff0000">403</font> 0 0 19999</em></p>
<p>So what does this mean:</p>
<p>1. We can see that the ActiveSync virtual directory is trying to redirect to the primary site <a href="http://primarysiteurl">http://primarysiteurl</a></p>
<p>2. The mailbox server name in primary site is FQDN_MBXServer in primarysite</p>
<p>3. The redirect failed: the error information is ‘DiscoveryInfoMissing’ and the error code is ‘403’ instead of the 451 redirect it should have got.</p>
<p>I have not found any more information on this, so I opened a case with Microsoft. And this was the answer I got.</p>
<p><em>Then I do some researches on our situation, after applying the SP3, when we manually switch the DAG over back to primary site again, the ActiveSync device cannot automatically redirect to the primary site, and get a 451 redirect, instead getting a 403 error. And it is <b><u>a known issue</u></b>, we have reported this problem to our product group. It will be fixed in the next generation SP3 RU2. Then let’s wait the update patiently. Hope you can understand.</em></p>
<p>I will continue work with support to hopefully get a fix for this before RU2. </p>
]]></content:encoded>
			<wfw:commentRss>http://msitpros.com/?feed=rss2&#038;p=1818</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Signing powershell scripts with code-signing certificate from internal CA</title>
		<link>http://msitpros.com/?p=1812</link>
		<comments>http://msitpros.com/?p=1812#comments</comments>
		<pubDate>Thu, 02 May 2013 11:48:42 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Certificate]]></category>
		<category><![CDATA[Certification Authority]]></category>
		<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Signing;Script;Powershell;GPO;Publisher]]></category>

		<guid isPermaLink="false">http://msitpros.com/?p=1812</guid>
		<description><![CDATA[Hi all! Needed to sign a powershell script today, an thought it could be of interest for others as well. So here are the steps. First of all, you need to request/obtain a Code-signing certificate. I usually do this by creating a own template, request a certificate and use GPO to distribute this to Trusted &#8230; </p><p><a class="more-link block-button" href="http://msitpros.com/?p=1812">Continue reading &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>Hi all!</p>
<p>Needed to sign a powershell script today, an thought it could be of interest for others as well. So here are the steps.</p>
<p>First of all, you need to request/obtain a Code-signing certificate. I usually do this by creating a own template, request a certificate and use GPO to distribute this to Trusted Publisher. This is not covered by this post, but it is pretty straight forward. </p>
<p>So, back to signing scripts. If you get this error message when trying to run a script (script cannot be loaded. The ps1. fie is not digitally signed), many just changing the executionpolicy to be unrestricted… It is fast, but might not&#160; be the best solution:) </p>
<p><a class="highslide img_8" href="http://msitpros.com/wp-content/uploads/2013/05/image.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/05/image_thumb.png" width="571" height="61" /></a></p>
<p>It is easy to sign a script when you got the basics in place (code-signing certificate and the certificate distributed to the clients Trusted publisher certificate store).</p>
<p>On the machine you want to sign the script from, you need to install the Code-Signing certificate on either Computer or User. I use computer in this example. To make sure you got the CodeSigning certificate run the following command: </p>
<p>Get-ChildItem cert:\LocalMachine\my –CodeSigningCert</p>
<p>This command will list you Code signing certificate installed on local computer</p>
<p><a class="highslide img_9" href="http://msitpros.com/wp-content/uploads/2013/05/image1.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/05/image_thumb1.png" width="650" height="141" /></a></p>
<p>Then run this command to get the certificate in a variable called $cert.</p>
<p>$cert = Get-ChildItem cert:\LocalMachine\my –CodeSigningCert</p>
<p><a class="highslide img_10" href="http://msitpros.com/wp-content/uploads/2013/05/image2.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/05/image_thumb2.png" width="516" height="59" /></a></p>
<p>Then sign the script with command:</p>
<p>Set-AuthenticodeSignature -Certificate $cert -FilePath C:\Install\Get-DAGHealth.ps1</p>
<p>&#160;<a class="highslide img_11" href="http://msitpros.com/wp-content/uploads/2013/05/image3.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/05/image_thumb3.png" width="720" height="111" /></a></p>
<p>As you can see in the bottom of the script, there has been added a signature block.</p>
<p><a class="highslide img_12" href="http://msitpros.com/wp-content/uploads/2013/05/image4.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/05/image_thumb4.png" width="244" height="186" /></a></p>
<p>Remember, if you do a change on the script now. It needs to be signed again:) </p>
<p>Happy signing!</p>
]]></content:encoded>
			<wfw:commentRss>http://msitpros.com/?feed=rss2&#038;p=1812</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Exchange 2013 &#8211; Restore mail with New-MailboxRestoreRequest</title>
		<link>http://msitpros.com/?p=1801</link>
		<comments>http://msitpros.com/?p=1801#comments</comments>
		<pubDate>Tue, 30 Apr 2013 19:36:47 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Exchange2013;Restore;MailboxRestoreRequest;Clean Shutdown;dirty shutdown]]></category>

		<guid isPermaLink="false">http://msitpros.com/?p=1801</guid>
		<description><![CDATA[I recently tested some restore operations on Exchange 2013. This is the step I did to do a “single mail” restore: Restore your&#160; backup mailbox database and logs to alternative location. (But do not change the filename on the DB, if you do this eseutil is not able to get this in clean shutdown state). &#8230; </p><p><a class="more-link block-button" href="http://msitpros.com/?p=1801">Continue reading &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>I recently tested some restore operations on Exchange 2013. This is the step I did to do a “single mail” restore:</p>
<ol>
<li>Restore your&#160; backup mailbox database and logs to alternative location. (But do not change the filename on the DB, if you do this eseutil is not able to get this in clean shutdown state).</li>
<li>Because this is is an restored database, the database most likely will in “dirty shutdown” status. Here is how I got&#160; it in “Clean Shutdown” with esutil</li>
</ol>
<p>Verify that the restored database has status “dirty shutdown” with eseutil /mh E:\testrestore\EX13.MDB02.edb&#160;&#160; </p>
<p><a class="highslide img_23" href="http://msitpros.com/wp-content/uploads/2013/04/image7.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb7.png" width="568" height="361" /></a> </p>
<p>Also look at the Log required (4-4) and log committed (0-5). These log files are needed at a minimum to recover the database to a clean shutdown without data loss. In my case i have both this files </p>
<p><a class="highslide img_24" href="http://msitpros.com/wp-content/uploads/2013/04/image8.png" onclick="return hs.expand(this)"><img title="image" style="margin-right: 0px; margin-left: 0px; display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb8.png" width="76" height="100" /></a></p>
<p>You can check the consistency of the needed logs by using&#160; the command <strong>eseutil /ml </strong>together with your log directory path and log prefix, in my example E02: eseutl /ml F:\Testrestore\RDB1\E02</p>
<p><a class="highslide img_25" href="http://msitpros.com/wp-content/uploads/2013/04/image25.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image25_thumb.png" width="477" height="160" /></a></p>
<p>When I did repair on the database I had huge problems with finding the correct eseutil command. But after I found this blogpost: <a href="http://blogs.technet.com/b/mspfe/archive/2012/09/06/why-exchange-databases-might-remain-dirty-after-eseutil-r-recovery.aspx">http://blogs.technet.com/b/mspfe/archive/2012/09/06/why-exchange-databases-might-remain-dirty-after-eseutil-r-recovery.aspx</a>&#160; I found out that I could use the command <strong>eseutil /R E02 /l “F:\Testrestore\RDB1&quot; /s &quot;F:\Testrestore\RDB1&quot; /d &quot;E:\Testrestore&quot;</strong> </p>
<p><a class="highslide img_26" href="http://msitpros.com/wp-content/uploads/2013/04/image9.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb9.png" width="483" height="148" /></a></p>
<p>Running this modified command, everything worked and the database ended up in a “clean shutdown” </p>
<p><a class="highslide img_27" href="http://msitpros.com/wp-content/uploads/2013/04/image10.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb10.png" width="483" height="359" /></a> </p>
<p>It’s time to create a recovery database. Use the shell to create a recovery database and point it to the database we want to recover data from. In my example this is</p>
<p>New-MailboxDatabase -Recovery -Name TestRestore -Server Servername -EdbFilePath &quot;E:\Testrestore\EX13.MDB02.EDB&quot; –LogFolderPath &quot;F:\Testrestore\RDB1&quot;</p>
<p><a class="highslide img_28" href="http://msitpros.com/wp-content/uploads/2013/04/image11.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb11.png" width="483" height="90" /></a></p>
<p>Mount the database: Mount-Database testrestore. </p>
<p>Now it is time to do the fun work. Lets do some restore.</p>
<p>I will in this example restore the whole mailbox to a subfolder named Restore. To create a restore request, you must provide the <strong>DisplayName</strong>, <strong>LegacyDN</strong>, or <strong>MailboxGUID</strong> for the soft-deleted or disabled mailbox. To get a list of mailboxes you can restore run Get-mailboxStatistics –Database Testrestore</p>
<p><a class="highslide img_29" href="http://msitpros.com/wp-content/uploads/2013/04/image12.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb12.png" width="349" height="93" /></a> </p>
<p>When I run the command documented on TechNet I got a strange error: Error detail: must be logging in with GUIDs. not legDN. I tried with the DisplayName, LegacyDN and MailboxGUID without success.</p>
<p>New-MaiboxRestoreRequest -SourceDatabase Testrestore-SourceStoreMailbox &quot;EX2013&quot; -TargetMailbox UPN –Targetfolder Restore</p>
<p><a class="highslide img_30" href="http://msitpros.com/wp-content/uploads/2013/04/image13.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb13.png" width="478" height="40" /></a> </p>
<p>But I found another parameter I could use: -SkipMerging StorageProviderForSource. And guess what….</p>
<p><a class="highslide img_31" href="http://msitpros.com/wp-content/uploads/2013/04/image14.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb14.png" width="484" height="52" /></a></p>
<p><a class="highslide img_32" href="http://msitpros.com/wp-content/uploads/2013/04/image15.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb15.png" width="480" height="260" /></a> </p>
<p>I worked:) </p>
]]></content:encoded>
			<wfw:commentRss>http://msitpros.com/?feed=rss2&#038;p=1801</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Exchange 2013 &#8211; Invalid Provider type specified &#8211;  Certificate issue</title>
		<link>http://msitpros.com/?p=1770</link>
		<comments>http://msitpros.com/?p=1770#comments</comments>
		<pubDate>Mon, 08 Apr 2013 12:48:58 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Certificate]]></category>
		<category><![CDATA[Certification Authority]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Exchange2013;ECP;Invalid Provider Type]]></category>

		<guid isPermaLink="false">http://msitpros.com/?p=1770</guid>
		<description><![CDATA[Before I installed Exchange 2013 I issued a certificate from the internal CA server. Everything looked fine. The installation went fine without issues. But when I tried to administrate Exchange 2013 from the ECP and OWA web I got the following error: Invalid provider type specified. I also saw the details “System.Security.Cryptography…. And guessed it &#8230; </p><p><a class="more-link block-button" href="http://msitpros.com/?p=1770">Continue reading &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>Before I installed Exchange 2013 I issued a certificate from the internal CA server. Everything looked fine. The installation went fine without issues. But when I tried to administrate Exchange 2013 from the ECP and OWA web I got the following error: Invalid provider type specified. </p>
<p>I also saw the details “System.Security.Cryptography…. And guessed it had to be something with the certificate i issued before the installation</p>
<p>&#160;</p>
<p><a class="highslide img_37" href="http://msitpros.com/wp-content/uploads/2013/04/image3.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb3.png" width="424" height="258" /></a> </p>
<p>Earlier I have had issues with system and certificate using the “new” Microsoft Software Key Storage Provider using cryptographic API Cryptography Next Generation (CNG). The fix then has been to use a version 2 template (windows 2003) which use the Microsoft RSA SChannel Cryptographic Provider. This templates use the old CryptoAPI, which makes use of providers called cryptographic service providers (CSPs)</p>
<p>When I checked the certificate used in Exchange 2013 using certutil –store my, I verified that it was using Microsoft Software Key Storage Provider </p>
<p><a class="highslide img_38" href="http://msitpros.com/wp-content/uploads/2013/04/image4.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb4.png" width="555" height="137" /></a> </p>
<p>I could also verify this when I requested the certificate from MMC</p>
<p>Using V3 template:</p>
<p><a class="highslide img_39" href="http://msitpros.com/wp-content/uploads/2013/04/image5.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb5.png" width="344" height="123" /></a></p>
<p>Using a V2 template </p>
<p><a class="highslide img_40" href="http://msitpros.com/wp-content/uploads/2013/04/image6.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb6.png" width="243" height="244" /></a></p>
<p>I therefore created a new Web Server V2 template in Microsoft Certification Authority and requested a new Web certificate on the Exchange 2013 server. And assigned all the Exchange services to the new certicate using Enable-ExchangeCertificate command. Restarted the server (it actually needed restart). And voila finally I could manage my Exchange server.</p>
<p>Come on Microsoft!!</p>
]]></content:encoded>
			<wfw:commentRss>http://msitpros.com/?feed=rss2&#038;p=1770</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Exchange 2013 CU1 in coexistence with Exchange 2010 &#8211; All Exchange 2010 servers in the organization must have Exchange 2010 Service Pack 3 or later installed</title>
		<link>http://msitpros.com/?p=1761</link>
		<comments>http://msitpros.com/?p=1761#comments</comments>
		<pubDate>Mon, 08 Apr 2013 10:24:50 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Exchange2013;Edgesubcription]]></category>

		<guid isPermaLink="false">http://msitpros.com/?p=1761</guid>
		<description><![CDATA[When I tried to install the first Exchange 2013 CU1 server in coexistence with Exchange 2010 SP3 (yes I had updated all Exchange 2010 servers to SP3), I got the following message: All Exchange 2010 servers in the organization must have Exchange 2010 Service Pack 3 or later installed. The following servers don&#8217;t meet this &#8230; </p><p><a class="more-link block-button" href="http://msitpros.com/?p=1761">Continue reading &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>When I tried to install the first Exchange 2013 CU1 server in coexistence with Exchange 2010 SP3 (yes I had updated all Exchange 2010 servers to SP3), I got the following message:</p>
<p><a class="highslide img_44" href="http://msitpros.com/wp-content/uploads/2013/04/image.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb.png" width="244" height="136" /></a> </p>
<p>All Exchange 2010 servers in the organization must have Exchange 2010 Service Pack 3 or later installed. The following servers don&#8217;t meet this requirement: EdgeServerName   <br /> For more information, visit: <a href="http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.E15E14CoexistenceMinMajorVersionRequirement.aspx">http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.E15E14CoexistenceMinMajorVersionRequirement.aspx</a></p>
<p>This was the Edge server, and I checked that this server actually had SP3 installed.</p>
<p><a class="highslide img_45" href="http://msitpros.com/wp-content/uploads/2013/04/image1.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb1.png" width="244" height="72" /></a> </p>
<p>Since it was referringt to the Edge server I tried to create a new Edge subscription. After I was able to continue with the installation:)</p>
<p><a class="highslide img_46" href="http://msitpros.com/wp-content/uploads/2013/04/image2.png" onclick="return hs.expand(this)"><img title="image" style="display: inline;" border="0" alt="image" src="http://msitpros.com/wp-content/uploads/2013/04/image_thumb2.png" width="244" height="212" /></a> </p>
<p>Cheers! </p>
]]></content:encoded>
			<wfw:commentRss>http://msitpros.com/?feed=rss2&#038;p=1761</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dell TechCenter Rockstar</title>
		<link>http://msitpros.com/?p=1751</link>
		<comments>http://msitpros.com/?p=1751#comments</comments>
		<pubDate>Wed, 03 Apr 2013 08:38:33 +0000</pubDate>
		<dc:creator>Tom Heskestad</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://msitpros.com/?p=1751</guid>
		<description><![CDATA[It&#8217;s been a great year since I received the Dell TechCenter Rockstar title last year. Thanks to everybody at Dell that was a part of it. Yesterday was the day were we would now who got their title renewed and the new that would be nominated. It was great to see the list on the Dell TechCenter &#8230; </p><p><a class="more-link block-button" href="http://msitpros.com/?p=1751">Continue reading &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been a great year since I received the Dell TechCenter Rockstar title last year. Thanks to everybody at Dell that was a part of it. Yesterday was the day were we would now who got their title renewed and the new that would be nominated. It was great to see the list on the Dell TechCenter blog and see that my name was there. I&#8217;m honored to be given the title for one more year and looking forward to working with my fellow Rockstars and the Dell TechCenter team</p>
<p><a href="http://msitpros.com/?attachment_id=1752" rel="attachment wp-att-1752"><img class="aligncenter size-full wp-image-1752" alt="3582.DTC_rockstar" src="http://msitpros.com/wp-content/uploads/2013/04/3582.DTC_rockstar.png" width="199" height="116" /></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://msitpros.com/?feed=rss2&#038;p=1751</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prevent users from rebooting terminal server with Forefront Endpoint Protection 2010</title>
		<link>http://msitpros.com/?p=1745</link>
		<comments>http://msitpros.com/?p=1745#comments</comments>
		<pubDate>Thu, 21 Mar 2013 17:21:42 +0000</pubDate>
		<dc:creator>Tom Heskestad</dc:creator>
				<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCCM 2007]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Terminal Server]]></category>
		<category><![CDATA[Endpoint Protection]]></category>
		<category><![CDATA[forefront client]]></category>

		<guid isPermaLink="false">http://msitpros.com/?p=1745</guid>
		<description><![CDATA[A customer got a issue with Forefront EP 2010. It was installed on their Terminal Servers, and a file was detected by Forefront. The &#8220;biggest&#8221; problem was that all users got a pop-up telling that the server needed to be restarted to remove the virus. And if one user clicked restart, it would restart, even &#8230; </p><p><a class="more-link block-button" href="http://msitpros.com/?p=1745">Continue reading &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>A customer got a issue with Forefront EP 2010. It was installed on their Terminal Servers, and a file was detected by Forefront. The &#8220;biggest&#8221; problem was that all users got a pop-up telling that the server needed to be restarted to remove the virus. And if one user clicked restart, it would restart, even if they do not have permissons to do this. Not what you want done without control or info to the other users logged on. The fix for this is to add a registry setting that prevents access to the user Interface of Forefront on the terminal servers. Found this is on the Microsoft forums.</p>
<p><strong>HKLM\SOFTWARE\Policies\Microsoft\Microsoft Antimalware\UX Configuration</strong></p>
<p><strong>REG_DWORD &#8211; UILockdown = 1</strong></p>
<p>Add this key, and the pop-up is not shown anymore.</p>
<p>This is the link to the forum post: <a href="http://social.technet.microsoft.com/Forums/en-US/FCSNext/thread/d28331a0-5c91-4786-9d52-e78b966f4d78">http://social.technet.microsoft.com/Forums/en-US/FCSNext/thread/d28331a0-5c91-4786-9d52-e78b966f4d78</a></p>
]]></content:encoded>
			<wfw:commentRss>http://msitpros.com/?feed=rss2&#038;p=1745</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Slow boot or slow login Windows 7 and Windows Server 2008 R2</title>
		<link>http://msitpros.com/?p=1736</link>
		<comments>http://msitpros.com/?p=1736#comments</comments>
		<pubDate>Wed, 13 Mar 2013 12:48:45 +0000</pubDate>
		<dc:creator>Tom Heskestad</dc:creator>
				<category><![CDATA[Client]]></category>
		<category><![CDATA[Group Policy]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[slow boot]]></category>
		<category><![CDATA[slow login]]></category>
		<category><![CDATA[Windows 2008 R2]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://msitpros.com/?p=1736</guid>
		<description><![CDATA[Yesterday Microsoft released a hotfix that&#8217;s a big collection of fixes for slow boot and slow login on Windows 7 and Windows Server 2008 R2. Check this article from one of the PFE&#8217;s: http://blogs.technet.com/b/askpfeplat/archive/2013/03/12/slow-boot-slow-login-sbsl-hotfix-rollup-for-windows-7-and-server-2008-r2-available-today.aspx Tested this on a computer that before the hotfix would use 20+ minutes, after applying the hotfix it now takes about &#8230; </p><p><a class="more-link block-button" href="http://msitpros.com/?p=1736">Continue reading &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>Yesterday Microsoft released a hotfix that&#8217;s a big collection of fixes for slow boot and slow login on Windows 7 and Windows Server 2008 R2. Check this article from one of the PFE&#8217;s: <a href="http://blogs.technet.com/b/askpfeplat/archive/2013/03/12/slow-boot-slow-login-sbsl-hotfix-rollup-for-windows-7-and-server-2008-r2-available-today.aspx">http://blogs.technet.com/b/askpfeplat/archive/2013/03/12/slow-boot-slow-login-sbsl-hotfix-rollup-for-windows-7-and-server-2008-r2-available-today.aspx</a></p>
<p>Tested this on a computer that before the hotfix would use 20+ minutes, after applying the hotfix it now takes about 1-1,5 minute to start and logon. So quite a big improvement</p>
]]></content:encoded>
			<wfw:commentRss>http://msitpros.com/?feed=rss2&#038;p=1736</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Working with Rate Limits on ConfigMgr 2012 Distribution Points</title>
		<link>http://msitpros.com/?p=1727</link>
		<comments>http://msitpros.com/?p=1727#comments</comments>
		<pubDate>Tue, 12 Mar 2013 11:12:28 +0000</pubDate>
		<dc:creator>Frode Henriksen</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[SCCM]]></category>
		<category><![CDATA[SCCM 2007]]></category>
		<category><![CDATA[SCCM 2012]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[by hour]]></category>
		<category><![CDATA[Configuration Manager]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[distribution point]]></category>
		<category><![CDATA[high priority]]></category>
		<category><![CDATA[limit]]></category>
		<category><![CDATA[macimum]]></category>
		<category><![CDATA[pulse mode]]></category>
		<category><![CDATA[rate limit]]></category>
		<category><![CDATA[sending]]></category>
		<category><![CDATA[Stop]]></category>
		<category><![CDATA[transfer]]></category>

		<guid isPermaLink="false">http://msitpros.com/?p=1727</guid>
		<description><![CDATA[Ever wondered how rate limits on Distribution Points in ConfigMgr 2012 work? When I one day accidentally updated all the distribution points at a customer site it was time to learn quickly. There are three modes for rate limits and these are set per Distribution Point. Unlimited sending is self-explainatory, but the pulse mode and &#8230; </p><p><a class="more-link block-button" href="http://msitpros.com/?p=1727">Continue reading &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>Ever wondered how rate limits on Distribution Points in ConfigMgr 2012 work? When I one day accidentally updated all the distribution points at a customer site it was time to learn quickly.</p>
<p>There are three modes for rate limits and these are set per Distribution Point. Unlimited sending is self-explainatory, but the <strong>pulse mode</strong> and the option to <strong>limit specific maximum transfer rates per hour</strong> are useful in different scenarios.</p>
<p>I´ll explain the <strong>limited to specified maximum transfer rates by hour</strong> option first, since it was what helped me quickly in my scenario. First of all, there is no native ConfigMgr support for BITS when distributing content to Distribution Points, therefore, ConfigMgr does not monitor the traffic and/or the amount of data going over the link. Instead, it uses the time available for sending and divides the time into time slots where it sends 100% of data. So, for instance, if you use the option to use only 50% of bandwidth during work hours (ie 8AM to 4PM), it will divide the amount of available time into time slots and send 100% of data 50% of the time, and send 0% data the other 50% of the time. This is useful if you don´t want to clog the available bandwidth on the network during work hours or if you need to limit the transfers for some other reason. This can be set per hour for every day, but unfortunately you can´t set it for specific days (as you sort of could in Configuration Manager 2007).</p>
<p>It is also possible to use <strong>pulse mode</strong>, in which case you can specify the size of the data blocks sent by the site system to the distribution point and a delay in seconds for how often these blocks should be sent. This is useful if you have slow links to your distribution points, but it requires you to calculate how much data is sent. If you set it too low your packages will never be distributed, if you set it too high it will still clog your bandwidth. Notice that these are radio buttons, so you can only choose one option at a time for one specific Distribution Point.</p>
<p style="text-align: center;"><a href="http://msitpros.com/?attachment_id=1729" rel="attachment wp-att-1729"><img class="aligncenter  wp-image-1729" alt="ratelimit" src="http://msitpros.com/wp-content/uploads/2013/03/ratelimit.png" width="388" height="325" /></a></p>
<p>As you can see in my example I set it to transfer only 50% during working hours for all my distribution points, and I immediately saw the effect on my site servers bandwidth.</p>
<p><a href="http://msitpros.com/?attachment_id=1730" rel="attachment wp-att-1730"><img class="aligncenter size-medium wp-image-1730" alt="network" src="http://msitpros.com/wp-content/uploads/2013/03/network-300x184.png" width="300" height="184" /></a>It is also possible to use the <strong>Schedule</strong> option on your Distribution Point to restrict what kind of traffic can be sent during different hours of the day. This applies to the priority of content, so say that you have software update packages that you know you want to distribute but everything else can wait. If you set your software update packages to high priority and everything else at medium, then you can effectively block medium priority content from being distributed but let high priority content get distributed by selecting the option <strong>Allow high priority only</strong>.</p>
<p>You can read more about the <a href="http://technet.microsoft.com/en-us/library/ded46139-8692-4dd6-bd80-64f7b4045924#BKMK_ModifyDistributionPointSettings">different distribution point settings</a> in the Configuration Manager Document Library.</p>
]]></content:encoded>
			<wfw:commentRss>http://msitpros.com/?feed=rss2&#038;p=1727</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hardening your Windows Client</title>
		<link>http://msitpros.com/?p=1714</link>
		<comments>http://msitpros.com/?p=1714#comments</comments>
		<pubDate>Sun, 10 Mar 2013 19:00:22 +0000</pubDate>
		<dc:creator>Oddvar</dc:creator>
				<category><![CDATA[Client]]></category>
		<category><![CDATA[Penetration testing]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[firewire]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[pass-the-hash]]></category>
		<category><![CDATA[Password]]></category>
		<category><![CDATA[penetration testing]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://msitpros.com/?p=1714</guid>
		<description><![CDATA[It has been a while since I wrote a good blog post. So the time has come for me to write a little about Windows security from a Penetration tester perspective. Hope you like it. There is probably a tons of guides and blog posts on how to hardening your Windows clients. In this post &#8230; </p><p><a class="more-link block-button" href="http://msitpros.com/?p=1714">Continue reading &#187;</a>]]></description>
				<content:encoded><![CDATA[<p>It has been a while since I wrote a good blog post. So the time has come for me to write a little about Windows security from a Penetration tester perspective. Hope you like it.</p>
<p>There is probably a tons of guides and blog posts on how to hardening your Windows clients. In this post however I will focus on what a Penetration tester looks for and tests. Remember that a Penetration tester often wants to test how far he can get in a network, but a real hacker often stops when he gets what he wants. A hacker can often be satisfied by getting a shell running as the logged on user.</p>
<p>I always hear as long as you get physical access to the machine you own it. And that is somehow true, but you still need to hack it to get in. So this will take this statement to a test.</p>
<p>In this post, the goal of the Penetration tester is to get as far as he can get. The ultimate goal is domain admin on a domain controller. This is of course often scenario based for a penetration tester. So I will describe 2 scenarios and how I tested them, then I will explain mitigation factors to prevent this in the future.</p>
<p><strong>Scenario 1</strong> is that I somehow get my hands on a computer inside a organization. (breakin ,social engineering etc.)<br />
- This computer is not bitlocker encrypted.<br />
- The domain user using this machine is not a local admin.<br />
- The Local administrator account is disabled.<br />
- The machine has all normal physical ports &#8211; USB,PCMCIA,HDMI,Firewire etc.<br />
- The Windows Firewall is configured opened for 445, ICMP and WinRM from all hosts within the domain.</p>
<p><strong>Scenario 2</strong> is also a computer that I get my hands on inside a organization. (breakin ,social engineering etc.)<br />
- The computer is bitlocker encrypted without PIN.<br />
- The domain user that uses this machine is not a local administrator.<br />
- The Local administrator account is enabled.<br />
- There was also a domain\helpdesk user cached on the machine<br />
- The machine has all normal physical ports &#8211; USB,PCMCIA,HDMI,Firewire etc<br />
- The Windows Firewall is configured opened for 445, ICMP and WinRM from all hosts within the domain.</p>
<p>The big difference in these 2 scenarios is the fact that scenario 1 includes bitlocker encryption and that scenario 2 has cached credentials for a helpdesk account. Okay, lets start the walkthrough of the scenarios.</p>
<p><strong>Scenario 1:<br />
</strong>First goal is to get local admin access. How can we do that?? In many ways basically. The easiest way I know of is to change binaries. Let me explain.<br />
In Windows there is almost an EXE/DLL file behind every thing you click on. For example the &#8220;ease of access&#8221; or &#8220;Sticky Keys&#8221; (5 times on SHIFT). There is also the Windows+P to change display that launces a EXE file (displayswitch.exe). I will not go into detail on how to find out what EXE files that is used on different action, but the key tool is Process monitor by Mark Russinovich.<br />
<img alt="Image" src="http://msitpros.com/wp-content/uploads/2013/03/image-1.jpg" width="240" height="212" /></p>
<p><a class="highslide img_55" href="http://msitpros.com/wp-content/uploads/2013/03/image-2.jpg" onclick="return hs.expand(this)"><img alt="Image" src="http://msitpros.com/wp-content/uploads/2013/03/image-2-small.jpg" width="450" height="186" /></a></p>
<p>The exe file behind &#8220;ease of access&#8221; is named utilman.exe and &#8220;Sticky keys&#8221; is named sethc.exe. So what I want to do is to change these binaries with cmd.exe. How do I do this? I boot up on a Windows Installation Media and hit SHIFT+F10. (You can of course use any boot cd you want)<br />
<a class="highslide img_56" href="http://msitpros.com/wp-content/uploads/2013/03/image-3.jpg" onclick="return hs.expand(this)"><img alt="Image" src="http://msitpros.com/wp-content/uploads/2013/03/image-3-small.jpg" width="450" height="338" /></a></p>
<p>This will launch a command prompt from where I can Issue the following command:<br />
copy c:\windows\system32\cmd.exe c:\windows\system32\utilman.exe (answer Y to confirm the overwrite)<br />
copy c:\windows\system32\cmd.exe c:\windows\system32\sethc.exe (answer Y to confirm the overwrite)</p>
<p>Then we are done with the binary inject attack. Boot up the computer as normal and hit either the &#8220;ease of access&#8221; button or use 5x Shift key to launch &#8220;sticky keys&#8221;.</p>
<p><a class="highslide img_57" href="http://msitpros.com/wp-content/uploads/2013/03/image-4.jpg" onclick="return hs.expand(this)"><img alt="Image" src="http://msitpros.com/wp-content/uploads/2013/03/image-4-small.jpg" width="450" height="427" /></a></p>
<p>So as you can see on the screenshot you can now get a shell in 2 ways ( I could do the same with displayswitch.exe and using Windows+P to get a shell). Each resulting in you running shell as system. So whats next. Thats right, create accounts&#8230;..<br />
Run the following command in either of the shells:<br />
net user msitpros H4ck3r4L1fe /add<br />
net localgroup administrators msitpros /add</p>
<p>Then you need to reboot the computer in order for the new account to be active. After the boot we can log on as .\msitpros and password H4ck3r4L1fe and we are now a local admin. This was I see it phase 1 in the test. Next phase is finding NTLM hashes on the box in order to user the Pass-the-hash attack so we can harvest other hashes.</p>
<p>So how to we dump the NTLM hashes? Well, there are several ways of doing this. My &#8220;new&#8221; favorite way of doing this is by using a Powershell script(what else??). In order to dump hashes from Powershell we need to run it as the SYSTEM account. So how do we do that excactly? Easy, download a copy of pstools from Mr. Mark Russinovich (great guy). It can be found here: <a href="http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx">http://technet.microsoft.com/en-us/sysinternals/bb896649.aspx</a><br />
Extract it and run the following command from within the PSTools folder:<br />
.\psexec -i -s powershell.exe<br />
<a class="highslide img_58" href="http://msitpros.com/wp-content/uploads/2013/03/image-5.jpg" onclick="return hs.expand(this)"><img alt="Image" src="http://msitpros.com/wp-content/uploads/2013/03/image-5-small.jpg" width="450" height="288" /></a><br />
This should then launch a powershell command window. You can now run the whoami command to verify your identity.</p>
<p>Next up is executing this well written script :<br />
Source: <a href="http://truesec.com/Content/SiteContent/Tools/Get-TSLocalHash.txt">http://truesec.com/Content/SiteContent/Tools/Get-TSLocalHash.txt</a> (Kudos to Truesec)<br />
This will show you the NTLM hashes that is present on the machine.<br />
<a class="highslide img_59" href="http://msitpros.com/wp-content/uploads/2013/03/image-6.jpg" onclick="return hs.expand(this)"><img alt="Image" src="http://msitpros.com/wp-content/uploads/2013/03/image-6-small.jpg" width="450" height="230" /></a><br />
And getting the hashes is like getting access to the users password. So, lets try to use them for something fun, maybe connect to another machine for instance.<br />
For my next &#8220;trick&#8221; I am using a tool called &#8220;Windows Credential Editor&#8221; or WCE. This tool can be downloaded from here:<br />
X86: <a href="http://www.ampliasecurity.com/research/wce_v1_3beta.tgz">http://www.ampliasecurity.com/research/wce_v1_3beta.tgz</a><br />
X64: <a href="http://www.ampliasecurity.com/research/wce_v1_3beta_x64.tgz">http://www.ampliasecurity.com/research/wce_v1_3beta_x64.tgz</a><br />
(In order to extract this using 7-zip you need to extract the extracted file once more)</p>
<p>Okay, so you got the tool in place. Let&#8217;s use it to pass the hash to another machine. Let take the Hash to &#8220;Tro Jan&#8221; and pass it to another box to see if it works. This is the syntax for launching another command using this hash:<br />
wce.exe -s &lt;user&gt;:&lt;domain&gt;:&lt;LM hash&gt;:&lt;NT hash&gt; -c cmd.exe<br />
or with values:<br />
wce -s &#8220;Tro Jan&#8221;:Win7-Target:aad3b435b51404eeaad3b435b51404ee:e19ccf75ee54e06b06a5907af13cef42 -c cmd.exe<br />
<em>&#8216; note that Win7-Target must be the machine name of the target machine when using local accounts, otherwise use domain name.</em></p>
<p><a class="highslide img_60" href="http://msitpros.com/wp-content/uploads/2013/03/image-7.jpg" onclick="return hs.expand(this)"><img alt="Image" src="http://msitpros.com/wp-content/uploads/2013/03/image-7-small.jpg" width="450" height="277" /></a></p>
<p>This should now launch another cmd. And when you try to use for example &#8220;net use \\win7-target\c$&#8221; from the new cmd it will not ask you for username or password. It sends your crafted Hash to the other machine. (Evil laughter time &#8211; Mohahaha)<br />
So now I just have to bounce around the machines until I find one with a domain admin account. I will then use the same method to access the domain controllers and then gain the ultimate goal.</p>
<p>&nbsp;</p>
<p><strong>Scenario 2:</strong></p>
<p>This computer has as you remember bitlocker, fortunate for me it does not have a startup pin. So how far can I get in this scenario? I got no username or password. If I try to use a offline media I will not get into the disk, because of the bitlocker encryption. So a cool hack is to use the firewire exploit. I know this might be very old information to many of you, but as long as it is still valid I choose to use it and describe it. If you have never heard of anything like a firewire exploit, then let me explain it to you. Firewire is a technology that get&#8217;s direct access to the memory of the machine (its a feature, not a bug&#8230;.). It is designed to have very high speed, and in order to achieve this they found out that direct memory access was the way to go.</p>
<p>Okay, so then I use Inception ( a cool tool that can bypass winlogon with firewire by patching MSv1_0.dll in memory) in order to hack my way into the local admin account. <a class="highslide img_61" href="http://msitpros.com/wp-content/uploads/2013/03/image-9.jpg" onclick="return hs.expand(this)"><img alt="Image" src="http://msitpros.com/wp-content/uploads/2013/03/image-9-small.jpg" width="450" height="232" /></a></p>
<p><a class="highslide img_62" href="http://msitpros.com/wp-content/uploads/2013/03/image-8.jpg" onclick="return hs.expand(this)"><img alt="Image" src="http://msitpros.com/wp-content/uploads/2013/03/image-8-small.jpg" width="450" height="329" /></a><br />
*source: <a href="http://www.breaknenter.org/projects/inception/">http://www.breaknenter.org/projects/inception/</a></p>
<p>If you want to see the attack and how it works take a look at this video:<br />
<a href="http://www.youtube.com/watch?v=tsb6ojxa3ik">http://www.youtube.com/watch?v=tsb6ojxa3ik</a></p>
<p>Fortunate for me the administrator account is enabled. So I will just launch the attack from Inception and be logged on as administrator, and the create another user with local administrator rights.<br />
I will then logg on with my new account and use Pass-the-hash attack as described in scenario 1 with the helpdesk account as described in the scenario overview. I will do this until I find a domain admin account and then move onto the domain controllers. And there we are&#8230;.King of the castle&#8230;..<br />
Another approach could be to crack the hash to the helpdesk account using rainbow tables. (more on that in a later post)</p>
<p>&nbsp;</p>
<p><strong>Mitigation:</strong></p>
<p>So what is the lesson learned here? First of all, it is important to think about security at all places, not just only the servers.</p>
<p>In order for bitlocker to have an effect you must at least disable Firewire. And not just disable it in BIOS. If you just disable the Firewire port itself you will not prevent anyone from using a PCMCIA card with Firewire. What I am trying to say is that we need to restrict the setup class GUID. Microsoft has described this problem and the solution here: <a href="http://support.microsoft.com/kb/2516445/en-us">http://support.microsoft.com/kb/2516445/en-us</a></p>
<p>- Bitlocker would have helped a lot in scenario 1, but not without disabling Firewire.<br />
- Disabling local adminsitrator accounts would have helped a lot in scenario 2.<br />
- Blocking communication between clients would have stopped the Pass-The-Hash against other workstation and not letting me to harvest hash&#8217;es<br />
- If both scenarios had PIN on the bitlocker I would get nowhere. So a good mitigation factor is to implement bitlocker with PIN and not just TPM.<br />
- After enabling PIN on bitlocker I would also make sure that the machines are going to Hibernation rather than standby.</p>
<p>To sum it all up: disable local admin accounts, do not give anyone local admin rights, disable firewire, enable bitlocker with TPM and PIN, block client-to-client communication and remove debug priviliges</p>
<p>In my next post I hopefully will write about how to escalate privileges using different techniques and of course how to prevent them.</p>
]]></content:encoded>
			<wfw:commentRss>http://msitpros.com/?feed=rss2&#038;p=1714</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
