Documentation ¶
Overview ¶
Package storage implements a encrypted storage mechanism for interactsh external interaction data.
Index ¶
- type CacheMetrics
- type CorrelationData
- type Storage
- func (s *Storage) AddInteraction(correlationID string, data []byte) error
- func (s *Storage) AddInteractionWithId(id string, data []byte) error
- func (s *Storage) GetCacheItem(token string) (*CorrelationData, error)
- func (s *Storage) GetCacheMetrics() *CacheMetrics
- func (s *Storage) GetInteractions(correlationID, secret string) ([]string, string, error)
- func (s *Storage) GetInteractionsWithId(id string) ([]string, error)
- func (s *Storage) RemoveID(correlationID, secret string) error
- func (s *Storage) SetID(ID string) error
- func (s *Storage) SetIDPublicKey(correlationID, secretKey string, publicKey string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CacheMetrics ¶
type CorrelationData ¶
type CorrelationData struct { // data contains data for a correlation-id in AES encrypted json format. Data []string `json:"data"` // AESKey is the AES encryption key in encrypted format. AESKey string `json:"aes-key"` // contains filtered or unexported fields }
CorrelationData is the data for a correlation-id.
func (*CorrelationData) GetInteractions ¶
func (c *CorrelationData) GetInteractions() []string
GetInteractions returns the uncompressed interactions for a correlation-id
type Storage ¶
type Storage struct {
// contains filtered or unexported fields
}
Storage is an storage for interactsh interaction data as well as correlation-id -> rsa-public-key data.
func (*Storage) AddInteraction ¶
AddInteraction adds an interaction data to the correlation ID after encrypting it with Public Key for the provided correlation ID.
func (*Storage) AddInteractionWithId ¶
AddInteractionWithId adds an interaction data to the id bucket
func (*Storage) GetCacheItem ¶
func (s *Storage) GetCacheItem(token string) (*CorrelationData, error)
GetCacheItem returns an item as is
func (*Storage) GetCacheMetrics ¶
func (s *Storage) GetCacheMetrics() *CacheMetrics
func (*Storage) GetInteractions ¶
GetInteractions returns the interactions for a correlationID and removes it from the storage. It also returns AES Encrypted Key for the IDs.
func (*Storage) GetInteractionsWithId ¶
GetInteractions returns the interactions for a id and empty the cache