CCCPaste

Use Socat for encrypted network traffic and shell

#generate keys for server
#most questions can be skipped but "Common Name" must be ip or domain of machine
openssl genrsa -out server.key 2048
openssl req -new -key server.key -x509 -days 3653 -out server.crt
cat server.key server.crt > server.pem
chmod 600 server.key server.pem
#start Server
socat OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=server.pem,cafile=client.pem -


#generate keys for client
#most questions can be skipped but "Common Name" must be ip or domain of machine
openssl genrsa -out client.key 2048
openssl req -new -key client.key -x509 -days 3653 -out client.crt
cat client.key client.crt > client.pem
chmod 600 client.key client.pem
#start Client
socat OPENSSL::4443,verify=0,cert=client.pem,cafile=server.pem -

#note that the 'fork' option on the server keeps it running after disconnect 
#and allows more than one connection at a time

#get server date and time 
#Start Server
socat OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=server.pem,cafile=client.pem exec:'/bin/date'
#start client
socat OPENSSL::4443,verify=0,cert=client.pem,cafile=server.pem -

#set a remote shell
#Start Server
socat OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=server.pem,cafile=client.pem exec:'/bin/bash'
#start Client
socat OPENSSL::4443,verify=0,cert=client.pem,cafile=server.pem -

#get mouse poition
#STart Server
socat OPENSSL-LISTEN:4443,reuseaddr,pf=ip4,fork,cert=server.pem,cafile=client.pem -|grep 'root:'
#Start client
xev|socat OPENSSL::4443,verify=0,cert=client.pem,cafile=server.pem -