{"id":13775845,"url":"https://github.com/lukebaggett/google_socks","last_synced_at":"2025-05-11T08:34:14.503Z","repository":{"id":88538613,"uuid":"66295298","full_name":"lukebaggett/google_socks","owner":"lukebaggett","description":"A proof of concept demonstrating the use of Google Drive for command and control.","archived":true,"fork":false,"pushed_at":"2018-07-19T19:54:07.000Z","size":10,"stargazers_count":82,"open_issues_count":0,"forks_count":27,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-04-24T12:17:54.212Z","etag":null,"topics":["google-api","google-drive","penetration-testing","python","security"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lukebaggett.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-08-22T17:52:46.000Z","updated_at":"2024-01-29T09:26:38.000Z","dependencies_parsed_at":"2024-01-07T22:47:09.982Z","dependency_job_id":"e7ee9c46-87ed-4a8e-b6a0-1f146ba3ab82","html_url":"https://github.com/lukebaggett/google_socks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukebaggett%2Fgoogle_socks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukebaggett%2Fgoogle_socks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukebaggett%2Fgoogle_socks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukebaggett%2Fgoogle_socks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukebaggett","download_url":"https://codeload.github.com/lukebaggett/google_socks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":213833331,"owners_count":15645040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["google-api","google-drive","penetration-testing","python","security"],"created_at":"2024-08-03T17:01:52.299Z","updated_at":"2024-08-03T17:10:58.155Z","avatar_url":"https://github.com/lukebaggett.png","language":"Python","funding_links":[],"categories":["\u003ca id=\"d03d494700077f6a65092985c06bf8e8\"\u003e\u003c/a\u003e工具","\u003ca id=\"1e53961ca8fc592a588e18a5f1519078\"\u003e\u003c/a\u003e其他"],"sub_categories":["\u003ca id=\"57b8e953d394bbed52df2a6976d98dfa\"\u003e\u003c/a\u003eSocks","\u003ca id=\"77cdae7f8911e93ff055f270ef9bf562\"\u003e\u003c/a\u003e工具"],"readme":"This script is used to allow two sockets to communicate while relaying data through Google Drive.\n\nCheck out this [blog post](http://www.blackhillsinfosec.com/?p=5230) for more details.\n\n### Setup Process\n\n* Install needed python modules (see below)\n* Run \"python2 ./google_socks.py --setup\" and follow the instructions\n  * [Create a Google API Project](https://console.developers.google.com/projectcreate)\n  * [Create OAuth client ID credentials for the project](https://console.developers.google.com/apis/credentials)\n  * [Download the JSON for those credentials](https://console.developers.google.com/apis/credentials)\n  * Move the credentials file to the google_socks directory and name it \"client_secrets.json\"\n  * Next, the setup script will give you a Google link and ask for a secret\n  * Follow the link, authorize the script to use the API, and receive the secret\n  * Paste the secret back into the setup script's prompt\n  * [Copy the provided python code into the google_socks.py file below \"# PASTE NEW CREDENTIALS HERE\"](https://github.com/lukebaggett/google_socks/blob/master/google_socks.py#L28)\n  * [Enable the Google Drive API](https://console.developers.google.com/apis/api/drive.googleapis.com/overview)\n  * All done!\n* Read the help information here: \"python ./google_socks.py -h\"\n\n### Needed Python Modules\n    pip2 install google-auth google-auth-oauthlib google-auth-httplib2 python-dateutil google-api-python-client\n\n### Help\n    Usage: google_socks.py [options]\n    \n    Options:\n      -h, --help  show this help message and exit\n      --setup     Setup script with Drive App\n      -c CREDS    Index of creds in credentials array to use (default: 0)\n      -d          Delete files with names provided to -s and -r\n      -l          Enable Socket Mode: Listener\n      -i IP       Enable Socket Mode: Connect\n      -p PORT     Port number for socket mode (default: 8000)\n      -s SEND     Sending channel (default: 0)\n      -r RECV     Receiving channel (default: 1)\n      -P POLL     Poll every x seconds (default: 0)\n      -j JITTER   Amount of randomness in polling (default: 1.0)\n      -v          Enable verbose output\n      --debug     Enable debug output\n\n### Performance Tip\nIf you need to send data as fast as possible, set no polling (-P 0) or jitter (-j 0). If you get an error from going over the API rate limit, try raising your polling time little by little until you find a sweetspot. I found .2 seconds worked well.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukebaggett%2Fgoogle_socks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukebaggett%2Fgoogle_socks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukebaggett%2Fgoogle_socks/lists"}