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
|