Program for executing commands on a remote machine regardless of the operating system.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Romain fb6a792965 Snapshot 23797f5059
client Snapshot 23797f5059
img Snapshot 23797f5059
server Snapshot 23797f5059
Licence note Snapshot 23797f5059
README.md Snapshot 23797f5059

README.md

CommandPC

CommandPC is a program for executing commands on a remote machine regardless of the operating system.

Description

The too long didn't read version is that: it's like SSH, but less secure and just a fun experimentation with threads, internationalization, encryption and GUI in JAVA.

Composed of two part, a client and a server, this application allow you to send encrypted command from one machine to another. Both the client and the server can operate with or without a gui. English and French language are disponible within the application.

Instruction

Server

Without the nogui argument, the server display its status with a system tray icon. By right-clicking the icon you can interact with it.

Server started Server stopped
server-systemTray-icon server-systemTray-icon

Example:

  • Windows sytem tray: server-systemTray-icon
  • Linux XFCE system tray: server-systemTray-icon

Right-clicking on the icon allow you to start and stop the server. The command line argument port=X chand the listening port.

Client

The client use a graphical interface to guide the user and is available in both French and English (using the "Français"/"English" button at the bottom) The interface is composed of two pane: "connection" and "command".

The "connection" pane allows the connection to a remote server.

connection-result

After the connection established, the "command" pane allow to send commands to the server.

'ls /' on a Linux machine 'ipconfig' on a Windows machine and gui in French for a change
ls ipconfig

Security concerns

TLDR: Use at your own risk over a secure network.

Command

No effort is made to check if the command that you send is compatible with the user privilige, exist or is even safe to use.

Identity

No identification of the user or the machine is made. In other words, if a server is running any number of client can connect and run command on it.

Encryption

This software use AES 128 bits encryption, but like too many software (including payed one) it has flaws that make it unsuitable to use over unsecured networks.

The main issue is the fact that during the first communication between the client and the server, the communication is encrypted via a master key. This master key, is the same for all firsts exchanges. After that, a new communication key is generated between individual client and the server. If somebody were to use a packet sniffer on the network, knowing the master key it's possible to get the communication key thus defeating the encryption entirely.

Side note, AES 128 allow this program to run on any implementation of the Java platform. See the Cipher documentation for the complete list of "safe to use" cipher standard.