Options
All
  • Public
  • Public/Protected
  • All
Menu

Class SliverClient

Hierarchy

  • SliverClient

Index

Constructors

Properties

BEACON_REGISTERED: "beacon-registered" = 'beacon-registered'
BEACON_TASKRESULT: "beacon-taskresult" = 'beacon-taskresult'
_events: null | ClientReadableStream<Empty> = null
_rpc: null | SliverRPCClient = null
_tunnelStream: null | ClientDuplexStream<TunnelData, TunnelData> = null
beacon$: Observable<Event> = ...
client$: Observable<Event> = ...
empty: Empty = ...
event$: Subject<Event> = ...
job$: Observable<Event> = ...
loot$: Observable<Event> = ...
lootEventTypes: string[] = ...
session$: Observable<Event> = ...
taskresult$: Observable<Event> = ...

Accessors

  • get isConnected(): boolean
  • get rpc(): SliverRPCClient
  • get tunnelStream(): ClientDuplexStream<TunnelData, TunnelData>
  • Returns ClientDuplexStream<TunnelData, TunnelData>

Methods

  • beacons(timeout?: number): Promise<undefined | Beacon[]>
  • Parameters

    • timeout: number = TIMEOUT

    Returns Promise<undefined | Beacon[]>

  • canaries(timeout?: number): Promise<undefined | DNSCanary[]>
  • Parameters

    • timeout: number = TIMEOUT

    Returns Promise<undefined | DNSCanary[]>

  • compilerInfo(timeout?: number): Promise<undefined | Compiler>
  • Parameters

    • timeout: number = TIMEOUT

    Returns Promise<undefined | Compiler>

  • deadline(timeout: number): { deadline: number }
  • Parameters

    • timeout: number

    Returns { deadline: number }

    • deadline: number
  • deleteImplantBuild(name: string, timeout?: number): Promise<void>
  • Parameters

    • name: string
    • timeout: number = TIMEOUT

    Returns Promise<void>

  • deleteImplantProfile(name: string, timeout?: number): Promise<void>
  • Parameters

    • name: string
    • timeout: number = TIMEOUT

    Returns Promise<void>

  • disconnect(): Promise<void>
  • generate(config: ImplantConfig, timeout?: number): Promise<undefined | File>
  • Parameters

    • config: ImplantConfig
    • timeout: number = TIMEOUT

    Returns Promise<undefined | File>

  • getOperators(timeout?: number): Promise<undefined | Operator[]>
  • Parameters

    • timeout: number = TIMEOUT

    Returns Promise<undefined | Operator[]>

  • getVersion(timeout?: number): Promise<undefined | Version>
  • Parameters

    • timeout: number = TIMEOUT

    Returns Promise<undefined | Version>

  • implantBuilds(timeout?: number): Promise<undefined | ImplantBuilds>
  • Parameters

    • timeout: number = TIMEOUT

    Returns Promise<undefined | ImplantBuilds>

  • implantProfiles(timeout?: number): Promise<undefined | ImplantProfile[]>
  • Parameters

    • timeout: number = TIMEOUT

    Returns Promise<undefined | ImplantProfile[]>

  • jobs(timeout?: number): Promise<undefined | Job[]>
  • Parameters

    • timeout: number = TIMEOUT

    Returns Promise<undefined | Job[]>

  • killJob(jobId: number, timeout?: number): Promise<undefined | KillJob>
  • Parameters

    • jobId: number
    • timeout: number = TIMEOUT

    Returns Promise<undefined | KillJob>

  • lootAdd(loot: Loot, timeout?: number): Promise<undefined | Loot>
  • Parameters

    • loot: Loot
    • timeout: number = TIMEOUT

    Returns Promise<undefined | Loot>

  • lootAll(timeout?: number): Promise<undefined | Loot[]>
  • Parameters

    • timeout: number = TIMEOUT

    Returns Promise<undefined | Loot[]>

  • lootAllOf(lootType: string, timeout?: number): Promise<undefined | Loot[]>
  • Parameters

    • lootType: string
    • timeout: number = TIMEOUT

    Returns Promise<undefined | Loot[]>

  • lootContent(lootID: string, timeout?: number): Promise<undefined | Loot>
  • Parameters

    • lootID: string
    • timeout: number = TIMEOUT

    Returns Promise<undefined | Loot>

  • lootRemove(lootID: string, timeout?: number): Promise<void>
  • Parameters

    • lootID: string
    • timeout: number = TIMEOUT

    Returns Promise<void>

  • lootUpdate(lootID: string, name: string, timeout?: number): Promise<undefined | Loot>
  • Parameters

    • lootID: string
    • name: string
    • timeout: number = TIMEOUT

    Returns Promise<undefined | Loot>

  • regenerate(name: string, timeout?: number): Promise<undefined | File>
  • Parameters

    • name: string
    • timeout: number = TIMEOUT

    Returns Promise<undefined | File>

  • rpcCredentials(): ChannelCredentials
  • rpcHost(): string
  • saveImplantProfile(profile: ImplantProfile, timeout?: number): Promise<undefined | ImplantProfile>
  • Parameters

    • profile: ImplantProfile
    • timeout: number = TIMEOUT

    Returns Promise<undefined | ImplantProfile>

  • sessions(timeout?: number): Promise<undefined | Session[]>
  • Parameters

    • timeout: number = TIMEOUT

    Returns Promise<undefined | Session[]>

  • startDNSListener(domains: string[], canaries: boolean, host: string, port: number, persistent?: boolean, timeout?: number): Promise<undefined | DNSListener>
  • Parameters

    • domains: string[]
    • canaries: boolean
    • host: string
    • port: number
    • persistent: boolean = false
    • timeout: number = TIMEOUT

    Returns Promise<undefined | DNSListener>

  • startHTTPListener(domain: string, host: string, port: number, website?: string, persistent?: boolean, timeout?: number): Promise<undefined | HTTPListener>
  • Parameters

    • domain: string
    • host: string
    • port: number
    • website: string = ''
    • persistent: boolean = false
    • timeout: number = TIMEOUT

    Returns Promise<undefined | HTTPListener>

  • startHTTPSListener(domain: string, host: string, port: number, acme?: boolean, website?: string, cert?: Buffer, key?: Buffer, persistent?: boolean, timeout?: number): Promise<undefined | HTTPListener>
  • Parameters

    • domain: string
    • host: string
    • port: number
    • acme: boolean = false
    • website: string = ''
    • Optional cert: Buffer
    • Optional key: Buffer
    • persistent: boolean = false
    • timeout: number = TIMEOUT

    Returns Promise<undefined | HTTPListener>

  • startHTTPSStagerListener(host: string, port: number, data: Buffer, timeout?: number): Promise<undefined | StagerListener>
  • Parameters

    • host: string
    • port: number
    • data: Buffer
    • timeout: number = TIMEOUT

    Returns Promise<undefined | StagerListener>

  • startHTTPStagerListener(host: string, port: number, data: Buffer, timeout?: number): Promise<undefined | StagerListener>
  • Parameters

    • host: string
    • port: number
    • data: Buffer
    • timeout: number = TIMEOUT

    Returns Promise<undefined | StagerListener>

  • startMTLSListener(host: string, port: number, persistent?: boolean, timeout?: number): Promise<undefined | MTLSListener>
  • Parameters

    • host: string
    • port: number
    • persistent: boolean = false
    • timeout: number = TIMEOUT

    Returns Promise<undefined | MTLSListener>

  • startTCPStagerListener(host: string, port: number, data: Buffer, timeout?: number): Promise<undefined | StagerListener>
  • Parameters

    • host: string
    • port: number
    • data: Buffer
    • timeout: number = TIMEOUT

    Returns Promise<undefined | StagerListener>

  • startWGListener(port: number, nPort: number, keyPort: number, persistent?: boolean, timeout?: number): Promise<undefined | WGListener>
  • Parameters

    • port: number
    • nPort: number
    • keyPort: number
    • persistent: boolean = false
    • timeout: number = TIMEOUT

    Returns Promise<undefined | WGListener>

  • website(name: string, timeout?: number): Promise<undefined | Website>
  • Parameters

    • name: string
    • timeout: number = TIMEOUT

    Returns Promise<undefined | Website>

  • websiteAddContent(name: string, contents: Map<string, WebContent>, timeout?: number): Promise<undefined | Website>
  • Parameters

    • name: string
    • contents: Map<string, WebContent>
    • timeout: number = TIMEOUT

    Returns Promise<undefined | Website>

  • websiteRemove(name: string, timeout?: number): Promise<void>
  • Parameters

    • name: string
    • timeout: number = TIMEOUT

    Returns Promise<void>

  • websiteRemoveContent(name: string, paths: string[], timeout?: number): Promise<undefined | Website>
  • Parameters

    • name: string
    • paths: string[]
    • timeout: number = TIMEOUT

    Returns Promise<undefined | Website>

  • websiteUpdateContent(name: string, contents: Map<string, WebContent>, timeout?: number): Promise<undefined | Website>
  • Parameters

    • name: string
    • contents: Map<string, WebContent>
    • timeout: number = TIMEOUT

    Returns Promise<undefined | Website>

  • websites(timeout?: number): Promise<undefined | Website[]>
  • Parameters

    • timeout: number = TIMEOUT

    Returns Promise<undefined | Website[]>

Generated using TypeDoc