import { AttackTechnique } from '../ioc/types'; import { CampaignThreatActor, CampaignThreatFamily, CampaignVictims, CampaignIndicatorsStatistics } from '../apt/types'; /** * File hash information */ export interface TotalFileHash { sha256: string; md5: string; sha1: string; } /** * IoC Intelligence section of Total File Report */ export interface TotalFileIoCInfo { firstSeen: string; lastSeen: string; hash: TotalFileHash; fileSize: number; fileType: string; tags: string[]; detect: string; fileNames: string[]; ssdeep?: string; cve: string[]; threatTypes: string[]; attackTechniques: AttackTechnique[]; } /** * APT campaign summary for Total File Report */ export interface TotalFileCampaignSummary { ctxId: string; tags: string[]; timestamp: string; discovered: string; } /** * Threat actor with campaigns for Total File Report */ export interface TotalFileThreatActor { name: string; aliases: string[]; countryCode: string; campaigns: TotalFileCampaignSummary[]; } /** * APT statistics for Total File Report */ export interface TotalFileAPTStatistics { threatActors: number; campaigns: number; } /** * Indicator file in campaign */ export interface TotalFileCampaignIndicatorFile { sha256: string; md5: string; sha1: string; fileType: string; fileSize: number; fileName: string; } /** * Indicator IP in campaign */ export interface TotalFileCampaignIndicatorIP { ip: string; countryCode: string; asn: string; asnOrganization: string; } /** * Indicator domain in campaign */ export interface TotalFileCampaignIndicatorDomain { domain: string; countryCode: string; asn: string; asnOrganization: string; } /** * Indicator URL in campaign */ export interface TotalFileCampaignIndicatorURL { url: string; countryCode: string; asn: string; asnOrganization: string; } /** * Detailed indicators for a campaign */ export interface TotalFileCampaignDetailedIndicators { statistics: CampaignIndicatorsStatistics; files: TotalFileCampaignIndicatorFile[]; ips: TotalFileCampaignIndicatorIP[]; domains: TotalFileCampaignIndicatorDomain[]; urls: TotalFileCampaignIndicatorURL[]; } /** * Full campaign detail in Total File Report */ export interface TotalFileCampaignDetail { ctxId: string; threatActors: CampaignThreatActor[]; threatFamilies: CampaignThreatFamily[]; timestamp: string; discovered: string; tags: string[]; victims: CampaignVictims; indicators: TotalFileCampaignDetailedIndicators; } /** * APT Intelligence section of Total File Report */ export interface TotalFileAPTInfo { threatActors: TotalFileThreatActor[]; statistics: TotalFileAPTStatistics; campaigns: TotalFileCampaignDetail[]; } /** * Total File Report Result * Combines IoC Intelligence and APT Intelligence for a file hash */ export interface TotalFileReportResult { /** IoC Intelligence data */ ioc: TotalFileIoCInfo; /** APT Intelligence data */ apt: TotalFileAPTInfo; } /** * Associated file from IP relation */ export interface TotalIPRelatedFile { hash: { sha256: string; md5: string; sha1: string; }; fileSize: number; fileType: string; detect: string; } /** * IoC relation data for IP */ export interface TotalIPIoCRelation { communicatingFiles: TotalIPRelatedFile[]; downloadedFiles: TotalIPRelatedFile[]; } /** * APT IoC indicator lists */ export interface TotalIPAPTIoCIndicator { files: string[]; domains: string[]; ips: string[]; urls: string[]; } /** * IoC Intelligence section of Total IP Report */ export interface TotalIPIoCInfo { firstSeen: string; lastSeen: string; ipv4: string; detect: string; countryCode: string; countryName: string; whois: string; reverseDns: string[]; urls: string[]; iocRelation: TotalIPIoCRelation; } /** * Campaign indicator file (detailed) */ export interface TotalIPCampaignIndicatorFile { hash: { sha256: string; md5: string; sha1: string; }; fileSize: number; fileType: string; tags: string[]; detect: string; firstSeen: string; lastSeen: string; threatTypes: string[]; } /** * Campaign indicator IP (detailed) */ export interface TotalIPCampaignIndicatorIP { ipv4: string; firstSeen: string; lastSeen: string; countryCode: string; detect: string; } /** * Campaign indicator domain (detailed) */ export interface TotalIPCampaignIndicatorDomain { domain: string; firstSeen: string; lastSeen: string; detect: string; } /** * Campaign indicator URL (detailed) */ export interface TotalIPCampaignIndicatorURL { url: string; firstSeen: string; lastSeen: string; } /** * Detailed indicators for IP campaign */ export interface TotalIPCampaignDetailedIndicators { statistics: CampaignIndicatorsStatistics; files: TotalIPCampaignIndicatorFile[]; ips: TotalIPCampaignIndicatorIP[]; domains: TotalIPCampaignIndicatorDomain[]; urls: TotalIPCampaignIndicatorURL[]; } /** * Full campaign detail in Total IP Report */ export interface TotalIPCampaignDetail { ctxId: string; threatActors: CampaignThreatActor[]; threatFamilies: CampaignThreatFamily[]; timestamp: string; discovered: string; tags: string[]; victims: CampaignVictims; indicators: TotalIPCampaignDetailedIndicators; } /** * Threat actor with campaigns for Total IP Report */ export interface TotalIPThreatActorWithCampaigns { name: string; aliases: string[]; countryCode: string; campaigns: TotalIPCampaignDetail[]; } /** * APT statistics for Total IP Report */ export interface TotalIPAPTStatistics { campaignCount: number; threatActorCount: number; files: number; ips: number; domains: number; urls: number; campaignCountTotal: number; } /** * APT Intelligence section of Total IP Report */ export interface TotalIPAPTInfo { iocIndicator: TotalIPAPTIoCIndicator; threatActors: TotalIPThreatActorWithCampaigns[]; statistics: TotalIPAPTStatistics; campaigns: TotalIPCampaignDetail[]; } /** * Total IP Report Result * Combines IoC Intelligence and APT Intelligence for an IP address */ export interface TotalIPReportResult { /** IoC Intelligence data */ ioc: TotalIPIoCInfo; /** APT Intelligence data */ apt: TotalIPAPTInfo; } /** * Resolved IP from domain relation */ export interface TotalDomainResolvedIP { ipv4: string; firstSeen: string; lastSeen: string; countryCode: string; detect: string; } /** * IoC relation data for Domain */ export interface TotalDomainIoCRelation { communicatingFiles: TotalIPRelatedFile[]; downloadedFiles: TotalIPRelatedFile[]; resolvedIPs: TotalDomainResolvedIP[]; } /** * IoC Intelligence section of Total Domain Report */ export interface TotalDomainIoCInfo { firstSeen: string; lastSeen: string; domain: string; detect: string; whois: string; hostIps: string[]; urls: string[]; iocRelation: TotalDomainIoCRelation; } /** * APT Intelligence section of Total Domain Report * Reuses IP types as they share the same structure */ export interface TotalDomainAPTInfo { iocIndicator: TotalIPAPTIoCIndicator; threatActors: TotalIPThreatActorWithCampaigns[]; statistics: TotalIPAPTStatistics; associatedCampaignLink: string; campaigns: TotalIPCampaignDetail[]; } /** * Total Domain Report Result * Combines IoC Intelligence and APT Intelligence for a domain */ export interface TotalDomainReportResult { /** IoC Intelligence data */ ioc: TotalDomainIoCInfo; /** APT Intelligence data */ apt: TotalDomainAPTInfo; } //# sourceMappingURL=types.d.ts.map