Overview
This tutorial will demonstrate how to upload new modules to the server and how to import those modules into a Specter session.
Background Knowledge
Modules
Modules are another way to extend the functionality of SpecterInsight by uploading .NET Dynamically Linked Libraries (DLLs) to a Specter session. The SpecterInsight server maintains a repository of modules that can then be referenced inside of a SpecterScript.
The following code block shows how to import a module into a SpecterSession:
load recon;
The command above instructs the Specter to download the “recon” module and load it into the current session. Any cmdlets defined in the module are automatically mapped to the embedded PowerShell runspaces so that they can be called from a SpecterScript.
Dependencies
SpecterInsight automatically handles dependencies when uploading or importing modules. When you upload a new module to the server, it will check to see if there are any missing dependencies not covered by the Base Class Library (BCL).
When importing modules into a Specter Session, the requested module and all of the non-BCL dependencies will be downloaded to the Specter and imported into the current session based on the corresponding dependency graph (i.e. it should load them in the right order).
.NET Versions
The available versions of .NET are (mostly) forward compatible. SpecterInsight will allow you to upload a module from any version of .NET; however, the runtime installed on the system a Specter is running on May limit what modules can be loaded. For example, you won’t be able to load a .NET 4 module on an stock Windows 7 system which is typically comes with .NET 3.5.
The modules provided by SpecterInsight out-of-the-box strive to depend only upon .NET 2.0 in order to maximize compatibility.
Uploading a Module
Navigate to the Modules Page
From the SpectersInsight UI, click on the “Modules” page. From here, you can view the currently available modules. Additionally, you can view the exported cmdlets by selecting a particular module in the list.
Modules can be removed by clicking on the “Remove” button.
Modules can be downloaded by clicking on the “Download” button.
Upload a Module
To upload a module, begin by clicking the “Upload” button. Navigate to and select the module you want to upload. Then click the “Upload” button.
You should see the new module in the list on the server.
Import a Module into a Specter Session
Now that the module has been uploaded, you can import it into a Specter session with the “load” command.
You can list the loaded modules with the “modules” command.
load recon;
modules;