AKASEC2024 - Portugal

I accidentally left my computer unlocked at the coffee shop while I stepped away. I’m sure that someone took advantage of the opportunity and was searching for something.

Author : d33znu75

Attachment : memdump1.mem

Introduction

First, we have the information that someone stepped away from his computer and somebody took advantage of it. We also have a memory dump and the interesting word “searching” for something, and not looking for something. That will matter later, you’ll see :)

bash

strings memdump1.mem | grep -i powershell

that’s definitively noisy af

That’s really noisy and I don’t want to lose time on it, let’s continue

Let’s start with basic recon :

bash

/opt/volatility3/vol.py -f memdump1.mem windows.info

We can see it’s a Windows, but we already knew with strings

bash

/opt/volatility3/vol.py -f memdump1.mem windows.pslist

Everything looks pretty normal except chrome.exe

And now, i’m starting thinking about the “search for something”. chrome.exe seems suspect and unusual. There’s the master chrome.exe (PID 1240) process and the tabs that depends on the master process.

For later, let’s continue the recon

Let’s see what’s inside the memory with a filescan :

bash

/opt/volatility3/vol.py -f memdump1.mem windows.filescan > filescan.txt

With the filescan.txt I tried to grep on extension that can be interesting, such as .evtx .ps1 or .bat but nothing appeared

Now we can move forward and try some strings on the dump file and grep more precisely

strings for Google queries :

bash

strings memdump1.mem | grep "https://www.google.com/search?q="

We have plenty of queries, let’s look at them

8 - 1T

20 - st

5 - 0L

oh !

But even if I didn’t see the last one, I would have checked deeper in the Chrome history. Now we know that something is going on with Chrome searches. Let’s dump all the memory of chrome processes.

First, I dumped all the process and tabs

bash

/opt/volatility3/vol.py -f memdump1.mem windows.memmap ‑‑dump ‑‑pid 1240

/opt/volatility3/vol.py -f memdump1.mem windows.memmap ‑‑dump ‑‑pid 4900
/opt/volatility3/vol.py -f memdump1.mem windows.memmap ‑‑dump ‑‑pid 4104
/opt/volatility3/vol.py -f memdump1.mem windows.memmap ‑‑dump ‑‑pid 5200
/opt/volatility3/vol.py -f memdump1.mem windows.memmap ‑‑dump ‑‑pid 4968
/opt/volatility3/vol.py -f memdump1.mem windows.memmap ‑‑dump ‑‑pid 2316
/opt/volatility3/vol.py -f memdump1.mem windows.memmap ‑‑dump ‑‑pid 4752
/opt/volatility3/vol.py -f memdump1.mem windows.memmap ‑‑dump ‑‑pid 4112
/opt/volatility3/vol.py -f memdump1.mem windows.memmap ‑‑dump ‑‑pid 1272

If we strings and|or grep on all the dumped process we can see some kind of history, but it clearly need to be reconstructed.

bash

grep -Ria https://google.com

So, in order to get something clearer, I dumped the file that contains Chrome history!

I’m looking for some history files

bash

cat filescan | grep -i history

Yes found it !

Let’s dump it

bash

/opt/volatility3/vol.py -f memdump1.mem -o filedump/ windows.dumpfiles --virtaddr=0x81595680

for the convenience :

bash

mv file.0x81595680.0x98570f60.DataSectionObject.History.dat history

So let’s string it :

bash

strings history 

That’s definitively this. Let’s extract them in order to rearrange thing. It starts from 1 and ends to 22.

Once it rearrange with the right number for the string, we obtain the flag :

bash

AKASEC{V0L4T1L1TY_f0r_chr0m3_s34rch_h1st0ry}

That was a nice challenge :)