//Grindle 1 Forensics
>Challenge Information
Category: Forensics
Challenge Name: Grindle 1
Difficulty: Medium
Description:
Grindle got me, can you help?
find the file that he stole
flag: nexus{filename}
if there is spaces replace them with underscores, and all letters should be in lowercase
max attempts is 7
filename includes extensions
there is a second part when you solve this
Flag Format: nexus{}
>Initial Reconnaissance
We're provided with a file called grindle.tar.gz. Let's start by examining what we have:
ls -lh
-rw-r--r-- 1 user user 139M Dec 12 14:31 grindle.tar.gz
-rw-r--r-- 1 user user 25 Dec 12 14:31 grindle.tar.gz:Zone.Identifier
The file is approximately 139MB, which suggests it contains a filesystem dump or disk image. Let's extract it:
tar -xzf grindle.tar.gz
After extraction, we get a directory structure starting with C/, indicating this is a Windows filesystem dump:
ls -la
drwxr-xr-x 5 user user 4096 Nov 14 11:09 C
>Understanding the Challenge
The challenge asks us to find a file that "Grindle stole." In forensics terms, this likely means:
-
A file that was deleted
-
A file that existed before but is now missing
-
We need to find evidence of this file's existence
In Windows forensics, we have several artifacts that can help us:
-
USN Journal (
$Extend/$J) - Tracks all filesystem changes -
Recent Files - Windows shortcuts (
.lnkfiles) to recently accessed files -
Jump Lists - Recently opened files in applications
-
Recycle Bin - Deleted files (if not permanently deleted)
>Analysis Phase
Step 1: Examining Recent Files
Windows keeps track of recently accessed files through shortcut (.lnk) files. Let's check them:
cd C/Users/person/AppData/Roaming/Microsoft/Windows/Recent
ls -la
We find multiple .lnk files pointing to various documents:
-
passwords (16).lnk -
passwords (21).lnk -
passwords (37).lnk -
secrets (11).lnk -
secrets (41).lnk -
secrets.txt.lnk -
note (14).lnk -
note (17).xlsx.lnk -
notes (09).lnk -
notes (49).lnk -
And more...
Step 2: Installing Forensics Tools
To parse Windows .lnk files properly, we need specialized tools. Let's install liblnk-utils:
sudo apt-get update
sudo apt-get install -y liblnk-utils
This package provides lnkinfo, which can parse Windows shortcut files.
Step 3: Parsing .lnk Files
Now let's extract information from these shortcut files:
for file in *.lnk; do
echo "=== $file ==="
lnkinfo "$file" 2>/dev/null | grep -E "(Local path|Description|Working directory)"
done
This reveals that files were accessed from locations like:
-
C:\Users\lazex\Pictures\ -
C:\Users\lazex\Documents\ -
C:\Users\lazex\Downloads\ -
C:\Users\lazex\Desktop\
Interesting observation: The original user was "lazex", but the current filesystem shows "person" - this might indicate data was copied or the account was renamed.
Step 4: Analyzing the USN Journal
The USN Journal ($Extend/$J) is the most powerful artifact for tracking file changes. It records:
-
File creation
-
File deletion
-
File modification
-
File renames
Let's examine it:
cd C/$Extend
ls -lah
-rwxr-xr-x 1 user user 39M Oct 19 13:35 '$J'
The journal is 39MB - plenty of data to analyze! Let's extract filenames from it using strings:
strings -e l '$J' | grep -E "(passwords|secrets|notes?|document) \([0-9]+\)\.(txt|pdf|jpg|png|docx|xlsx)" | sort -u
Output (excerpt):
secrets (01).pdf
secrets (03).txt
secrets (11).pdf
secrets (26).jpg
secrets (28).png
passwords (02).jpg
passwords (13).pdf
passwords (16).png
passwords (21).jpg
note (14).txt
note (17).xlsx
notes (09).docx
notes (15).pdf ← This one is interesting!
notes (49).jpg
document (04).xlsx
...and many more
Step 5: Comparing Journal vs Actual Files
Now comes the crucial part - we need to find files that appear in the journal but don't exist in the current filesystem. This will reveal deleted files!
First, let's extract all filenames from the journal:
cd /home/noigel/CTF/next_hunt/Forensics/Grindle1/C/$Extend
strings -e l '$J' | grep -oE "(passwords|secrets|notes?|document) \([0-9]+\)\.(txt|pdf|jpg|png|docx|xlsx)" | sort -u > /tmp/journal_files.txt
Next, let's get all files that currently exist:
cd /home/noigel/CTF/next_hunt/Forensics/Grindle1/C
find Users/person -type f | grep -oE "(passwords|secrets|notes?|document) \([0-9]+\)\.(txt|pdf|jpg|png|docx|xlsx)" | sort -u > /tmp/existing_files.txt
Now let's compare them to find what's missing:
comm -23 /tmp/journal_files.txt /tmp/existing_files.txt
Result:
notes (15).pdf
🎯 Bingo! We found it!
Step 6: Verification
Let's verify that notes (15).pdf truly doesn't exist in the filesystem:
find Users/person -name "notes (15).pdf" 2>/dev/null
No output - the file is confirmed missing!
>Solution
The file that Grindle stole is: notes (15).pdf
According to the challenge rules:
-
Replace spaces with underscores:
notes_(15).pdf -
All letters should be lowercase:
notes_(15).pdf(already lowercase) -
Include the extension: ✓
Flag: nexus{notes_(15).pdf}
>Key Takeaways
-
USN Journal is powerful - The
$Extend/$Jfile is crucial for Windows forensics as it tracks all filesystem changes -
Compare artifacts - By comparing what was recorded in the journal vs what currently exists, we can identify deleted files
-
Multiple artifacts tell a story - Recent files, jump lists, and journals all provided pieces of the puzzle
-
Tool knowledge is essential - Understanding tools like
strings,lnkinfo, andcommmade the analysis efficient
>Tools Used
-
tar- Extract the archive -
liblnk-utils(lnkinfo) - Parse Windows.lnkshortcut files -
strings- Extract readable strings from binary files -
grep- Pattern matching and filtering -
find- Search for files in the filesystem -
comm- Compare sorted files line by line -
sort- Sort output for comparison
>Timeline of Events (Reconstructed)
Based on the forensics artifacts:
-
User "lazex" had a file called
notes (15).pdfon their system -
The file was accessed/created and recorded in the USN journal
-
Grindle (attacker) accessed the system
-
The file
notes (15).pdfwas deleted/stolen -
The journal still contains evidence of the file's existence
-
The challenge asks us to identify this missing file
>Conclusion
This challenge demonstrates the importance of filesystem artifacts in forensics investigations. Even when files are deleted, traces remain in system logs and journals. By methodically analyzing the USN journal and comparing it against the current filesystem state, we successfully identified the stolen file.
Final Answer: nexus{notes_(15).pdf}
Challenge completed on December 12, 2025