You've already forked greyhack
59 lines
1.4 KiB
Plaintext
59 lines
1.4 KiB
Plaintext
if params.len < 1 or params[0] == "-h" or params[0] == "--help" then
|
|
current_program = get_shell.host_computer.File(program_path)
|
|
print "Usage: " + current_program.name + " <library path>"
|
|
print "--- OR ---"
|
|
exit "Usage: " + current_program.name + " <remote ip> <remote port> <address> <data>"
|
|
end if
|
|
mx = include_lib("/lib/metaxploit.so")
|
|
extra_data = ""
|
|
if params.len == 1 or params.len == 2 then
|
|
lib_file = get_shell.host_computer.File(params[0])
|
|
if not lib_file then
|
|
lib_file = get_shell.host_computer.File(current_path + params[0])
|
|
if not lib_file then exit("Unable to load library from local path")
|
|
end if
|
|
lib = mx.load(lib_file.path)
|
|
if params.len == 2 then
|
|
extra_data = params[1]
|
|
end if
|
|
else
|
|
ip = params[0]
|
|
port = params[1].to_int
|
|
address = params[2]
|
|
data = params[3]
|
|
if port == 0 then
|
|
sess = mx.net_use(ip)
|
|
else
|
|
sess = mx.net_use(ip, port)
|
|
end if
|
|
if not sess then
|
|
exit "Unable to establish session"
|
|
end if
|
|
lib = sess.dump_lib
|
|
if params.len == 5 then
|
|
extra_data == params[4]
|
|
end if
|
|
end if
|
|
|
|
if extra_data != "" then
|
|
extra_data = params[4]
|
|
of = lib.overflow(address, data, extra_data)
|
|
else
|
|
of = lib.overflow(address, data)
|
|
end if
|
|
to = typeof(of)
|
|
if to == "shell" then
|
|
of.start_terminal
|
|
else if to == "file" then
|
|
print of.path(true)
|
|
if of.is_folder then
|
|
for f in of.get_files
|
|
print f.owner + " " + f.group + " " + f.permissions + " " + f.name
|
|
end for
|
|
else
|
|
print of.get_content
|
|
end if
|
|
else
|
|
print typeof(of)
|
|
end if
|