Skip to content
Jared Atkinson edited this page Aug 5, 2017 · 12 revisions

Computer

Computer objects represent systems that may be targeted by ACE Sweeps. Computers must be "discovered" and thus cannot be added directly. The Computer Controller allows for the enumeration of discovered computers individually and as a whole.

GET ace/computer

List computers that have been enumerated by an ACE discovery.

Example: Get-AceComputer

GET ace/computer/{id}

Return a specific computer, specified by unique identifier, that has been enumerated by an ACE discovery.

Example: Get-AceComputer

Credential

Credential objects are usernames and passwords to be used by ACE for authenticating with systems that are targeted by a sweep. Passwords are encrypted at rest and only decrypted in memory when used to authenticate.

GET ace/credential/delete/{id}

Delete a credential from the ACE database.

GET ace/credential

List credentials in the ACE database.

POST ace/credential

Add a credential to the ACE database. Added credentials must be passed in the following format:

public class CredentialViewModel
{
    [Required]
    public string UserName { get; set; }
    [Required]
    public string Password { get; set; }
}

PUT ace/credential/{id}

Update a credential in the ACE database. The specific credential to update must be specified by it's unique identifier. The credential object must be passed in the following format:

public class CredentialViewModel
{
    [Required]
    public string UserName { get; set; }
    [Required]
    public string Password { get; set; }
}

Discover

POST ace/discover/domain

public class DiscoveryActiveDirectoryViewModel
{
    [Required]
    public string Domain { get; set; }
    [Required]
    public Guid CredentialId { get; set; }
}

POST ace/discover/computerlist

public class DiscoveryComputerListViewModel
{
    [Required]
    public string[] ComputerName { get; set; }
    [Required]
    public Guid CredentialId { get; set; }
}

Result

POST ace/result/{scanId}

public class SweepResultViewModel
{
    [Required]
    public string ComputerName { get; set; }

    [Required]
    public string ScanType { get; set; }

    [Required]
    public string RoutingKey { get; set; }

    [Required]
    public string ResultDate { get; set; }

    [Required]
    public string ScanId { get; set; }

    [Required]
    public string[] Data { get; set; }
}

Script

GET ace/script/delete/{id}

GET ace/script

POST ace/script

public class FileViewModel
{
    [Required]
    public string Name { get; set; }
    [Required]
    public byte[] Content { get; set; }
    [Required]
    public string[] Enrichment { get; set; }
    [Required]
    public string Output { get; set; }
    [Required]
    public string Language { get; set; }
}

Sweep

GET ace/sweep

GET ace/sweep/{id}

POST ace/sweep

public class SweepExecutionViewModel
{
    [Required]
    public Guid[] ComputerId { get; set; }

    [Required]
    public Guid ScriptId { get; set; }

    [Required]
    public string Uri { get; set; }
}

Users

GET ace/user/delete/{id}

GET ace/user

POST ace/user

public class UserViewModel
{
    [Required]
    public string UserName { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public bool IsAdmin { get; set; }
}

PUT ace/user/{id}

public class UserViewModel
{
    [Required]
    public string UserName { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public bool IsAdmin { get; set; }
}
Clone this wiki locally