FudgeC2 (0.0.1)

Download OpenAPI specification:Download

This is the RESTFul API documentation for interaction with the FudgeC2.

User

User configuration, including name/password/email

Get users

Returns a list of users and their user id.

get /user
http://fudge.example.com:5001/api/v1/user
https://fudge.example.com:5001/api/v1/user

a

a

post /user
http://fudge.example.com:5001/api/v1/user
https://fudge.example.com:5001/api/v1/user

a

a

delete /user
http://fudge.example.com:5001/api/v1/user
https://fudge.example.com:5001/api/v1/user

a

a

patch /user
http://fudge.example.com:5001/api/v1/user
https://fudge.example.com:5001/api/v1/user

Settings

global settings

Listeners

configure server listeners

Campaigns

description here

Create new campaign

Create new campaign

header Parameters
Accept-Language
any

example...

post /campaigns
http://fudge.example.com:5001/api/v1/campaigns
https://fudge.example.com:5001/api/v1/campaigns

Request samples

Copy
import requests
body = {
  "name":"Example campaing",
  "description": "Example description"
  }
requests.post(url, body)

Implants

Used for managing and interacting with live implants.

Get all implants

Returns a list of all implant objects from all campaigns

header Parameters
Accept-Language
any

Manage active implants for any given campaign. To find campaign ID's query the /Campaign endpoint

get /implants
http://fudge.example.com:5001/api/v1/implants
https://fudge.example.com:5001/api/v1/implants

Returns detailed implant information.

Returns detailed information about the implants, and it's current status

path Parameters
campaign_id
required
any

The numerical ID of the campaign you're searching

id
required
any

ID of the implant

get /implants/{id}
http://fudge.example.com:5001/api/v1/implants/{id}
https://fudge.example.com:5001/api/v1/implants/{id}

Returns if the user can execute commands on the im

Returns if the user can execute commands on the implant

get /implants/{id}/execute
http://fudge.example.com:5001/api/v1/implants/{id}/execute
https://fudge.example.com:5001/api/v1/implants/{id}/execute

Register a new command to the C2 server.

Register a new command to the C2 server.

post /implants/{id}/execute
http://fudge.example.com:5001/api/v1/implants/{id}/execute
https://fudge.example.com:5001/api/v1/implants/{id}/execute

Gets a paginated list of all commands whihc are re

Gets a paginated list of all commands whihc are registered and awaiting pickup by the command

Responses

200

example response

get /implants/{id}/queued
http://fudge.example.com:5001/api/v1/implants/{id}/queued
https://fudge.example.com:5001/api/v1/implants/{id}/queued

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "campaign_id": 2,
  • "implant_id": 5340,
  • "registration_time": 150000000,
  • "command": "whoami"
}

Get implant responses

Returns a list of all implant result objects

Responses

200

example response

get /implants/{id}/responses
http://fudge.example.com:5001/api/v1/implants/{id}/responses
https://fudge.example.com:5001/api/v1/implants/{id}/responses

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]