Thanks for asking about this...
This also works for event artifacts in that the file will end up in the client's folder under the F.Monitoring flow (this is a constant flow id for all client event monitoring artifacts).
The main issue is that while a regular artifact has a definite duration - start and end time, we can store the uploads within that time frame and be able to separate it between different collections. The event artifacts are collected constantly and so if they e.g. upload notepad.exe once a day they all get stored in the same place.
You can see how this works by doing a small experiment - I added a trivial event artifact
```
name: Custom.TestUpload
type: CLIENT_EVENT
sources:
- query: |
SELECT upload(file="C:/Windows/notepad.exe") FROM scope()
```
Then I can find the file
```
SELECT OSPath,
Size
FROM glob(accessor="fs",
root="fs:/clients/C.568be4353e07ad04-O123",
globs="**")
WHERE OSPath =~ "notepad.exe"
```
The file is stored in fs:/clients/C.568be4353e07ad04-O123/collections/F.Monitoring/uploads/auto/C:/Windows/notepad.exe
We dont have a GUI for fetching the file right now and i dont think the uploads() plugin works either (perhaps it should?) but the file is actually stored on the server. You can create a download using VQL though and fetch it with the browser:
The URL will be
The location of the uploads is probably going to change in future because it is currently shared by all client monitoring artifacts.
Anyway that is why the issue above exists because this is not currently that used and the GUI is not yet polished around it.
Thanks
Mike
| Mike Cohen Digital Paleontologist, Velocidex Enterprises |
| | | | |
|
|