<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: List of Windows 7 (beta build 7000) auto-elevated binaries</title>
	<atom:link href="http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/</link>
	<description>Not your usual Microsoft enthusiast blog.</description>
	<lastBuildDate>Fri, 20 Nov 2009 20:11:07 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: echoecho4</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-4555</link>
		<dc:creator>echoecho4</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-4555</guid>
		<description>sorry to bother you,but I deleted a Windows/System32/msdt.exe  by wrong,Icannot connect to the internet now.Could you just be fine to send me one. Thanks a lot.
echoecho4@126.com</description>
		<content:encoded><![CDATA[<p>sorry to bother you,but I deleted a Windows/System32/msdt.exe  by wrong,Icannot connect to the internet now.Could you just be fine to send me one. Thanks a lot.<br />
<a href="mailto:echoecho4@126.com">echoecho4@126.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Windows 7 UAC whitelist: Code-injection Issue &#124; Cupfighter.net</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-4195</link>
		<dc:creator>Windows 7 UAC whitelist: Code-injection Issue &#124; Cupfighter.net</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-4195</guid>
		<description>[...] http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/     Categories: Microsoft, Security, Windows 7 Tags:         Comments (0) Trackbacks (0) Leave a comment Trackback [...]</description>
		<content:encoded><![CDATA[<p>[...] <a href="http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/" rel="nofollow">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/</a>     Categories: Microsoft, Security, Windows 7 Tags:         Comments (0) Trackbacks (0) Leave a comment Trackback [...]</p>
<span class="comment-sorter-trackback">&nbsp;</span>]]></content:encoded>
	</item>
	<item>
		<title>By: Dan Griffin&#8217;s Blog &#187; Interesting Windows 7 UAC vulnerability</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-3917</link>
		<dc:creator>Dan Griffin&#8217;s Blog &#187; Interesting Windows 7 UAC vulnerability</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-3917</guid>
		<description>[...] the new Windows 7 UAC behavior). An example is sysprep.exe. The name of the dll must correspond to one that&#8217;s not on the &#8220;known dlls&#8221; [...]</description>
		<content:encoded><![CDATA[<p>[...] the new Windows 7 UAC behavior). An example is sysprep.exe. The name of the dll must correspond to one that&#8217;s not on the &#8220;known dlls&#8221; [...]</p>
<span class="comment-sorter-trackback">&nbsp;</span>]]></content:encoded>
	</item>
	<item>
		<title>By: Windows 7 Has 62 Uplifting EXEs &#124; The Minority Report</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-3491</link>
		<dc:creator>Windows 7 Has 62 Uplifting EXEs &#124; The Minority Report</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-3491</guid>
		<description>[...] able to auto-elevate without actually prompting the user. Click after the jump for the actual list. Back in February, I posted a list of applications that have the authority to automatically elevate without prompt in [...]</description>
		<content:encoded><![CDATA[<p>[...] able to auto-elevate without actually prompting the user. Click after the jump for the actual list. Back in February, I posted a list of applications that have the authority to automatically elevate without prompt in [...]</p>
<span class="comment-sorter-trackback">&nbsp;</span>]]></content:encoded>
	</item>
	<item>
		<title>By: hp7</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-3478</link>
		<dc:creator>hp7</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-3478</guid>
		<description>Have there been any changes in the RC (build 7100)?</description>
		<content:encoded><![CDATA[<p>Have there been any changes in the RC (build 7100)?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Big G</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2673</link>
		<dc:creator>Big G</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2673</guid>
		<description>Anyone interested in manifests see here :)
http://channel9.msdn.com/posts/jmazner/How-To-Tell-Vistas-UAC-What-Privelege-Level-Your-App-Requires/</description>
		<content:encoded><![CDATA[<p>Anyone interested in manifests see here :)<br />
<a href="http://channel9.msdn.com/posts/jmazner/How-To-Tell-Vistas-UAC-What-Privelege-Level-Your-App-Requires/" rel="nofollow">http://channel9.msdn.com/posts/jmazner/How-To-Tell-Vistas-UAC-What-Privelege-Level-Your-App-Requires/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Big G</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2672</link>
		<dc:creator>Big G</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2672</guid>
		<description>Please excuse my ignorance as I&#039;m not a devloper but for the MS apps such as calculator am I correct to assume that the maifest embeded in the file requests Admin rights?

I worked on some server 2008 builds recently and was pretty annoyed that you couldn&#039;t remove calc and mspaint using the AIK... Why would MS make these mandatory on a Server OS? 

Have you tried this proof of concept on Server 2008 R2 beta??</description>
		<content:encoded><![CDATA[<p>Please excuse my ignorance as I&#8217;m not a devloper but for the MS apps such as calculator am I correct to assume that the maifest embeded in the file requests Admin rights?</p>
<p>I worked on some server 2008 builds recently and was pretty annoyed that you couldn&#8217;t remove calc and mspaint using the AIK&#8230; Why would MS make these mandatory on a Server OS? </p>
<p>Have you tried this proof of concept on Server 2008 R2 beta??</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cranial Trauma &#187; Windows 7, UAC &#38; VMware</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2489</link>
		<dc:creator>Cranial Trauma &#187; Windows 7, UAC &#38; VMware</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2489</guid>
		<description>[...] &#8216;admin&#8217; mode without asking for permission. Except for &#8220;some&#8221; please read approximately 70, and for &#8220;core utilities&#8221; think calculator. -Anyway, have a look at this video by Leo [...]</description>
		<content:encoded><![CDATA[<p>[...] &#8216;admin&#8217; mode without asking for permission. Except for &#8220;some&#8221; please read approximately 70, and for &#8220;core utilities&#8221; think calculator. -Anyway, have a look at this video by Leo [...]</p>
<span class="comment-sorter-trackback">&nbsp;</span>]]></content:encoded>
	</item>
	<item>
		<title>By: Short: Windows 7 (beta build 7022) white list loses one - Within Windows</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2482</link>
		<dc:creator>Short: Windows 7 (beta build 7022) white list loses one - Within Windows</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2482</guid>
		<description>[...] week, I published a list of auto-elevate flagged binaries shipped with the Windows 7 beta. Analysis of the recently leaked [...]</description>
		<content:encoded><![CDATA[<p>[...] week, I published a list of auto-elevate flagged binaries shipped with the Windows 7 beta. Analysis of the recently leaked [...]</p>
<span class="comment-sorter-trackback">&nbsp;</span>]]></content:encoded>
	</item>
	<item>
		<title>By: Leo Davidson</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2475</link>
		<dc:creator>Leo Davidson</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2475</guid>
		<description>@Kevin Nguyen: It can get full admin access so it should be able to install anything it wants. The question of signed vs unsigned drivers is a side issue really... If the malicious software requires a driver then, yeah, it&#039;ll have to be signed if the OS requires that, unless someone finds a separate way to bypass that requirement. I know very little about installing drivers though.

I can see where MS are coming from when they say the code has to get on the machine first, but if that&#039;s their argument then we don&#039;t need UAC prompts at all. Clearly they think we do need UAC prompts -- or that people want to see them occasionally to *feel* secure -- but as it is in build 7000 and build 7022 the UAC prompts provide the worst of both worlds: Insecurity and Inconvenience.

Personally, I don&#039;t mind UAC prompts too much so I&#039;ll go for Always Prompt and choose Security and Inconvenience. People who trust everything that&#039;s running might want to leave UAC on but have it Never Prompt and get Insecurity and Convenience. (not that this is an option in the Win7 UAC control panel, despite already being possible on Vista :( ) Either seems reasonable to me.

I also don&#039;t understand how MS (or at least the E7 blog people; perhaps they don&#039;t represent MS as a whole) can dismiss a flaw for requiring code to be on the box when methods for getting code to run on a box are found all the time. It&#039;s like they want us to find an end-to-end sequence of flaws before they&#039;ll take any of them seriously, which is ridiculous. Working attacks are almost always a blend of several flaws and you don&#039;t wait for someone to combine them before you start fixing them.</description>
		<content:encoded><![CDATA[<p>@Kevin Nguyen: It can get full admin access so it should be able to install anything it wants. The question of signed vs unsigned drivers is a side issue really&#8230; If the malicious software requires a driver then, yeah, it&#8217;ll have to be signed if the OS requires that, unless someone finds a separate way to bypass that requirement. I know very little about installing drivers though.</p>
<p>I can see where MS are coming from when they say the code has to get on the machine first, but if that&#8217;s their argument then we don&#8217;t need UAC prompts at all. Clearly they think we do need UAC prompts &#8212; or that people want to see them occasionally to *feel* secure &#8212; but as it is in build 7000 and build 7022 the UAC prompts provide the worst of both worlds: Insecurity and Inconvenience.</p>
<p>Personally, I don&#8217;t mind UAC prompts too much so I&#8217;ll go for Always Prompt and choose Security and Inconvenience. People who trust everything that&#8217;s running might want to leave UAC on but have it Never Prompt and get Insecurity and Convenience. (not that this is an option in the Win7 UAC control panel, despite already being possible on Vista :( ) Either seems reasonable to me.</p>
<p>I also don&#8217;t understand how MS (or at least the E7 blog people; perhaps they don&#8217;t represent MS as a whole) can dismiss a flaw for requiring code to be on the box when methods for getting code to run on a box are found all the time. It&#8217;s like they want us to find an end-to-end sequence of flaws before they&#8217;ll take any of them seriously, which is ridiculous. Working attacks are almost always a blend of several flaws and you don&#8217;t wait for someone to combine them before you start fixing them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Nguyen</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2472</link>
		<dc:creator>Kevin Nguyen</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2472</guid>
		<description>@Leo: 
Can a program (say an &quot;innocent&quot; setup file), install a driver or rootkit WITHOUT getting a UAC prompt with this flaw?  

If I remember correctly, unsigned drivers get a big red warning when the user attempts to install it.  Of course, this occurs only after the UAC prompt with the highest UAC  setting.  

This flaw will no doubt be exploited, and it only becomes a question of when.  The question of how such file gets on the system is irrelevant (even if Microsoft argues otherwise), because UAC fails to notify the users for consent for privileged operations.</description>
		<content:encoded><![CDATA[<p>@Leo:<br />
Can a program (say an &#8220;innocent&#8221; setup file), install a driver or rootkit WITHOUT getting a UAC prompt with this flaw?  </p>
<p>If I remember correctly, unsigned drivers get a big red warning when the user attempts to install it.  Of course, this occurs only after the UAC prompt with the highest UAC  setting.  </p>
<p>This flaw will no doubt be exploited, and it only becomes a question of when.  The question of how such file gets on the system is irrelevant (even if Microsoft argues otherwise), because UAC fails to notify the users for consent for privileged operations.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Observer</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2471</link>
		<dc:creator>Observer</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2471</guid>
		<description>Leo is right. There is a problem with auto-elevation of COM objects. The problem though is not with the EXEs (all the MS signed ones) that have access to auto-elevation of the COM objects. The problem is with the mechanics of COM auto-elevation itself. Even if you restrict the the number of EXEs someway, you can still inject a thread in one of the remaining ones.
Now given the fact that explorer runs with medium integrity level (correct) and the IFileCopy auto-elevation is used to avoid prompts when managing files in restricted locations (C:\Windows, C:\Program Files, etc.), this means that the hole that Leo found will be always be exploited unless the mechanics of COM auto-elevation are drastically changed.
IMHO COM auto-elevation is intrinsically an hole. There is no way to walk the thread stack like it is possible with .Net Code Access Security.
Moreover: I think that in the rush of suppressing many prompts in Win7 confusion has been done. There are settings like the time-zone which rise a prompt (correct) but do not expose a security risk. Changing, replacing, deleting system files should be considered a different type of operation from changing the time-zone: I would these file operations would always trigger a prompt. Combined with relaxed ACLs in Program Files it would make things way better both from usability and security.</description>
		<content:encoded><![CDATA[<p>Leo is right. There is a problem with auto-elevation of COM objects. The problem though is not with the EXEs (all the MS signed ones) that have access to auto-elevation of the COM objects. The problem is with the mechanics of COM auto-elevation itself. Even if you restrict the the number of EXEs someway, you can still inject a thread in one of the remaining ones.<br />
Now given the fact that explorer runs with medium integrity level (correct) and the IFileCopy auto-elevation is used to avoid prompts when managing files in restricted locations (C:\Windows, C:\Program Files, etc.), this means that the hole that Leo found will be always be exploited unless the mechanics of COM auto-elevation are drastically changed.<br />
IMHO COM auto-elevation is intrinsically an hole. There is no way to walk the thread stack like it is possible with .Net Code Access Security.<br />
Moreover: I think that in the rush of suppressing many prompts in Win7 confusion has been done. There are settings like the time-zone which rise a prompt (correct) but do not expose a security risk. Changing, replacing, deleting system files should be considered a different type of operation from changing the time-zone: I would these file operations would always trigger a prompt. Combined with relaxed ACLs in Program Files it would make things way better both from usability and security.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leo Davidson</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2465</link>
		<dc:creator>Leo Davidson</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2465</guid>
		<description>With very little time/effort I was able to extend my previous proof-of-concept code into something that can run any command with elevation and do things like wipe out the OS. This is without using the SendKeys or RunDll32 tricks.

(It took more time to re-do the GUI and make the videos than to turn the &quot;copy a file&quot; concept into &quot;own the machine&quot;. Like I said, if you can copy to System32 and Program Files then it&#039;s game over, as the second of these new videos shows dramatically. Or perhaps over-dramatically. Well, I hadn&#039;t seen the Win7 self-recovery process before so I figured it might be interesting to other people and left it in.)

The first video shows a bit more about how Win7&#039;s COM elevation stuff works:

Mirror 1: http://nudel.kelbv.com/W7E_VID_INT/W7E_VID_INT.htm
Mirror 2: http://leo.lss.com.au/W7E_VID_INT/W7E_VID_INT.htm

The second shows this new code completely hosing a machine without a UAC prompt, in case people don&#039;t realise what &quot;You can open an admin command prompt&quot; means from the first vid. heh:

Mirror 1: http://nudel.kelbv.com/W7E_VID_DRA/W7E_VID_DRA.htm
Mirror 2: http://leo.lss.com.au/W7E_VID_DRA/W7E_VID_DRA.htm

I also posted some corrections to my page (linked from the vids), at the top for now until I work them into the main body.

BTW, Cacl.exe and Notepad.exe both have access to create elevated COM objects without prompting. How on earth is that sensible considering that neither process would ever need it? So far it appears that all signed in-box MS executables have the special access. Why make the attack surface larger than it has to be?</description>
		<content:encoded><![CDATA[<p>With very little time/effort I was able to extend my previous proof-of-concept code into something that can run any command with elevation and do things like wipe out the OS. This is without using the SendKeys or RunDll32 tricks.</p>
<p>(It took more time to re-do the GUI and make the videos than to turn the &#8220;copy a file&#8221; concept into &#8220;own the machine&#8221;. Like I said, if you can copy to System32 and Program Files then it&#8217;s game over, as the second of these new videos shows dramatically. Or perhaps over-dramatically. Well, I hadn&#8217;t seen the Win7 self-recovery process before so I figured it might be interesting to other people and left it in.)</p>
<p>The first video shows a bit more about how Win7&#8217;s COM elevation stuff works:</p>
<p>Mirror 1: <a href="http://nudel.kelbv.com/W7E_VID_INT/W7E_VID_INT.htm" rel="nofollow">http://nudel.kelbv.com/W7E_VID_INT/W7E_VID_INT.htm</a><br />
Mirror 2: <a href="http://leo.lss.com.au/W7E_VID_INT/W7E_VID_INT.htm" rel="nofollow">http://leo.lss.com.au/W7E_VID_INT/W7E_VID_INT.htm</a></p>
<p>The second shows this new code completely hosing a machine without a UAC prompt, in case people don&#8217;t realise what &#8220;You can open an admin command prompt&#8221; means from the first vid. heh:</p>
<p>Mirror 1: <a href="http://nudel.kelbv.com/W7E_VID_DRA/W7E_VID_DRA.htm" rel="nofollow">http://nudel.kelbv.com/W7E_VID_DRA/W7E_VID_DRA.htm</a><br />
Mirror 2: <a href="http://leo.lss.com.au/W7E_VID_DRA/W7E_VID_DRA.htm" rel="nofollow">http://leo.lss.com.au/W7E_VID_DRA/W7E_VID_DRA.htm</a></p>
<p>I also posted some corrections to my page (linked from the vids), at the top for now until I work them into the main body.</p>
<p>BTW, Cacl.exe and Notepad.exe both have access to create elevated COM objects without prompting. How on earth is that sensible considering that neither process would ever need it? So far it appears that all signed in-box MS executables have the special access. Why make the attack surface larger than it has to be?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lorne</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2462</link>
		<dc:creator>Lorne</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2462</guid>
		<description>@peter vd berg
I agree with your view!
@Rafael
Your correct on the  common misconception&#039;s about elevation....
Thankx for this Blog, it give&#039;s one something to think about!</description>
		<content:encoded><![CDATA[<p>@peter vd berg<br />
I agree with your view!<br />
@Rafael<br />
Your correct on the  common misconception&#8217;s about elevation&#8230;.<br />
Thankx for this Blog, it give&#8217;s one something to think about!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: peter vd berg</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2449</link>
		<dc:creator>peter vd berg</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2449</guid>
		<description>this gets to be like communism, a good idea but impossible to implement because it assumes humans to be consistent in their actions.</description>
		<content:encoded><![CDATA[<p>this gets to be like communism, a good idea but impossible to implement because it assumes humans to be consistent in their actions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leo Davidson</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2446</link>
		<dc:creator>Leo Davidson</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2446</guid>
		<description>To add to what Jon write (which is all correct), there can&#039;t be a COM object whitelist, at least not one which allows non-Microsoft applications to create the objects without prompts.

That&#039;s what the program&#039;s second button demonstrates. That button creates the same object in the same way but does it within the process -- i.e. the normal way -- instead of injecting a thread into Explorer.exe. The code that is run by both buttons is identical -- exactly the same function and inputs -- and the only difference between the two buttons is which process that code is executed within. The first button copies the function &amp; arguments into Explorer.exe and then starts a thread within Explorer.exe to execute them.

If the code executes within Explorer then the elevated IFileOperation COM object can be created without a UAC prompt. If the exact same code executes within my program then a UAC prompt is triggered and the COM object is only created if the user clicks &#039;Yes&#039;.

The only ways to avoid a prompt when clicking the program&#039;s second button -- the one that creates the object in the normal way -- is to run the program elevated or to disable UAC or UAC prompts completely.

I&#039;ve sent you a private message with a correct source-code details. Apologies for the mix-up. :( Some how the file got truncated.</description>
		<content:encoded><![CDATA[<p>To add to what Jon write (which is all correct), there can&#8217;t be a COM object whitelist, at least not one which allows non-Microsoft applications to create the objects without prompts.</p>
<p>That&#8217;s what the program&#8217;s second button demonstrates. That button creates the same object in the same way but does it within the process &#8212; i.e. the normal way &#8212; instead of injecting a thread into Explorer.exe. The code that is run by both buttons is identical &#8212; exactly the same function and inputs &#8212; and the only difference between the two buttons is which process that code is executed within. The first button copies the function &amp; arguments into Explorer.exe and then starts a thread within Explorer.exe to execute them.</p>
<p>If the code executes within Explorer then the elevated IFileOperation COM object can be created without a UAC prompt. If the exact same code executes within my program then a UAC prompt is triggered and the COM object is only created if the user clicks &#8216;Yes&#8217;.</p>
<p>The only ways to avoid a prompt when clicking the program&#8217;s second button &#8212; the one that creates the object in the normal way &#8212; is to run the program elevated or to disable UAC or UAC prompts completely.</p>
<p>I&#8217;ve sent you a private message with a correct source-code details. Apologies for the mix-up. :( Some how the file got truncated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jon</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2445</link>
		<dc:creator>jon</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2445</guid>
		<description>@Rafael: I&#039;m a friend of Leo&#039;s and have seen the code. I think maybe you&#039;re misunderstanding what is happening in his P-O-C. 

His program is simply creating an elevated IFileOperation COM object. If the program requests it directly, you get a UAC prompt. If, however, it injects a thread into the Explorer process, and this injected thread creates it, it does not show a UAC prompt. Therefore, in Windows 7 beta with the default UAC settings, it is possible for ANY process to gain access to an elevated IFileOperation object (and presumably any other COM object that supports elevation) without the user actually seeing a UAC prompt.

Of course, once you have an elevated IFileOperation object, you can pretty much do anything you like...</description>
		<content:encoded><![CDATA[<p>@Rafael: I&#8217;m a friend of Leo&#8217;s and have seen the code. I think maybe you&#8217;re misunderstanding what is happening in his P-O-C. </p>
<p>His program is simply creating an elevated IFileOperation COM object. If the program requests it directly, you get a UAC prompt. If, however, it injects a thread into the Explorer process, and this injected thread creates it, it does not show a UAC prompt. Therefore, in Windows 7 beta with the default UAC settings, it is possible for ANY process to gain access to an elevated IFileOperation object (and presumably any other COM object that supports elevation) without the user actually seeing a UAC prompt.</p>
<p>Of course, once you have an elevated IFileOperation object, you can pretty much do anything you like&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rafael</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2444</link>
		<dc:creator>Rafael</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2444</guid>
		<description>I&#039;d like to also correct a common misconception I&#039;m seeing here.

Processes do not perform elevation tasks. Processes simply -request- elevation and one of two things happen (simplistic version): The requested new process/task is determined to be white-listed and elevated without prompt -or- the user is prompted for action.</description>
		<content:encoded><![CDATA[<p>I&#8217;d like to also correct a common misconception I&#8217;m seeing here.</p>
<p>Processes do not perform elevation tasks. Processes simply -request- elevation and one of two things happen (simplistic version): The requested new process/task is determined to be white-listed and elevated without prompt -or- the user is prompted for action.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rafael</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2443</link>
		<dc:creator>Rafael</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2443</guid>
		<description>@Leo: I&#039;m still a little confused, but I&#039;m hoping your code will shed light on this. I haven&#039;t been able to open the archive, see reasons in my reply.

Explorer.exe is not an elevated process. As there appears to be a white-list for COM as well, I think you vastly over-engineered your proof-of-concept, i.e. your injection into Explorer is completely unnecessary. A simple third-party application should do, as it&#039;ll be in the same sandbox as Explorer.

Have you tested this without the injection vector?</description>
		<content:encoded><![CDATA[<p>@Leo: I&#8217;m still a little confused, but I&#8217;m hoping your code will shed light on this. I haven&#8217;t been able to open the archive, see reasons in my reply.</p>
<p>Explorer.exe is not an elevated process. As there appears to be a white-list for COM as well, I think you vastly over-engineered your proof-of-concept, i.e. your injection into Explorer is completely unnecessary. A simple third-party application should do, as it&#8217;ll be in the same sandbox as Explorer.</p>
<p>Have you tested this without the injection vector?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leo Davidson</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2441</link>
		<dc:creator>Leo Davidson</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2441</guid>
		<description>@Kevin:

I&#039;ve dropped a note about my thing to the E7 blog&#039;s contact page. (Update: Got a quick reply already.) I imagine there are better ways to notify them but I don&#039;t know them and I figure that&#039;ll work one way or another. Rafael&#039;s also been looking at what I found and I guess he already knows who to notify if he finds anything interesting.

I&#039;m glad that MS are going to fix the UAC control panel issues. Sounds like they&#039;re doing the right thing there. It will be interesting if they can do anything about the other exploits. They could remove RunDll32.exe&#039;s elevation flag but I wonder which components depended on that? Even so, I fear there may not be a quick/easy fix for the code-injection problem (which is of course fairly irrelevant while the RunDll32.exe problem exists, except as a reminder that fixing RunDll32.exe/MMC.exe/etc. alone won&#039;t solve everything).

I don&#039;t fully buy the idea (on the E7 blog) that exploits which require locally running code are not important... (That&#039;s what they seem to be saying, anyway.) If that was the case then we wouldn&#039;t need UAC elevation prompts at all and we could let any process elevate whenever it wants. I do agree that remote code exploits are far more of an issue than local ones (of course!), but I don&#039;t think that means we should dismiss that fact that on a default Win 7 box absolutely any process (except for protected mode IE, basically) can elevate to admin when and if it wants to.

The good news is that if UAC is at the highest level then my code-injection thing is worthless as it will trigger a UAC prompt. I have not uncovered anything that can bypass UAC at its highest level.</description>
		<content:encoded><![CDATA[<p>@Kevin:</p>
<p>I&#8217;ve dropped a note about my thing to the E7 blog&#8217;s contact page. (Update: Got a quick reply already.) I imagine there are better ways to notify them but I don&#8217;t know them and I figure that&#8217;ll work one way or another. Rafael&#8217;s also been looking at what I found and I guess he already knows who to notify if he finds anything interesting.</p>
<p>I&#8217;m glad that MS are going to fix the UAC control panel issues. Sounds like they&#8217;re doing the right thing there. It will be interesting if they can do anything about the other exploits. They could remove RunDll32.exe&#8217;s elevation flag but I wonder which components depended on that? Even so, I fear there may not be a quick/easy fix for the code-injection problem (which is of course fairly irrelevant while the RunDll32.exe problem exists, except as a reminder that fixing RunDll32.exe/MMC.exe/etc. alone won&#8217;t solve everything).</p>
<p>I don&#8217;t fully buy the idea (on the E7 blog) that exploits which require locally running code are not important&#8230; (That&#8217;s what they seem to be saying, anyway.) If that was the case then we wouldn&#8217;t need UAC elevation prompts at all and we could let any process elevate whenever it wants. I do agree that remote code exploits are far more of an issue than local ones (of course!), but I don&#8217;t think that means we should dismiss that fact that on a default Win 7 box absolutely any process (except for protected mode IE, basically) can elevate to admin when and if it wants to.</p>
<p>The good news is that if UAC is at the highest level then my code-injection thing is worthless as it will trigger a UAC prompt. I have not uncovered anything that can bypass UAC at its highest level.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Nguyen</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2440</link>
		<dc:creator>Kevin Nguyen</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2440</guid>
		<description>@Leo:

Had you notify of MS of the code-injection problem you discovered?  
Does this work if the UAC setting was at the highest?

Microsoft just released an update concerning the first flaw discovered for UAC, in which UAC is not prompted when the setting changes.  They&#039;re also aware of the auto-elevate issues, but I don&#039;t think they have commented on this issue yet.  You can find the updated blog and Microsoft proposed fixes for the first flaw discovered:

http://blogs.msdn.com/e7/archive/2009/02/05/uac-feedback-and-follow-up.aspx</description>
		<content:encoded><![CDATA[<p>@Leo:</p>
<p>Had you notify of MS of the code-injection problem you discovered?<br />
Does this work if the UAC setting was at the highest?</p>
<p>Microsoft just released an update concerning the first flaw discovered for UAC, in which UAC is not prompted when the setting changes.  They&#8217;re also aware of the auto-elevate issues, but I don&#8217;t think they have commented on this issue yet.  You can find the updated blog and Microsoft proposed fixes for the first flaw discovered:</p>
<p><a href="http://blogs.msdn.com/e7/archive/2009/02/05/uac-feedback-and-follow-up.aspx" rel="nofollow">http://blogs.msdn.com/e7/archive/2009/02/05/uac-feedback-and-follow-up.aspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leo Davidson</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2438</link>
		<dc:creator>Leo Davidson</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2438</guid>
		<description>I&#039;ve written a page about the code-injection issue &amp; proof-of-concept:

http://www.pretentiousname.com/misc/win7_uac_whitelist2.html</description>
		<content:encoded><![CDATA[<p>I&#8217;ve written a page about the code-injection issue &amp; proof-of-concept:</p>
<p><a href="http://www.pretentiousname.com/misc/win7_uac_whitelist2.html" rel="nofollow">http://www.pretentiousname.com/misc/win7_uac_whitelist2.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leo Davidson</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2436</link>
		<dc:creator>Leo Davidson</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2436</guid>
		<description>@Dan: &quot;Also Leo ANY process can launch an auto-elevated subprocess.&quot;

Um, what???

If that&#039;s true -- which I assure you it isn&#039;t supposed to be -- then remind me what the point of UAC is again, please?</description>
		<content:encoded><![CDATA[<p>@Dan: &#8220;Also Leo ANY process can launch an auto-elevated subprocess.&#8221;</p>
<p>Um, what???</p>
<p>If that&#8217;s true &#8212; which I assure you it isn&#8217;t supposed to be &#8212; then remind me what the point of UAC is again, please?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leo Davidson</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2435</link>
		<dc:creator>Leo Davidson</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2435</guid>
		<description>@asf: If you find a suitable COM object, yes you could execute something elevated. Or you could turn off UAC. The UAC control panel almost certainly uses a COM object to change UAC settings so someone with a debugger could work out which object and how to call it and then we have another way to disable UAC even if the other methods are fixed.

Besides which, a process that is able to copy files to restricted areas such as System32 and Program Files can take over the OS with just that ability by replacing files which will be run at the next reboot as admin with its own files. (Or by replacing a file that the user willingly runs as admin. For example, someone could replace the Process Monitor exe on my computer and the next time I thought I was running Process Monitor and confirmed the UAC prompt I&#039;d actually be launching some other process with admin access.

So any non-elevated process can take over the system and, one way or another, gain full elevation. 

Any COM object that is registered for elevation can be used, elevated, by any non-elevated process. (Ignoring low-integrity ones, i.e. IE7/8.)

I don&#039;t plan to go hunting for more COM objects/interfaces as I think I&#039;ve proven the problem exists.

And I don&#039;t understand why you dismiss this as just &quot;copying a file like Explorer.&quot; With the default Windows 7 settings Explorer can modify folders that other processes shouldn&#039;t be able to, yet here is a way which took one day to work out that allows any process to do the same thing, i.e. modify folders it isn&#039;t supposed to be able to. Would you also not be worried about a non-elevated program that was &quot;just formatting the disk like Disk Manager?&quot; :-) It&#039;d be trivial to modify the code so that it erased almost everything in System32, for example... I just made it copy a file as that is a nice, non-destructive example which proves the point without actually breaking the OS it runs on. From there you can extrapolate at the damage that someone malicious could do.

This unelevated process is copying a file like an administrator process. The System32 and Program Files (etc.) folders are protected for a very good reason. Anything with control over them has control over the whole machine, in the end.</description>
		<content:encoded><![CDATA[<p>@asf: If you find a suitable COM object, yes you could execute something elevated. Or you could turn off UAC. The UAC control panel almost certainly uses a COM object to change UAC settings so someone with a debugger could work out which object and how to call it and then we have another way to disable UAC even if the other methods are fixed.</p>
<p>Besides which, a process that is able to copy files to restricted areas such as System32 and Program Files can take over the OS with just that ability by replacing files which will be run at the next reboot as admin with its own files. (Or by replacing a file that the user willingly runs as admin. For example, someone could replace the Process Monitor exe on my computer and the next time I thought I was running Process Monitor and confirmed the UAC prompt I&#8217;d actually be launching some other process with admin access.</p>
<p>So any non-elevated process can take over the system and, one way or another, gain full elevation. </p>
<p>Any COM object that is registered for elevation can be used, elevated, by any non-elevated process. (Ignoring low-integrity ones, i.e. IE7/8.)</p>
<p>I don&#8217;t plan to go hunting for more COM objects/interfaces as I think I&#8217;ve proven the problem exists.</p>
<p>And I don&#8217;t understand why you dismiss this as just &#8220;copying a file like Explorer.&#8221; With the default Windows 7 settings Explorer can modify folders that other processes shouldn&#8217;t be able to, yet here is a way which took one day to work out that allows any process to do the same thing, i.e. modify folders it isn&#8217;t supposed to be able to. Would you also not be worried about a non-elevated program that was &#8220;just formatting the disk like Disk Manager?&#8221; :-) It&#8217;d be trivial to modify the code so that it erased almost everything in System32, for example&#8230; I just made it copy a file as that is a nice, non-destructive example which proves the point without actually breaking the OS it runs on. From there you can extrapolate at the damage that someone malicious could do.</p>
<p>This unelevated process is copying a file like an administrator process. The System32 and Program Files (etc.) folders are protected for a very good reason. Anything with control over them has control over the whole machine, in the end.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: asf</title>
		<link>http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/comment-page-1/#comment-2434</link>
		<dc:creator>asf</dc:creator>
		<pubDate>Wed, 31 Dec 1969 18:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.withinwindows.com/2009/02/05/list-of-windows-7-beta-build-7000-auto-elevated-binaries/#comment-2434</guid>
		<description>@Leo: I still don&#039;t get it, yes you can copy a file like explorer, but can you EXECUTE cmd.exe elevated for example?</description>
		<content:encoded><![CDATA[<p>@Leo: I still don&#8217;t get it, yes you can copy a file like explorer, but can you EXECUTE cmd.exe elevated for example?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
