<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Digital Forensics on Grimnir Tech</title>
        <link>https://grimnir.tech/posts/forensics/</link>
        <description>Recent content in Digital Forensics on Grimnir Tech</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-gb</language>
        <lastBuildDate>Fri, 08 May 2026 14:18:27 +0000</lastBuildDate>
        <atom:link href="https://grimnir.tech/posts/forensics/index.xml" rel="self" type="application/rss+xml" />
        
        <item>
            <title>WindowsArtifacts</title>
            <link>https://grimnir.tech/posts/forensics/windowsartifacts/</link>
            <pubDate>Fri, 08 May 2026 14:18:27 +0000</pubDate>
            
            <guid>https://grimnir.tech/posts/forensics/windowsartifacts/</guid>
            <description>&lt;h2 id=&#34;foresnsic-artifacts-rundown&#34;&gt;Foresnsic Artifacts Rundown&lt;/h2&gt;
&lt;h3 id=&#34;disk-overview-of-artifacts&#34;&gt;Disk overview of Artifacts&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Windows Registry:&lt;/strong&gt;&lt;br&gt;
Located on disk and in memory if the system is running. Located on disk if the system is offline&lt;br&gt;
&lt;strong&gt;EVTX Logs:&lt;/strong&gt;&lt;br&gt;
Application/Function specific&lt;br&gt;
&lt;strong&gt;SuperTimeline CSVs:&lt;/strong&gt;&lt;br&gt;
Disk image is run through FLS or log2timeline&lt;br&gt;
Memory is run through Volatility timeliner&lt;br&gt;
Combined and viewed through Timeline Explorer&lt;br&gt;
&lt;strong&gt;Memory Analysis Outputs:&lt;/strong&gt;&lt;br&gt;
Volatility and its plugins&lt;br&gt;
Rekall and its plugins&lt;br&gt;
Fireeyes Redline&lt;br&gt;
&lt;strong&gt;Artifacts that give evidence of execution:&lt;/strong&gt;&lt;br&gt;
Shimcache - Windows registry&lt;br&gt;
Prefetch - Windows prefetch directory&lt;br&gt;
Amcache - Windows registry&lt;br&gt;
Windows User Assist (GUI Execution) - Windows registry&lt;br&gt;
Bam - Windows registry&lt;br&gt;
&lt;strong&gt;File Downloads:&lt;/strong&gt;&lt;br&gt;
Open/Save MRU - Windows registry&lt;br&gt;
Email Attachments - Windows user directory&lt;br&gt;
Browser Artifacts - Windows user app data&lt;br&gt;
Downloads - Browser DBs and folders and Downloads folder&lt;/p&gt;</description>
            <content type="html"><![CDATA[<h2 id="foresnsic-artifacts-rundown">Foresnsic Artifacts Rundown</h2>
<h3 id="disk-overview-of-artifacts">Disk overview of Artifacts</h3>
<p><strong>Windows Registry:</strong><br>
Located on disk and in memory if the system is running. Located on disk if the system is offline<br>
<strong>EVTX Logs:</strong><br>
Application/Function specific<br>
<strong>SuperTimeline CSVs:</strong><br>
Disk image is run through FLS or log2timeline<br>
Memory is run through Volatility timeliner<br>
Combined and viewed through Timeline Explorer<br>
<strong>Memory Analysis Outputs:</strong><br>
Volatility and its plugins<br>
Rekall and its plugins<br>
Fireeyes Redline<br>
<strong>Artifacts that give evidence of execution:</strong><br>
Shimcache - Windows registry<br>
Prefetch - Windows prefetch directory<br>
Amcache - Windows registry<br>
Windows User Assist (GUI Execution) - Windows registry<br>
Bam - Windows registry<br>
<strong>File Downloads:</strong><br>
Open/Save MRU - Windows registry<br>
Email Attachments - Windows user directory<br>
Browser Artifacts - Windows user app data<br>
Downloads - Browser DBs and folders and Downloads folder</p>
<h4 id="amcache---evidence-of-execution">Amcache - evidence of execution</h4>
<p>%%Run in elevates cmd-prompt %%<br>
AmcacheParser.exe -f &ldquo;C:\Windows\appcompat\Programs\Amcache.hve&rdquo; &ndash;csv c:\temp\amcache</p>
<h4 id="prefetch---evidence-of-execution">Prefetch - evidence of execution</h4>
<blockquote>
<p>Copy Prefetch Files to local machine in a folder with the target&rsquo;s IP</p>
</blockquote>
<p>FOR /F %i in (IPs.txt) do @mkdir .%i &amp;&amp; copy /Y \%i\c$\Windows\prefetch*.pf .%i</p>
<h4 id="shimcache---evidence-of-execution">Shimcache - evidence of execution</h4>
<p>%%Run in elevates cmd-prompt BUT CAN ALSO BE RUN AS USER %%
AppCompatCacheParser.exe &ndash;csv c:\temp\shimcache</p>
<h4 id="windows-link-files">Windows Link Files</h4>
<p>Officially referred to as shortcut files<br>
A link file has is own macb timestamps, embedded in the lnk file itself are the created modified access times of the originating file itself. These are the times as they existed on the source file when the link was created.
If all the timestamps are the same it indicates that the user has only interacted once.
Should the user interacted with the file again the modified and access timestamps will be updated. Could be any number of accesses you will only ever no its been access twice.</p>
]]></content>
        </item>
        
        <item>
            <title>Volatility Cheat Sheet</title>
            <link>https://grimnir.tech/posts/forensics/volatilitycheatsheet/</link>
            <pubDate>Thu, 07 May 2026 13:04:23 +0000</pubDate>
            
            <guid>https://grimnir.tech/posts/forensics/volatilitycheatsheet/</guid>
            <description>&lt;h2 id=&#34;supported-file-types&#34;&gt;Supported file types&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Raw linear sample (dd)&lt;/li&gt;
&lt;li&gt;Hibernation file (from Windows 7 and earlier&lt;/li&gt;
&lt;li&gt;Crash dump file&lt;/li&gt;
&lt;li&gt;VirtualBox ELF64 core dump&lt;/li&gt;
&lt;li&gt;VMware saved state and snapshot files&lt;/li&gt;
&lt;li&gt;EWF format (E01)&lt;/li&gt;
&lt;li&gt;LiME format&lt;/li&gt;
&lt;li&gt;Mach-O file format&lt;/li&gt;
&lt;li&gt;HPAK (FDPro)&lt;/li&gt;
&lt;li&gt;Firewire&lt;/li&gt;
&lt;li&gt;QEMU virtual machine dumps&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;frequently-used-volatility-modules&#34;&gt;Frequently used Volatility Modules&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;pslist&lt;/strong&gt;: Shows the active processes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;cmdline&lt;/strong&gt;: Reveals the command-line parameters for processes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;netscan&lt;/strong&gt;: Checks for network links and available ports.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;malfind&lt;/strong&gt;: Looks for possible harmful code added to processes.&lt;/p&gt;</description>
            <content type="html"><![CDATA[<h2 id="supported-file-types">Supported file types</h2>
<ul>
<li>Raw linear sample (dd)</li>
<li>Hibernation file (from Windows 7 and earlier</li>
<li>Crash dump file</li>
<li>VirtualBox ELF64 core dump</li>
<li>VMware saved state and snapshot files</li>
<li>EWF format (E01)</li>
<li>LiME format</li>
<li>Mach-O file format</li>
<li>HPAK (FDPro)</li>
<li>Firewire</li>
<li>QEMU virtual machine dumps</li>
</ul>
<h2 id="frequently-used-volatility-modules">Frequently used Volatility Modules</h2>
<p><strong>pslist</strong>: Shows the active processes.</p>
<p><strong>cmdline</strong>: Reveals the command-line parameters for processes.</p>
<p><strong>netscan</strong>: Checks for network links and available ports.</p>
<p><strong>malfind</strong>: Looks for possible harmful code added to processes.</p>
<p><strong>handles</strong>: Examines open resources.</p>
<p><strong>svcscan</strong>: Displays services in Windows.</p>
<p><strong>dlllist</strong>: Lists the dynamic-link libraries loaded in a process.</p>
<p><strong>hivelist</strong>: Identifies registry hives stored in memory.</p>
<p>You can find documentation on Volatility here:</p>
<p><strong>Volatility v2</strong>: <a href="https://github.com/volatilityfoundation/volatility/wiki/Command-Reference">https://github.com/volatilityfoundation/volatility/wiki/Command-Reference</a></p>
<p><strong>Volatility v3</strong>: <a href="https://volatility3.readthedocs.io/en/latest/index.html">https://volatility3.readthedocs.io/en/latest/index.html</a></p>
<blockquote>
<p>Good practice to pipe many of the volatility plugins into a text file <code>|tee pluginname.out</code></p>
</blockquote>
<p>When using the <code>tee</code> command the system will no longer output the text in colour. To preserve colour simply install <code>expect</code> Then lead commands with <code>unbuffer</code>.</p>
<h2 id="volatility3-windows">Volatility3 Windows</h2>
<p>There is alot of crossover between Volatility2 and Volatility3. I have recently moved to using Volatility3 mainly and thus began tracking notes seperately or directly referencing differences.</p>
<p><code>python vol -f &lt;path to memory file&gt; windows.module.module</code></p>
<p>if you specify the plugin name as just windows it will show all additional plugins that can be run.</p>
<p><code>windows.info</code> - shows information about the dump and the machine</p>
<p><code>windows.pslist</code> - shows processes running in memory</p>
<blockquote>
<p>command can be piped into <code>| more</code> for easier processing.</p>
</blockquote>
<blockquote>
<p>if you wanna see a particular process for file pipe output to <code>| Select-String</code></p>
</blockquote>
<p><code>vol.py -f “/path/to/file” -o “/path/to/dir” windows.dumpfiles ‑‑pid &lt;PID&gt;</code></p>
<p>Vol 3’s ‘<strong>memmap</strong>’ with <strong>–dump</strong> maps and dumps regions, useful for detailed forensics.
<code>vol.py -f “/path/to/file” -o “/path/to/dir” windows.memmap ‑‑dump ‑‑pid &lt;PID&gt;</code></p>
<p>Listing DLLs helps spot injected code, like malware hiding in legit processes. Unusual DLLs might point to infection.</p>
<p>Both versions list loaded DLLs for a PID, but Vol 3 is profile-free and faster.</p>
<p>Volatility 2:</p>
<p><code>vol.py -f “/path/to/file” ‑‑profile &lt;profile&gt; dlllist -p &lt;PID&gt;</code></p>
<p>Volatility 3:</p>
<p><code>vol.py -f “/path/to/file” windows.dlllist ‑‑pid &lt;PID&gt;</code></p>
<h3 id="module-breakdowns">Module Breakdowns</h3>
<h4 id="registry"><strong>Registry</strong></h4>
<h5 id="hive-list"><strong>Hive List</strong></h5>
<p>You’d use hive list commands to find registry hives in memory, which store system settings malware often tweaks these for persistence. This could show changes to startup keys that launch malicious software on boot.</p>
<p>‘<strong>hivescan</strong>‘ scans for hive structures. ‘<strong>hivelist</strong>‘ lists them with virtual and physical addresses.</p>
<p>Volatility 2:</p>
<p><code>vol.py -f “/path/to/file” ‑‑profile &lt;profile&gt; hivescan</code></p>
<p><code>vol.py -f “/path/to/file” ‑‑profile &lt;profile&gt; hivelist</code></p>
<p>Volatility 3:</p>
<p><code>vol.py -f “/path/to/file” windows.registry.hivescan</code>
The scan output highlights hive locations in memory.</p>
<p><code>vol.py -f “/path/to/file” windows.registry.hivelist</code>
This lists the registry hives with their paths and offsets for further digging.</p>
<h5 id="printkey"><strong>Printkey</strong></h5>
<p>Printkey is used for viewing specific registry keys and values..</p>
<p>Without a key, it shows defaults, while <strong>-K</strong> or <strong>–key</strong> targets a certain path.</p>
<p>Volatility 2:</p>
<p><code>vol.py -f “/path/to/file” ‑‑profile &lt;profile&gt; printkey</code></p>
<p><code>vol.py -f “/path/to/file” ‑‑profile &lt;profile&gt; printkey -K “Software\Microsoft\Windows\CurrentVersion”</code></p>
<p>Volatility 3:</p>
<p><code>vol.py -f “/path/to/file” windows.registry.printkey</code></p>
<p><code>vol.py -f “/path/to/file” windows.registry.printkey ‑‑key “Software\Microsoft\Windows\CurrentVersion”</code></p>
]]></content>
        </item>
        
    </channel>
</rss>
