Post-Exploitation API Specification
Sys Functions
sys_time -> Integer
Gets the current time and returns the UNIX timestamp.
sys_hostname -> String
Gets the system's hostname.
File Functions
file_open(path : String, mode : String) -> Integer
Opens a file and returns the file-descriptor number.
file_read(fd : Integer, length : Integer) -> String | nil
Reads from an opened file-descriptor and returns the read data.
nil
will be returned if there is no more data to be read.
file_write(fd : Integer, pos : Integer, data : String) -> Integer
Writes data to the opened file-descriptor.
file_seek(fd : Integer, new_pos : Integer, whence : String)
Seeks to a position within the file. The whence
argument must be one of the
following strings:
"SEEK_SET"
- seek from beginning of file."SEEK_CUR"
- seek from current position."SEEK_END"
- seek from end of file."SEEK_DATA"
- seek to next data."SEEK_HOLE"
- seek to next hole.
file_tell(fd : Integer) -> Integer
Queries the current position within the file.
file_ioctl(fd : Integer, command : String | Array[Integer], argument : Object) -> Integer
Performs a ioctl()
operation on the file-descriptor.
file_fcntl(fd : Integer, command : String | Array[Integer], argument : Object) -> Integer
Performs a fcntl()
operation on the file-descriptor.
file_stat(fd : Integer) => Hash[Symbol, Object] | nil
Queries file information from the given file-descriptor and returns a Hash of file metadata.
file_close(fd : Integer)
Closes an opened file-descriptor.
File-System Functions
fs_getcwd() -> String
Gets the current working directory and returns the directory path.
fs_chdir(path : String)
Changes the current working directory.
fs_readfile(path : String) -> String | nil
Reads the entire file at the given path and returns the full file's contents.
fs_readlink(path : String) -> String
Reads the destination path of a symbolic link.
fs_readdir(path : String) -> Array[String]
Reads the contents of the directory and returns an Array of directory entry names.
fs_glob(pattern : String) -> Array[String]
Evaluates a directory glob pattern and returns all matching paths.
fs_mktemp(basename : String) -> String
Creates a temporary file with the given file basename.
fs_mkdir(new_path : String)
Creates a new directory at the given path.
fs_copy(src : String, dest : String)
Copies a source file to the destination path.
fs_unlink(path : String)
Removes a file at the given path.
fs_rmdir(path : String)
Removes an empty directory at the given path.
fs_move(src : String, dest : String)
Moves or renames a source file to a destination path.
fs_link(src : String, dest : String)
Creates a symbolic link at the destination path pointing to the source path.
fs_chgrp(group : String, path : String)
Changes the group ownership of a file or directory.
fs_chown(user : String, path : String)
Changes the user ownership of a file or directory.
fs_chmod(mode : Integer, path : String)
Changes the permissions on a file or directory.
fs_stat(path : String) => Hash[Symbol, Object] | nil
Queries file information from the given path and returns a Hash of file metadata.
Process Functions
process_getpid -> Integer
Gets the current process's Process ID (PID).
process_getppid -> Integer
Gets the current process's parent Process ID (PPID).
process_getuid -> Integer
Gets the current process's user ID (UID).
process_setuid(uid : Integer)
Sets the current process's user ID (UID) to the given Integer.
process_geteuid -> Integer
Gets the current process's effective UID (EUID).
process_seteuid(euid : Integer)
Sets the current process's effective UID (EUID) to the given Integer.
process_getgid -> Integer
Gets the current process's group ID (GID).
process_setgid(gid : Integer)
Sets the current process's group ID (GID) to the given Integer.
process_getegid -> Integer
Gets the current process's effective group ID (EGID).
process_setegid(egid : Integer)
Sets the current process's effective group ID (EGID) to the given Integer.
process_getsid -> Integer
Gets the current process's session ID (SID).
process_setsid(sid : Integer) -> Integer
Sets the current process's session ID (SID).
process_environ -> Hash[String, String]
Queries all environment variables of the current process. Returns a Hash of the env variable names and values.
process_getenv(name : String) -> String | nil
Gets an individual environment variable. If the environment variable has not
been set, nil
will be returned.
process_setenv(name : String, value : String)
Sets an environment variable to the given value.
process_unsetenv(name : String)
Un-sets an environment variable.
process_kill(pid : Integer, signal : Integer)
Kills another process using the given Process ID (POD) and the signal number.
process_popen(command : String) -> Integer
Opens a new process using the given command string. The file descriptor of the new process will be returned.
process_read(fd : Integer, length : Integer) -> String
Reads data from the file descriptor returned by process_popen
.
process_write(fd : Integer, data : String)
Writes data to the file descriptor returned by process_popen
.
process_close(fd : Integer)
Closes the file descriptor of a remote process opened via process_popen
.
process_spawn(program : String, *arguments : Array[String]) -> Integer
Spawns a new process using the given program and additional arguments. The process ID (PID) of the new process will be returned.
process_exit
Exits the current process.
Shell Functions
shell_exec(command : String) -> String
Executes the given shell command and returns it's output.