• ▌ ▄ ·. ▐ ▄ ▪ .▄▄ · ▄▄· ▪ ▄▄▄ . ▐ ▄ ▄▄▄▄▄
▪ ·██ ▐███▪•█▌▐███ ▐█ ▀. ▐█ ▌▪██ ▀▄.▀·•█▌▐█•██
▄█▀▄ ▐█ ▌▐▌▐█·▐█▐▐▌▐█·▄▀▀▀█▄██ ▄▄▐█·▐▀▀▪▄▐█▐▐▌ ▐█.▪
▐█▌.▐▌██ ██▌▐█▌██▐█▌▐█▌▐█▄▪▐█▐███▌▐█▌▐█▄▄▌██▐█▌ ▐█▌·
▀█▄▀▪▀▀ █▪▀▀▀▀▀ █▪▀▀▀ ▀▀▀▀ ·▀▀▀ ▀▀▀ ▀▀▀ ▀▀ █▪ ▀▀▀
Omniscient is a VERY minimalist Command and Control (C2) Command Line Interface (CLI). It provides a minimalistic interface for managing and controlling remote clients.
The server component acts as a TCP listener, waiting for connections from clients. It provides a range of commands to interact with and control the connected clients.
The client features:
- KeyLogger: Records the keys pressed on the client's machine.
- WindowLogger: Keeps track of the active window on the client's machine.
- Command Executor: Executes commands received from the server on the client's machine.
To ensure the application functions correctly, it's important to start the server before initiating the client. Here are the steps to do so:
-
Open a terminal.
-
Navigate to the
server
directory from the root of the project:cd server
-
Once inside the
server
directory, start the server by running:dotnet run
The server should now be running and waiting for client connections.
-
Open a new terminal.
-
Navigate to the
client
directory from the root of the project:cd client
-
Once inside the
client
directory, start the client by running:dotnet run
The client should now be running and attempting to connect to the server.
Here are the available commands in the Omniscient CLI:
help
: Displays a list of available commands and their descriptions.list
: Lists all connected clients.use <client_id>
: Connects to a specific client using its ID.exec <command>
: Executes a command on the connected client.close
: Closes the current connection to the client.exit
: Shuts down the server.get-log
: Retrieves the log file from the connected client.sad
: Accesses additional sub-commands (typesad help
for more info).
help
: Displays a list ofsad
sub-commands and their descriptions.program
: Lists all programs installed on the client's machine.vulne
: Lists potentially vulnerable programs on the client's machine (requires running theprogram
command beforehand).system
: Retrieves system information from the client's machine.