A B C D E F G H I J K L M N O P R S T U V W Y
All Classes All Packages
All Classes All Packages
All Classes All Packages
A
- accessControl(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- ACTION - eu.tneitzel.rmg.internal.RMGOptionGroup
-
action related arguments
- ActivatableWrapper - Class in eu.tneitzel.rmg.utils
-
The ActivatableWrapper class extends RemoteObjectWrapper and is used for wrapping ActivatableRef.
- ActivatableWrapper(Remote, String, RemoteRef) - Constructor for class eu.tneitzel.rmg.utils.ActivatableWrapper
-
ActivatableWrapper is constructed from a remote object.
- activate() - Method in class eu.tneitzel.rmg.utils.ActivatableWrapper
-
Activate the ActivatableWrapper.
- activateCall(MethodArguments, boolean) - Method in class eu.tneitzel.rmg.operations.ActivationClient
-
Implementation of the activate call.
- ACTIVATION - eu.tneitzel.rmg.internal.RMGOption
-
enable activation for ActivatableRef
- ActivationClient - Class in eu.tneitzel.rmg.operations
-
In the old days, it was pretty common for RMI endpoints to use an Activator.
- ActivationClient(RMIEndpoint) - Constructor for class eu.tneitzel.rmg.operations.ActivationClient
-
Create a new ActivationClient.
- activationUID - Variable in class eu.tneitzel.rmg.utils.ActivatableWrapper
-
activationUID
- ACTIVATOR - eu.tneitzel.rmg.internal.RMIComponent
-
RMI Activation System
- ACTIVATOR - eu.tneitzel.rmg.operations.ScanAction
-
check for activator instances
- add(Object, Class) - Method in class eu.tneitzel.rmg.internal.MethodArguments
- addDuplicate(UnicastWrapper) - Method in class eu.tneitzel.rmg.utils.UnicastWrapper
-
Add a duplicate to the UnicastWrapper.
- addPluginActions(Subparsers) - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Add actions added by a user defined plugin to an argument parser.
- addPorts(String, Set<Integer>) - Method in class eu.tneitzel.rmg.internal.ArgumentHandler
-
Helper function that handles port lists.
- addRange(String, Set<Integer>) - Method in class eu.tneitzel.rmg.internal.ArgumentHandler
-
Helper function that handles port ranges.
- addRemoteMethod(MethodCandidate) - Method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
Adds a successfully guessed MethodCandidate to the client's method list.
- addRemoteMethods(List<MethodCandidate>) - Method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
Adds a list of successfully guessed MethodCandidates to the client's method list.
- addSerialVersionUID(String, long) - Static method in class eu.tneitzel.rmg.internal.CodebaseCollector
-
Add a new className<->serialVersionUID pair to the serialVersionUID map.
- addWork() - Method in class eu.tneitzel.rmg.utils.ProgressBar
-
During the scan action, the amount of work may increases and we need a function to increase the value.
- alreadyBoundException(Exception, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- applyParameterTypes(CtMethod, Object[]) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
During regular RMI calls, method arguments are usually passed as Object array as methods are invoked using a Proxy mechanism.
- ARGUMENT_POS - eu.tneitzel.rmg.internal.RMGOption
-
payload argument position
- ArgumentHandler - Class in eu.tneitzel.rmg.internal
-
The ArgumentHandler class is a wrapper around an argparse4j ArgumentParser.
- ArgumentHandler(String[]) - Constructor for class eu.tneitzel.rmg.internal.ArgumentHandler
-
Creates the ArgumentParser used for remote-method-guesser and adds the desired arguments and ArgumentGroups.
- assignInterface(Class<?>) - Method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
When a RemoteObjectClient was obtained using an ObjID, it has no assigned UnicastWrapper.
B
- BIND - eu.tneitzel.rmg.operations.Operation
-
Binds an object to the registry that points to listener
- BIND_ADDRESS - eu.tneitzel.rmg.internal.RMGOption
-
host specifications the bound remote object should point to
- BIND_BOUND_NAME - eu.tneitzel.rmg.internal.RMGOption
-
Bound name to use for (un)bind action
- BIND_BYPASS - eu.tneitzel.rmg.internal.RMGOption
-
attempt localhost bypass (CVE-2019-2684)
- BIND_GADGET_CMD - eu.tneitzel.rmg.internal.RMGOption
-
command for a custom gadget
- BIND_GADGET_NAME - eu.tneitzel.rmg.internal.RMGOption
-
attempt to bind the specified gadget instead of JMXServer
- BIND_OBJID - eu.tneitzel.rmg.internal.RMGOption
-
ObjID of the bound object.
- bindException(Exception) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- bindObject(String, Object, boolean) - Method in class eu.tneitzel.rmg.operations.RegistryClient
-
Invokes the bind method on the RMI endpoint.
- blue(String) - Static method in class eu.tneitzel.rmg.io.Logger
-
Format the specified string in blue.
- boundName - Variable in class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
associated boundName
- buildRemoteInvocation(MethodCandidate, Object[]) - Static method in class eu.tneitzel.rmg.utils.SpringRemotingWrapper
-
Prepare a RemoteInvocation object from a MethodCandidate and the user specified arguments.
- bytesToHex(byte[]) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Converts a byte array into a hex string.
C
- CALL - eu.tneitzel.rmg.operations.Operation
-
Regularly calls a method with the specified arguments
- CALL_ARGUMENTS - eu.tneitzel.rmg.internal.RMGOption
-
argument string to use for the call
- cannotCompile(Exception, String, String, boolean) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- checkAlphaNumeric(String) - Static method in class eu.tneitzel.rmg.utils.Security
-
Check the specified string for invalid characters.
- checkBoundName(String) - Static method in class eu.tneitzel.rmg.utils.Security
-
Check the specified string for invalid characters.
- checkClientTrusted(X509Certificate[], String) - Method in class eu.tneitzel.rmg.networking.DummyTrustManager
- checkJarFile(String) - Static method in class eu.tneitzel.rmg.utils.Security
-
Check the specified string for invalid characters.
- checkJavaFile(String) - Static method in class eu.tneitzel.rmg.utils.Security
-
Check the specified string for invalid characters.
- checkPackageName(String) - Static method in class eu.tneitzel.rmg.utils.Security
-
Check the specified string for invalid characters.
- checkServerTrusted(X509Certificate[], String) - Method in class eu.tneitzel.rmg.networking.DummyTrustManager
- checkShellInjection(String) - Static method in class eu.tneitzel.rmg.utils.Security
-
Check the specified string for invalid characters.
- CODEBASE - eu.tneitzel.rmg.operations.Operation
-
Perform remote class loading attacks
- CODEBASE - eu.tneitzel.rmg.operations.ScanAction
-
enumerate codebases and remote class loading
- CODEBASE_CLASS - eu.tneitzel.rmg.internal.RMGOption
-
classname to load during codebase attack
- CODEBASE_URL - eu.tneitzel.rmg.internal.RMGOption
-
codebase URL to load the payload from
- codebaseCall(MethodCandidate, Object, int) - Method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
This function invokes the specified MethodCandidate with a user specified codebase.
- codebaseCall(Object) - Method in class eu.tneitzel.rmg.operations.ActivationClient
-
Dispatches an activate call with an user specified payload object and a user controlled codebase value.
- codebaseCall(Object, String, boolean) - Method in class eu.tneitzel.rmg.operations.RegistryClient
-
Invokes the specified registry method with a user defined payload object, annotated with a user defined codebase.
- codebaseCall(String, Object) - Method in class eu.tneitzel.rmg.operations.DGCClient
-
Invokes a DGC method with a user controlled codebase as class annotation.
- codebaseClassCast(Exception, boolean) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- codebaseClassFormat(Exception) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- codebaseClassNotFound(Exception, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- codebaseClassNotFoundRandom(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- CodebaseCollector - Class in eu.tneitzel.rmg.internal
-
The CodebaseCollector class is used to detect server specified codebases and to report them to the user.
- CodebaseCollector() - Constructor for class eu.tneitzel.rmg.internal.CodebaseCollector
- codebaseSecurityManager(Exception) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- CONN_FOLLOW - eu.tneitzel.rmg.internal.RMGOption
-
follow redirects to different servers
- CONN_SSL - eu.tneitzel.rmg.internal.RMGOption
-
use SSL for connections
- connectException(Exception, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- connectIOException(Exception, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- CONNECTION - eu.tneitzel.rmg.internal.RMGOptionGroup
-
connection related arguments
- connectionRefused(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- connectionReset(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- containsOption(RMGOption) - Method in enum eu.tneitzel.rmg.operations.Operation
-
Check whether an operation contains the specified option.
- containsSpringRemotingClient(UnicastWrapper[]) - Static method in class eu.tneitzel.rmg.utils.SpringRemotingWrapper
-
Helper function that checks whether a list of UnicastWrapper objects contains a SpringRemotingWrapper (which is a child class of UnicastWrapper).
- convertToString() - Method in class eu.tneitzel.rmg.internal.MethodCandidate
- createdByReadString(String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Determines whether a ClassCastException was created by readString because of an non-String type being passed to a call that expected String.
- createInterface(String, String, List<MethodCandidate>) - Method in class eu.tneitzel.rmg.io.SampleWriter
-
Creates an interface file for the remote method call.
- createInterfaceSample(String, String, List<MethodCandidate>) - Method in class eu.tneitzel.rmg.io.SampleWriter
-
Create Java code for an remote interface.
- createJRMPListener(String, int, Object) - Static method in class eu.tneitzel.rmg.utils.YsoIntegration
-
Opens a malicious JRMPListener that answers with ysoserial gadgets to incoming JRMP connections.
- createLegacyStub(String, String, List<MethodCandidate>) - Method in class eu.tneitzel.rmg.io.SampleWriter
-
Creates Java code for a legacy Stub object.
- createObjectInputFilter(String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Provides a Java8+ compatible way to create an ObjectInputFilter using reflection.
- createProxy(Class<T>) - Method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
Create a proxy for the RemoteObjectClient.
- createSample(String, boolean, String, MethodCandidate, String, int) - Method in class eu.tneitzel.rmg.io.SampleWriter
-
Creates a sample to invoke the specified MethodCandidate on the specified remoteHost.
- createSamples(String, String, boolean, List<MethodCandidate>, RMIEndpoint) - Method in class eu.tneitzel.rmg.io.SampleWriter
-
Creates samples for a bound name and the corresponding available remote methods.
- createServerSocket(int) - Method in class eu.tneitzel.rmg.networking.DGCClientSocketFactory
- createServerSocket(int) - Method in class eu.tneitzel.rmg.networking.DummySocketFactory
- createServerSocket(int) - Method in class eu.tneitzel.rmg.networking.LimitedSocketFactory
-
Creates a server socket.
- createServerSocket(int) - Method in class eu.tneitzel.rmg.networking.LoopbackSocketFactory
- createServerSocket(int) - Method in class eu.tneitzel.rmg.networking.SSRFResponseSocketFactory
- createServerSocket(int) - Method in class eu.tneitzel.rmg.networking.SSRFSocketFactory
- createServerSocket(int) - Method in class eu.tneitzel.rmg.networking.TimeoutSocketFactory
-
Never used by remote-method-guesser but required to implement the interface.
- createSocket(String, int) - Method in class eu.tneitzel.rmg.networking.DGCClientSocketFactory
- createSocket(String, int) - Method in class eu.tneitzel.rmg.networking.DGCClientSslSocketFactory
-
Instead of creating a real socket, return a DGCClientSocket that prevents outgoing connections.
- createSocket(String, int) - Method in class eu.tneitzel.rmg.networking.DummySocketFactory
- createSocket(String, int) - Method in class eu.tneitzel.rmg.networking.LimitedSocketFactory
-
Creates a client socket.
- createSocket(String, int) - Method in class eu.tneitzel.rmg.networking.LoopbackSocketFactory
-
Overwrites the default implementation of createSocket.
- createSocket(String, int) - Method in class eu.tneitzel.rmg.networking.LoopbackSslSocketFactory
-
Overwrites the default implementation of createSocket.
- createSocket(String, int) - Method in class eu.tneitzel.rmg.networking.SSRFResponseSocketFactory
- createSocket(String, int) - Method in class eu.tneitzel.rmg.networking.SSRFSocketFactory
- createSocket(String, int) - Method in class eu.tneitzel.rmg.networking.TimeoutSocketFactory
-
Creates a socket by using the default factory and sets the read timeout on it.
- createSocket(String, int) - Method in class eu.tneitzel.rmg.networking.TrustAllSocketFactory
-
Uses the SSLSocketFactory to create a socket, sets the read timeout on it and connects the socket to the target using the specified connect timeout.
- createSocket(String, int, InetAddress, int) - Method in class eu.tneitzel.rmg.networking.DGCClientSslSocketFactory
- createSocket(String, int, InetAddress, int) - Method in class eu.tneitzel.rmg.networking.LoopbackSslSocketFactory
- createSocket(InetAddress, int) - Method in class eu.tneitzel.rmg.networking.DGCClientSslSocketFactory
- createSocket(InetAddress, int) - Method in class eu.tneitzel.rmg.networking.LoopbackSslSocketFactory
- createSocket(InetAddress, int, InetAddress, int) - Method in class eu.tneitzel.rmg.networking.DGCClientSslSocketFactory
- createSocket(InetAddress, int, InetAddress, int) - Method in class eu.tneitzel.rmg.networking.LoopbackSslSocketFactory
- createSocket(Socket, String, int, boolean) - Method in class eu.tneitzel.rmg.networking.DGCClientSslSocketFactory
- createSocket(Socket, String, int, boolean) - Method in class eu.tneitzel.rmg.networking.LoopbackSslSocketFactory
- createTypesFromList(List<String>) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Takes a list of strings that represent Java class names and replaces array and vararg definitions within of it.
- createTypesFromSignature(String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Just a helper function that combines getTypesFromSignature and createTypesFrom list.
- csf - Variable in class eu.tneitzel.rmg.networking.RMIEndpoint
-
client socket factory to use for connections
- csf - Variable in class eu.tneitzel.rmg.utils.UnicastWrapper
-
associated RMIClientSocketFactory
- ctClassToClass(CtClass) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Convert a CtClass back to an ordinary Class object.
- CUSTOM - eu.tneitzel.rmg.internal.RMIComponent
-
custom RMI endpoint
D
- decreaseIndent() - Static method in class eu.tneitzel.rmg.io.Logger
- DefaultProvider - Class in eu.tneitzel.rmg.plugin
-
The DefaultProvider is a default implementation of an rmg plugin.
- DefaultProvider() - Constructor for class eu.tneitzel.rmg.plugin.DefaultProvider
- DefinitelyNonExistingClass - Class in eu.tneitzel.rmg.utils
-
This class can be considered as a leftover.
- DefinitelyNonExistingClass() - Constructor for class eu.tneitzel.rmg.utils.DefinitelyNonExistingClass
- deserializeClassCast(Exception, boolean) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- deserializeClassNotFound(Exception) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- deserializeClassNotFoundRandom(Exception, String, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- DevNullOutputStream - Class in eu.tneitzel.rmg.io
-
Dummy implementation of an OutputStream.
- DevNullOutputStream() - Constructor for class eu.tneitzel.rmg.io.DevNullOutputStream
- DGC - eu.tneitzel.rmg.internal.RMIComponent
-
Distributed Garbage Collector
- DGC_METHOD - eu.tneitzel.rmg.internal.RMGOption
-
method to use for dgc operations
- DGCClient - Class in eu.tneitzel.rmg.operations
-
The distributed garbage collector (DGC) is a well known RMI object with publicly known method definitions.
- DGCClient(RMIEndpoint) - Constructor for class eu.tneitzel.rmg.operations.DGCClient
-
Create a new DGCClient.
- DGCClientSocket - Class in eu.tneitzel.rmg.networking
-
The DGCClientSocket simulates a connection to the DGC server side component of a remote object.
- DGCClientSocket(String, int) - Constructor for class eu.tneitzel.rmg.networking.DGCClientSocket
-
Create a new DGCClientSocket.
- DGCClientSocketFactory - Class in eu.tneitzel.rmg.networking
-
The DGCClientSocket factory is used when the --ssrf-response option was specified on the command line.
- DGCClientSocketFactory() - Constructor for class eu.tneitzel.rmg.networking.DGCClientSocketFactory
- DGCClientSslSocketFactory - Class in eu.tneitzel.rmg.networking
-
SSL implementation of the DGCClientSocketFactory.
- DGCClientSslSocketFactory() - Constructor for class eu.tneitzel.rmg.networking.DGCClientSslSocketFactory
- disable() - Static method in class eu.tneitzel.rmg.io.Logger
- disableColor() - Static method in class eu.tneitzel.rmg.io.Logger
- disableIfNotVerbose() - Static method in class eu.tneitzel.rmg.io.Logger
- disableStderr() - Static method in class eu.tneitzel.rmg.io.Logger
- disableStdout() - Static method in class eu.tneitzel.rmg.io.Logger
- disableWarning() - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
This code was copied from the following link and is just used to disable the annoying reflection warnings: https://stackoverflow.com/questions/46454995/how-to-hide-warning-illegal-reflective-access-in-java-9-without-jvm-argument
- dispatch(IAction) - Method in interface eu.tneitzel.rmg.plugin.IActionProvider
-
Is called by remote-method-guesser if the user specified an action that was defined by the plugin.
- dispatchBind() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Performs the bind operation on the RegistryClient object.
- dispatchCall() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Performs the genericCall operation on a RemoteObjectClient object.
- dispatchCodebase() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Performs a codebase attack.
- dispatchEnum() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Performs rmg's enumeration action.
- Dispatcher - Class in eu.tneitzel.rmg.operations
-
The dispatcher class contains all method definitions for the different rmg actions.
- Dispatcher(ArgumentHandler) - Constructor for class eu.tneitzel.rmg.operations.Dispatcher
-
Creates the dispatcher object.
- dispatchGuess() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Performs a method guessing attack.
- dispatchKnown() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Is called when using remote-method-guesser's 'known' action.
- dispatchListen() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Dispatches the listen action.
- dispatchObjID() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Prints detailed information on the user specified ObjID.
- dispatchPluginAction(IAction) - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Dispatch an action that was provided by a plugin.
- dispatchPortScan() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Performs a primitive portscan for RMI services.
- dispatchRebind() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Performs the rebind operation on the RegistryClient object.
- dispatchRogueJMX() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Creates a rogue JMX server.
- dispatchSerial() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Performs deserialization attacks on default RMI components (RMI registry, DGC, Activator).
- dispatchUnbind() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Performs the unbind operation on the RegistryClient object.
- DummySocketFactory - Class in eu.tneitzel.rmg.networking
-
During the creation of the An Trinh registry whitelist bypass gadget, the creation of a UnicastRemoteObject is required.
- DummySocketFactory() - Constructor for class eu.tneitzel.rmg.networking.DummySocketFactory
- DummyTrustManager - Class in eu.tneitzel.rmg.networking
-
A dummy implementation for a trust manager.
- DummyTrustManager() - Constructor for class eu.tneitzel.rmg.networking.DummyTrustManager
- duplicates - Variable in class eu.tneitzel.rmg.utils.UnicastWrapper
-
list of bound names implementing the same interface
- dynamicallyCreated(String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Checks whether the specified class name was generated dynamically by RMGUtils.
E
- EmptyWrapper - Class in eu.tneitzel.rmg.utils
-
EmptyWrapper is basically a dummy class that extends RemoteWrapper.
- EmptyWrapper(String) - Constructor for class eu.tneitzel.rmg.utils.EmptyWrapper
-
Create an EmptyWrapper by simply using RemoteObjectWrappers boundName constructor.
- enable() - Static method in class eu.tneitzel.rmg.io.Logger
- enableCodebase() - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Sets the useCodebaseOnly setting to false and configures the CodebaseCollector class as the RMIClassLoaderSpi.
- enableCodebaseCollector() - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Since version 3.4.0 of remote-method-guesser, the CodebaseCollectorClass has the additional purpose of creating unknown remote classes at runtime.
- enableStderr() - Static method in class eu.tneitzel.rmg.io.Logger
- enableStdout() - Static method in class eu.tneitzel.rmg.io.Logger
- endpoint - Variable in class eu.tneitzel.rmg.utils.UnicastWrapper
-
associated TCPEndpoint
- ENUM - eu.tneitzel.rmg.operations.Operation
-
Enumerate common vulnerabilities on Java RMI endpoints
- ENUM_ACTION - eu.tneitzel.rmg.internal.RMGOption
-
scan actions to perform during the enumeration
- ENUM_BYPASS - eu.tneitzel.rmg.internal.RMGOption
-
attempt localhost bypass during enum
- enumActivator() - Method in class eu.tneitzel.rmg.operations.ActivationClient
-
Checks whether an activator endpoint is present.
- enumCodebase() - Method in class eu.tneitzel.rmg.operations.ActivationClient
-
Dispatches an activate call using an Integer instead of the actually expected ActivationID.
- enumCodebase(boolean, String, boolean) - Method in class eu.tneitzel.rmg.operations.RegistryClient
-
Attempts to determine the setting of useCodebaseOnly.
- enumerateStringMarshalling() - Method in class eu.tneitzel.rmg.operations.RegistryClient
-
Determines the String marshalling behavior of the RMI server.
- enumJEP290(String) - Method in class eu.tneitzel.rmg.operations.DGCClient
-
Checks for deserialization filters on the DGC endpoint.
- enumJEP290Bypass(String, boolean, boolean) - Method in class eu.tneitzel.rmg.operations.RegistryClient
-
Determines whether the server is vulnerable to known RMI registry whitelist bypasses.
- enumLocalhostBypass() - Method in class eu.tneitzel.rmg.operations.RegistryClient
-
Enumerates whether the server is vulnerable to CVE-2019-268.
- enumSecurityManager(String) - Method in class eu.tneitzel.rmg.operations.DGCClient
-
The enumSecurityManager uses the DGC endpoint to check for an Security Manager.
- eofException(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- eprint(String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintln(String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnBlue(String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnMixedBlue(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnMixedBlue(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnMixedBlueFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnMixedBlueFirst(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnMixedYellow(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnMixedYellow(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnMixedYellowFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnMixedYellowFirst(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnPlain(String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnPlainBlue(String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnPlainMixedBlue(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnPlainMixedBlue(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnPlainMixedBlueFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnPlainMixedBlueFirst(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnPlainYellow(String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintlnYellow(String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintMixedBlue(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintMixedBlue(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintMixedBlueFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintMixedBlueFirst(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintMixedYellow(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintMixedYellow(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintMixedYellowFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintMixedYellowFirst(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- eprintPlainMixedYellowFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- equals(Object) - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
Two MethodCandidates are equal when their method hash is equal.
- equals(Object) - Method in class eu.tneitzel.rmg.utils.RemoteInvocationHolder
-
Two RemoteInocationHolders are the same, if their contained RemoteInvocation uses the same method name and the same argument types.
- eu.tneitzel.rmg - package eu.tneitzel.rmg
- eu.tneitzel.rmg.endpoints - package eu.tneitzel.rmg.endpoints
- eu.tneitzel.rmg.exceptions - package eu.tneitzel.rmg.exceptions
- eu.tneitzel.rmg.internal - package eu.tneitzel.rmg.internal
- eu.tneitzel.rmg.io - package eu.tneitzel.rmg.io
- eu.tneitzel.rmg.networking - package eu.tneitzel.rmg.networking
- eu.tneitzel.rmg.operations - package eu.tneitzel.rmg.operations
- eu.tneitzel.rmg.plugin - package eu.tneitzel.rmg.plugin
- eu.tneitzel.rmg.utils - package eu.tneitzel.rmg.utils
- ExceptionHandler - Class in eu.tneitzel.rmg.internal
-
During the different RMI operations you have always a roughly same set of exceptions that can occur.
- ExceptionHandler() - Constructor for class eu.tneitzel.rmg.internal.ExceptionHandler
- exit() - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Just a wrapper around System.exit(1) that prints an information before quitting.
- expandPath(String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Expand a leading ~/ with the users home directory.
- export() - Method in class eu.tneitzel.rmg.utils.RogueJMX
-
Export the rogue JMX server.
- extractObjID(Remote) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Extracts the ObjID value from an instance of Remote.
- extractObjID(UnicastRef) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Extracts the ObjID value from a UnicastRef.
- extractRef(Remote) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Extracts the underlying RemoteRef within an instance of Remote.
F
- fax - Variable in class eu.tneitzel.rmg.networking.LoopbackSslSocketFactory
-
SSLSocketFactory used for socket creation
- FILTER_BYPASS - eu.tneitzel.rmg.operations.ScanAction
-
check for known deserialization filter bypasses
- filterEmpty(List<RemoteObjectClient>) - Static method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
Takes a list of RemoteObjectClients and filters clients that have no methods within their method list.
- FORCE_ACTIVATION - eu.tneitzel.rmg.internal.RMGOption
-
force activation of ActivatableRef
- Formatter - Class in eu.tneitzel.rmg.io
-
The formatter class is used to print formatted output for the enum and guess operations.
- Formatter() - Constructor for class eu.tneitzel.rmg.io.Formatter
- forwardTo(RemoteObjectClient) - Method in class eu.tneitzel.rmg.utils.RogueJMX
-
Register a forward target in form of a RemoteObjectClient.
- fromBoundNames(String[]) - Static method in class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
Creates an array of RemoteObjectWrapper from an array of bound names.
- fromRef(UnicastRef, Class<?>) - Static method in class eu.tneitzel.rmg.utils.UnicastWrapper
-
Create a new UnicastWrapper from a RemoteRef.
G
- GADGET_CMD - eu.tneitzel.rmg.internal.RMGOption
-
command to pass for the specified gadget
- GADGET_NAME - eu.tneitzel.rmg.internal.RMGOption
-
gadget name to use for the deserialization attack
- gadgetCall(MethodCandidate, Object, int) - Method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
Invokes the specified MethodCandiate with a user specified payload object.
- gadgetCall(Object) - Method in class eu.tneitzel.rmg.operations.ActivationClient
-
Dispatches an activate call using a user specified payload object instead of the expected ActivationID.
- gadgetCall(Object, String, boolean) - Method in class eu.tneitzel.rmg.operations.RegistryClient
-
Invokes the specified registry method with a user defined payload object.
- gadgetCall(String, Object) - Method in class eu.tneitzel.rmg.operations.DGCClient
-
Invokes a DGC call with a user controlled payload object (usually a gadget created by ysoserial).
- GENERAL - eu.tneitzel.rmg.internal.RMGOptionGroup
-
general arguments
- GENERIC_PRINT - eu.tneitzel.rmg.internal.RMGOption
-
attempt to output the return value using GenericPrint
- genericCall(MethodCandidate, Object[]) - Method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
This function is used for regular RMI calls on the specified MethodCandidate.
- genericCall(Exception) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- genericCall(ObjID, int, long, MethodArguments, boolean, String) - Method in class eu.tneitzel.rmg.networking.RMIEndpoint
-
Wrapper around the genericCall function specified below.
- genericCall(ObjID, int, long, MethodArguments, boolean, String, RemoteRef) - Method in class eu.tneitzel.rmg.networking.RMIEndpoint
-
Wrapper around the genericCall function specified below.
- genericCall(ObjID, int, long, MethodArguments, boolean, String, RemoteRef, CtClass) - Method in class eu.tneitzel.rmg.networking.RMIEndpoint
-
From remote-method-guesser v4.0.0 on we moved the logic of the genericCall function to the unmanagedCall function.
- GenericPrint - Class in eu.tneitzel.rmg.plugin
-
GenericPrint is an rmg ResponseHandler plugin that attempts to print all incoming server responses.
- GenericPrint() - Constructor for class eu.tneitzel.rmg.plugin.GenericPrint
- getAcceptedIssuers() - Method in class eu.tneitzel.rmg.networking.DummyTrustManager
- getAction() - Method in class eu.tneitzel.rmg.internal.ArgumentHandler
-
Returns the user specified remote-method-guesser action.
- getActionContext() - Static method in enum eu.tneitzel.rmg.operations.Operation
-
Create an ActionContext for the Operation enum.
- getActions() - Method in interface eu.tneitzel.rmg.plugin.IActionProvider
-
Return all actions that get added by the plugin.
- getActivated() - Method in class eu.tneitzel.rmg.utils.ActivatableWrapper
-
Return the currently set activatedRef.
- getActivatorEndpoint() - Method in class eu.tneitzel.rmg.utils.ActivatableWrapper
-
Return a formatted string in host:port format for the Activator endpoint.
- getArgs() - Method in enum eu.tneitzel.rmg.operations.Operation
- getArgument(Class) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Takes a Class object and returns a valid instance for the corresponding class.
- getArgument(CtClass) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Takes a CtClass object and returns a valid instance for the corresponding class.
- getArgumentAction() - Method in enum eu.tneitzel.rmg.internal.RMGOption
- getArgumentArray(Method) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Construct an argument array for the specified method.
- getArgumentArray(String[]) - Method in class eu.tneitzel.rmg.plugin.DefaultProvider
-
This function performs basically an eval operation on the user specified arguments.
- getArgumentArray(String[]) - Method in interface eu.tneitzel.rmg.plugin.IArgumentProvider
-
Provide an argument array for remote method calls.
- getArgumentArray(String[]) - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Is called during rmg's 'call' action to obtain the Object argument array.
- getArgumentArray(CtMethod) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Construct an argument array for the specified method.
- getArgumentCount() - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
Returns the expected argument count of the method candidate.
- getArgumentModifiers() - Method in enum eu.tneitzel.rmg.internal.RMGOption
- getArgumentTypeName(int) - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
Returns the name of the parameter type in the specified position of the argument array.
- getBooleanOption(String, String[]) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Primitive argument parser for finding a single boolean value option on the command line.
- getBoundName() - Method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
Getter function for the bound name.
- getBoundNames() - Method in class eu.tneitzel.rmg.networking.RMIRegistryEndpoint
-
If a bound name was specified on the command line, return this bound name immediately.
- getBoundNames() - Method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
Gets a list of bound names associated with the RemoteObjectClient itself and all of its duplicates.
- getByName(String) - Static method in enum eu.tneitzel.rmg.operations.Operation
-
Iterates over the Operation enumeration and returns the operation that equals the specified operation name.
- getByName(String, RemoteObjectWrapper[]) - Static method in class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
Searches a supplied list of RemoteObjectWrapper objects for the Wrapper that is associated to the specified bound name.
- getByShortName(String) - Static method in enum eu.tneitzel.rmg.internal.RMIComponent
-
Get the corresponding RMIComponent by specifying its short name.
- getCallArguments() - Method in class eu.tneitzel.rmg.internal.ArgumentHandler
-
Parses the user specified argument string during a call action.
- getCandidate() - Method in class eu.tneitzel.rmg.utils.RemoteInvocationHolder
- getCast(CtClass) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Takes a CtClass and returns a string that can be used within Java code to cast an object to the type of the specified CtClass.
- getCause(Throwable) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
-
Taken from https://stackoverflow.com/questions/17747175/how-can-i-loop-through-exception-getcause-to-find-root-cause-with-detail-messa Returns the actual cause of an exception.
- getClass(InvalidClassException) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Parse the class name from an InvalidClassException.
- getClassAnnotation(Class<?>) - Method in class eu.tneitzel.rmg.internal.CodebaseCollector
-
This function is explicitly called by MarshalOutputStream when serializing RMI objects to obtain the client specified codebase.
- getClassLoader(String) - Method in class eu.tneitzel.rmg.internal.CodebaseCollector
-
Not entirely sure when this function is called (was not observed during any rmg action).
- getClassName() - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
- getClientSocketFactory(String, int) - Method in class eu.tneitzel.rmg.plugin.DefaultProvider
-
Returns an RMIClientSocketFactory according to the specified options on the command line.
- getClientSocketFactory(String, int) - Method in interface eu.tneitzel.rmg.plugin.ISocketFactoryProvider
-
Construct the client socket factory to use.
- getClientSocketFactory(String, int) - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Returns the RMIClientSocketFactory that is used for RMI connections.
- getCodebases() - Static method in class eu.tneitzel.rmg.internal.CodebaseCollector
-
Returns a HashMap that contains all enumerated codebases.
- getComponent() - Method in class eu.tneitzel.rmg.internal.ArgumentHandler
-
Parse the user specified --component value.
- getDefaultCipherSuites() - Method in class eu.tneitzel.rmg.networking.DGCClientSslSocketFactory
- getDefaultCipherSuites() - Method in class eu.tneitzel.rmg.networking.LoopbackSslSocketFactory
- getDefaultLocation() - Static method in class eu.tneitzel.rmg.io.MaliciousOutputStream
-
Return the class name of the currently configured location object.
- getDefaultSocketFactory(String, int) - Method in class eu.tneitzel.rmg.plugin.DefaultProvider
-
The default RMISocketFactory used by remote-method-guesser is the LoopbackSocketFactory, which redirects all connection to the original target and thus prevents unwanted RMI redirections.
- getDefaultSocketFactory(String, int) - Method in interface eu.tneitzel.rmg.plugin.ISocketFactoryProvider
-
Construct the RMI socket factory to use.
- getDefaultSocketFactory(String, int) - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Returns the RMISocketFactory that is used for all RMI connections that use the default RMISocketFactory.
- getDefaultSSLSocketFactory(String, int) - Method in class eu.tneitzel.rmg.plugin.DefaultProvider
-
The default SSLRMISocketFactory used by remote-method-guesser is the LoopbackSslSocketFactory, which redirects all connection to the original target and thus prevents unwanted RMI redirections.
- getDefaultSSLSocketFactory(String, int) - Method in interface eu.tneitzel.rmg.plugin.ISocketFactoryProvider
-
Return the SSL socket factory class that should be used for implicit RMI connections.
- getDefaultSSLSocketFactory(String, int) - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Java RMI also contains a default implementation for SSL protected RMI communication.
- getDescription() - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
- getDescription() - Method in class eu.tneitzel.rmg.endpoints.Vulnerability
-
Get the vulnerability description.
- getDescription() - Method in enum eu.tneitzel.rmg.internal.RMGOption
- getDescription() - Method in enum eu.tneitzel.rmg.operations.Operation
- getDgcMethod() - Method in class eu.tneitzel.rmg.internal.ArgumentHandler
-
During DGC related rmg operations, users can select the DGC method that is used for the different RMI calls.
- getDuplicateBoundNames() - Method in class eu.tneitzel.rmg.utils.UnicastWrapper
-
Iterates over the list of registered duplicates and returns the associated bound names as an array.
- getEnumName() - Method in enum eu.tneitzel.rmg.internal.RMGOption
- getFromCache(String) - Method in class eu.tneitzel.rmg.networking.RMIRegistryEndpoint
-
Return the Remote for the specified bound name from cache or null if it is not available.
- getGadget() - Method in class eu.tneitzel.rmg.internal.ArgumentHandler
-
Parses the user specified gadget arguments to request a corresponding gadget from the PayloadProvider.
- getGroup() - Method in enum eu.tneitzel.rmg.internal.RMGOption
- getGroup() - Method in enum eu.tneitzel.rmg.operations.Operation
- getHash() - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
Returns the current value of the hash attribute.
- getHolder() - Static method in class eu.tneitzel.rmg.endpoints.KnownEndpointHolder
-
The getHolder function returns an instance of KnownEndpointHolder.
- getHost() - Method in class eu.tneitzel.rmg.utils.UnicastWrapper
-
Returns the host name associated with the UnicastWrapper.
- getIndent() - Static method in class eu.tneitzel.rmg.io.Logger
- getInputStream() - Method in class eu.tneitzel.rmg.networking.DGCClientSocket
-
Simulates an InputStream that is connected to the DGC component of an RMI server.
- getInputStream() - Method in class eu.tneitzel.rmg.networking.SSRFResponseSocket
-
Before the input stream is returned, we compare the first byte of the response to the TransportConstants.Return value.
- getInputStream() - Method in class eu.tneitzel.rmg.networking.SSRFSocket
-
Simulate an InputStream that is connected to an RMI server.
- getInstance(Remote) - Static method in class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
Create a RemoteObjectWrapper for the specified Remote.
- getInstance(Remote, String) - Static method in class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
Create a RemoteObjectWrapper for the specified Remote.
- getInterfaceName() - Method in class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
Return the interface name that is implemented by the remote object.
- getInterfaceName() - Method in class eu.tneitzel.rmg.utils.SpringRemotingWrapper
-
Return the interface name of the underlying interface class that can be accessed via spring remoting.
- getInterfaceName(Remote) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Determines the className of an object that implements Remote.
- getInterfaceNameMethod() - Static method in class eu.tneitzel.rmg.utils.SpringRemotingWrapper
-
Return a MethodCandidate for the getTargetInterfaceName method that is exposed by the RmiInvocationHandler remote object.
- getInvo() - Method in class eu.tneitzel.rmg.utils.RemoteInvocationHolder
- getInvocationHolders(Set<MethodCandidate>) - Static method in class eu.tneitzel.rmg.utils.SpringRemotingWrapper
-
Transform a set of MethodCandidate to a set of RemoteInvocationHolders.
- getInvokeMethod() - Static method in class eu.tneitzel.rmg.utils.SpringRemotingWrapper
-
Return a MethodCandidate for the invoke method that is exposed by the RmiInvocationHandler remote object.
- getKnownEndpoints() - Method in class eu.tneitzel.rmg.endpoints.KnownEndpointHolder
-
Returns a List of KnownEndpoint that was created from the known-endpoints.yml file.
- getMethod() - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
If not already done, creates a CtMethod from the stored method signature.
- getMethod() - Method in enum eu.tneitzel.rmg.operations.Operation
- getName() - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
- getName() - Method in class eu.tneitzel.rmg.endpoints.Vulnerability
-
Get the vulnerability name.
- getName() - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
Obtain the name of the corresponding method.
- getName() - Method in enum eu.tneitzel.rmg.internal.RMGOption
- getName() - Method in enum eu.tneitzel.rmg.internal.RMGOptionGroup
- getName() - Method in enum eu.tneitzel.rmg.operations.Operation
- getName() - Method in enum eu.tneitzel.rmg.operations.OperationGroup
- getName() - Method in class eu.tneitzel.rmg.utils.RemoteInvocationHolder
- getObjIDByComponent(RMIComponent) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Returns the ObjID for the user specified RMI component,
- getOption(String, String[]) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Primitive argument parser for finding a single string value option on the command line.
- getOptions() - Method in enum eu.tneitzel.rmg.operations.Operation
- getOutputStream() - Method in class eu.tneitzel.rmg.networking.DGCClientSocket
-
Simulate an OutputStream that is connected to the DGC component of an RMI server.
- getOutputStream() - Method in class eu.tneitzel.rmg.networking.SSRFResponseSocket
- getOutputStream() - Method in class eu.tneitzel.rmg.networking.SSRFSocket
-
Simulate an OutputStream that is connected to an RMI server.
- getParameterTypes() - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
Returns the parameter types of the method as obtained from the CtMethod.
- getPayloadObject(Operation, String, String) - Method in class eu.tneitzel.rmg.plugin.DefaultProvider
-
Return an RMIServerImpl object as used by JMX endpoints when invoked from the bind, rebind or unbind actions.
- getPayloadObject(Operation, String, String) - Method in interface eu.tneitzel.rmg.plugin.IPayloadProvider
-
Provide a payload object for deserialization attacks.
- getPayloadObject(Operation, String, String) - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Is called from each action that requires a payload object.
- getPayloadObject(String, String) - Static method in class eu.tneitzel.rmg.utils.YsoIntegration
-
Loads ysoserial using and separate URLClassLoader and invokes the makePayloadObject function by using reflection.
- getPluginActions() - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Return actions added by a user defined plugin.
- getPluginOptions() - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Return options added by a user defined plugin.
- getPort() - Method in class eu.tneitzel.rmg.utils.UnicastWrapper
-
Returns the port number associated with the UnicastWrapper.
- getPrimitive(int) - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
Searches the current MethodCandidate for non primitive arguments (yes, the name is misleading).
- getPrimitiveSize(CtClass[]) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Takes an array of types and returns the amount of bytes before the first non primitive type.
- getReferences() - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
- getReferences() - Method in class eu.tneitzel.rmg.endpoints.Vulnerability
-
Get the vulnerability references.
- getRegMethod() - Method in class eu.tneitzel.rmg.internal.ArgumentHandler
-
During registry related rmg operations, users can select the registry method that is used for the different RMI calls.
- getRemoteMethods() - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
- getRemoteRef(ObjID) - Method in class eu.tneitzel.rmg.networking.RMIEndpoint
-
Constructs a RemoteRef by using the endpoint information (host, port, csf) and the specified objID.
- getResponseHandler() - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Returns the currently set ResponseHandler
- getRMIEndpoint() - Method in class eu.tneitzel.rmg.operations.Dispatcher
-
Creates an RMIEndpoint object from the target host and port specified on the command line.
- getRmiPorts() - Method in class eu.tneitzel.rmg.internal.ArgumentHandler
-
Is used to parse the port specification for the scan operation.
- getSampleArgument(CtClass, String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
This function is used to generate method argument strings that are used in samples.
- getScanActions() - Method in class eu.tneitzel.rmg.internal.ArgumentHandler
-
Is used when the enum action was specified.
- getSerialVersionUID(InvalidClassException) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Parse the SerialVersionUID of the foreign class from an an InvalidClassException.
- getSignature() - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
Returns the current value of the signature attribute.
- getSignature(MethodCandidate) - Static method in class eu.tneitzel.rmg.utils.SpringRemotingWrapper
-
Returns a method signature for the specified MethodCandidate that lacks the return value.
- getSimpleSignature(CtMethod) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Returns a human readable method signature of a CtMethod.
- getSSLSocketFactory() - Method in class eu.tneitzel.rmg.networking.TrustAllSocketFactory
-
Can be used to obtain the underlying SSLSocketFactory
- getSupportedCipherSuites() - Method in class eu.tneitzel.rmg.networking.DGCClientSslSocketFactory
- getSupportedCipherSuites() - Method in class eu.tneitzel.rmg.networking.LoopbackSslSocketFactory
- getTarget() - Method in class eu.tneitzel.rmg.utils.UnicastWrapper
-
Returns a string that combines the host name and port in the 'host:port' notation.
- getThrowable(String, Throwable) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
-
Walks down a stacktrace and searches for a specific exception name.
- getTypes() - Method in class eu.tneitzel.rmg.utils.RemoteInvocationHolder
- getTypesFromSignature(String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
This function is a pretty primitive way to obtain the different Java classes (types) that are contained within a method signature.
- getTypeString(CtClass) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Another function that is required when creating samples for legacy stubs.
- getUnicastWrapper() - Method in class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
Transform an RemoteObjectWrapper into a UnicastWrapper.
- getUnicastWrappers(RemoteObjectWrapper[]) - Static method in class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
Transform an array of RemoteObjectWrapper into an array of UnicastWrapper.
- getValue() - Method in enum eu.tneitzel.rmg.internal.RMGOption
-
Returns the value stored within the option.
- getValue() - Method in class eu.tneitzel.rmg.plugin.ReturnValueProvider
-
Obtain the currently set value.
- getVersion() - Method in class eu.tneitzel.rmg.utils.RogueJMX
-
Required function by RMIServer.
- getVulnerabilities() - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
- getWordlistMethods() - Method in class eu.tneitzel.rmg.io.WordlistHandler
-
Read the specified wordlist and return the corresponding MethodCandidates.
- getWordlistMethodsFromFile(String, boolean) - Static method in class eu.tneitzel.rmg.io.WordlistHandler
-
Parses a wordlist file for available methods and creates the corresponding MethodCandidates.
- getWordlistMethodsFromFolder(String, boolean) - Static method in class eu.tneitzel.rmg.io.WordlistHandler
-
Reads all files ending with .txt within the wordlist folder and returns the corresponding MethodCandidates.
- getWordlistMethodsFromStream() - Static method in class eu.tneitzel.rmg.io.WordlistHandler
-
This function is responsible for loading internal wordlist files.
- GLOBAL_CONFIG - eu.tneitzel.rmg.internal.RMGOption
-
path to a configuration file
- GLOBAL_NO_COLOR - eu.tneitzel.rmg.internal.RMGOption
-
disable colored output
- GLOBAL_PLUGIN - eu.tneitzel.rmg.internal.RMGOption
-
file system path to a rmg plugin
- GLOBAL_STACK_TRACE - eu.tneitzel.rmg.internal.RMGOption
-
display stack traces for caught exceptions
- GLOBAL_VERBOSE - eu.tneitzel.rmg.internal.RMGOption
-
enable verbose output
- green(String) - Static method in class eu.tneitzel.rmg.io.Logger
-
Format the specified string in green.
- GUESS - eu.tneitzel.rmg.operations.Operation
-
Guess methods on bound names
- GUESS_CREATE_SAMPLES - eu.tneitzel.rmg.internal.RMGOption
-
create sample classes for identified methods
- GUESS_DUPLICATES - eu.tneitzel.rmg.internal.RMGOption
-
guess duplicate remote classes
- GUESS_FORCE_GUESSING - eu.tneitzel.rmg.internal.RMGOption
-
force guessing on known remote objects
- GUESS_SAMPLE_FOLDER - eu.tneitzel.rmg.internal.RMGOption
-
folder used for sample generation
- GUESS_TEMPLATE_FOLDER - eu.tneitzel.rmg.internal.RMGOption
-
location of the template folder
- GUESS_TRUSTED - eu.tneitzel.rmg.internal.RMGOption
-
disable bound name filtering
- GUESS_UPDATE - eu.tneitzel.rmg.internal.RMGOption
-
update wordlist file with method hashes
- GUESS_WORDLIST_FILE - eu.tneitzel.rmg.internal.RMGOption
-
wordlist file to use for method guessing
- GUESS_WORDLIST_FOLDER - eu.tneitzel.rmg.internal.RMGOption
-
location of the wordlist folder
- GUESS_ZERO_ARG - eu.tneitzel.rmg.internal.RMGOption
-
allow guessing on void functions (dangerous)
- guessingCall(MethodCandidate) - Method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
Just a wrapper around the guessingCall function of the RMIEndpoint class.
- guessingCall(MethodCandidate, String, RemoteRef) - Method in class eu.tneitzel.rmg.networking.RMIEndpoint
-
guessingCall is basically a copy of the genericCall method, that is optimized for method guessing.
- guessMethods() - Method in class eu.tneitzel.rmg.operations.MethodGuesser
-
This method starts the actual guessing process.
H
- handleArray(Object) - Method in class eu.tneitzel.rmg.plugin.GenericPrint
-
For each item within an array, call the handleResponse function.
- handleByte(byte) - Method in class eu.tneitzel.rmg.plugin.GenericPrint
-
Byte objects are converted to hex and printed.
- handleCodebaseException(Exception, String, RMIComponent, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
-
Handle an Exception that is thrown during codebase attacks.
- handleCodebaseException(Exception, String, RMIComponent, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
-
Handle an Exception that is thrown during codebase attacks.
- handleCollection(Object) - Method in class eu.tneitzel.rmg.plugin.GenericPrint
-
For each item within an collection, call handleResponse on the corresponding item value.
- handleDefault(Object) - Method in class eu.tneitzel.rmg.plugin.GenericPrint
-
The default action for each object is to print it using it's toString method.
- handleDuplicates(UnicastWrapper[]) - Static method in class eu.tneitzel.rmg.utils.UnicastWrapper
-
Takes a list of UnicastWrapper and looks for duplicates within it.
- handleFile(File) - Method in class eu.tneitzel.rmg.plugin.GenericPrint
-
For File objects, print their absolute path.
- handleGadgetCallException(Exception, RMIComponent, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
-
Handle an Exception that is thrown during gadget call attacks.
- handleGadgetCallException(Exception, RMIComponent, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
-
Handle an Exception that is thrown during gadget call attacks.
- handleMap(Object) - Method in class eu.tneitzel.rmg.plugin.GenericPrint
-
For each entry within a map, handleResponse is called on the entry key and value.
- handleRemote(Remote) - Method in class eu.tneitzel.rmg.plugin.GenericPrint
-
For all objects that extend Remote, the details of the remote reference are printed.
- handleResponse(Object) - Method in class eu.tneitzel.rmg.plugin.GenericPrint
-
The handleResponse function is called with the incoming responseObject from the RMI server.
- handleResponse(Object) - Method in interface eu.tneitzel.rmg.plugin.IResponseHandler
-
Handle the response of an RMI call.
- handleResponse(Object) - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Is called on incoming server responses if a response handler is defined.
- handleResponse(Object) - Method in class eu.tneitzel.rmg.plugin.ReturnValueProvider
-
Just store the return value within a static class variable.
- hasArgumentProvider() - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Checks whether a argumentProvider was registered.
- hasDuplicates() - Method in class eu.tneitzel.rmg.utils.UnicastWrapper
-
Checks whether the Wrapper has any duplicates (other remote objects that implement the same remote interface).
- hasDuplicates(UnicastWrapper[]) - Static method in class eu.tneitzel.rmg.utils.UnicastWrapper
-
Takes a list of UnicastWrapper and checks whether one of them contains duplicates.
- hashCode() - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
MethodCandidates are hashed according to their method hash.
- hashCode() - Method in class eu.tneitzel.rmg.utils.RemoteInvocationHolder
- hasNext() - Method in class eu.tneitzel.rmg.internal.MethodArguments
- hasPayloadProvider() - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Checks whether a payloadProvider was registered.
- hasResponseHandler() - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Checks whether a responseHandler was registered.
- hexToBytes(String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Converts a hex string into a byte array.
- host - Variable in class eu.tneitzel.rmg.networking.RMIEndpoint
-
remote host of the endpoint
I
- IActionProvider - Interface in eu.tneitzel.rmg.plugin
-
The IActionProvider interface can be implemented by plugins to add custom actions to remote-method-guesser.
- IArgumentProvider - Interface in eu.tneitzel.rmg.plugin
-
The IArgumentProvider interface is used during rmg's 'call' action to obtain the argument array that should be used for the call.
- illegalArgument(Exception) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- illegalArgumentCodebase(Exception) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- increaseIndent() - Static method in class eu.tneitzel.rmg.io.Logger
- indent - Static variable in class eu.tneitzel.rmg.io.Logger
-
current indent of the logger
- init() - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
The init function has to be called before the javassist library can be utilized via RMGUtils.
- init(String, boolean) - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Initializes the plugin system.
- injectObjectInputFilter(UnicastServerRef, Object) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Inject an ObjectInputFilter into a UnicastServerRef.
- internalError(String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- internalException(Exception, String, boolean) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- invalidClass(Exception, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- invalidClass(Exception, String, boolean) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- invalidClassBind(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- invalidClassEnum(Exception, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- invalidClassException(Exception) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- invalidHostFormat(String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- invalidListenerFormat(boolean) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- invalidObjectId(String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- invalidSignature(String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- invocationHandlerClass - Static variable in class eu.tneitzel.rmg.utils.SpringRemotingWrapper
-
class name of the RmiInvocationHandler class
- invoke(Dispatcher) - Method in enum eu.tneitzel.rmg.operations.Operation
-
Invokes the method that was saved within the Operation.
- IPayloadProvider - Interface in eu.tneitzel.rmg.plugin
-
The IPayloadProvider interface is used during all rmg actions that send payload objects to the remote server.
- IResponseHandler - Interface in eu.tneitzel.rmg.plugin
-
The IResponseHandler interface is used during rmg's 'call' action to handle the return value of an invoked method.
- isAssignableFrom(CtClass, String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
This code was copied from the org.hibernate.bytecode.enhance.internal.javassist package, that is licensed under LGPL version 2.1 or later.
- isKnown() - Method in class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
Check whether the endpoint is a known endpoint.
- isKnown(String) - Method in class eu.tneitzel.rmg.endpoints.KnownEndpointHolder
-
Check whether the specified class name exists within the List of KnownEndpoint.
- ISocketFactoryProvider - Interface in eu.tneitzel.rmg.plugin
-
The ISocketFactoryProvider interface can be used to overwrite SocketFactory implementations that are used during RMI communication.
- isRemotingCall(MethodCandidate) - Method in class eu.tneitzel.rmg.utils.SpringRemotingWrapper
-
Determines whether the method to call is a known spring remoting method, that needs to be processed by the remoting wrapper itself, or whether it is an RMI method implemented by the underlying object.
- isVoid() - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
Returns the current value of the isVoid attribute.
- iterator() - Method in class eu.tneitzel.rmg.internal.MethodArguments
- IUnknown - Interface in eu.tneitzel.rmg.utils
-
IUnknown is a dummy interface that is used when performing method guessing with a manually specified ObjID.
J
- jep290(Exception) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- JEP290 - eu.tneitzel.rmg.operations.ScanAction
-
check for JEP290
K
- KNOWN - eu.tneitzel.rmg.operations.Operation
-
Display details of known remote objects
- KNOWN_CLASS - eu.tneitzel.rmg.internal.RMGOption
-
classname to check within the database
- knownEndpoint - Variable in class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
associated knownEndpoint
- KnownEndpoint - Class in eu.tneitzel.rmg.endpoints
-
The KnownEndpoint class represents a well known RMI endpoint.
- KnownEndpoint() - Constructor for class eu.tneitzel.rmg.endpoints.KnownEndpoint
- KnownEndpointHolder - Class in eu.tneitzel.rmg.endpoints
-
The KnownEndpointHolder is a helper class to work with KnownEndpoints.
- KnownEndpointHolder() - Constructor for class eu.tneitzel.rmg.endpoints.KnownEndpointHolder
L
- left() - Method in class eu.tneitzel.rmg.internal.Pair
- LimitedSocketFactory - Class in eu.tneitzel.rmg.networking
-
The LimitedSocketFactoryClass is used when creating a rogue JMX server.
- LimitedSocketFactory(String) - Constructor for class eu.tneitzel.rmg.networking.LimitedSocketFactory
-
Creates a limited socket factory using the specified address.
- lineBreak() - Static method in class eu.tneitzel.rmg.io.Logger
- LIST - eu.tneitzel.rmg.operations.ScanAction
-
list remote bound names
- listBoundNames(RemoteObjectWrapper[]) - Method in class eu.tneitzel.rmg.io.Formatter
-
Creates a formatted list of available bound names and their corresponding classes.
- listCodebases() - Method in class eu.tneitzel.rmg.io.Formatter
-
Lists enumerated codebases exposed by the RMI server.
- LISTEN - eu.tneitzel.rmg.operations.Operation
-
Open ysoserials JRMP listener
- LISTEN_IP - eu.tneitzel.rmg.internal.RMGOption
-
IP address to start the listener on
- LISTEN_PORT - eu.tneitzel.rmg.internal.RMGOption
-
port number to start the listener on
- listGuessedMethods(List<RemoteObjectClient>) - Method in class eu.tneitzel.rmg.io.Formatter
-
Prints a formatted list of successfully guessed remote methods.
- listKnownEndpoint(KnownEndpoint) - Method in class eu.tneitzel.rmg.io.Formatter
-
Prints the meta information contained in a KnownEndpoint in formatted way.
- loadClass(String, String, ClassLoader) - Method in class eu.tneitzel.rmg.internal.CodebaseCollector
-
Just a proxy to the loadClass method of the default provider instance.
- loadProxyClass(String, String[], ClassLoader) - Method in class eu.tneitzel.rmg.internal.CodebaseCollector
-
Just a proxy to the loadProxyClass method of the default provider instance.
- loadTemplate(String) - Method in class eu.tneitzel.rmg.io.SampleWriter
-
Reads a template from the template folder and returns the corresponding content.
- loadTemplateFile(String) - Method in class eu.tneitzel.rmg.io.SampleWriter
-
Reads a template from the template folder and returns the corresponding content.
- loadTemplateStream(String) - Method in class eu.tneitzel.rmg.io.SampleWriter
-
Reads a template file form the internal template folder and returns its contents.
- LOCALHOST_BYPASS - eu.tneitzel.rmg.operations.ScanAction
-
check for the localhost bypass
- localhostBypassNoException() - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- Logger - Class in eu.tneitzel.rmg.io
-
The Logger class exposes static methods that can be used to create colored output.
- Logger() - Constructor for class eu.tneitzel.rmg.io.Logger
- lookup(String) - Method in class eu.tneitzel.rmg.endpoints.KnownEndpointHolder
-
Can be used to lookup a class name within the List of KnownEndpoints.
- lookup(String) - Method in class eu.tneitzel.rmg.networking.RMIRegistryEndpoint
-
Just a wrapper around the lookup method of the RMI registry.
- lookup(String[]) - Method in class eu.tneitzel.rmg.networking.RMIRegistryEndpoint
-
Performs the RMI registries lookup operation to obtain a remote reference for the specified bound names.
- lookupClassNotFoundException(Exception, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- lookupWithRetries(String, int) - Method in class eu.tneitzel.rmg.networking.RMIRegistryEndpoint
-
It was observed that using --serial-version-uid option can cause an invalid transport return code exception during lookup.
- lookupWrapper(String) - Method in class eu.tneitzel.rmg.networking.RMIRegistryEndpoint
-
Same as the lookup action, but returns a RemoteObjectWrapper.
- lookupWrappers(String[]) - Method in class eu.tneitzel.rmg.networking.RMIRegistryEndpoint
-
Same as the lookup action, but returns an array of RemoteObjectWrapper.
- LoopbackSocketFactory - Class in eu.tneitzel.rmg.networking
-
Remote objects bound to an RMI registry are usually pointing to remote endpoints on the same host.
- LoopbackSocketFactory() - Constructor for class eu.tneitzel.rmg.networking.LoopbackSocketFactory
- LoopbackSslSocketFactory - Class in eu.tneitzel.rmg.networking
-
Remote objects bound to an RMI registry are usually pointing to remote endpoints on the same host.
- LoopbackSslSocketFactory() - Constructor for class eu.tneitzel.rmg.networking.LoopbackSslSocketFactory
M
- main(String[]) - Static method in class eu.tneitzel.rmg.Starter
-
Main method :)
- makeActivatableRef() - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Create required classes for the activation system.
- makeInterface(String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Creates the specified class dynamically as an interface.
- makeLegacyStub(String, long) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
This function is basically like the makeInterface function, but for the legacy RMI stub mechanism.
- makeMethod(String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Creates a method from a signature string.
- makeRandomClass() - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Dynamically creates a class with random class name.
- makeSerializableClass(String, long) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Dynamically creates a serializable class that can be used within RMI calls.
- makeSocketFactory(String, long) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Dynamically create a socket factory class that implements RMIClientSocketFactory.
- MalformedPluginException - Exception in eu.tneitzel.rmg.exceptions
-
MalformedPluginExceptions are thrown then an rmg plugin was specified on the command line that does not satisfy the plugin requirements.
- MalformedPluginException() - Constructor for exception eu.tneitzel.rmg.exceptions.MalformedPluginException
-
Constructor with zero arguments.
- MalformedPluginException(String) - Constructor for exception eu.tneitzel.rmg.exceptions.MalformedPluginException
-
Constructor with message argument.
- MaliciousOutputStream - Class in eu.tneitzel.rmg.io
-
MaliciousOutputStream can be used as a wrapper around a MarshalOutputStream or other subclasses of it.
- MaliciousOutputStream(OutputStream) - Constructor for class eu.tneitzel.rmg.io.MaliciousOutputStream
-
Wraps a MarshalOutputStream into an extending class to overwrite its writeLocation method.
- MethodArguments - Class in eu.tneitzel.rmg.internal
-
Internally, Java RMI always uses an array of objects as argument for method calls.
- MethodArguments(int) - Constructor for class eu.tneitzel.rmg.internal.MethodArguments
- MethodArguments(Object, Class) - Constructor for class eu.tneitzel.rmg.internal.MethodArguments
- MethodCandidate - Class in eu.tneitzel.rmg.internal
-
A MethodCandidate represents a remote method that may exists on a remote endpoint.
- MethodCandidate(String) - Constructor for class eu.tneitzel.rmg.internal.MethodCandidate
-
Creates a MethodCandidate from a method signature defined as String.
- MethodCandidate(String, String, String, String) - Constructor for class eu.tneitzel.rmg.internal.MethodCandidate
-
The advanced wordlist format of rmg allows storing methods right away with their corresponding method hash and the required meta information.
- MethodCandidate(CtMethod) - Constructor for class eu.tneitzel.rmg.internal.MethodCandidate
-
This constructor allows creating a MethodCandidate based on an already present CtMethod.
- methodGetStr - Static variable in class eu.tneitzel.rmg.utils.SpringRemotingWrapper
-
method signature of the getTargetInterfaceName method
- MethodGuesser - Class in eu.tneitzel.rmg.operations
-
The MethodGuesser class is used to brute force available remote methods on Java RMI endpoints.
- MethodGuesser(UnicastWrapper[], Set<MethodCandidate>) - Constructor for class eu.tneitzel.rmg.operations.MethodGuesser
-
To create a MethodGuesser you need to pass the references for remote objects you want to guess on.
- methodInvokeStr - Static variable in class eu.tneitzel.rmg.utils.SpringRemotingWrapper
-
method signature of the invoke method
- missingSignature() - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- missingTarget(String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
N
- name - Variable in enum eu.tneitzel.rmg.internal.RMIComponent
-
name of the RMI component
- NATIVE - eu.tneitzel.rmg.operations.OperationGroup
-
Native rmg operations
- networkUnreachable(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- newClient(Object) - Method in class eu.tneitzel.rmg.utils.RogueJMX
-
Incoming JMX connection that may contains credentials.
- next() - Method in class eu.tneitzel.rmg.internal.MethodArguments
- NO_CANARY - eu.tneitzel.rmg.internal.RMGOption
-
do not use a canary during RMI attacks
- NO_PROGRESS - eu.tneitzel.rmg.internal.RMGOption
-
disable progress bars
- noJRMPServer(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- NONE - eu.tneitzel.rmg.internal.RMGOptionGroup
-
no option group
- nonLocalhost(Exception, String, boolean) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- noRouteToHost(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- noSuchObjectException(Exception, String, boolean) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- noSuchObjectException(Exception, ObjID, boolean) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- noSuchObjectExceptionRegistryEnum() - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- notBoundException(Exception, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
O
- objID - Variable in class eu.tneitzel.rmg.utils.UnicastWrapper
-
associated ObjID
- OBJID - eu.tneitzel.rmg.operations.Operation
-
Print information contained within an ObjID
- OBJID_OBJID - eu.tneitzel.rmg.internal.RMGOption
-
ObjID string to parse
- Operation - Enum in eu.tneitzel.rmg.operations
-
The Operation enum class contains one item for each possible rmg action.
- OperationGroup - Enum in eu.tneitzel.rmg.operations
-
When plugins implement IActionProvider, they can add additional arguments to rmg.
P
- padRight(String, int) - Static method in class eu.tneitzel.rmg.io.Logger
- Pair<K,V> - Class in eu.tneitzel.rmg.internal
-
For the MethodArguments class, a Pair type is required.
- Pair(K, V) - Constructor for class eu.tneitzel.rmg.internal.Pair
- parseMethods(String[]) - Static method in class eu.tneitzel.rmg.io.WordlistHandler
-
Takes the contents of a wordlist file as a list of lines and parses the corresponding method specifications.
- parseObjID(String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Parses an ObjID from a String.
- parseScanActions(List<String>) - Static method in enum eu.tneitzel.rmg.operations.ScanAction
-
Parses a list of user specified scan actions into the corresponding enum items.
- PAYLOAD_SERIAL_VERSION_UID - eu.tneitzel.rmg.internal.RMGOption
-
serialVersionUID to use for payload classes
- PLUGIN - eu.tneitzel.rmg.operations.OperationGroup
-
Operations added by plugins
- pluginLoader - Static variable in class eu.tneitzel.rmg.plugin.PluginSystem
-
The class loader that was used to load the plugin
- PluginSystem - Class in eu.tneitzel.rmg.plugin
-
The PluginSystem class allows rmg to be extended by user defined classes.
- PluginSystem() - Constructor for class eu.tneitzel.rmg.plugin.PluginSystem
- port - Variable in class eu.tneitzel.rmg.networking.RMIEndpoint
-
remote port of the endpoint
- portScan() - Method in class eu.tneitzel.rmg.operations.PortScanner
-
Performs the port scan.
- PortScanner - Class in eu.tneitzel.rmg.operations
-
The PortScanner class implements a simple RMI service scan that can be used to identify RMI endpoints on a target.
- PortScanner(String, int[]) - Constructor for class eu.tneitzel.rmg.operations.PortScanner
-
The PortScanner class obtains the target host as a String and the ports to scan as an array of int.
- prepareAnTrinhGadget(String, int) - Static method in class eu.tneitzel.rmg.utils.YsoIntegration
-
The bypass technique implemented by this code was discovered by An Trinh (@_tint0) and a detailed analysis was provided by Hans-Martin Münch (@h0ng10).
- prepareRMIServerImpl(String, int) - Static method in class eu.tneitzel.rmg.operations.RegistryClient
-
Generates an RMIServerImpl_Stub as it is usually used by JMX instances.
- primitiveSize() - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
Returns the current value of the primitiveSize attribute.
- print(String) - Static method in class eu.tneitzel.rmg.io.Logger
- printCodebaseAttackIntro(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printContent(String, int) - Static method in class eu.tneitzel.rmg.networking.SSRFSocket
-
This function is used to print the collected output stream data.
- printCount - Static variable in class eu.tneitzel.rmg.io.Logger
-
how many lines have already be printed
- printEnum() - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
-
This function is called during the 'enum' action of remote-method-guesser to print meta information for a KnownEndpoint in a formatted way.
- printGadgetCallIntro(String) - Static method in class eu.tneitzel.rmg.io.Logger
- printGuessingIntro() - Method in class eu.tneitzel.rmg.operations.MethodGuesser
-
Helper function that prints some visual text when the guesser is started.
- printInfo - Variable in class eu.tneitzel.rmg.networking.LoopbackSslSocketFactory
-
Whether to print redirection information
- printInfoBox() - Static method in class eu.tneitzel.rmg.io.Logger
- println(String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnBlue(String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnMixedBlue(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnMixedBlue(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnMixedBlueFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnMixedBlueFirst(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnMixedGreen(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnMixedPurple(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnMixedRed(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnMixedYellow(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnMixedYellow(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnMixedYellowFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnMixedYellowFirst(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlain(String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainBlue(String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainGreen(String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainMixedBlue(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainMixedBlue(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainMixedBlueFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainMixedBlueFirst(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainMixedGreen(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainMixedPurple(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainMixedRed(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainMixedYellow(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainMixedYellow(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainMixedYellowFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainMixedYellowFirst(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnPlainYellow(String) - Static method in class eu.tneitzel.rmg.io.Logger
- printlnYellow(String) - Static method in class eu.tneitzel.rmg.io.Logger
- printMixedBlue(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printMixedBlue(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printMixedBlueFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printMixedBlueFirst(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printMixedYellow(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printMixedYellow(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printMixedYellowFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printMixedYellowFirst(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printObjID(ObjID) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Print information contained in an ObjID to stdout.
- printPlain(String) - Static method in class eu.tneitzel.rmg.io.Logger
- printPlainBlue(String) - Static method in class eu.tneitzel.rmg.io.Logger
- printPlainGreen(String) - Static method in class eu.tneitzel.rmg.io.Logger
- printPlainMixedBlue(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printPlainMixedBlueFirst(String, String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printPlainMixedGreen(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printPlainMixedPurple(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printPlainMixedRed(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printPlainMixedYellowFirst(String, String) - Static method in class eu.tneitzel.rmg.io.Logger
- printPlainYellow(String) - Static method in class eu.tneitzel.rmg.io.Logger
- ProgressBar - Class in eu.tneitzel.rmg.utils
-
Simple progress bar that is used during the guess and scan operations.
- ProgressBar(int, int) - Constructor for class eu.tneitzel.rmg.utils.ProgressBar
-
Initialize the progress bar with the amount of work and the desired length.
- purple(String) - Static method in class eu.tneitzel.rmg.io.Logger
-
Format the specified string in purple.
R
- RawObjectInputStream - Class in eu.tneitzel.rmg.io
-
Wrapper class for an ObjectInputStream.
- RawObjectInputStream(ObjectInputStream) - Constructor for class eu.tneitzel.rmg.io.RawObjectInputStream
-
Wraps an ObjectInputStream into an RawObjectInputStream.
- RawObjectOutputStream - Class in eu.tneitzel.rmg.io
-
Wrapper class for an ObjectOutputStream.
- RawObjectOutputStream(ObjectOutputStream) - Constructor for class eu.tneitzel.rmg.io.RawObjectOutputStream
-
Wraps an ObjectOutputStream into an RawObjectOutputStream.
- REBIND - eu.tneitzel.rmg.operations.Operation
-
Rebinds boundname as object that points to listener
- rebindObject(String, Object, boolean) - Method in class eu.tneitzel.rmg.operations.RegistryClient
-
Invokes the rebind method on the RMI endpoint.
- red(String) - Static method in class eu.tneitzel.rmg.io.Logger
-
Format the specified string in red.
- REG_METHOD - eu.tneitzel.rmg.internal.RMGOption
-
method to use for registry operations
- REGISTRY - eu.tneitzel.rmg.internal.RMIComponent
-
RMI Registry
- RegistryClient - Class in eu.tneitzel.rmg.operations
-
The RMI registry is a well known RMI object with publicly known method definitions.
- RegistryClient(RMIEndpoint) - Constructor for class eu.tneitzel.rmg.operations.RegistryClient
-
Create a new RegistryClient.
- regularActivateCall(Object, boolean, RemoteRef) - Method in class eu.tneitzel.rmg.operations.ActivationClient
-
This function is used for performing regular calls to the RMI Activator.
- RemoteInvocationHolder - Class in eu.tneitzel.rmg.utils
-
RemoteInvocation objects do not contain all information that MethodCandidates contain.
- RemoteInvocationHolder(RemoteInvocation, MethodCandidate) - Constructor for class eu.tneitzel.rmg.utils.RemoteInvocationHolder
-
An RemoteInvocationWrapper simply contains a RemoteInvocation and the associated MethodCandidate.
- remoteMethods - Variable in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
list of available remote methods
- remoteObject - Variable in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
underlying UnicastWrapper
- remoteObject - Variable in class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
associated Remote
- RemoteObjectClient - Class in eu.tneitzel.rmg.operations
-
The RemoteObjectClient class is used for method guessing and communication to user defined remote objects.
- RemoteObjectClient(RMIEndpoint, ObjID) - Constructor for class eu.tneitzel.rmg.operations.RemoteObjectClient
-
When the ObjID of a remote object is already known, we can talk to this object without a previous lookup operation.
- RemoteObjectClient(RMIRegistryEndpoint, String) - Constructor for class eu.tneitzel.rmg.operations.RemoteObjectClient
-
The RemoteObjectClient makes use of an RMIRegistryEndpoint to obtain a RemoteObject reference from the RMI registry.
- RemoteObjectClient(UnicastWrapper) - Constructor for class eu.tneitzel.rmg.operations.RemoteObjectClient
-
If you already obtained a reference to the remote object, you can also use it directly in form of passing an UnicastWrapper.
- RemoteObjectWrapper - Class in eu.tneitzel.rmg.utils
-
The RemoteObjectWrapper class represents a wrapper around the ordinary RMI remote object related classes.
- RemoteObjectWrapper(String) - Constructor for class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
This constructor is only used for special purposes during the enum action.
- RemoteObjectWrapper(String, Remote) - Constructor for class eu.tneitzel.rmg.utils.RemoteObjectWrapper
-
Partially initializes a wrapper.
- requirementException(RequirementException) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- requireTarget() - Static method in enum eu.tneitzel.rmg.internal.RMGOption
-
Helper function that calls requireOneOf with target related options.
- resetDefaultLocation() - Static method in class eu.tneitzel.rmg.io.MaliciousOutputStream
-
Reset the default location to null.
- ReturnValueProvider - Class in eu.tneitzel.rmg.plugin
-
ReturnValueProvider is a helper class that can be used to capture return values of custom RMI calls.
- ReturnValueProvider() - Constructor for class eu.tneitzel.rmg.plugin.ReturnValueProvider
- right() - Method in class eu.tneitzel.rmg.internal.Pair
- RMGOption - Enum in eu.tneitzel.rmg.internal
-
The RMGOption enum is an additional helper class to manage command line parameters.
- RMGOptionGroup - Enum in eu.tneitzel.rmg.internal
-
The RMGOptionGroup enum is used to bundle certain options into a logical context.
- RMGUtils - Class in eu.tneitzel.rmg.utils
-
The RMGUtils class defines static helper functions that do not really fit into other categories.
- RMGUtils() - Constructor for class eu.tneitzel.rmg.utils.RMGUtils
- RMIComponent - Enum in eu.tneitzel.rmg.internal
-
The RMIComponent enum represents the different RMI components that may be targeted when communicating with an RMI server.
- RMIEndpoint - Class in eu.tneitzel.rmg.networking
-
The RMIEndpoint class represents an RMI endpoint on a remote server.
- RMIEndpoint(String, int) - Constructor for class eu.tneitzel.rmg.networking.RMIEndpoint
-
Creates a new RMIEndpoint instance and configures the corresponding client side socket factory according to the options specified on the command line.
- RMIEndpoint(String, int, RMIClientSocketFactory) - Constructor for class eu.tneitzel.rmg.networking.RMIEndpoint
-
Creates a new RMIEndpoint instance and allows the user to specify a client side socket factory.
- RMIRegistryEndpoint - Class in eu.tneitzel.rmg.networking
-
The RMIRegistryEndpoint represents an RMI Registry endpoint on the remote server.
- RMIRegistryEndpoint(RMIEndpoint) - Constructor for class eu.tneitzel.rmg.networking.RMIRegistryEndpoint
-
Alternative constructor that creates the RMIRegistryEndpoint from an already existing RMIEndpoint.
- RMIRegistryEndpoint(String, int) - Constructor for class eu.tneitzel.rmg.networking.RMIRegistryEndpoint
-
The main purpose of this constructor function is to setup the different socket factories.
- RogueJMX - Class in eu.tneitzel.rmg.utils
-
The RogueJMX class implements a rogue JMX server that displays used credentials from incoming JMX connections.
- RogueJMX(String, int, String) - Constructor for class eu.tneitzel.rmg.utils.RogueJMX
-
Constructor requires the address where the rogue JMX server is bound and the listening port.
- ROGUEJMX - eu.tneitzel.rmg.operations.Operation
-
Creates a rogue JMX listener (collect credentials)
- ROGUEJMX_FORWARD_BOUND_NAME - eu.tneitzel.rmg.internal.RMGOption
-
bound name to forward incoming JMX connections to
- ROGUEJMX_FORWARD_HOST - eu.tneitzel.rmg.internal.RMGOption
-
host to forward incoming JMX connections to
- ROGUEJMX_FORWARD_OBJID - eu.tneitzel.rmg.internal.RMGOption
-
ObjID to forward incoming JMX connections to
- ROGUEJMX_FORWARD_PORT - eu.tneitzel.rmg.internal.RMGOption
-
port to forward incoming JMX connections to
- ROGUEJMX_OBJID - eu.tneitzel.rmg.internal.RMGOption
-
ObjID to use for the JMX listener
S
- SampleWriter - Class in eu.tneitzel.rmg.io
-
The SampleWriter class handles the dynamic creation of RMI code.
- SampleWriter(String, String, boolean, boolean) - Constructor for class eu.tneitzel.rmg.io.SampleWriter
-
Creates a SampleWriter object.
- SCAN - eu.tneitzel.rmg.operations.Operation
-
Perform an RMI service scan on common RMI ports
- SCAN_HOST - eu.tneitzel.rmg.internal.RMGOption
-
host to perform the scan on
- SCAN_PORTS - eu.tneitzel.rmg.internal.RMGOption
-
port specifications to perform the portscan on
- SCAN_TIMEOUT_CONNECT - eu.tneitzel.rmg.internal.RMGOption
-
scan timeout for connect operation
- SCAN_TIMEOUT_READ - eu.tneitzel.rmg.internal.RMGOption
-
scan timeout for read operation
- ScanAction - Enum in eu.tneitzel.rmg.operations
-
The ScanAction Enum represents available enumeration techniques that are applied during rmg's enum action.
- Security - Class in eu.tneitzel.rmg.utils
-
During sample creation, remote-method-guesser creates sample files with filenames and contents controlled by the remote RMI server.
- Security() - Constructor for class eu.tneitzel.rmg.utils.Security
- SECURITY_MANAGER - eu.tneitzel.rmg.operations.ScanAction
-
enumerate security managers
- sendArguments(ObjectOutputStream) - Method in class eu.tneitzel.rmg.internal.MethodCandidate
-
During guessing operations, we want to invoke methods with confused arguments.
- SERIAL - eu.tneitzel.rmg.operations.Operation
-
Perform deserialization attacks against default RMI components
- SERIAL_VERSION_UID - eu.tneitzel.rmg.internal.RMGOption
-
serialVersionUID to use for RMI stubs
- setClassName(List<String>) - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
-
Set the class name of the endpoint.
- setCodebase(String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Enables a user specified codebase within the MaliciousOutputStream.
- setDefaultLocation(Object) - Static method in class eu.tneitzel.rmg.io.MaliciousOutputStream
-
Set the location object to provide within the stream.
- setDescription(String) - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
-
Set the description of the endpoint.
- setDescription(String) - Method in class eu.tneitzel.rmg.endpoints.Vulnerability
-
Set the description of the vulnerability.
- setKnownEndpoints(List<KnownEndpoint>) - Method in class eu.tneitzel.rmg.endpoints.KnownEndpointHolder
-
Sets the List of KnownEndpoint for a KnownEndpointHolder instance.
- setName(String) - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
-
Set the name of the endpoint.
- setName(String) - Method in class eu.tneitzel.rmg.endpoints.Vulnerability
-
Set vulnerability name
- setReferences(List<String>) - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
-
Set the references for the endpoint.
- setReferences(List<String>) - Method in class eu.tneitzel.rmg.endpoints.Vulnerability
-
Set the references of the vulnerability.
- setRemoteMethods(List<String>) - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
-
Set the remote methods for the endpoint.
- setResponeHandler(IResponseHandler) - Static method in class eu.tneitzel.rmg.plugin.PluginSystem
-
Sets a new ResponseHandler.
- setSocketTimeout() - Method in class eu.tneitzel.rmg.internal.ArgumentHandler
-
Is called when the scan action was requested.
- setSocketTimeouts(int, int) - Static method in class eu.tneitzel.rmg.operations.PortScanner
-
Set the socket timeout values.
- setValue(Object) - Method in enum eu.tneitzel.rmg.internal.RMGOption
-
Sets the option to the specified value.
- setVulnerabilities(List<Vulnerability>) - Method in class eu.tneitzel.rmg.endpoints.KnownEndpoint
-
Set the vulnerabilities for the endpoint.
- shortName - Variable in enum eu.tneitzel.rmg.internal.RMIComponent
-
short name of the RMI component
- showStackTrace(T) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
-
By using the --stack-trace option, uses can always display stack traces if they want to.
- singleEntryRegistry(Exception, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- SingleOpOutputStream - Class in eu.tneitzel.rmg.io
-
The SingleOpOutputStream class is used during SSRF operations.
- SingleOpOutputStream() - Constructor for class eu.tneitzel.rmg.io.SingleOpOutputStream
-
Simple constructor.
- skip(int) - Method in class eu.tneitzel.rmg.io.RawObjectInputStream
-
Skip the next n bytes of input on the stream.
- SOCKET_FACTORY - eu.tneitzel.rmg.internal.RMGOption
-
dynamically create a socket factory class with the specified name
- SOCKET_FACTORY_PLAIN - eu.tneitzel.rmg.internal.RMGOption
-
enforce plaintext connections from dynamically created socket factories
- SOCKET_FACTORY_SSL - eu.tneitzel.rmg.internal.RMGOption
-
enforce SSL connections from dynamically created socket factories
- splitListener(String) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Helper function that is called to split a string that contains a listener definition (host:port).
- splitSet(Set<T>, int) - Static method in class eu.tneitzel.rmg.utils.RMGUtils
-
Divide a Set into n separate Sets, where n is the number specified within the count argument.
- SPRING_REMOTING - eu.tneitzel.rmg.internal.RMGOption
-
enforce method calls to be dispatched via spring remoting
- SpringRemotingWrapper - Class in eu.tneitzel.rmg.utils
-
SpringRemoting represents a wrapper around regular Java RMI.
- SpringRemotingWrapper(Remote, String, UnicastRef) - Constructor for class eu.tneitzel.rmg.utils.SpringRemotingWrapper
-
Within it's constructor, SpringRemotingWrapper already sends an RMI call to the server using the getTargetInterfaceName method.
- ssf - Variable in class eu.tneitzel.rmg.utils.UnicastWrapper
-
associated RMIServerSocketFactory
- sslError(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- SSRF - eu.tneitzel.rmg.internal.RMGOption
-
print SSRF payload instead of contacting a server
- SSRF - eu.tneitzel.rmg.internal.RMGOptionGroup
-
SSRF related arguments
- SSRF_ENCODE - eu.tneitzel.rmg.internal.RMGOption
-
double URL encode the SSRF payload
- SSRF_GOPHER - eu.tneitzel.rmg.internal.RMGOption
-
print SSRF content as gopher payload
- SSRF_RAW - eu.tneitzel.rmg.internal.RMGOption
-
print payload without color and without additional text
- SSRF_STREAM_PROTOCOL - eu.tneitzel.rmg.internal.RMGOption
-
use the stream protocol instead of single operation
- SSRFException - Exception in eu.tneitzel.rmg.exceptions
-
Custom Exception class used to generate SSRF payloads.
- SSRFException() - Constructor for exception eu.tneitzel.rmg.exceptions.SSRFException
- SSRFRESPONSE - eu.tneitzel.rmg.internal.RMGOption
-
evaluate SSRF response from the server
- SSRFResponseSocket - Class in eu.tneitzel.rmg.networking
-
Socket implementation that prevents outputs from being sent anywhere and that simulates input by using a byte array that is set when calling the constructor.
- SSRFResponseSocket(String, int, byte[]) - Constructor for class eu.tneitzel.rmg.networking.SSRFResponseSocket
-
Create a new SSRFResponseSocket.
- SSRFResponseSocketFactory - Class in eu.tneitzel.rmg.networking
-
Factory class for creating SSRFResponseSockets.
- SSRFResponseSocketFactory(byte[]) - Constructor for class eu.tneitzel.rmg.networking.SSRFResponseSocketFactory
-
Create a new SSRFResponseSocketFactory.
- SSRFSocket - Class in eu.tneitzel.rmg.networking
-
The SSRFSocket class is an alternative Socket implementation that sends all socket output to a byte array and that uses another static byte array for simulating server input.
- SSRFSocket(String, int) - Constructor for class eu.tneitzel.rmg.networking.SSRFSocket
-
Create a new SSRFSocket.
- SSRFSocketFactory - Class in eu.tneitzel.rmg.networking
-
Factory class for creating SSRFSockets.
- SSRFSocketFactory() - Constructor for class eu.tneitzel.rmg.networking.SSRFSocketFactory
- stackTrace(T) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
-
Helper function that prints a stacktrace with a prefixed Logger item.
- Starter - Class in eu.tneitzel.rmg
-
The Starter class contains the entrypoint of remote-method-guesser.
- Starter() - Constructor for class eu.tneitzel.rmg.Starter
- statusDefault() - Static method in class eu.tneitzel.rmg.io.Logger
- statusNonDefault() - Static method in class eu.tneitzel.rmg.io.Logger
- statusOk() - Static method in class eu.tneitzel.rmg.io.Logger
- statusOutdated() - Static method in class eu.tneitzel.rmg.io.Logger
- statusUndecided(String) - Static method in class eu.tneitzel.rmg.io.Logger
- statusVulnerable() - Static method in class eu.tneitzel.rmg.io.Logger
- stderr - Static variable in class eu.tneitzel.rmg.io.Logger
-
whether stderr is enabled
- stdout - Static variable in class eu.tneitzel.rmg.io.Logger
-
whether stdout is enabled
- STRING_MARSHALLING - eu.tneitzel.rmg.operations.ScanAction
-
enumerate string marshaling
T
- TARGET - eu.tneitzel.rmg.internal.RMGOptionGroup
-
target related arguments
- TARGET_BOUND_NAME - eu.tneitzel.rmg.internal.RMGOption
-
target bound name within an RMI registry
- TARGET_COMPONENT - eu.tneitzel.rmg.internal.RMGOption
-
target RMI component
- TARGET_HOST - eu.tneitzel.rmg.internal.RMGOption
-
target host
- TARGET_OBJID - eu.tneitzel.rmg.internal.RMGOption
-
target ObjID
- TARGET_PORT - eu.tneitzel.rmg.internal.RMGOption
-
target port
- TARGET_SIGNATURE - eu.tneitzel.rmg.internal.RMGOption
-
target method signature
- taskDone() - Method in class eu.tneitzel.rmg.utils.ProgressBar
-
Is called for each task that is done.
- THREADS - eu.tneitzel.rmg.internal.RMGOption
-
maximum number of threads (default: 5)
- timeoutException(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- TimeoutSocketFactory - Class in eu.tneitzel.rmg.networking
-
The TimeoutSocketFactory is a wrapper around the default RMISocketFactory that allows to set timeouts for the created sockets.
- TimeoutSocketFactory(int, int) - Constructor for class eu.tneitzel.rmg.networking.TimeoutSocketFactory
-
Create a new factory using the specified read and connect timeout for TCP sockets.
- toString() - Method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
Returns the string representation of an RemoteObjectClient.
- TrustAllSocketFactory - Class in eu.tneitzel.rmg.networking
-
Wrapper around an SSLSocketFactory that trusts all certificates.
- TrustAllSocketFactory() - Constructor for class eu.tneitzel.rmg.networking.TrustAllSocketFactory
-
Creates a new TrustAllSocketFactory by disabling certificate validation on an SSLContext and using the resulting SSLSocketFactory.
- TrustAllSocketFactory(int, int) - Constructor for class eu.tneitzel.rmg.networking.TrustAllSocketFactory
-
Same as the previous constructor, but allows user defined values for the timeouts.
U
- UNBIND - eu.tneitzel.rmg.operations.Operation
-
Removes the specified bound name from the registry
- unbindObject(String, boolean) - Method in class eu.tneitzel.rmg.operations.RegistryClient
-
Invokes the unbind method on the RMI endpoint.
- UnexpectedCharacterException - Exception in eu.tneitzel.rmg.exceptions
-
UnexpectedCharacterException may be thrown during the dynamic creation of RMI code (guess action with --create-samples switch).
- UnexpectedCharacterException() - Constructor for exception eu.tneitzel.rmg.exceptions.UnexpectedCharacterException
-
Constructor with zero arguments.
- UnexpectedCharacterException(String) - Constructor for exception eu.tneitzel.rmg.exceptions.UnexpectedCharacterException
-
Constructor with message argument.
- unexpectedException(Exception, String, String, boolean) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- unicastRef - Variable in class eu.tneitzel.rmg.utils.UnicastWrapper
-
associated UnicastRef
- UnicastWrapper - Class in eu.tneitzel.rmg.utils
-
The UnicastWrapper class extends RemoteObjectWrapper and is used for wrapping UnicastRef.
- UnicastWrapper(Remote, String, UnicastRef) - Constructor for class eu.tneitzel.rmg.utils.UnicastWrapper
-
Create a new UnicastWrapper from a RemoteObject.
- unknownCodebaseException(Throwable, boolean) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- unknownDeserializationException(Exception) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- unknownHost(Exception, String, boolean) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- unmanagedCall(MethodCandidate, MethodArguments) - Method in class eu.tneitzel.rmg.operations.RemoteObjectClient
-
Technically the same as the genericCall method, but does not perform any exception handling.
- unmanagedCall(ObjID, int, long, MethodArguments, boolean, RemoteRef, CtClass) - Method in class eu.tneitzel.rmg.networking.RMIEndpoint
-
Dispatches a raw RMI call.
- unrecognizedMethodHash(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- unsupportedClassVersion(Exception, String, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- unsupportedOperationException(Exception, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- unsupportedOperationExceptionEnum(Exception, String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
- updateWordlist(File, HashSet<MethodCandidate>) - Static method in class eu.tneitzel.rmg.io.WordlistHandler
-
Write MethodCandidates with their advanced format to a wordlist.
V
- value - Variable in enum eu.tneitzel.rmg.internal.RMGOption
-
the value of the option
- valueOf(String) - Static method in enum eu.tneitzel.rmg.internal.RMGOption
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum eu.tneitzel.rmg.internal.RMGOptionGroup
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum eu.tneitzel.rmg.internal.RMIComponent
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum eu.tneitzel.rmg.operations.Operation
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum eu.tneitzel.rmg.operations.OperationGroup
-
Returns the enum constant of this type with the specified name.
- valueOf(String) - Static method in enum eu.tneitzel.rmg.operations.ScanAction
-
Returns the enum constant of this type with the specified name.
- values() - Static method in enum eu.tneitzel.rmg.internal.RMGOption
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum eu.tneitzel.rmg.internal.RMGOptionGroup
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum eu.tneitzel.rmg.internal.RMIComponent
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum eu.tneitzel.rmg.operations.Operation
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum eu.tneitzel.rmg.operations.OperationGroup
-
Returns an array containing the constants of this enum type, in the order they are declared.
- values() - Static method in enum eu.tneitzel.rmg.operations.ScanAction
-
Returns an array containing the constants of this enum type, in the order they are declared.
- Vulnerability - Class in eu.tneitzel.rmg.endpoints
-
The Vulnerability class represents a known vulnerability of a KnownEndpoint.
- Vulnerability() - Constructor for class eu.tneitzel.rmg.endpoints.Vulnerability
W
- WordlistHandler - Class in eu.tneitzel.rmg.io
-
The WordlistHandler is responsible for reading and writing wordlist files.
- WordlistHandler(String, String, boolean, boolean) - Constructor for class eu.tneitzel.rmg.io.WordlistHandler
-
Create a new WordlistHandler.
- write(byte[], int, int) - Method in class eu.tneitzel.rmg.io.SingleOpOutputStream
-
Java RMI calls the flush method before and after the handshake.
- write(int) - Method in class eu.tneitzel.rmg.io.DevNullOutputStream
- writeLocation(String) - Method in class eu.tneitzel.rmg.io.MaliciousOutputStream
-
Overwrites the writeLocation method of MarshalOutputStream.
- writeRaw(byte) - Method in class eu.tneitzel.rmg.io.RawObjectOutputStream
-
Write raw byte to the underlying output stream.
- writeSample(String, String, String) - Method in class eu.tneitzel.rmg.io.SampleWriter
-
Wrapper around writeSamples with additional subfolder argument.
- writeSample(String, String, String, String) - Method in class eu.tneitzel.rmg.io.SampleWriter
-
Writes a sample file into the sample folder.
- writeStreamHeader() - Method in class eu.tneitzel.rmg.io.MaliciousOutputStream
-
Overwrites the default writeStreamHeader function from ObjectOutputStream.
- wrongArgumentCount(int, int) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
Y
- yellow(String) - Static method in class eu.tneitzel.rmg.io.Logger
-
Format the specified string in yellow.
- YSO - eu.tneitzel.rmg.internal.RMGOption
-
location of ysoserial.jar for deserialization attacks
- YsoIntegration - Class in eu.tneitzel.rmg.utils
-
remote-method-guesser does not include the ysoserial library as one of its dependencies.
- YsoIntegration() - Constructor for class eu.tneitzel.rmg.utils.YsoIntegration
- ysoNotPresent(String) - Static method in class eu.tneitzel.rmg.internal.ExceptionHandler
All Classes All Packages