Giter VIP home page Giter VIP logo

socketsquirrel's Introduction

socketsquirrel

Python script made with Paramiko to SSH multiple endpoint and execute commands, upload and download files. Designed for lazy professionals in a hurry to escape client location to catch few coldones.

     _____            _        _    _____             _               _
    / ____|          | |      | |  / ____|           (_)             | |
   | (___   ___   ___| | _____| |_| (___   __ _ _   _ _ _ __ _ __ ___| |
    \___ \ / _ \ / __| |/ / _ \ __|\___ \ / _` | | | | | '__| '__/ _ \ |
    ____) | (_) | (__|   <  __/ |_ ____) | (_| | |_| | | |  | | |  __/ |
   |_____/ \___/ \___|_|\_\___|\__|_____/ \__, |\__,_|_|_|  |_|  \___|_|
    _________________________________________| |________________________
    +++++++++++++++++++++++++++++++++++++++++|_|++++++++++++++++++++++++
    ©2023 masterofbrainstorming

             Tool to help loop multiple SSH endpoints with ease.
                Created for the breed of lazy auditors
                    Access, Upload, Dowload, Execute.
                            Version: 1.0

Installation

The script will require pandas, paramiko, argparse and flask in addition to python standard libraries. Script is written using python3.9.

pip install -r requirements.txt

Commanline arguments

positional arguments:
  {ssh,scp}             The command to execute (ssh or scp)

optional arguments:
  -h, --help            show this help message and exit
  -d HOST [HOST ...], --destination HOST [HOST ...]
                        Destination IP address or hostname
  -H [HOSTS], --hosts [HOSTS]
                        File containing IP:port separated by newline, if the port value is missing, default 22
  -p [PORT], --port [PORT]
                        Will overwrite SSH port, default 22
  -u [USERNAME], --user [USERNAME]
                        SSH username
  --password [PASSWORD]
                        SSH password
  --rsa [RSA]           File location for RSA private key
  --enc                 Add only if the private key requires a password
  -e [EXECUTE ...], --execute [EXECUTE ...]
                        Owerwrite command to be executed
  -S, --sudo            Execute command with sudo
  --up, --upload        Files to be uploaded to hosts
  --dl, --download      Files to be downloaded from hosts
  -f FILES [FILES ...], --files FILES [FILES ...]
                        Files to be downloaded from hosts
  -l [LOCATION], --location [LOCATION]
                        Files to be uploaded or downloaded from hosts
  -T [TIMEOUT], --timeout [TIMEOUT]
                        Timeout for the connection. Default is 1s
  -t [THREADS], --threads [THREADS]
                        Thread pool count for ssh client, default is 8
  -L, --log             Enable log file, default False
  -w, --web             Enable webUI, default False

Usage:

The script will require certain parameters in order to work. You must specify:

  • positional argument (current implementation has only ssh and scp implentation)
  • host or hostfile (go to examples/examples.csv)
  • port (either supplied in hostfile or as cmd argument)
  • password (either prompted or supplied via cmd) or private key (file destination)

Optional arguments

  -S, --sudo            Execute command with sudo
  -T [TIMEOUT], --timeout [TIMEOUT]
                        Timeout for the connection. Default is 1s
  -t [THREADS], --threads [THREADS]
                        Thread pool count for ssh client, default is 8
  -L, --log             Enable log file, default False
  -w, --web             Enable webUI, default False

SSH

Using username, password and port:

socketsquirrel.py ssh -d <ip> <ip2> <ip3> -p 2222 -u example --password mypassword
[+] parsing cmd arguments
 -> parsing options
[!] port override: 2222
[+] ssh
 -> targets: [<ip>, <ip2>, <ip3>]
 -> ports: [22, 22]
 -> username: example
 -> password: mypassword
 -> private key: None
 --> encrypted: None
 -> sudo: None
 -> command: pwd
 -> timeout: 1
 -> threads: 8
 -> webui: None

Using rsa without passphrase:

socketsquirrel.py ssh -d <ip> <ip2> <ip3> -p 22 -u example --rsa

Using rsa with passphrase:

socketsquirrel.py ssh -d <ip> <ip2> <ip3> -p 22 -u example --rsa --enc

Using commands:

socketsquirrel.py ssh -d <ip> <ip2> <ip3> -p 22 -u example --password mypassword -e 'cat /etc/passwd | grep $(whoami)'

Using commands with sudo:

socketsquirrel.py ssh -d <ip> <ip2> <ip3> -p 22 -u example --password mypassword -e 'whoami' -S

Using webui to display results:

socketsquirrel.py ssh -d <ip> <ip2> <ip3> -p 22 -u example --password mypassword -e 'whoami' -S -w

Using hosts file:

socketsquirrel.py ssh -H examples/example.csv -u example --password mypassword

SCP

Uploading files to location /tmp:

socketsquirrel.py scp -d <ip> <ip2> <ip3> -u example --password mypassword -p 22 -f file.txt --up -l '/tmp'

Downloading files from location /tmp:

socketsquirrel.py scp -d <ip> <ip2> <ip3> -u example --password mypassword -p 22 -f file.txt --dl -l '/tmp'

WebUI

Made with flask. The webserver will start listening on localhost:5000 and display results image

socketsquirrel's People

Contributors

masterofbrainstorming avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.