An open API service indexing awesome lists of open source software.

https://github.com/hazcod/totalrecall

A Go SDK and commandline utility to abuse the latest Windows Copilot+ Recall feature.
https://github.com/hazcod/totalrecall

copilot dfir go recall

Last synced: about 1 year ago
JSON representation

A Go SDK and commandline utility to abuse the latest Windows Copilot+ Recall feature.

Awesome Lists containing this project

README

          

# totalrecall-go

A Go SDK and commandline utility to abuse the latest Windows Copilot+ Recall feature.

This was inspired by [Kevin Beaumonts excellent blog article](https://doublepulsar.com/recall-stealing-everything-youve-ever-typed-or-viewed-on-your-own-windows-pc-is-now-possible-da3e12e9465e).

This will extract any Recall extracts which contains the following information:
- Timestamp of the extract
- Window title
- Window token
- Screenshot contents
- Web traffic information (domain, URL)

This does not need SYSTEM privileges on Windows, as it's just reading data in %APPDATA%.
Current user privileges are sufficient, however the SDK supports other user accounts if you are indeed SYSTEM.

## Usage

Either use the CLI utility:

```shell
./totalrecall -log=info
```

Or use the SDK:
```go
package main

import (
"log"
"os"
recallPkg "github.com/hazcod/totalrecall/pkg/recall"
)

func main() {
recall, err := recallPkg.New(nil) // or set a Logrus.Logger
if err != nil { log.Fatal(err) }

// find any OCRd images
extracts, err := recallPkg.ExtractImagesForCurrentUser()
if err != nil {
log.Printf("could not extract Recall Images: %w", err)
os.Exit(1)
}

for i, extract := range extracts {
log.Printf("%d - %s - %s - %s", i+1, extract.Timestamp, extract.WindowTitle, extract.WindowToken)
}
}
```

## Documentation

See the autogenerated SDK documentation in [docs.md](./docs.md).

## Device setup

First make sure you have a Windows 11 CoPilot+ device on ARM64 or enable it using [Amperage](https://github.com/thebookisclosed/AmperageKit).

Ensure your Windows build is at least 2600+. (e.g. Insider Build) so it has Recall.
For example, I had to switch to the Insiders Dev Channel to make it work on my Windows 11 VM on macOS (Apple Silicon).