Linux Python / XBEL Recently Opened Files Check
Author | Issac Briones (1d8) |
Platform | Linux |
Language | Python |
Technique | XBEL Recently Opened Files Check |
Code
import xml.etree.ElementTree as ET
import os.path
XMLFile = os.path.expanduser("~/.local/share/recently-used.xbel")
# Threshold is how many recently accessed files to look for to differentiate between sandbox/VM & real user
# If the recently accessed count is lower than the threshold, it's assumed to be a sandbox/VM
threshold = 10
# Parse XML file & extract filenames & the respective application name that was used to open/view file
def extractElements(XMLFile):
tree = ET.parse(XMLFile)
root = tree.getroot()
appFile = []
for item in root.findall("./bookmark"):
filePath = item.get("href")
applicationHandle = item.find(".//{*}application")
applicationName = applicationHandle.get("name")
appFile.append(f"{applicationName}:{filePath}")
return appFile
if __name__ == "__main__":
elements = extractElements(XMLFile)
if len(elements) < threshold:
print(f"[!] Recently accessed file count is lower than set threshold! Possible sandbox/VM (file count: threshold): {len(elements)}:{threshold}")
else:
print(f"[+] Recently accessed file count is higher than set threshold. Possibly an active user (file count: threshold): {len(elements)}:{threshold}")
Created
January 6, 2025
Last Revised
January 6, 2025