Class OastInteraction

Namespace
Kuestenlogik.Bowire.Oast
Assembly
Kuestenlogik.Bowire.Oast.dll

One out-of-band callback the interaction server observed — the proof that a target reached out to a host we planted in a probe. Field names mirror the interactsh server's interaction JSON verbatim so the payload deserialises without a translation layer.

public sealed record OastInteraction : IEquatable<OastInteraction>
Inheritance
OastInteraction
Implements
Inherited Members

Constructors

OastInteraction()

public OastInteraction()

Properties

FullId

The full callback host that was contacted (correlation id + nonce + domain).

[JsonPropertyName("full-id")]
public string? FullId { get; init; }

Property Value

string

Protocol

Transport the callback arrived on: dns, http, smtp, ldap, …

[JsonPropertyName("protocol")]
public string Protocol { get; init; }

Property Value

string

QType

DNS query type (A, AAAA, TXT, …) when Protocol is dns.

[JsonPropertyName("q-type")]
public string? QType { get; init; }

Property Value

string

RawRequest

The raw request as the catcher saw it — quoted into the finding as evidence.

[JsonPropertyName("raw-request")]
public string? RawRequest { get; init; }

Property Value

string

RemoteAddress

IP the callback came from — usually the target itself, which is the finding's evidence.

[JsonPropertyName("remote-address")]
public string? RemoteAddress { get; init; }

Property Value

string

Timestamp

Server-side timestamp of the interaction.

[JsonPropertyName("timestamp")]
public DateTimeOffset Timestamp { get; init; }

Property Value

DateTimeOffset

UniqueId

The correlation id slice — ties the callback back to the probe that planted it.

[JsonPropertyName("unique-id")]
public string? UniqueId { get; init; }

Property Value

string

Methods

Equals(OastInteraction?)

public bool Equals(OastInteraction? other)

Parameters

other OastInteraction

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToString()

public override string ToString()

Returns

string

Operators

operator ==(OastInteraction?, OastInteraction?)

public static bool operator ==(OastInteraction? left, OastInteraction? right)

Parameters

left OastInteraction
right OastInteraction

Returns

bool

operator !=(OastInteraction?, OastInteraction?)

public static bool operator !=(OastInteraction? left, OastInteraction? right)

Parameters

left OastInteraction
right OastInteraction

Returns

bool