## # $Id: goodtech_telnet.rb 9262 2010-05-09 17:45:00Z jduck $ ## ## # 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 = AverageRanking # other modules to load go here. Since we're using a TCP connection, we load Msf::Exploit::Remote::Tcp # there are many other modules with built in functionality, such as SSH, and HTTP # these more advanced modules help with parsing out more complicated server responses, or dealing with other types of connections include Msf::Exploit::Remote::Tcp def initialize(info = {}) super(update_info(info, # name of the exploit module 'Name' => 'module name', # the description goes after the %q{. No quotes are required here 'Description' => %q{ }, # The type of license used here, MSF_LICENSE will almost always be used here 'License' => MSF_LICENSE, # The creator(s) of the module 'Author' => 'your name here', # revision number of the exploit module 'Version' => '$Revision: 1 $', # pertinant information concerning the exploit disclosure, or additional info 'References' => [ [ 'URL', 'a site?' ], ], # leave this alone 'DefaultOptions' => { 'EXITFUNC' => 'thread', }, # Payload information 'Payload' => { 'Space' => 260, # space availible for the payload 'BadChars' => "\x00\xff", # characters(in hex) that could cause problems... }, # target platform 'Platform' => 'win', # these are return addresses for specific versions of the Platform(win). These change from update to update, or with new service packs 'Targets' => [ # Target specifics(just a name) # eturn address in memory [ 'Windows XP Pro SP0/SP1 English', { 'Ret' => 0x71aa32ad } ], ], # leave this alone 'Privileged' => true, # date of disclosure to the public 'DisclosureDate' => 'Mmm D, YYYY', # default "Target" to use. remember: we start counting from 0, 1, 2, 3, 4.... 'DefaultTarget' => 0)) # These are options that you can "set" within msfconsole. format is "Opt::NAME_OF_OPTION(value_of_option)" register_options( [ Opt::OPTNAME(optvalue) ], self.class) end # programmatically define the exploit. This is the function that is run when you type "exploit" into msfconsole def exploit connect # exploit code goes here handler disconnect end end