<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Mithun Dev]]></title><description><![CDATA[Mithun Dev]]></description><link>https://mdcn47.com</link><generator>RSS for Node</generator><lastBuildDate>Sun, 19 Apr 2026 08:44:28 GMT</lastBuildDate><atom:link href="https://mdcn47.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[The DevSec Blueprint's AWS DevSecOps Pipeline]]></title><description><![CDATA[Introduction
While exploring the world of DevSecOps, I came across Damien Burks’ The DevSec Blueprint - a comprehensive, free, and open-source learning guide that provides the foundational skills and knowledge needed to break into the field. After gr...]]></description><link>https://mdcn47.com/the-devsec-blueprints-aws-devsecops-pipeline</link><guid isPermaLink="true">https://mdcn47.com/the-devsec-blueprints-aws-devsecops-pipeline</guid><category><![CDATA[DevSecOps]]></category><category><![CDATA[AWS]]></category><dc:creator><![CDATA[Mithun Dev]]></dc:creator><pubDate>Sat, 30 Aug 2025 14:11:57 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1756562765259/f78f6120-26ba-46c8-b660-341783b554e6.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-introduction">Introduction</h2>
<p>While exploring the world of DevSecOps, I came across <a target="_blank" href="https://youtube.com/@damienjburks">Damien Burks</a>’ <a target="_blank" href="https://www.devsecblueprint.com/">The DevSec Blueprint</a> - a comprehensive, free, and open-source learning guide that provides the foundational skills and knowledge needed to break into the field. After grasping the basics, I was eager to get hands-on and build a pipeline in AWS. I decided to dive in by following <a target="_blank" href="https://www.devsecblueprint.com/projects/devsecops-pipeline-aws/">a guide</a> straight from the DevSec Blueprint website. In this post, I’ll share my experience setting everything up, along with some lessons learned that might be helpful for anyone following a similar path.</p>
<h2 id="heading-setting-up-dependencies">Setting up Dependencies</h2>
<p>First things first, I began by setting up the dependencies listed below.</p>
<ul>
<li><p>Setup GitHub Repos</p>
</li>
<li><p>Setup Snyk Account</p>
</li>
<li><p>Setup Terraform Cloud</p>
</li>
<li><p>Configure Deployment Role in AWS</p>
</li>
<li><p>Configure Secrets and Environment Variables</p>
</li>
</ul>
<h3 id="heading-setup-github-repos">Setup GitHub Repos</h3>
<p>I forked both the repos <a target="_blank" href="https://github.com/devsecblueprint/aws-devsecops-pipeline">AWS DevSecOps Pipeline</a> and <a target="_blank" href="https://github.com/devsecblueprint/awsome-fastapi">Awesome FastAPI</a> to my personal github account and then cloned both the forked repos to my local machine. I used GitHub CLI to interact with my GitHub account.</p>
<p><code>gh repo clone mdcn47/aws-devsecops-pipeline</code></p>
<p><code>gh repo clone mdcn47/awsome-fastapi</code></p>
<h3 id="heading-setup-snyk-account">Setup Snyk Account</h3>
<p>I signed up for <a target="_blank" href="https://app.snyk.io/login">Snyk</a> using my GitHub account. Once logged-in, I clicked on my name in the bottom-left corner of the page and selected <strong>Account Settings</strong>. In the <strong>General</strong> section, I located the <strong>Auth Token</strong> field, generated a token, and noted it down for later integration. After that, I navigated to the Organization <strong>Settings</strong> page to obtain the <strong>Organization ID</strong> as well.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756499806470/4e99c69c-0ed3-43c0-b424-8302b95f88b3.gif" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756499638418/6e96b51f-3359-4d02-bbc8-ecac5e9ca4f8.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-setup-terraform-cloud">Setup Terraform Cloud</h3>
<p>I signed up for <a target="_blank" href="https://app.terraform.io/public/signup/account">Terraform Cloud</a>, also using my GitHub account. Once I logged-in, I created an organization named <code>MDCN</code> which was pretty straightforward.</p>
<h3 id="heading-configure-deployment-role-in-aws">Configure Deployment Role in AWS</h3>
<p>In this step, I’m setting up an AWS IAM role with OpenID Connect (OIDC), so Terraform Cloud can assume the role and deploy infrastructure changes on my behalf.</p>
<p><em>Adding Terraform Cloud as an OIDC provider</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1750964121520/36ac5890-b183-47bb-90c1-b5996732c987.png" alt="Adding Terraform Cloud as an OIDC provider" class="image--center mx-auto" /></p>
<p><em>Creating an IAM Role for Terraform</em></p>
<p>I’ve begun by filling out the trust relationship fields, as shown below.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1750964931407/222e5974-5541-46f1-b440-1afdd73bd887.png" alt="Creating an IAM Role for Terraform" class="image--center mx-auto" /></p>
<p>Following that, I created the role named <code>terraform-cloud-deployer-oidc</code>, attached the <strong>AdministratorAccess</strong> policy to it, and recorded its <strong>ARN</strong> for use in later steps.</p>
<h3 id="heading-configure-secrets-and-environment-variables">Configure Secrets and Environment Variables</h3>
<p>I started by defining the Organizational Variable Set in Terraform Cloud, which included creating the variables <code>TFC_AWS_PROVIDER_AUTH</code> and <code>TFC_AWS_RUN_ROLE_ARN</code>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1751049126599/1630f69e-2338-4bb9-ab0e-3b9ff9f2b1e8.png" alt class="image--center mx-auto" /></p>
<p>The following step was not documented in the guide; I identified it while working through the implementation.</p>
<p>Since we'll be using GitHub Actions to automate deployments when changes are pushed to the <code>main</code> branch, we need to generate a Terraform API token and add it as a repository secret in GitHub.</p>
<p>So I generated a Terraform API token using the steps shown below. Be sure to store the token securely, as it will only be displayed once.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1751136150942/d2feadad-19be-44a1-87ce-d91d4dcb65bb.gif" alt class="image--center mx-auto" /></p>
<p>Then I added the Terraform API token as a secret to the forked <code>aws-devsecops-pipeline</code> repository.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1751049793532/679c0500-84f9-4873-a441-eca045a3c3b2.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-deploying-and-testing">Deploying and Testing</h2>
<p>In this final stage, I deploy and configure the infrastructure, run the pipeline, and analyze the output.</p>
<h3 id="heading-deploying-and-configuring-the-pipeline">Deploying and Configuring the Pipeline</h3>
<p>I logged into Terraform Cloud and created a project called <code>devsecops-aws</code> under my organization, <code>MDCN</code>. Within this project, I set up two workspaces: <code>aws-devsecops-eks-cluster</code> and <code>aws-devsecops-pipelines</code>.</p>
<p><strong><em>Note</em></strong>*: In the guide, the workspace names included the organization name as a prefix. However, this will lead to errors later when running the workflow, since the workspace names in the Terraform configuration files (<code>provider.tf</code>) and the GitHub Actions workflow files (<code>terraform-apply-eks.yml</code> <em>and</em> <code>terraform-apply-pipelines.yml</code>) do not match.*</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1751134766417/ca316b81-eadf-472d-99bb-317823a7ce88.png" alt class="image--center mx-auto" /></p>
<p>However, there's an issue: Terraform Cloud is unable to validate the configurations because the organization name in my account differs from the one specified in the Terraform code of the forked repository.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1751123007485/f5549263-6ec3-4e06-a74b-3e57f3cc0207.gif" alt class="image--center mx-auto" /></p>
<p>So, I used <code>grep</code> to search the local repository for the string <code>dsb</code> - the organization name used in the guide - to identify all the files that needed to be updated.</p>
<p><code>grep -rniw . -e "dsb"</code></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1751123362483/f92b12be-0dc6-459d-9850-8b6dd174f1aa.png" alt class="image--center mx-auto" /></p>
<p>I replaced all instances of <code>dsb</code> with <code>mdcn</code> in the relevant files and pushed the changes to the repository.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1751128130053/359d022f-8636-4456-b5cb-92c78306a6e4.png" alt class="image--center mx-auto" /></p>
<p>Next, I created two variables, <code>SNYK_ORG_ID</code> and <code>SNYK_TOKEN</code>, in the <code>aws-devsecops-pipelines</code> workspace and populated them with their respective values.</p>
<p>I then tried to deploy the changes using GitHub Actions.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1751129732290/f8ba3fb2-cb1e-49b3-a898-a4c583c1d09d.gif" alt class="image--center mx-auto" /></p>
<p>However, the deployment failed at the <em>Create Apply Run</em> step. From the error message, it seems the connection to the AWS account failed.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1751821156209/3eaddf7d-15a2-4e99-ab62-1894976c81f6.png" alt class="image--center mx-auto" /></p>
<p>While troubleshooting this issue, I noticed another required change in the <code>main.tf</code> file - replacing the AWS username from <code>damien</code> to <code>mdcn47</code> (my AWS IAM user). I made the change right away.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756315095613/048e757a-4e0a-4739-a75d-f79e43623106.png" alt class="image--center mx-auto" /></p>
<p>After digging through the Terraform code, IAM role settings, and Terraform Cloud configuration, I finally tracked down the issue. I had originally created my Terraform Cloud project as <code>aws-devsecops</code>, but when setting up the IAM role I followed the guide and used <code>AWS</code> as the project name. This mismatch caused the trust policy to reference the wrong project. To fix it, I simply renamed my Terraform Cloud project to <code>AWS</code>.</p>
<p>I tested the connection by running <code>terraform plan</code> locally.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756315041386/eed75835-d0ad-4dac-865e-7c0c3c8be0b1.png" alt class="image--center mx-auto" /></p>
<p>With that fixed, it’s a good time to kick off another deployment using GitHub Actions. This time the failure happened during the <em>Apply</em> step. Turns out the AMI type specified in the configuration is incompatible with the current Kubernetes version.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756480073521/535c46b3-5d32-4504-9fd2-13ada64854b9.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756480150435/31db31e5-cbc3-48b4-bfa8-b97f24151caa.png" alt class="image--center mx-auto" /></p>
<p>So I updated the code, swapping out <code>ami_type = AL2_x86_64</code> for <code>ami_type = AL2023_x86_64_STANDARD</code> in the <code>aws_eks_node_group</code> resource block (line number 98).</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756482089717/03da0539-7f9e-47d3-ae94-5bf790a8209c.png" alt class="image--center mx-auto" /></p>
<p>The git push automatically triggered the workflow again and this time both the <em>eks-cluster</em> and <em>pipelines</em> terraform ran successfully.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756483144808/687523cf-172f-4860-9c2c-68d7ca9b551a.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756483131763/10b7d5df-8452-40b9-9978-1f6d4cd75596.png" alt class="image--center mx-auto" /></p>
<p>I logged into my AWS account, checked the EKS console, and confirmed that the cluster, nodes, and pods were all successfully created.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756493590020/113e889b-97e7-4065-9674-bdb7e99716a9.gif" alt class="image--center mx-auto" /></p>
<p>However, when I checked AWS CodePipeline, I noticed that the <code>awsome-fastapi</code> application failed to deploy because of a GitHub connection error.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756494060844/60c32272-87e1-44e1-acd3-a815524966fd.gif" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756494157047/8730d3a4-5d87-4875-b5e3-1d6b5664a2f3.png" alt class="image--center mx-auto" /></p>
<p>Navigating to <em>Settings &gt; Connections</em> clearly indicates that the connection is in a pending status.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756495402133/a8db7932-4838-4cc2-aa2b-65b0685de190.png" alt class="image--center mx-auto" /></p>
<p>I followed the steps in the guide and was able to set up the connection without any issues.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756495433671/45ae8998-1e6a-472a-95a1-b64e09bd280f.png" alt class="image--center mx-auto" /></p>
<p>The pipeline is now operational and configured to automatically detect and deploy changes from the GitHub repository.</p>
<h3 id="heading-running-the-pipeline-and-analyzing-outputs">Running the Pipeline and Analyzing Outputs</h3>
<p>I triggered the pipeline by navigating to the CodePipeline dashboard, selecting the <code>awsome-fastapi</code> pipeline, and clicking <strong>Release change</strong>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756495446335/a161538a-3e21-48ad-8fcc-04eb9ca3f866.png" alt class="image--center mx-auto" /></p>
<p>Clicking that button kicks off the pipeline - it’s expected to pull the latest code from GitHub, build the project, run tests and security scans, and finally deploy the application into the EKS cluster. However, the pipeline failed at the <em>SnykSecurityScan</em> step within the <em>Test</em> phase.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756535214571/69a83142-80d2-4011-bc49-15bc0b3542b8.png" alt class="image--center mx-auto" /></p>
<p>Digging into the error, I found that it failed while executing the command <code>snyk auth ${SNYK_TOKEN}</code>. A bit of research suggested that the curly braces <code>{}</code> might not be necessary, and removing them could fix the issue.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756535203646/ea9e30d9-aa62-4929-8c5f-68059a9025e5.png" alt class="image--center mx-auto" /></p>
<p>I went ahead and updated the <code>sastscanning.yml</code> file inside <em>codepipeline/buildspecs</em> and pushed the changes to the repository.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756540107624/1567e2f7-a8af-4474-9dba-9d91850af728.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756540429037/2c301a96-157f-4458-af93-491a6faa33d8.png" alt class="image--center mx-auto" /></p>
<p>The new commit triggered another pipeline run. For the application deployment, I manually triggered the pipeline again by clicking <em>Release change</em> in CodePipeline. This time, Snyk authenticated successfully, but the pipeline failed as expected because it detected a <strong>critical</strong> severity vulnerability, exceeding the <strong>high</strong> threshold we had set.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756542614457/800b230a-ea19-4a1a-b58a-d36d73d30e07.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756542638429/f59139fa-aa61-4799-bacf-78381c57ad1d.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756543127837/a1fece86-34d2-4844-889a-ba819c6e750d.png" alt class="image--center mx-auto" /></p>
<p>The Snyk CLI exits with status code 1 whenever it finds vulnerabilities that meet or exceed the severity threshold we’ve set (high in our case). However, for testing the application deployment, I want the pipeline to continue while still reporting any issues. To achieve this, I appended <code>|| true</code> to the command, making it: <code>snyk test --file=requirements.txt --severity-threshold=high || true</code>.</p>
<p>I updated the <code>sastscanning.yml</code> file once more and pushed the changes to the repository.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756544407375/6e802988-7e3d-4a22-ae78-5fcdcbf252f3.png" alt class="image--center mx-auto" /></p>
<p>With this run, every test passed and the app was deployed without any issues.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756548673570/c52ced3e-59f8-4fda-9a3b-0e0c717bdd24.png" alt class="image--center mx-auto" /></p>
<p>While going through the execution logs, I noticed that the Snyk Code scan hadn’t run because it wasn’t enabled in my Snyk account. I quickly turned it on and reran the deployment.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756550298815/085ca04b-a721-469a-a3a4-28cbc573bde6.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756550601490/88199431-d884-44c8-8d90-34f46950fd2a.gif" alt class="image--center mx-auto" /></p>
<p><em>Synk Scan Results</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756553444495/110e0312-92cf-4f3a-b61e-4c7434df6f12.gif" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756554636271/6ba4036e-dd58-44a4-bae6-f6dfcc7f7bc3.png" alt class="image--center mx-auto" /></p>
<p><em>Trivy Scan Results (Container Security Scan)</em></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756554051728/83141b4a-c25e-4be2-9593-59e388492e54.gif" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756554649715/3086fbc9-dc87-4e3b-8e8c-8a98234576d4.png" alt class="image--center mx-auto" /></p>
<p>With the application successfully deployed, I wanted to verify that it was running smoothly without any issues. I opened my EKS cluster (<code>mdcn-devsecops-cluster</code>), navigated to <em>Resources &gt; Services &gt; awsome-fastapi</em>, grabbed the load balancer URL, and accessed it in the browser. Since the app was running on port 80, I used HTTP. I was greeted with a <em>Hello World</em> message, confirming that the app was up and running without any issues.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756556579447/9cc7f4d5-5d08-4c4d-a6c9-ff6b16d991b2.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756556963155/3b2bfecd-0a80-4b3f-9452-2ce792046cd6.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756557288686/f16d676e-649f-424f-ad12-03e84a8f8c7d.gif" alt class="image--center mx-auto" /></p>
<p>It’s been a great learning journey, but I can’t stop here - I need to tear down the AWS infrastructure from this exercise before it surprises me with a painful credit card bill.</p>
<p>I navigated to the <code>pipeline</code> and <code>eks-cluster</code> Terraform directories and ran <code>terraform destroy --auto-approve</code>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756561892579/da5076b0-dea6-44af-b695-6602a1077e2b.png" alt class="image--center mx-auto" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1756561907598/45babcae-495e-474c-b593-5feb616ec45d.png" alt class="image--center mx-auto" /></p>
<p>And that’s a wrap! The pipeline ran, the app deployed successfully, I learned a ton, and all AWS resources are now safely cleaned up - no surprises for my credit card.</p>
]]></content:encoded></item><item><title><![CDATA[Tracing the Digital Footprints - Browser Usage]]></title><description><![CDATA[In the intricate world of digital forensics, browser artifacts are invaluable. They offer a deep dive into user activity, revealing visited websites, downloaded files, search queries, and even the "snapshot in time" of a user's online experience. Und...]]></description><link>https://mdcn47.com/tracing-the-digital-footprints-browser-usage</link><guid isPermaLink="true">https://mdcn47.com/tracing-the-digital-footprints-browser-usage</guid><dc:creator><![CDATA[Mithun Dev]]></dc:creator><pubDate>Sat, 27 Mar 2021 18:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1749989996399/86f2ea43-f2c9-476e-8220-c2f83b0dd30b.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the intricate world of digital forensics, browser artifacts are invaluable. They offer a deep dive into user activity, revealing visited websites, downloaded files, search queries, and even the "snapshot in time" of a user's online experience. Understanding these digital breadcrumbs is crucial for reconstructing events, identifying malicious activity, or proving intent. This blog post will illuminate key artifacts under the "Browser Usage" section, detailing their descriptions, locations, and interpretive value.</p>
<hr />
<h3 id="heading-history"><strong>History</strong></h3>
<p>The browser's history is a fundamental artifact for understanding a user's online journey.</p>
<ul>
<li><p><strong>Description</strong>: This artifact <strong>records websites visited by date and time</strong>. It stores <strong>details for each local user account</strong> and records the <strong>number of times visited (frequency)</strong>. Importantly, it also <strong>tracks access of local system files</strong> and <strong>includes the website history of search terms in search engines</strong>.</p>
</li>
<li><p><strong>Location</strong>:</p>
<ul>
<li><p><strong>Internet Explorer</strong>:</p>
<ul>
<li><p>IE6-7: <code>%USERPROFILE%\Local Settings\History\</code><a target="_blank" href="http://History.IE"><code>History.IE</code></a><code>5</code>.</p>
</li>
<li><p>IE8-9: <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\History\</code><a target="_blank" href="http://History.IE"><code>History.IE</code></a><code>5</code>.</p>
</li>
<li><p>IE10, 11, Edge: <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Firefox</strong>:</p>
<ul>
<li><p>XP: <code>%userprofile%\Application Data\Mozilla\Firefox\Profiles\&lt;randomtext&gt;.default\places.sqlite</code>.</p>
</li>
<li><p>Win7/8/10: <code>%userprofile%\AppData\Roaming\Mozilla\Firefox\Profiles\&lt;randomtext&gt;.default\places.sqlite</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Chrome</strong>:</p>
<ul>
<li><p>XP: <code>%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\History</code>.</p>
</li>
<li><p>Win7/8/10: <code>%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\History</code>.</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation</strong>: The history artifact allows investigators to understand <strong>what sites a user has been visiting</strong> and can <strong>list the files that were opened from remote sites and downloaded to the local system</strong>. It also <strong>records the access to files on websites that were accessed via a link</strong>.</p>
</li>
</ul>
<hr />
<h3 id="heading-cookies"><strong>Cookies</strong></h3>
<p>Cookies offer insights into specific activities and visits.</p>
<ul>
<li><p><strong>Description</strong>: <strong>Cookies give insight into what websites have been visited and what activities may have taken place there</strong>.</p>
</li>
<li><p><strong>Location</strong>:</p>
<ul>
<li><p><strong>Internet Explorer</strong>:</p>
<ul>
<li><p>IE6-8: <code>%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Cookies</code>.</p>
</li>
<li><p>IE10: <code>%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Cookies</code>.</p>
</li>
<li><p>IE11: <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\INetCookies</code>.</p>
</li>
<li><p>Edge: <code>%USERPROFILE%\AppData\Local\Packages\microsoft.microsoftedge_&lt;APPID&gt;\AC\MicrosoftEdge\Cookies</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Firefox</strong>:</p>
<ul>
<li><p>XP: <code>%USERPROFILE%\Application Data\Mozilla\Firefox\Profiles\&lt;random text&gt;.default\cookies.sqlite</code>.</p>
</li>
<li><p>Win7/8/10: <code>%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\&lt;randomtext&gt;.default\cookies.sqlite</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Chrome</strong>:</p>
<ul>
<li><p>XP: <code>%USERPROFILE%\Local Settings\ApplicationData\Google\Chrome\User Data\Default\Local Storage</code>.</p>
</li>
<li><p>Win7/8/10: <code>%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Local Storage</code>.</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation</strong>: By examining cookies, forensicators can <strong>gain valuable insight into websites visited and the actions performed on them</strong>.</p>
</li>
</ul>
<hr />
<h3 id="heading-cache"><strong>Cache</strong></h3>
<p>Browser cache provides a tangible snapshot of content viewed by a user.</p>
<ul>
<li><p><strong>Description</strong>: The cache is where <strong>web page components can be stored locally to speed up subsequent visits</strong>. It gives the investigator a "<strong>snapshot in time</strong>" of what a user was looking at online. It <strong>identifies websites which were visited</strong> and <strong>provides the actual files the user viewed on a given website</strong>. These <strong>cached files are tied to a specific local user account</strong>, and their <strong>timestamps show when the site was first saved and last viewed</strong>.</p>
</li>
<li><p><strong>Location</strong>:</p>
<ul>
<li><p><strong>Internet Explorer</strong>:</p>
<ul>
<li><p>IE8-9: <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files\</code><a target="_blank" href="http://Content.IE"><code>Content.IE</code></a><code>5</code>.</p>
</li>
<li><p>IE10: <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\Temporary Internet Files\</code><a target="_blank" href="http://Content.IE"><code>Content.IE</code></a><code>5</code>.</p>
</li>
<li><p>IE11: <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache\IE</code>.</p>
</li>
<li><p>Edge: <code>%USERPROFILE%\AppData\Local\Packages\microsoft.microsoftedge_&lt;APPID&gt;\AC\MicrosoftEdge\Cache</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Firefox</strong>:</p>
<ul>
<li><p>XP: <code>%USERPROFILE%\Local Settings\ApplicationData\Mozilla\Firefox\Profiles\&lt;randomtext&gt;.default\Cache</code>.</p>
</li>
<li><p>Win7/8/10: <code>%USERPROFILE%\AppData\Local\Mozilla\Firefox\Profiles\&lt;randomtext&gt;.default\Cache</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Chrome</strong>:</p>
<ul>
<li><p>XP: <code>%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\Cache - data_# and f_######</code>.</p>
</li>
<li><p>Win7/8/10: <code>%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Cache\ - data_# and f_######</code>.</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation</strong>: The cache acts as a <strong>direct evidence source of content a user has viewed</strong>, with timestamps providing a temporal context of access and viewing.</p>
</li>
</ul>
<hr />
<h3 id="heading-flash-amp-super-cookies"><strong>Flash &amp; Super Cookies</strong></h3>
<p>These persistent tracking mechanisms often bypass typical browser cookie management.</p>
<ul>
<li><p><strong>Description</strong>: <strong>Local Stored Objects (LSOs), also known as Flash Cookies</strong>, have become <strong>ubiquitous</strong> on most systems due to the extremely high penetration of Flash applications across the Internet. They tend to be <strong>much more persistent because they do not expire</strong>, and there is <strong>no built-in mechanism within the browser to remove them</strong>. Many sites have begun using LSOs for their tracking mechanisms because <strong>they rarely get cleared like traditional cookies</strong>.</p>
</li>
<li><p><strong>Location</strong>: Win7/8/10: <code>%APPDATA%\Roaming\Macromedia\FlashPlayer\#SharedObjects\&lt;randomprofileid&gt;</code>.</p>
</li>
<li><p><strong>Interpretation</strong>: Due to their persistence and lack of easy user-deletion mechanisms, Flash and Super Cookies are <strong>powerful artifacts for long-term user tracking and profiling</strong>, often revealing activity that might otherwise be hidden if only traditional cookies were examined.</p>
</li>
</ul>
<hr />
<h3 id="heading-session-restore"><strong>Session Restore</strong></h3>
<p>Session restore features can inadvertently preserve crucial browsing context.</p>
<ul>
<li><p><strong>Description</strong>: This artifact relates to <strong>Automatic Crash Recovery features built into the browser</strong>.</p>
</li>
<li><p><strong>Location</strong>:</p>
<ul>
<li><p><strong>Internet Explorer Win7/8/10</strong>: <code>%USERPROFILE%/AppData/Local/Microsoft/Internet Explorer/ Recovery</code>.</p>
</li>
<li><p><strong>Firefox Win7/8/10</strong>: <code>%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\&lt;randomtext&gt;.default\sessionstore.js</code>.</p>
</li>
<li><p><strong>Chrome Win7/8/10</strong>: <code>%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\ Files = Current Session, Current Tabs, Last Session, Last Tabs</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation</strong>: Session restore data can provide insights into:</p>
<ul>
<li><p><strong>Historical websites viewed in each tab</strong>.</p>
</li>
<li><p><strong>Referring websites</strong>.</p>
</li>
<li><p><strong>Time the session ended</strong>.</p>
</li>
<li><p><strong>Modified time of</strong> <code>.dat</code> files in the <code>LastActive</code> folder.</p>
</li>
<li><p><strong>Time each tab opened (only when a crash occurred)</strong>.</p>
</li>
<li><p><strong>Creation time of</strong> <code>.dat</code> files in the <code>Active</code> folder.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-google-analytics-cookies"><strong>Google Analytics Cookies</strong></h3>
<p>These specific cookies offer highly detailed tracking information often used by websites.</p>
<ul>
<li><p><strong>Description</strong>: Google Analytics (GA) has developed an <strong>extremely sophisticated methodology for tracking site visits, user activity, and paid search</strong>. GA holds a commanding market share, estimated at <strong>over 80% of sites using traffic analysis and over 50% of all sites</strong>, largely because it is free. Key GA cookies include:</p>
<ul>
<li><p><code>__utma</code>: Tracks <strong>Unique visitors</strong>, including <strong>Domain Hash, Visitor ID, Cookie Creation Time, Time of 2nd most recent visit, Time of most recent visit, and Number of visits</strong>.</p>
</li>
<li><p><code>__utmb</code>: Used for <strong>Session tracking</strong>, including <strong>Domain hash, Page views in current session, Outbound link clicks, and Time current session started</strong>.</p>
</li>
<li><p><code>__utmz</code>: Identifies <strong>Traffic sources</strong>, including <strong>Domain Hash, Last Update time, and Number of visits</strong>.</p>
</li>
</ul>
</li>
<li><p><strong>Location</strong>: The specific file paths for Google Analytics cookies are not explicitly detailed in the provided source separate from the general browser cookie locations. One would typically look for these within the browser's main cookie storage.</p>
</li>
<li><p><strong>Interpretation</strong>: These cookies provide a <strong>highly granular view of user interaction with specific websites</strong>, allowing forensicators to reconstruct visitor history, session duration, referral sources, and even repeat visit patterns to sites that employ Google Analytics.</p>
</li>
</ul>
<hr />
<p>By thoroughly analyzing these browser usage artifacts, digital forensic investigators can reconstruct significant portions of a user's online activities, providing critical evidence for a wide range of investigations.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Source: <a target="_self" href="https://www.sans.org/posters/windows-forensic-analysis/">https://www.sans.org/posters/windows-forensic-analysis/</a></div>
</div>]]></content:encoded></item><item><title><![CDATA[Tracing the Digital Footprints - External Device/USB Usage]]></title><description><![CDATA[In the fast-paced world of digital forensics, understanding the interaction between a system and external devices, especially USB drives, is paramount. These devices are frequently used for data transfer, malware introduction, or unauthorized exfiltr...]]></description><link>https://mdcn47.com/tracing-the-digital-footprints-external-deviceusb-usage</link><guid isPermaLink="true">https://mdcn47.com/tracing-the-digital-footprints-external-deviceusb-usage</guid><dc:creator><![CDATA[Mithun Dev]]></dc:creator><pubDate>Sat, 20 Mar 2021 18:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1749990298278/f7136178-2f09-4959-bb9f-cb4299f60dda.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the fast-paced world of digital forensics, understanding the interaction between a system and external devices, especially USB drives, is paramount. These devices are frequently used for data transfer, malware introduction, or unauthorized exfiltration. By meticulously examining Windows artifacts related to "External Device/USB Usage," investigators can uncover crucial details about when a USB was connected, what type it was, and even which user operated it. This blog post explores key artifacts that illuminate these critical interactions.</p>
<hr />
<h3 id="heading-key-identification"><strong>Key Identification</strong></h3>
<p>Identifying the specific USB devices that have been connected to a machine is a foundational step in any forensic investigation.</p>
<ul>
<li><p><strong>Description:</strong> This artifact helps to <strong>track USB devices plugged into a machine</strong>.</p>
</li>
<li><p><strong>Location:</strong> The relevant information can be found in the <strong>SYSTEM Hive</strong>, specifically at <code>SYSTEM\CurrentControlSet\Enum\USBSTOR</code> and <code>SYSTEM\CurrentControlSet\Enum\USB</code>.</p>
</li>
<li><p><strong>Interpretation:</strong> This allows investigators to <strong>identify the vendor, product, and version of a USB device</strong>. It also helps to <strong>identify a unique USB device plugged into the machine</strong>. Furthermore, it can <strong>determine the time a device was plugged into the machine</strong>. A notable detail is that <strong>devices that do not have a unique serial number will have an "&amp;" in the second character of the serial number</strong>.</p>
</li>
</ul>
<hr />
<h3 id="heading-firstlast-times"><strong>First/Last Times</strong></h3>
<p>Pinpointing the exact temporal usage of USB devices provides a critical timeline for forensic analysis.</p>
<ul>
<li><p><strong>Description:</strong> This artifact is used to <strong>determine temporal usage of specific USB devices connected to a Windows Machine</strong>.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p>For the <strong>First Time</strong> of connection, investigators should look at <strong>Plug and Play Log Files</strong>:</p>
<ul>
<li><p><strong>XP</strong>: <code>C:\Windows\setupapi.log</code></p>
</li>
<li><p><strong>Win7/8/10</strong>: <code>C:\Windows\inf\</code><a target="_blank" href="http://setupapi.dev"><code>setupapi.dev</code></a><code>.log</code></p>
</li>
</ul>
</li>
<li><p>For <strong>First, Last, and Removal Times</strong> (specific to Win7/8/10 only), the information is in the <strong>System Hive</strong>:</p>
<ul>
<li><code>\CurrentControlSet\Enum\USBSTOR\Ven_Prod_Version\USBSerial#\Properties\{83da6326-97a6-4088-9453-a19231573b29}\####</code></li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>In the log files, investigators can <strong>search for the Device Serial Number</strong>. It's important to note that <strong>Log File times are set to the local time zone</strong>.</p>
</li>
<li><p>Within the System Hive, specific numerical values indicate different temporal events:</p>
<ul>
<li><p><strong>0064</strong>: Signifies the <strong>First Install</strong> (Win7-10).</p>
</li>
<li><p><strong>0066</strong>: Indicates the <strong>Last Connected</strong> (Win8-10).</p>
</li>
<li><p><strong>0067</strong>: Represents the <strong>Last Removal</strong> (Win8-10).</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-user"><strong>User</strong></h3>
<p>Determining which user was responsible for plugging in a specific USB device is essential for attributing actions.</p>
<ul>
<li><p><strong>Description:</strong> This artifact helps to <strong>find the user that used the Unique USB Device</strong>.</p>
</li>
<li><p><strong>Location:</strong> Investigators need to <strong>look for the GUID from</strong> <code>SYSTEM\MountedDevices</code> and then correlate it with <code>NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2</code>.</p>
</li>
<li><p><strong>Interpretation:</strong> The <strong>last write time of the</strong> <code>MountPoints2</code> key is used to <strong>identify the user that plugged in the device</strong>.</p>
</li>
</ul>
<hr />
<h3 id="heading-pnp-events"><strong>PnP Events</strong></h3>
<p>Plug and Play (PnP) events capture the system's response to new hardware connections, including USB devices.</p>
<ul>
<li><p><strong>Description:</strong> When a <strong>Plug and Play driver install is attempted, the service will log an ID 20001 event and provide a Status within the event</strong>. This event will <strong>trigger for any Plug and Play-capable device</strong>, which includes, but is not limited to, USB, Firewire, and PCMCIA devices.</p>
</li>
<li><p><strong>Location:</strong> These events are found in the <strong>System Log File</strong>:</p>
<ul>
<li><strong>Win7/8/10</strong>: <code>%system root%\System32\winevt\logs\System.evtx</code></li>
</ul>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>The <strong>Event ID: 20001</strong> specifically indicates a <strong>Plug and Play driver install attempted</strong>.</p>
</li>
<li><p>The event includes a <strong>Timestamp</strong>, <strong>Device information</strong>, <strong>Device serial number</strong>, and a <strong>Status (where 0 indicates no errors)</strong>.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-volume-serial-number"><strong>Volume Serial Number</strong></h3>
<p>Beyond the device's hardware serial, the volume serial number of the filesystem partition can provide additional linkage to user activity.</p>
<ul>
<li><p><strong>Description:</strong> This artifact helps to <strong>discover the Volume Serial Number of the Filesystem Partition on the USB</strong>. It's important to note that <strong>this is not the USB Unique Serial Number, which is hardcoded into the device firmware</strong>.</p>
</li>
<li><p><strong>Location:</strong> The information is typically found in the <strong>SOFTWARE Hive</strong> at <code>SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ENDMgmt</code>. To derive the serial number, one would <strong>use the Volume Name and USB Unique Serial Number to find the last integer number in the line</strong>, then <strong>convert the Decimal Serial Number into a Hex Serial Number</strong>.</p>
</li>
<li><p><strong>Interpretation:</strong> Knowing <strong>both the Volume Serial Number and the Volume Name, you can correlate the data across Shortcut File (LNK) analysis and the RECENTDOCs key</strong>. The <strong>Shortcut File (LNK) contains the Volume Serial Number and Name</strong>. Additionally, the <strong>RecentDocs Registry Key, in most cases, will contain the volume name when the USB device is opened</strong>.</p>
</li>
</ul>
<hr />
<h3 id="heading-drive-letter-and-volume-name"><strong>Drive Letter and Volume Name</strong></h3>
<p>Understanding the drive letter assigned to a USB device can assist in reconstructing file paths and user access.</p>
<ul>
<li><p><strong>Description:</strong> This artifact helps to <strong>discover the last drive letter of the USB Device when it was plugged into the machine</strong>.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p><strong>XP</strong>:</p>
<ul>
<li><p><strong>Find ParentIdPrefix</strong> at <code>SYSTEM\CurrentControlSet\Enum\USBSTOR</code>.</p>
</li>
<li><p>Then, <strong>using ParentIdPrefix, discover the Last Mount Point</strong> at <code>SYSTEM\MountedDevices</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Win7/8/10</strong>:</p>
<ul>
<li><p><code>SOFTWARE\Microsoft\Windows Portable Devices\Devices</code></p>
</li>
<li><p><code>SYSTEM\MountedDevices</code> - investigators should <strong>examine Drive Letters looking at Value Data Looking for the Serial Number</strong>.</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> This technique allows investigators to <strong>identify the USB device that was last mapped to a specific drive letter</strong>. However, it's crucial to remember that <strong>this technique will only work for the last drive mapped</strong> and <strong>does not contain historical records of every drive letter mapped to a removable drive</strong>.</p>
</li>
</ul>
<hr />
<h3 id="heading-shortcut-lnk-files"><strong>Shortcut (LNK) Files</strong></h3>
<p>Shortcut files are automatically generated by Windows and can provide rich details about file and folder access, including those on external devices.</p>
<ul>
<li><p><strong>Description:</strong> <strong>Shortcut files are automatically created by Windows</strong>. These include <strong>Recent Items</strong>, and <strong>opening local and remote data files and documents will generate a shortcut file (.lnk)</strong>.</p>
</li>
<li><p><strong>Location:</strong> While LNK files can be found in other locations, primary locations related to user activity include:</p>
<ul>
<li><p><strong>XP</strong>: <code>C:\%USERPROFILE%\Recent</code></p>
</li>
<li><p><strong>Win7/8/10</strong>:</p>
<ul>
<li><p><code>C:\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\</code></p>
</li>
<li><p><code>C:\%USERPROFILE%\AppData\Roaming\Microsoft\Office\Recent\</code></p>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> LNK files offer a wealth of information:</p>
<ul>
<li><p>The <strong>Creation Date of the Shortcut (LNK) File</strong> indicates the <strong>Date/Time a file of that name was first opened</strong>.</p>
</li>
<li><p>The <strong>Last Modification Date of the Shortcut (LNK) File</strong> indicates the <strong>Date/Time a file of that name was last opened</strong>.</p>
</li>
<li><p>The <strong>LNKTarget File (Internal LNK File Information) Data</strong> itself contains:</p>
<ul>
<li><p><strong>Modified, Access, and Creation times of the target file</strong>.</p>
</li>
<li><p><strong>Volume Information</strong> (including Name, Type, and Serial Number).</p>
</li>
<li><p><strong>Network Share information</strong>.</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<p>By leveraging these artifacts, forensic experts can paint a detailed picture of external device interactions, identifying not only the devices themselves but also the timeline of their usage and the users involved, which is invaluable for incident response and digital investigations.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Source: <a target="_self" href="https://www.sans.org/posters/windows-forensic-analysis/">https://www.sans.org/posters/windows-forensic-analysis/</a></div>
</div>]]></content:encoded></item><item><title><![CDATA[Tracing the Digital Footprints - Account Usage]]></title><description><![CDATA[In the realm of digital forensics, understanding how accounts are used on a Windows system is critical for piecing together incident timelines, identifying unauthorized access, and validating legitimate user actions. Beyond just file and folder inter...]]></description><link>https://mdcn47.com/tracing-the-digital-footprints-account-usage</link><guid isPermaLink="true">https://mdcn47.com/tracing-the-digital-footprints-account-usage</guid><dc:creator><![CDATA[Mithun Dev]]></dc:creator><pubDate>Sat, 13 Mar 2021 18:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1749991180750/552ef0bb-82a2-488b-8e14-e602bbde655f.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the realm of digital forensics, understanding how accounts are used on a Windows system is critical for piecing together incident timelines, identifying unauthorized access, and validating legitimate user actions. Beyond just file and folder interactions, Windows meticulously logs various aspects of account activity, providing a rich evidentiary trail for investigators. This blog post explores key artifacts under the "Account Usage" category, shedding light on their descriptions, locations, and the invaluable insights they offer.</p>
<hr />
<h3 id="heading-last-login"><strong>Last Login</strong></h3>
<p>The "Last Login" artifact provides a quick snapshot of when local accounts were last accessed.</p>
<ul>
<li><p><strong>Description:</strong> This artifact <strong>lists the local accounts of the system and their equivalent security identifiers</strong>.</p>
</li>
<li><p><strong>Location:</strong> The relevant information can be found within the <strong>SAM (Security Account Manager) hive</strong>, specifically at <code>C:\windows\system32\config\SAM</code> and within the <code>SAM\Domains\Account\Users</code> key.</p>
</li>
<li><p><strong>Interpretation:</strong> It's important to note that <strong>only the last login time will be stored in this registry key</strong>.</p>
</li>
</ul>
<hr />
<h3 id="heading-last-password-change"><strong>Last Password Change</strong></h3>
<p>Tracking password changes is crucial for understanding account hygiene and potential compromise.</p>
<ul>
<li><p><strong>Description:</strong> This artifact <strong>lists the last time the password of a specific local user has been changed</strong>.</p>
</li>
<li><p><strong>Location:</strong> Similar to "Last Login," this information is located within the <strong>SAM hive</strong> at <code>C:\windows\system32\config\SAM</code> and under the <code>SAM\Domains\Account\Users</code> key.</p>
</li>
<li><p><strong>Interpretation:</strong> Like last login, <strong>only the last password change time will be stored in this registry key</strong>.</p>
</li>
</ul>
<hr />
<h3 id="heading-rdp-usage"><strong>RDP Usage</strong></h3>
<p>Remote Desktop Protocol (RDP) activity is a common vector for unauthorized access, making its forensic artifacts highly significant.</p>
<ul>
<li><p><strong>Description:</strong> "RDP Usage" artifacts <strong>track Remote Desktop Protocol logons to target machines</strong>.</p>
</li>
<li><p><strong>Location:</strong> This data is primarily recorded in the <strong>Security Log</strong>. On <strong>Windows 7/8/10 systems</strong>, the relevant log file is found at <code>%SYSTEM ROOT%\System32\winevt\logs\Security.evtx</code>.</p>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>For <strong>Windows 7/8/10</strong>, Event ID <strong>4778</strong> signifies a <strong>Session Connected/Reconnected</strong>.</p>
</li>
<li><p>Event ID <strong>4779</strong> indicates a <strong>Session Disconnected</strong>.</p>
</li>
<li><p>The event log further provides the <strong>hostname and IP address of the remote machine making the connection</strong>.</p>
</li>
<li><p>Forensically, it's a common observation on workstations that a <strong>current console session disconnected (Event ID 4779) is often followed by an RDP connection (Event ID 4778)</strong>.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-services-events"><strong>Services Events</strong></h3>
<p>Services are a frequent target for malware persistence and system manipulation, and their event logs provide critical insights.</p>
<ul>
<li><p><strong>Description:</strong> These events allow investigators to <strong>analyze logs for suspicious services running at boot time</strong> and to <strong>review services started or stopped around the time of a suspected compromise</strong>.</p>
</li>
<li><p><strong>Location:</strong> All relevant Event IDs for services reference the <strong>System Log</strong>. Specific Event IDs include:</p>
<ul>
<li><p><strong>7034</strong>: <strong>Service crashed unexpectedly</strong>.</p>
</li>
<li><p><strong>7035</strong>: <strong>Service sent a Start/Stop control</strong>.</p>
</li>
<li><p><strong>7036</strong>: <strong>Service started or stopped</strong>.</p>
</li>
<li><p><strong>7040</strong>: <strong>Start type changed</strong> (e.g., Boot | On Request | Disabled).</p>
</li>
<li><p><strong>7045</strong>: <strong>A service was installed on the system</strong> (specific to Win2008R2+).</p>
</li>
<li><p><strong>4697</strong>: <strong>A service was installed on the system</strong> (from the Security log).</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>It's important to note that <strong>all Event IDs except 4697 reference the System Log</strong>.</p>
</li>
<li><p>A <strong>large amount of malware and worms in the wild utilize Services</strong> for various malicious purposes.</p>
</li>
<li><p><strong>Services started on boot illustrate persistence</strong>, which is a desirable trait for malware.</p>
</li>
<li><p>Furthermore, <strong>services can crash due to attacks like process injection</strong>.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-logon-types"><strong>Logon Types</strong></h3>
<p>Understanding the "Logon Type" provides granular detail about the method of account authentication.</p>
<ul>
<li><p><strong>Description:</strong> Logon Events provide <strong>very specific information regarding the nature of account authorizations on a system</strong>. Beyond the date, time, username, hostname, and success/failure status of a logon, they enable investigators to determine <strong>exactly by what means a logon was attempted</strong>.</p>
</li>
<li><p><strong>Location:</strong> For <strong>Windows 7/8/10</strong>, the primary Event ID for logon events is <strong>4624</strong>.</p>
</li>
<li><p><strong>Interpretation:</strong> The "Logon Type" field within these events deciphers the method of logon:</p>
</li>
</ul>
<div class="hn-table">
<table>
<thead>
<tr>
<td><strong>2</strong></td><td><strong>Logon via console</strong></td></tr>
</thead>
<tbody>
<tr>
<td><strong>3</strong></td><td><strong>Network Logon</strong></td></tr>
<tr>
<td><strong>4</strong></td><td><strong>Batch Logon</strong></td></tr>
<tr>
<td><strong>5</strong></td><td><strong>Windows Service Logon</strong></td></tr>
<tr>
<td><strong>7</strong></td><td><strong>Credentials used to unlock screen</strong></td></tr>
<tr>
<td><strong>8</strong></td><td><strong>Network logon sending credentials (cleartext)</strong></td></tr>
<tr>
<td><strong>9</strong></td><td><strong>Different credentials used than logged on user</strong></td></tr>
<tr>
<td><strong>10</strong></td><td><strong>Remote interactive logon (RDP)</strong></td></tr>
<tr>
<td><strong>11</strong></td><td><strong>Cached credentials used to logon</strong></td></tr>
<tr>
<td><strong>12</strong></td><td><strong>Cached remote interactive (similar to Type 10)</strong></td></tr>
<tr>
<td><strong>13</strong></td><td><strong>Cached unlock (similar to Type 7)</strong></td></tr>
</tbody>
</table>
</div><hr />
<h3 id="heading-authentication-events"><strong>Authentication Events</strong></h3>
<p>These events offer insight into the underlying authentication protocols used for account verification.</p>
<ul>
<li><p><strong>Description:</strong> This artifact describes the <strong>authentication mechanisms</strong> employed on the system.</p>
</li>
<li><p><strong>Location:</strong> Authentication events are <strong>recorded on the system that authenticated the credentials</strong>.</p>
<ul>
<li><p>For <strong>local account/workgroup authentication</strong>, the events are found on the <strong>workstation</strong>.</p>
</li>
<li><p>For <strong>Domain/Active Directory authentication</strong>, they are found on the <strong>domain controller</strong>.</p>
</li>
<li><p>On <strong>Windows 7/8/10</strong>, these events are typically located in the <strong>Security Event Log</strong> at <code>%SYSTEM ROOT%\System32\winevt\logs\Security.evtx</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> Specific Event ID Codes help interpret the authentication protocol used:</p>
<ul>
<li><p><strong>NTLM protocol</strong>:</p>
<ul>
<li><strong>4776</strong>: Indicates <strong>Successful/Failed account authentication</strong>.</li>
</ul>
</li>
<li><p><strong>Kerberos protocol</strong>:</p>
<ul>
<li><p><strong>4768</strong>: Signifies that a <strong>Ticket Granting Ticket was granted (successful logon)</strong>.</p>
</li>
<li><p><strong>4769</strong>: Indicates a <strong>Service Ticket was requested (access to server resource)</strong>.</p>
</li>
<li><p><strong>4771</strong>: Denotes that <strong>Pre-authentication failed (failed logon)</strong>.</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-successfail-logons"><strong>Success/Fail Logons</strong></h3>
<p>A fundamental aspect of security analysis, these events directly report the outcome of logon attempts.</p>
<ul>
<li><p><strong>Description:</strong> This artifact allows investigators to <strong>determine which accounts have been used for attempted logons</strong> and to <strong>track account usage for known compromised accounts</strong>.</p>
</li>
<li><p><strong>Location:</strong> On <strong>Windows 7/8/10</strong>, these events are found within the <strong>Security Event Log</strong> at <code>%system root%\System32\winevt\logs\Security.evtx</code>.</p>
</li>
<li><p><strong>Interpretation:</strong> The following Event IDs provide clear indications of logon outcomes on <strong>Windows 7/8/10 systems</strong>:</p>
<ul>
<li><p><strong>4624</strong>: Indicates a <strong>Successful Logon</strong>.</p>
</li>
<li><p><strong>4625</strong>: Denotes a <strong>Failed Logon</strong>.</p>
</li>
<li><p><strong>4634 | 4647</strong>: Signify a <strong>Successful Logoff</strong>.</p>
</li>
<li><p><strong>4648</strong>: Represents a <strong>Logon using explicit credentials (Runas)</strong>.</p>
</li>
<li><p><strong>4672</strong>: Indicates an <strong>Account logon with superuser rights (Administrator)</strong>.</p>
</li>
<li><p><strong>4720</strong>: Shows that <strong>An account was created</strong>.</p>
</li>
</ul>
</li>
</ul>
<hr />
<p>By meticulously analyzing these "Account Usage" artifacts, forensic investigators can establish a comprehensive understanding of user and account activities, identify potential security breaches, and piece together the narrative of events that occurred on a Windows system.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Source: <a target="_self" href="https://www.sans.org/posters/windows-forensic-analysis/">https://www.sans.org/posters/windows-forensic-analysis/</a></div>
</div>]]></content:encoded></item><item><title><![CDATA[Tracing the Digital Footprints - Deleted File or File Knowledge]]></title><description><![CDATA[In digital forensics, recovering and understanding information about deleted files, or even just knowledge of files that existed on a system, is paramount. Whether it's to reconstruct events, identify malicious activity, or recover lost data, Windows...]]></description><link>https://mdcn47.com/tracing-the-digital-footprints-deleted-file-or-file-knowledge</link><guid isPermaLink="true">https://mdcn47.com/tracing-the-digital-footprints-deleted-file-or-file-knowledge</guid><dc:creator><![CDATA[Mithun Dev]]></dc:creator><pubDate>Sat, 06 Mar 2021 18:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1749990379007/db79958e-f1d0-4ddd-8cec-4443947f9adc.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In digital forensics, recovering and understanding information about deleted files, or even just knowledge of files that existed on a system, is paramount. Whether it's to reconstruct events, identify malicious activity, or recover lost data, Windows leaves behind a surprising amount of data about what once was. Let's delve into some key artifacts that shed light on "Deleted File or File Knowledge" on a Windows system.</p>
<hr />
<h3 id="heading-xp-search-acmru"><strong>XP Search – ACMRU</strong></h3>
<p>The XP Search – ACMRU artifact provides insight into a user's search history on Windows XP systems.</p>
<ul>
<li><p><strong>Description:</strong> The search assistant on a Windows XP machine allows users to search for a wide range of information. This assistant will <strong>remember a user’s search terms</strong> for filenames, computers, or words that are inside a file, serving as a form of "Search History".</p>
</li>
<li><p><strong>Location:</strong> This artifact is found within the <strong>NTUSER.DAT HIVE</strong>, specifically at <code>NTUSER.DAT\Software\Microsoft\Search Assistant\ACMru\####</code>.</p>
</li>
<li><p><strong>Interpretation:</strong> The <code>####</code> in the location denotes different categories of searches:</p>
<ul>
<li><p><code>5001</code> indicates a search for "Search the Internet".</p>
</li>
<li><p><code>5603</code> indicates a search for "All or part of a document name".</p>
</li>
<li><p><code>5604</code> indicates a search for "A word or phrase in a file".</p>
</li>
<li><p><code>5647</code> indicates a search for "Printers, Computers and People". This artifact can reveal what a user was looking for, even if the files or information themselves are no longer present.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-thumbcache"><strong>Thumbcache</strong></h3>
<p>Thumbcache databases store visual representations of files, providing a glimpse into previously viewed content.</p>
<ul>
<li><p><strong>Description:</strong> The <strong>thumbcache</strong> is a database that contains <strong>thumbnails of pictures, office documents, and folders</strong>. Each user has their own database, which is based on the thumbnail sizes the user has viewed (small, medium, large, and extra-large).</p>
</li>
<li><p><strong>Location:</strong> The thumbcache files are located at <code>C:\%USERPROFILE%\AppData\Local\Microsoft\Windows\Explorer</code>.</p>
</li>
<li><p><strong>Interpretation:</strong> These thumbnail caches are <strong>created when a user switches a folder to thumbnail mode or views pictures via a slideshow</strong>. On Windows 7 and later, four distinct sizes for thumbnails are stored in separate database files, reflecting sizes 32 (small), 96 (medium), 256 (large), and 1024 (extra large). The thumbcache stores a copy of the picture's thumbnail based on the size in the content of the equivalent database file. This means that even if the original image or document file has been deleted, its thumbnail might still exist in the thumbcache, offering evidence that the file was once present and viewed.</p>
</li>
</ul>
<hr />
<h3 id="heading-thumbsdb"><strong>Thumbs.db</strong></h3>
<p>Similar to Thumbcache, Thumbs.db files offer another avenue for uncovering previously viewed images.</p>
<ul>
<li><p><strong>Description:</strong> <code>Thumbs.db</code> is a <strong>hidden file</strong> found in directories where images exist. It stores smaller thumbnail graphics and <strong>catalogs pictures in a folder</strong>, importantly, it stores a copy of the thumbnail <strong>even if the pictures were deleted</strong>.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p>On <strong>Windows XP and Windows 8/8.1</strong>, <code>Thumbs.db</code> is automatically created anywhere with homegroup enabled.</p>
</li>
<li><p>On <strong>Windows 7, 8, and 10</strong>, it is automatically created anywhere and can be accessed via a UNC Path (local or remote).</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> The contents of <code>Thumbs.db</code> include:</p>
<ul>
<li><p>The <strong>Thumbnail Picture of the Original Picture</strong>.</p>
</li>
<li><p><strong>Document Thumbnails</strong>, even if the original document was deleted.</p>
</li>
<li><p><strong>Last Modification Time</strong> (for XP Only).</p>
</li>
<li><p><strong>Original Filename</strong> (for XP Only). This artifact is crucial for identifying images that were once present in a specific folder, even after their deletion.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-ie-edge-file"><strong>IE | Edge</strong> <strong>file://</strong></h3>
<p>This artifact provides a less obvious but powerful way to track local file access.</p>
<ul>
<li><p><strong>Description:</strong> A "little-known fact" is that <strong>Internet Explorer History</strong> is not solely related to Internet browsing. It also records <strong>local, removable, and remote (via network shares) file access</strong>. This makes it an "excellent means for determining which files and applications were accessed on the system, day by day".</p>
</li>
<li><p><strong>Location:</strong> The location varies by Internet Explorer version:</p>
<ul>
<li><p>IE6-7: <code>%USERPROFILE%\Local Settings\History\</code><a target="_blank" href="http://History.IE"><code>History.IE</code></a><code>5</code>.</p>
</li>
<li><p>IE8-9: <code>%USERPROFILE%\AppData\Local\Microsoft\WindowsHistory\</code><a target="_blank" href="http://History.IE"><code>History.IE</code></a><code>5</code>.</p>
</li>
<li><p>IE10-11 &amp; Edge: <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> Entries for local or remote file access are stored in <code>index.dat</code> and appear as [<code>file:///C:/directory/filename.ext</code>](file:///C:/directory/filename.ext). It's important to note that <strong>this does not mean the file was opened within the browser itself</strong>. Instead, it simply indicates that the file was accessed via a path that IE's history tracks.</p>
</li>
</ul>
<hr />
<h3 id="heading-search-wordwheelquery"><strong>Search – WordWheelQuery</strong></h3>
<p>This artifact provides a direct record of user search queries made through the Start menu.</p>
<ul>
<li><p><strong>Description:</strong> This artifact tracks <strong>keywords searched for from the START menu bar</strong> on a Windows 7 machine (and subsequently Windows 8/10).</p>
</li>
<li><p><strong>Location:</strong> This information is stored in the <strong>NTUSER.DAT Hive</strong> at <code>NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery</code>.</p>
</li>
<li><p><strong>Interpretation:</strong> The keywords searched are <strong>added in Unicode</strong> format and are listed in <strong>temporal order</strong> within an MRU (Most Recently Used) list. This can be valuable for understanding what a user was looking for on their system, providing clues about file names or content, even if the files themselves were later deleted or moved.</p>
</li>
</ul>
<hr />
<h3 id="heading-win7810-recycle-bin"><strong>Win7/8/10 Recycle Bin</strong></h3>
<p>The Recycle Bin is often the first place to look for deleted files, offering direct evidence of their removal.</p>
<ul>
<li><p><strong>Description:</strong> The Recycle Bin is a "very important location on a Windows file system to understand" for forensic investigations. Generally, <strong>every file deleted from a Recycle Bin-aware program is first placed in the Recycle Bin</strong>.</p>
</li>
<li><p><strong>Location:</strong> This is a <strong>Hidden System Folder</strong> located at <code>C:\$Recycle.bin</code>. Within this location, the <strong>Deleted Time and Original Filename</strong> of the deleted items are contained in separate files for each recovery file.</p>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>The <strong>Security Identifier (SID)</strong> associated with Recycle Bin contents can be mapped to a specific user via Registry Analysis.</p>
</li>
<li><p>For Windows 7, 8, and 10:</p>
<ul>
<li><p>Files preceded by <code>$I######</code> contain the <strong>Original PATH and name</strong> of the deleted file, along with its <strong>Deletion Date/Time</strong>.</p>
</li>
<li><p>Files preceded by <code>$R######</code> contain the <strong>Recovery Data</strong> (the actual content of the deleted file). The Recycle Bin provides critical information about what was deleted, when, by whom, and from where, potentially allowing for recovery of the original data.</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-last-visited-mru"><strong>Last-Visited MRU</strong></h3>
<p>This artifact links file access to the applications used and the last directories accessed.</p>
<ul>
<li><p><strong>Description:</strong> The Last-Visited MRU tracks the <strong>specific executable used by an application to open the files documented in the OpenSaveMRU key</strong>. Additionally, each value in this artifact tracks the <strong>directory location for the last file that was accessed by that application</strong>. An example given is <code>Notepad.exe</code> last run using the <code>C:\%USERPROFILE%\Desktop</code> folder.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p><strong>Windows XP:</strong> <code>NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedMRU</code>.</p>
</li>
<li><p><strong>Windows 7/8/10:</strong> <code>NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> This key specifically <strong>tracks the application executables used to open files in OpenSaveMRU</strong> and, critically, the <strong>last file path used</strong> by that application. This can provide context on what files were being worked on with what applications, even if the files themselves are no longer directly accessible.</p>
</li>
</ul>
<hr />
<h3 id="heading-xp-recycle-bin"><strong>XP Recycle Bin</strong></h3>
<p>Similar to its modern counterpart, the XP Recycle Bin provides crucial information about deleted files on older Windows systems.</p>
<ul>
<li><p><strong>Description:</strong> The Recycle Bin is a "very important location on a Windows file system to understand" for forensic investigations. Similar to later Windows versions, <strong>every file that is deleted from a Windows recycle bin aware program is generally first put in the recycle bin</strong> on XP.</p>
</li>
<li><p><strong>Location:</strong> This is a <strong>Hidden System Folder</strong> located at <code>C:\RECYCLER</code> for Windows 2000, NT, XP, and 2003. Within this directory, a <strong>subfolder is created with the user’s SID</strong>. A hidden file named <code>INFO2</code> within this subfolder contains the <strong>Deleted Time and Original Filename</strong>. The filename is stored in both ASCII and UNICODE formats.</p>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>The <strong>SID</strong> can be mapped to the specific user via Registry Analysis.</p>
</li>
<li><p>This artifact <strong>maps the file name to the actual name and path it was deleted from</strong>. By examining the XP Recycle Bin, investigators can determine what files were deleted, when, and from where, allowing for a reconstruction of events surrounding file removal on Windows XP systems.</p>
</li>
</ul>
</li>
</ul>
<hr />
<p>By understanding and meticulously analyzing these artifacts, digital forensic investigators can piece together a compelling narrative about file activity, even when explicit files have been removed from the system. These digital breadcrumbs are invaluable for revealing the truth about what happened on a Windows machine.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Source: <a target="_self" href="https://www.sans.org/posters/windows-forensic-analysis/">https://www.sans.org/posters/windows-forensic-analysis/</a></div>
</div>]]></content:encoded></item><item><title><![CDATA[Tracing the Digital Footprints - File/Folder Opening]]></title><description><![CDATA[In the intricate landscape of digital forensics, understanding how users interact with files and folders on a Windows system is paramount. Every open, save, move, or even a simple glance at a folder leaves behind a digital fingerprint, providing crit...]]></description><link>https://mdcn47.com/tracing-the-digital-footprints-filefolder-opening</link><guid isPermaLink="true">https://mdcn47.com/tracing-the-digital-footprints-filefolder-opening</guid><dc:creator><![CDATA[Mithun Dev]]></dc:creator><pubDate>Sat, 27 Feb 2021 18:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1749990461276/4fbe992c-436d-4169-ac20-dbfe809d5a63.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the intricate landscape of digital forensics, understanding how users interact with files and folders on a Windows system is paramount. Every open, save, move, or even a simple glance at a folder leaves behind a digital fingerprint, providing critical clues for investigators. This blog post explores key Windows artifacts under the "File/Folder Opening" category, revealing how they document user activity and can help reconstruct crucial timelines.</p>
<hr />
<h3 id="heading-opensave-mru"><strong>Open/Save MRU</strong></h3>
<p>The Open/Save Most Recently Used (MRU) key is a treasure trove for understanding file interactions.</p>
<ul>
<li><p><strong>Description:</strong> This key <strong>tracks files that have been opened or saved within a Windows shell dialog box</strong>. This includes a vast array of applications, not just web browsers like Internet Explorer and Firefox, but also a <strong>majority of commonly used applications</strong>.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p><strong>XP:</strong> <code>NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU</code>.</p>
</li>
<li><p><strong>Win7/8/10:</strong> <code>NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePIDlMRU</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>The <code>*</code> key within this structure tracks the <strong>most recent files of any extension</strong> that were input in an OpenSave dialog.</p>
</li>
<li><p>Subkeys named after three-letter extensions (e.g., <code>.doc</code>, <code>.pdf</code>) store file information from the OpenSave dialog specific to that extension.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-recent-files"><strong>Recent Files</strong></h3>
<p>Windows keeps a dynamic list of recently accessed files and folders, directly influencing the "Recent" menus available to users.</p>
<ul>
<li><p><strong>Description:</strong> This Registry Key <strong>tracks the last files and folders opened</strong> and is used to populate data in “Recent” menus of the Start menu.</p>
</li>
<li><p><strong>Location:</strong> <code>NTUSER.DAT: NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs</code>.</p>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>The <code>RecentDocs</code> key itself tracks the <strong>overall order of the last 150 files or folders opened</strong>. Its MRU (Most Recently Used) list maintains the <strong>temporal order</strong> in which each file/folder was opened. The <strong>last entry and modification time of this key</strong> will reveal the time and location the last file of a specific extension was opened.</p>
</li>
<li><p>Subkeys named after specific extensions (e.g., <code>.???</code>) store information about the last files with that extension that were opened. Their MRU lists also track temporal order.</p>
</li>
<li><p>The <code>Folder</code> subkey tracks the <strong>last folders that were opened</strong>, with its MRU list maintaining their temporal order. The last entry and modification time of this key identifies the time and location of the last folder opened.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-jump-lists"><strong>Jump Lists</strong></h3>
<p>Introduced with Windows 7, Jump Lists provide a quick way for users to access frequently or recently used items, but also serve as a forensic goldmine.</p>
<ul>
<li><p><strong>Description:</strong> The Windows 7 taskbar (Jump List) is designed to allow users to <strong>"jump" or access items they have frequently or recently used quickly and easily</strong>. This functionality includes not only recent media files but also recent tasks. The data is stored in the <strong>AutomaticDestinations folder</strong>, where each unique file is prepended with the AppID of its associated application and contains embedded LNK files within its streams.</p>
</li>
<li><p><strong>Location:</strong> <strong>Win7/8/10:</strong> <code>C:\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations</code>.</p>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>The <strong>Creation Time</strong> of an item indicates the <strong>first time of execution of the application</strong>, or when the item was first added to the AppID file.</p>
</li>
<li><p>The <strong>Modification Time</strong> indicates the <strong>last time of execution of the application when a file was open</strong>, or when the item was last added to the AppID file.</p>
</li>
<li><p>Forensic investigators can use a Structured Storage Viewer to open these AutomaticDestination jumplist files. Each one is a <strong>separate LNK file</strong>, numerically stored in order from the earliest (usually 1) to the most recent (largest integer value). A list of Jump List IDs is available online for further reference.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-shell-bags"><strong>Shell Bags</strong></h3>
<p>Shell Bags offer valuable insights into a user's browsing of folders, even those that no longer exist.</p>
<ul>
<li><p><strong>Description:</strong> Shell Bags track <strong>which folders were accessed on the local machine, the network, and/or removable devices</strong>. They can provide <strong>evidence of previously existing folders after deletion/overwrite</strong> and when certain folders were accessed.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p><strong>Explorer Access:</strong></p>
<ul>
<li><p><code>USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\Bags</code>.</p>
</li>
<li><p><code>USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\BagMRU</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Desktop Access:</strong></p>
<ul>
<li><p><code>NTUSER.DAT\Software\Microsoft\Windows\Shell\BagMRU</code>.</p>
</li>
<li><p><code>NTUSER.DAT\Software\Microsoft\Windows\Shell\Bags</code>.</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> Shell Bags store information about <strong>which folders were most recently browsed by the user</strong>.</p>
</li>
</ul>
<hr />
<h3 id="heading-shortcut-lnk-files"><strong>Shortcut (LNK) Files</strong></h3>
<p>Windows automatically creates shortcut files, which are a rich source of information about accessed files and their locations.</p>
<ul>
<li><p><strong>Description:</strong> Shortcut Files (<code>.lnk</code>) are <strong>automatically created by Windows</strong> for "Recent Items" and whenever local or remote data files and documents are opened.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p><strong>XP:</strong> <code>C:\%USERPROFILE%\Recent</code>.</p>
</li>
<li><p><strong>Win7/8/10:</strong></p>
<ul>
<li><p><code>C:\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\</code>.</p>
</li>
<li><p><code>C:\%USERPROFILE%\AppData\Roaming\Microsoft\Office\Recent\</code>.</p>
</li>
</ul>
</li>
<li><p>It's important to note that while these are primary locations, LNK files can also be found elsewhere on the system.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>The <strong>Creation Date</strong> of the Shortcut (LNK) File indicates the <strong>date/time the file of that name was first opened</strong>.</p>
</li>
<li><p>The <strong>Last Modification Date</strong> of the Shortcut (LNK) File indicates the <strong>date/time the file of that name was last opened</strong>.</p>
</li>
<li><p><strong>LNKTarget File Data (Internal LNK File Information)</strong> provides critical details about the target file, including:</p>
<ul>
<li><p><strong>Modified, Access, and Creation times</strong> of the target file itself.</p>
</li>
<li><p><strong>Volume Information</strong> (Name, Type, Serial Number) where the target file resided.</p>
</li>
<li><p><strong>Network Share information</strong> if it was accessed remotely.</p>
</li>
<li><p>The <strong>Original Location</strong> of the file.</p>
</li>
<li><p>The <strong>Name of the System</strong> where the file was located.</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-prefetch"><strong>Prefetch</strong></h3>
<p>Prefetch files are primarily for system performance optimization, but they inadvertently record valuable execution history for forensic analysis.</p>
<ul>
<li><p><strong>Description:</strong> Prefetch increases system performance by pre-loading code pages of commonly used applications. The Cache Manager monitors all files and directories referenced for each application or process and maps them into a <code>.pf</code> file. This artifact is <strong>utilized to know if an application was executed on a system</strong>.</p>
<ul>
<li><p><strong>Limitations:</strong> Limited to 128 files on XP and Win7, and 1024 files on Win8 and Win8-10.</p>
</li>
<li><p>Files are named in the format <code>(exename)-(hash).pf</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Location:</strong> <strong>WinXP/7/8/10:</strong> <code>C:\Windows\Prefetch</code>.</p>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>Each <code>.pf</code> file includes the <strong>last time of execution</strong>, the <strong>number of times the program was run</strong>, and the <strong>device and file handles used</strong> by the program.</p>
</li>
<li><p>The <strong>Creation Date of the</strong> <code>.pf</code> file (minus 10 seconds) indicates the <strong>date/time the file by that name and path was first executed</strong>.</p>
</li>
<li><p>The <strong>embedded last execution time</strong> within the <code>.pf</code> file, or the <strong>Last modification date of the</strong> <code>.pf</code> file (minus 10 seconds), indicates the <strong>date/time the file by that name and path was last executed</strong>.</p>
</li>
<li><p><strong>Win8-10 systems will contain the last 8 times of execution</strong>. Additionally, these files can be examined for recently used file handles and device handles.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-last-visited-mru"><strong>Last-Visited MRU</strong></h3>
<p>Complementing the Open/Save MRU, this artifact narrows down the specific executable and path for the last accessed file.</p>
<ul>
<li><p><strong>Description:</strong> This artifact <strong>tracks the specific executable used by an application to open the files documented in the OpenSaveMRU key</strong>. Furthermore, each value tracks the <strong>directory location for the last file that was accessed by that application</strong>. An example given is "Notepad.exe was last run using the C:\Users\Rob\Desktop folder".</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p><strong>XP:</strong> <code>NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedMRU</code>.</p>
</li>
<li><p><strong>Win7/8/10:</strong> <code>NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> This artifact directly tracks the <strong>application executables used to open files in OpenSaveMRU and the last file path used</strong>.</p>
</li>
</ul>
<hr />
<h3 id="heading-ie-edge-file"><strong>IE | Edge</strong> file://</h3>
<p>Often overlooked, browser history can record much more than just internet browsing.</p>
<ul>
<li><p><strong>Description:</strong> A little-known fact about the Internet Explorer (IE) History is that the information stored within its history files is <strong>not solely related to Internet browsing</strong>. The history also records <strong>local, removable, and remote (via network shares) file access</strong>, providing an <strong>excellent means for determining which files and applications were accessed on the system, day by day</strong>.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p><strong>Internet Explorer:</strong></p>
<ul>
<li><p><strong>IE6-7:</strong> <code>%USERPROFILE%\Local Settings\History\</code><a target="_blank" href="http://History.IE"><code>History.IE</code></a><code>5</code>.</p>
</li>
<li><p><strong>IE8-9:</strong> <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\History\</code><a target="_blank" href="http://History.IE"><code>History.IE</code></a><code>5</code>.</p>
</li>
<li><p><strong>IE10-11:</strong> <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat</code>.</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>This information is stored in <code>index.dat</code> files, typically formatted as: [<code>file:///C:/directory/filename.ext</code>](file:///C:/directory/filename.ext).</p>
</li>
<li><p>It is crucial to understand that the presence of such an entry <strong>does not mean the file was opened within the browser itself</strong>, but simply that the file was accessed.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-office-recent-files"><strong>Office Recent Files</strong></h3>
<p>Microsoft Office applications maintain their own internal logs of recently opened documents, offering specific insights into productivity and file interaction.</p>
<ul>
<li><p><strong>Description:</strong> Microsoft Office programs <strong>track their own "Recent Files" list</strong> to make it easier for users to remember the last file they were editing.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p><code>NTUSER.DAT\Software\Microsoft\Office\VERSION</code>, where <code>VERSION</code> corresponds to:</p>
<ul>
<li><p><code>10.0</code> = Office XP.</p>
</li>
<li><p><code>11.0</code> = Office 2003.</p>
</li>
<li><p><code>12.0</code> = Office 2007.</p>
</li>
<li><p><code>14.0</code> = Office 2010.</p>
</li>
</ul>
</li>
<li><p><code>NTUSER.DAT\Software\Microsoft\Office\VERSION\UserMRU\LiveID_####\FileMRU</code>, specifically for:</p>
<ul>
<li><code>15.0</code> = Office 365.</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> Similar to the general "Recent Files" artifact, this tracks the <strong>last files that were opened by each specific MS Office application</strong>. The <strong>last entry added, according to the MRU</strong>, signifies the time the last file was opened by that particular MS Office application.</p>
</li>
</ul>
<hr />
<p>By meticulously examining these "File/Folder Opening" artifacts, digital forensic investigators can reconstruct detailed timelines of user activity, identify accessed documents, and uncover crucial evidence related to data manipulation, exfiltration, or general system usage.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Source: <a target="_self" href="https://www.sans.org/posters/windows-forensic-analysis/">https://www.sans.org/posters/windows-forensic-analysis/</a></div>
</div>]]></content:encoded></item><item><title><![CDATA[Tracing the Digital Footprints - Network Activity/Physical Location]]></title><description><![CDATA[In the intricate world of digital forensics, understanding a system's network interactions and even its physical movements can be crucial for an investigation. Windows operating systems leave behind a wealth of data, often unintentionally, that can h...]]></description><link>https://mdcn47.com/tracing-the-digital-footprints-network-activityphysical-location</link><guid isPermaLink="true">https://mdcn47.com/tracing-the-digital-footprints-network-activityphysical-location</guid><dc:creator><![CDATA[Mithun Dev]]></dc:creator><pubDate>Sat, 20 Feb 2021 18:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1749990688269/008312ec-f5f4-4a84-ae7d-b392c43bcff1.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the intricate world of digital forensics, understanding a system's network interactions and even its physical movements can be crucial for an investigation. Windows operating systems leave behind a wealth of data, often unintentionally, that can help reconstruct a timeline of events, identify user behavior, and even pinpoint geographical locations. This post delves into key artifacts that shed light on "Network Activity" and "Physical Location" aspects of a Windows machine.</p>
<hr />
<h3 id="heading-timezone"><strong>Timezone</strong></h3>
<p>Understanding the system's timezone is fundamental for accurately correlating all other time-stamped activities.</p>
<ul>
<li><p><strong>Description:</strong> This artifact <strong>identifies the current system time zone</strong>.</p>
</li>
<li><p><strong>Location:</strong> The timezone information is located in the <strong>SYSTEM Hive</strong>, specifically at <code>SYSTEM\CurrentControlSet\Control\TimeZoneInformation</code>.</p>
</li>
<li><p><strong>Interpretation:</strong> Time activity is <strong>incredibly useful for correlation of activity</strong> across various logs and artifacts. Internal log files and date/timestamps will be based on the system's configured time zone. It's also vital for correlating information with other network devices, ensuring all timelines align accurately.</p>
</li>
</ul>
<hr />
<h3 id="heading-cookies"><strong>Cookies</strong></h3>
<p>Cookies offer valuable insights into a user's web browsing habits and online interactions.</p>
<ul>
<li><p><strong>Description:</strong> Cookies <strong>give insight into what websites have been visited and what activities may have taken place there</strong>.</p>
</li>
<li><p><strong>Location:</strong> The location of cookies varies by browser and Windows version:</p>
<ul>
<li><p><strong>Internet Explorer:</strong></p>
<ul>
<li><p>IE6-8 and IE10: <code>%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Cookies</code>.</p>
</li>
<li><p>IE11: <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\INetCookies</code>.</p>
</li>
<li><p>Edge: <code>%USERPROFILE%\AppData\Local\Packages\microsoft.microsoftedge_&lt;APPID&gt;\AC\MicrosoftEdge\Cookies</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Firefox:</strong></p>
<ul>
<li><p>XP: <code>%USERPROFILE%\Application Data\Mozilla\Firefox\Profiles\&lt;random text&gt;.default\cookies.sqlite</code>.</p>
</li>
<li><p>Win7/8/10: <code>%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\&lt;randomtext&gt;.default\cookies.sqlite</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Chrome:</strong></p>
<ul>
<li><p>XP: <code>%USERPROFILE%\Local Settings\ApplicationData\Google\Chrome\User Data\Default\Local Storage</code>.</p>
</li>
<li><p>Win7/8/10: <code>%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Local Storage</code>.</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> While the general description highlights their use for understanding visited websites and activities, specific types like <strong>Google Analytics Cookies</strong> provide even deeper insights. For instance, <code>__utma</code> tracks <strong>unique visitors</strong>, including domain hash, visitor ID, cookie creation time, time of most and second most recent visits, and number of visits. <code>__utmb</code> aids in <strong>session tracking</strong>, noting domain hash, page views in the current session, outbound link clicks, and when the current session started. Lastly, <code>__utmz</code> focuses on <strong>traffic sources</strong>, revealing the domain hash, last update time, and number of visits.</p>
</li>
</ul>
<hr />
<h3 id="heading-network-history"><strong>Network History</strong></h3>
<p>This artifact is critical for identifying the networks a computer has connected to, providing a historical record of its network environments.</p>
<ul>
<li><p><strong>Description:</strong> This artifact <strong>identifies networks that the computer has been connected to</strong>. This includes both <strong>wireless or wired networks</strong>, and helps to identify the <strong>domain name/intranet name, SSID</strong>, and <strong>Gateway MAC Address</strong>.</p>
</li>
<li><p><strong>Location:</strong> On Windows 7/8/10, these details are stored in the <strong>SOFTWARE HIVE</strong> at several locations:</p>
<ul>
<li><p><code>SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged</code>.</p>
</li>
<li><p><code>SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Managed</code>.</p>
</li>
<li><p><code>SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Nla\Cache</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> Identifying intranets and networks a computer has connected to is <strong>incredibly important</strong> for investigations. Forensicators can determine the <strong>intranet name</strong> and the <strong>last time the network was connected to</strong> based on the last write time of the key. This also reveals any networks that have been connected to via a <strong>VPN</strong>. Furthermore, the <strong>MAC Address of the SSID for the Gateway could potentially be physically triangulated</strong>.</p>
</li>
</ul>
<hr />
<h3 id="heading-wlan-event-log"><strong>WLAN Event Log</strong></h3>
<p>For wireless network connections, the WLAN Event Log provides a detailed history, aiding in physical location determination.</p>
<ul>
<li><p><strong>Description:</strong> The WLAN Event Log helps <strong>determine what wireless networks the system associated with and identify network characteristics to find location</strong>. Key Event IDs include:</p>
<ul>
<li><p><code>11000</code>: Wireless network association started.</p>
</li>
<li><p><code>8001</code>: Successful connection to a wireless network.</p>
</li>
<li><p><code>8002</code>: Failed connection to a wireless network.</p>
</li>
<li><p><code>8003</code>: Disconnect from a wireless network.</p>
</li>
<li><p><code>6100</code>: Network diagnostics (found in the System log).</p>
</li>
</ul>
</li>
<li><p><strong>Location:</strong> This log is found at <code>Microsoft-Windows-WLAN-AutoConfig Operational.evtx</code>.</p>
</li>
<li><p><strong>Interpretation:</strong> This artifact <strong>shows a historical record of wireless network connections</strong>. It contains both the <strong>SSID</strong> and <strong>BSSID (MAC address)</strong>, which <strong>can be used to geolocate the wireless access point</strong> (though BSSID is not present on Win8+ systems).</p>
</li>
</ul>
<hr />
<h3 id="heading-browser-search-terms"><strong>Browser Search Terms</strong></h3>
<p>While often associated with general browsing history, browser artifacts also explicitly record search terms entered into search engines.</p>
<ul>
<li><p><strong>Description:</strong> The browser's history records <strong>websites visited by date and time</strong>, with details stored for each local user account, including the number of times visited (frequency). It also tracks access to local system files. Crucially for this section, the history <strong>will also include the website history of search terms in search engines</strong>.</p>
</li>
<li><p><strong>Location:</strong> The locations vary by browser and operating system:</p>
<ul>
<li><p><strong>Internet Explorer:</strong></p>
<ul>
<li><p>IE6-7: <code>%USERPROFILE%\Local Settings\History\</code><a target="_blank" href="http://History.IE"><code>History.IE</code></a><code>5</code>.</p>
</li>
<li><p>IE8-9: <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\History\</code><a target="_blank" href="http://History.IE"><code>History.IE</code></a><code>5</code>.</p>
</li>
<li><p>IE10-11, Edge: <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Firefox:</strong></p>
<ul>
<li><p>XP: <code>%userprofile%\Application Data\Mozilla\Firefox\Profiles\&lt;random text&gt;.default\places.sqlite</code>.</p>
</li>
<li><p>Win7/8/10: <code>%userprofile%\AppData\Roaming\Mozilla\Firefox\Profiles\&lt;random text&gt;.default\places.sqlite</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Chrome:</strong></p>
<ul>
<li><p>XP: <code>%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\History</code>.</p>
</li>
<li><p>Win7/8/10: <code>%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\History</code>.</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> The history records can reveal <strong>many sites that list files opened from remote sites and downloaded</strong> to the local system. It also records <strong>access to files on websites that were accessed via a link</strong>. Specifically, the inclusion of <strong>search terms from search engines</strong> can indicate a user's intent or areas of interest, even if the resulting files or websites are no longer present.</p>
</li>
</ul>
<hr />
<h3 id="heading-system-resource-usage-monitor-srum"><strong>System Resource Usage Monitor (SRUM)</strong></h3>
<p>SRUM provides a rich dataset of system performance and network activity, offering a broad view of applications and their resource consumption.</p>
<ul>
<li><p><strong>Description:</strong> SRUM <strong>records 30 to 60 days of historical system performance</strong>. This includes <strong>applications run, the user account responsible for each</strong>, and <strong>application and bytes sent/received per application per hour</strong>.</p>
</li>
<li><p><strong>Location:</strong> SRUM data is found in the <strong>SOFTWARE Registry Hive</strong> and an associated database file:</p>
<ul>
<li><p>Registry keys: <code>SOFTWARE\Microsoft\WindowsNT\CurrentVersion\SRUM\Extensions</code>.</p>
<ul>
<li><p>Specific GUIDs within Extensions include:</p>
<ul>
<li><p><code>{d10ca2fe-6fcf-4f6d-848e-b2e99266fa89}</code>: Application Resource Usage Provider.</p>
</li>
<li><p><code>{973F5D5C-1D90-4944-BE8E-24B94231A174}</code>: Windows Network Data Usage Monitor.</p>
</li>
<li><p><code>{DD6636C4-8929-4683-974E-22C046A43763}</code>: Windows Network Connectivity Usage Monitor.</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>Additional location: <code>SOFTWARE\Microsoft\WlanSvc\Interfaces\</code>.</p>
</li>
<li><p>Database file: <code>C:\Windows\System32\SRU\</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> To interpret SRUM data, forensicators should <strong>use tools such as</strong> <code>srum_dump.exe</code> to cross correlate the data between the registry keys and the SRUM ESE Database. This correlation allows for a comprehensive understanding of an application's network activity and overall resource usage over a significant historical period.</p>
</li>
</ul>
<hr />
<p>By leveraging these powerful Windows artifacts, forensic investigators can meticulously piece together a comprehensive picture of a system's network engagements and even its movements, providing critical intelligence for any digital investigation.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Source: <a target="_self" href="https://www.sans.org/posters/windows-forensic-analysis/">https://www.sans.org/posters/windows-forensic-analysis/</a></div>
</div>]]></content:encoded></item><item><title><![CDATA[Tracing the Digital Footprints - File Download]]></title><description><![CDATA[Understanding how files arrive and are handled on a Windows system is a cornerstone of digital forensics. From everyday documents to potentially malicious software, every downloaded file leaves a trail. This blog post delves into key Windows artifact...]]></description><link>https://mdcn47.com/tracing-the-digital-footprints-file-download</link><guid isPermaLink="true">https://mdcn47.com/tracing-the-digital-footprints-file-download</guid><category><![CDATA[DFIR]]></category><dc:creator><![CDATA[Mithun Dev]]></dc:creator><pubDate>Sat, 13 Feb 2021 18:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1749990825890/871d814b-703f-4dd0-b52c-59e6949a7592.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Understanding how files arrive and are handled on a Windows system is a cornerstone of digital forensics. From everyday documents to potentially malicious software, every downloaded file leaves a trail. This blog post delves into key Windows artifacts that provide invaluable insights into file download activities.</p>
<hr />
<h3 id="heading-opensave-mru"><strong>Open/Save MRU</strong></h3>
<p>The "Open/Save MRU" (Most Recently Used) key is a fundamental artifact for tracking user interaction with files.</p>
<ul>
<li><p><strong>Description:</strong> This key tracks files that have been <strong>opened or saved within a Windows shell dialog box</strong>. It represents a significant data set, encompassing not only web browsers like Internet Explorer and Firefox, but also a majority of commonly used applications.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p><strong>Windows XP:</strong> <code>NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU</code>.</p>
</li>
<li><p><strong>Windows 7/8/10:</strong> <code>NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePIDlMRU</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong></p>
<ul>
<li><p>The <strong>"*" key</strong> within this artifact tracks the <strong>most recent files of any extension</strong> that were input in an Open/Save dialog.</p>
</li>
<li><p>Subkeys named after <strong>three-letter extensions</strong> (<code>.???</code>) store file information from the Open/Save dialog specifically by that extension.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-email-attachments"><strong>Email Attachments</strong></h3>
<p>Email attachments are a primary method for file transfer, leaving distinct forensic traces on a system.</p>
<ul>
<li><p><strong>Description:</strong> The email industry estimates that <strong>80% of email data is stored via attachments</strong>. Since email standards fundamentally allow only text, attachments must be <strong>encoded using MIME/base64 format</strong> for transfer.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p><strong>Outlook XP:</strong> <code>%USERPROFILE%\Local Settings\ApplicationData\Microsoft\Outlook</code>.</p>
</li>
<li><p><strong>Windows 7/8/10:</strong> <code>%USERPROFILE%\AppData\Local\Microsoft\Outlook</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> Microsoft Outlook data files, such as <strong>OST and PST files</strong>, can be found in these locations. Additionally, forensic investigators should examine the <strong>OLK and Content.Outlook folders</strong>, as their roaming behavior can depend on the specific Outlook version used.</p>
</li>
</ul>
<hr />
<h3 id="heading-skype-history"><strong>Skype History</strong></h3>
<p>Communication platforms like Skype often log file transfers, which can be critical for investigations.</p>
<ul>
<li><p><strong>Description:</strong> Skype history maintains a log of <strong>chat sessions and files transferred</strong> from one machine to another. This logging functionality is <strong>enabled by default</strong> in Skype installations.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p><strong>Windows XP:</strong> <code>C:\Documents and Settings\&lt;username&gt;\Application\Skype\&lt;skype-name&gt;</code>.</p>
</li>
<li><p><strong>Windows 7/8/10:</strong> <code>C:\%USERPROFILE%\AppData\Roaming\Skype\&lt;skype-name&gt;</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> Each entry within the Skype history will include a <strong>date/time value and a Skype username</strong> associated with the recorded action.</p>
</li>
</ul>
<hr />
<h3 id="heading-browser-artifacts-history"><strong>Browser Artifacts (History)</strong></h3>
<p>While not directly focused on file downloads, browser history can provide crucial context and indirect evidence of such activities.</p>
<ul>
<li><p><strong>Description:</strong> Browser history records <strong>websites visited by date and time</strong>. It stores details for each local user account, including the <strong>frequency (number of times visited)</strong>. Importantly, it also <strong>tracks access to local system files</strong>. A "little-known fact" is that Internet Explorer history, in particular, records <strong>local, removable, and remote (via network shares) file access</strong>, providing an excellent means to determine which files and applications were accessed on the system daily. Search terms used in search engines may also be included.</p>
</li>
<li><p><strong>Location:</strong> The specific location varies by browser and Windows version:</p>
<ul>
<li><p><strong>Internet Explorer:</strong></p>
<ul>
<li><p>IE6-7: <code>%USERPROFILE%\Local Settings\History\</code><a target="_blank" href="http://History.IE"><code>History.IE</code></a><code>5</code>.</p>
</li>
<li><p>IE8-9: <code>%USERPROFILE%\AppData\Local\Microsoft\WindowsHistory\</code><a target="_blank" href="http://History.IE"><code>History.IE</code></a><code>5</code>.</p>
</li>
<li><p>IE10-11 &amp; Edge: <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Firefox:</strong></p>
<ul>
<li><p>XP (v3-25): <code>%userprofile%\Application Data\Mozilla\Firefox\Profiles\&lt;random text&gt;.default\places.sqlite</code>.</p>
</li>
<li><p>Win7/8/10 (v26+): <code>%userprofile%\AppData\Roaming\Mozilla\Firefox\Profiles\&lt;random text&gt;.default\places.sqlite</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Chrome:</strong></p>
<ul>
<li><p>XP: <code>%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data\Default\History</code>.</p>
</li>
<li><p>Win7/8/10: <code>%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\History</code>.</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> Browser history can reveal <strong>numerous sites that listed files opened from remote sites and subsequently downloaded to the local system</strong>. It records access to files on websites that were accessed via a link. For Internet Explorer, entries stored in <code>index.dat</code> as [<code>file:///C:/directory/filename.ext</code>](file:///C:/directory/filename.ext) indicate local or remote file access, but this <strong>does not necessarily imply the file was opened within the browser itself</strong>.</p>
</li>
</ul>
<hr />
<h3 id="heading-downloads-browser-download-manager-history"><strong>Downloads (Browser Download Manager History)</strong></h3>
<p>Beyond general history, browsers often keep a dedicated log of downloaded files, offering direct evidence of download activity.</p>
<ul>
<li><p><strong>Description:</strong> Firefox and Internet Explorer incorporate <strong>built-in download manager applications</strong> that meticulously record a history of <strong>every file downloaded by the user</strong>. This specific browser artifact is an "excellent" source of information regarding the <strong>websites a user has visited and the types of files they have been downloading</strong> from those sites.</p>
</li>
<li><p><strong>Location:</strong></p>
<ul>
<li><p><strong>Firefox:</strong></p>
<ul>
<li><p>XP: <code>%userprofile%\Application Data\Mozilla\Firefox\Profiles\&lt;random text&gt;.default\downloads.sqlite</code>.</p>
</li>
<li><p>Win7/8/10: <code>%userprofile%\AppData\Roaming\Mozilla\Firefox\Profiles\&lt;random text&gt;.default\downloads.sqlite</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Internet Explorer:</strong></p>
<ul>
<li><p>IE8-9: <code>%USERPROFILE%\AppData\Roaming\Microsoft\Windows\IEDownloadHistory\</code>.</p>
</li>
<li><p>IE10-11: <code>%USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat</code>.</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>Interpretation:</strong> These download history artifacts offer a wealth of information, including:</p>
<ul>
<li><p>The <strong>Filename, Size, and Type</strong> of the downloaded file.</p>
</li>
<li><p>The <strong>originating URL (</strong><code>Download from</code>) and the <code>Referring Page</code>.</p>
</li>
<li><p>The <code>File Save Location</code> on the local system.</p>
</li>
<li><p>The <code>Application Used to Open File</code>.</p>
</li>
<li><p>The <code>Download Start and End Times</code>.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-ads-zoneidentifier"><strong>ADS Zone.Identifier</strong></h3>
<p>A subtle but powerful artifact, the "Zone.Identifier" is an Alternate Data Stream (ADS) that tags the origin of downloaded files.</p>
<ul>
<li><p><strong>Description:</strong> Beginning with <strong>Windows XP SP2</strong>, whenever files are downloaded from the "Internet Zone" via a browser to an NTFS volume, an <strong>alternate data stream (ADS)</strong> named "Zone.Identifier" is automatically appended to that file. This stream serves as a digital marker, indicating the file's source.</p>
</li>
<li><p><strong>Location:</strong> This artifact is <strong>not a standalone file or registry entry</strong>; instead, it is an <strong>alternate data stream embedded directly within the downloaded file itself</strong> on an NTFS volume.</p>
</li>
<li><p><strong>Interpretation:</strong> The presence of the "Zone.Identifier" explicitly indicates that a file was <strong>downloaded from the "Internet Zone"</strong>. This provides a potent piece of evidence for understanding the initial entry point of a specific file onto the system.</p>
</li>
</ul>
<hr />
<p>These artifacts, when analyzed individually and correlated, provide a robust framework for reconstructing file download events and understanding user behavior on a Windows system. They are indispensable tools in any digital forensic investigation.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Source: <a target="_self" href="https://www.sans.org/posters/windows-forensic-analysis/">https://www.sans.org/posters/windows-forensic-analysis/</a></div>
</div>]]></content:encoded></item><item><title><![CDATA[Tracing the Digital Footprints - Program Execution]]></title><description><![CDATA[In the realm of digital forensics, understanding how and when programs were executed on a Windows system is paramount. These insights can unravel the narrative of an incident, identify malicious activity, or reconstruct user behavior. Windows operati...]]></description><link>https://mdcn47.com/tracing-the-digital-footprints-program-execution</link><guid isPermaLink="true">https://mdcn47.com/tracing-the-digital-footprints-program-execution</guid><dc:creator><![CDATA[Mithun Dev]]></dc:creator><pubDate>Sun, 07 Feb 2021 18:30:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/cvBBO4PzWPg/upload/612f228cf92fd10ab5dcd03dca9dae47.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the realm of digital forensics, understanding how and when programs were executed on a Windows system is paramount. These insights can unravel the narrative of an incident, identify malicious activity, or reconstruct user behavior. Windows operating systems, by design, leave behind a trail of artifacts that, when properly analyzed, provide invaluable evidence of program execution. Let's delve into some key artifacts that shed light on this critical aspect of forensic investigations.</p>
<hr />
<h3 id="heading-userassist">UserAssist</h3>
<p>The <strong>UserAssist</strong> artifact tracks GUI-based programs that have been launched from the desktop environment on a Windows system.</p>
<ul>
<li><p><strong>Location</strong>: You'll find this data within the <strong>NTUSER.DAT HIVE</strong>, specifically at <code>NTUSER.DAT\Software\Microsoft\Windows\Currentversion\Explorer\UserAssist\{GUID}\Count</code>.</p>
</li>
<li><p><strong>Interpretation</strong>: The values stored here are <strong>ROT-13 Encoded</strong>, meaning they need to be decoded to reveal the actual program names. The specific GUID (Globally Unique Identifier) can tell you more about the type of execution:</p>
<ul>
<li><p>For <strong>Windows XP</strong>, the GUID <code>75048700</code> signifies "Active Desktop".</p>
</li>
<li><p>For <strong>Windows 7, 8, and 10</strong>, <code>CEBFF5CD</code> indicates "Executable File Execution," while <code>F4E57C4B</code> points to "Shortcut File Execution".</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-windows-10-timeline">Windows 10 Timeline</h3>
<p>Windows 10 introduced a "timeline" feature that records recently used applications and files, accessible via the "WIN+TAB" key. This data is meticulously stored in a SQLite database.</p>
<ul>
<li><p><strong>Location</strong>: The timeline data resides at <code>C:\Users\&lt;profile&gt;\AppData\Local\ConnectedDevicesPlatform\&lt;random-name-folder&gt;\ActivitiesCache.db</code>.</p>
</li>
<li><p><strong>Interpretation</strong>: This artifact provides crucial information about <strong>application execution</strong> and even the <strong>focus count per application</strong>, offering insights into user interaction and engagement with specific programs.</p>
</li>
</ul>
<hr />
<h3 id="heading-bamdam">BAM/DAM</h3>
<p>The Windows <strong>Background Activity Moderator (BAM)</strong>, and its related artifact DAM, are particularly useful for understanding background processes.</p>
<ul>
<li><p><strong>Location</strong>: On Windows 10 systems, these artifacts can be found in the SYSTEM hive: <code>SYSTEM\CurrentControlSet\Services\bam\UserSettings\{SID}</code> and <code>SYSTEM\CurrentControlSet\Services\dam\UserSettings\{SID}</code>.</p>
</li>
<li><p><strong>Interpretation</strong>: BAM and DAM provide the <strong>full path of the executable file that was run</strong> on the system, along with its <strong>last execution date/time</strong>. This can be vital for tracking both legitimate and unauthorized background activity.</p>
</li>
</ul>
<hr />
<h3 id="heading-shimcache-appcompatcache">Shimcache (AppCompatCache)</h3>
<p>The <strong>Windows Application Compatibility Database</strong>, often referred to as Shimcache or AppCompatCache, is a powerful artifact used by Windows to address potential application compatibility issues with executables.</p>
<ul>
<li><p><strong>Location</strong>:</p>
<ul>
<li><p>On <strong>Windows XP</strong>, it's found at <code>SYSTEM\CurrentControlSet\Control\SessionManager\AppCompatibility</code>.</p>
</li>
<li><p>For <strong>Windows 7, 8, and 10</strong>, the location is <code>SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation</strong>: <strong>Any executable run on the Windows system could potentially be found in this key</strong>. This makes it an excellent resource for identifying systems where specific malware might have been executed. The time-based data within Shimcache can help determine the <strong>last time of execution or activity</strong> on the system.</p>
<ul>
<li><p><strong>Windows XP</strong> systems will contain at most 96 entries, and the <code>LastUpdateTime</code> is updated when files are executed.</p>
</li>
<li><p><strong>Windows 7</strong> systems can have up to 1,024 entries, but the <code>LastUpdateTime</code> field does not exist.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-amcachehve">Amcache.hve</h3>
<p>The <code>Amcache.hve</code> registry file is utilized by the <code>ProgramDataUpdater</code> task (associated with the Application Experience Service) to store data during process creation.</p>
<ul>
<li><p><strong>Location</strong>: On Windows 7, 8, and 10, this file is located at <code>C:\Windows\AppCompat\Programs\Amcache.hve</code>.</p>
</li>
<li><p><strong>Interpretation</strong>: Amcache.hve contains an <strong>entry for every executable that has been run</strong>. This includes critical details such as the <strong>full path information</strong> of the executable, its <code>$StandardInfo</code> <code>Last Modification Time</code>, and the Disk volume from which it was executed. Notably, the <strong>First Run Time</strong> is equivalent to the Last Modification Time of the key itself. Furthermore, the <strong>SHA1 hash of the executable</strong> is also stored within the key, providing a valuable identifier for forensic analysis.</p>
</li>
</ul>
<hr />
<h3 id="heading-system-resource-usage-monitor-srum">System Resource Usage Monitor (SRUM)</h3>
<p>The <strong>System Resource Usage Monitor (SRUM)</strong> logs historical system performance, typically for 30 to 60 days. It records applications run, the user account responsible for each, and network activity (bytes sent/received) per application per hour.</p>
<ul>
<li><p><strong>Location</strong>: SRUM data is found in a registry key: <code>SOFTWARE\Microsoft\WindowsNT\CurrentVersion\SRUM\Extensions\{d10ca2fe-6fcf-4f6d-848e-b2e99266fa89}</code> (Application Resource Usage Provider), and in an ESE database at <code>C:\Windows\System32\SRU\</code>. Other extensions like <code>{973F5D5C-1D90-4944-BE8E-24B94231A174}</code> (Windows Network Data Usage Monitor) and <code>{DD6636C4-8929-4683-974E-22C046A43763}</code> (Windows Network Connectivity Usage Monitor) are also relevant.</p>
</li>
<li><p><strong>Interpretation</strong>: Tools like <code>srum_dump.exe</code> can be used to <strong>cross-correlate the data</strong> between the registry keys and the SRUM ESE Database. This allows investigators to see not only <em>what</em> was run but <em>who</em> ran it and the associated network activity, providing a comprehensive picture of resource utilization.</p>
</li>
</ul>
<hr />
<h3 id="heading-jump-lists">Jump Lists</h3>
<p>Introduced with Windows 7, Jump Lists provide quick access to frequently or recently used items and tasks directly from the taskbar.</p>
<ul>
<li><p><strong>Location</strong>: Jump List data is stored in the <code>AutomaticDestinations</code> folder: <code>C:\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations</code>. Each file in this folder is uniquely prepended with the AppID of its associated application.</p>
</li>
<li><p><strong>Interpretation</strong>:</p>
<ul>
<li><p>The <strong>Creation Time</strong> of an AppID file indicates the <strong>first time of execution of the application</strong> (or the first time an item was added to that AppID file).</p>
</li>
<li><p>The <strong>Modification Time</strong> indicates the <strong>last time the application was executed with a file open</strong> (or the last time an item was added to the AppID file).</p>
</li>
<li><p>Each file within the <code>AutomaticDestinations</code> folder is a separate LNK file, stored numerically from earliest to most recent. A list of common Jump List IDs can further aid in interpretation.</p>
</li>
</ul>
</li>
</ul>
<hr />
<h3 id="heading-last-visited-mru">Last-Visited MRU</h3>
<p>The <strong>Last-Visited MRU</strong> (Most Recently Used) artifact specifically tracks the executable used by an application to open files documented in the <code>OpenSaveMRU</code> key.</p>
<ul>
<li><p><strong>Location</strong>:</p>
<ul>
<li><p>On <strong>Windows XP</strong>, it's found at <code>NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedMRU</code>.</p>
</li>
<li><p>On <strong>Windows 7, 8, and 10</strong>, the location is <code>NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Interpretation</strong>: Beyond just the executable, this artifact also tracks the <strong>directory location for the last file accessed by that application</strong>. For instance, it could show that <code>Notepad.exe</code> was last run using the <code>C:\%USERPROFILE%\Desktop</code> folder.</p>
</li>
</ul>
<hr />
<h3 id="heading-prefetch">Prefetch</h3>
<p>Windows uses <strong>Prefetch</strong> files to improve system performance by pre-loading code pages of frequently used applications. The Cache Manager monitors file and directory references for each application and maps them into a <code>.pf</code> file.</p>
<ul>
<li><p><strong>Location</strong>: Prefetch files are located at <code>C:\Windows\Prefetch</code> across Windows XP, 7, 8, and 10.</p>
</li>
<li><p><strong>Interpretation</strong>: The very existence of a <code>.pf</code> file indicates that an application was executed on the system. Each <code>.pf</code> file contains valuable information, including the <strong>last time of execution</strong>, the <strong>number of times the program was run</strong>, and the <strong>device and file handles used by the program</strong>.</p>
<ul>
<li><p>The <strong>first execution time</strong> can often be inferred from the <strong>Creation Date of the</strong> <code>.pf</code> file (minus approximately 10 seconds).</p>
</li>
<li><p>The <strong>last execution time</strong> is indicated by the <strong>embedded last execution time within the</strong> <code>.pf</code> file or the <strong>Last modification date of the</strong> <code>.pf</code> file (minus approximately 10 seconds).</p>
</li>
<li><p>It's important to note limitations: Windows XP and 7 are limited to 128 Prefetch files, while Windows 8 and 10 can store up to 1024. Windows 8-10 Prefetch files will also contain the last 8 execution times.</p>
</li>
</ul>
</li>
</ul>
<hr />
<p>These Windows artifacts—UserAssist, Windows 10 Timeline, BAM/DAM, Shimcache, Amcache.hve, SRUM, Jump Lists, Last-Visited MRU, and Prefetch—collectively offer a powerful toolkit for digital forensic investigators. By understanding their descriptions, locations, and interpretations, examiners can reconstruct program execution events, identify suspicious activity, and build a clearer picture of user and system behavior. Each artifact provides unique pieces of the puzzle, and their combined analysis often yields the most comprehensive insights into the digital story.</p>
<div data-node-type="callout">
<div data-node-type="callout-emoji">💡</div>
<div data-node-type="callout-text">Source: <a target="_self" href="https://www.sans.org/posters/windows-forensic-analysis/">https://www.sans.org/posters/windows-forensic-analysis/</a></div>
</div>]]></content:encoded></item></channel></rss>