<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Cybersecurity Learning Journey]]></title><description><![CDATA[Cybersecurity Learning Journey]]></description><link>https://cybersecurity-learning.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6a4a9ed81ef518cc629d826a/990899b8-37b7-4d68-a8b1-f804f5d4b642.png</url><title>Cybersecurity Learning Journey</title><link>https://cybersecurity-learning.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 22:42:25 GMT</lastBuildDate><atom:link href="https://cybersecurity-learning.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[🐧 TryHackMe — Linux Fundamentals (Pt1) | Learning Guide]]></title><description><![CDATA[Spoiler-Free Learning Guide: This article contains no TryHackMe flags, challenge-file contents, or direct task answers. It focuses on the Linux concepts, commands, and practical methodology I learned ]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-linux-fundamentals-pt1-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-linux-fundamentals-pt1-learning-guide</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[Linux]]></category><category><![CDATA[linux fundamentals]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[command line]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Tue, 15 Sep 2026 05:57:23 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/58677017-8d2b-40ec-bfe0-5f35a6076394.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p><strong>Spoiler-Free Learning Guide:</strong> This article contains <strong>no TryHackMe flags, challenge-file contents, or direct task answers</strong>. It focuses on the Linux concepts, commands, and practical methodology I learned while completing the room.</p>
</blockquote>
<hr />
<h2>Introduction</h2>
<p>After working with Windows, networking, SOC tools, and endpoint security, I went back to strengthen one of the most important foundations in cybersecurity:</p>
<h1>Linux</h1>
<p>Linux appears almost everywhere in cybersecurity.</p>
<p>It powers:</p>
<pre><code class="language-text">Web Servers
Cloud Infrastructure
Security Appliances
Containers
Network Devices
Embedded Systems
Penetration Testing Tools
SOC Infrastructure
</code></pre>
<p>Many cybersecurity tools are also designed primarily for Linux environments.</p>
<p>The <strong>Linux Fundamentals (Pt1)</strong> room introduces the Linux terminal and some of the commands I will repeatedly use throughout my cybersecurity journey.</p>
<p>The room follows this learning path:</p>
<pre><code class="language-text">Introduction
     ↓
Talking to Linux
     ↓
Finding Your Way Around
     ↓
Searching Files &amp; Content
     ↓
Shell Operators
</code></pre>
<p>The goal is not to memorize hundreds of commands.</p>
<p>It is to become comfortable enough with the terminal that navigating and investigating a Linux system starts to feel natural.</p>
<hr />
<h1>Task 1 — Introduction</h1>
<p>The first task introduces Linux and provides an interactive Linux machine directly inside the browser.</p>
<p>Unlike Windows, where most beginners interact primarily through a graphical interface, Linux administration frequently happens through the:</p>
<h1>Terminal</h1>
<p>The terminal allows us to communicate with the operating system by typing commands.</p>
<p>Conceptually:</p>
<pre><code class="language-text">User
  |
  | Command
  v
Terminal / Shell
  |
  v
Linux
  |
  | Output
  v
User
</code></pre>
<p>For example, instead of clicking through folders using a mouse, I can navigate the filesystem with commands.</p>
<p>Instead of opening system menus, I can ask Linux directly for information.</p>
<hr />
<h2>Where Is Linux Used?</h2>
<p>One important takeaway was understanding how widespread Linux actually is.</p>
<p>Linux can be found in:</p>
<pre><code class="language-text">Web Servers
Android-based Devices
Cloud Servers
Point-of-Sale Systems
Smart Devices
Industrial Systems
Networking Equipment
Supercomputers
</code></pre>
<p>For cybersecurity, this matters because many systems I may later:</p>
<pre><code class="language-text">Defend
Investigate
Administer
Test
or
Exploit
</code></pre>
<p>will run Linux.</p>
<hr />
<h2>Linux Distributions</h2>
<p>Linux is available through different distributions.</p>
<p>Examples include:</p>
<pre><code class="language-text">Ubuntu
Debian
Fedora
Arch Linux
Kali Linux
Parrot OS
</code></pre>
<p>Different distributions may package software differently, but the fundamental command-line skills are largely transferable.</p>
<p>For this introductory environment, the important part was becoming comfortable with a Linux terminal rather than focusing on distribution differences.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 1</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe browser lab
Linux terminal
Ubuntu environment
</code></pre>
<p>This task mainly involved starting the interactive Linux machine and getting comfortable with the terminal.</p>
<p>A terminal prompt may look similar to:</p>
<pre><code class="language-bash">user@machine:~$
</code></pre>
<p>The important thing to recognize is that this is waiting for us to enter a command.</p>
<p>For example:</p>
<pre><code class="language-bash">echo "Hello Linux"
</code></pre>
<p>The shell processes the command and prints the result.</p>
<p>My first mental model became:</p>
<pre><code class="language-text">Command
   ↓
Shell interprets it
   ↓
Linux performs action
   ↓
Output returned
</code></pre>
<hr />
<h1>Task 2 — Talking to Linux</h1>
<p>This task introduces some of the first commands every Linux beginner should know.</p>
<p>The two most basic ideas are:</p>
<pre><code class="language-text">Who am I?
</code></pre>
<p>and:</p>
<pre><code class="language-text">How do I print something?
</code></pre>
<hr />
<h1><code>whoami</code></h1>
<p>The command:</p>
<pre><code class="language-bash">whoami
</code></pre>
<p>shows the user account currently running the shell.</p>
<p>This may seem simple, but it is extremely important in cybersecurity.</p>
<p>Different Linux users may have different:</p>
<pre><code class="language-text">Permissions
File access
Command privileges
Administrative capabilities
</code></pre>
<p>If I gain access to a Linux machine during an authorized lab, one of my first questions should be:</p>
<blockquote>
<p>Which user am I operating as?</p>
</blockquote>
<p>Conceptually:</p>
<pre><code class="language-text">Linux Machine
     ↓
Current Session
     ↓
whoami
     ↓
Current User
</code></pre>
<hr />
<h1>Why User Identity Matters</h1>
<p>Suppose I am logged in as:</p>
<pre><code class="language-text">standard-user
</code></pre>
<p>I may only be able to access that user's files.</p>
<p>Another account might have administrative privileges.</p>
<p>Therefore:</p>
<pre><code class="language-text">User Identity
      ↓
Determines
      ↓
Permissions
</code></pre>
<p>This becomes very important later when learning:</p>
<pre><code class="language-text">Linux Permissions
sudo
Privilege Escalation
User Groups
Post-Exploitation
</code></pre>
<hr />
<h1><code>echo</code></h1>
<p>Another fundamental command is:</p>
<pre><code class="language-bash">echo
</code></pre>
<p>It prints text to the terminal.</p>
<p>For example:</p>
<pre><code class="language-bash">echo "Learning Linux"
</code></pre>
<p>Output:</p>
<pre><code class="language-text">Learning Linux
</code></pre>
<p>This looks simple, but <code>echo</code> becomes much more useful once combined with:</p>
<pre><code class="language-text">Variables
Files
Shell scripts
Redirection
Pipelines
</code></pre>
<hr />
<h2>Quoting Text</h2>
<p>For multiple words, it is often convenient to use quotes:</p>
<pre><code class="language-bash">echo "Linux is useful for cybersecurity"
</code></pre>
<p>This treats the text as one argument.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 2</h2>
<h3>Commands Practiced</h3>
<pre><code class="language-bash">whoami
</code></pre>
<pre><code class="language-bash">echo "Hello Linux"
</code></pre>
<p>A small independent practice example:</p>
<pre><code class="language-bash">echo "Cybersecurity Lab"
</code></pre>
<p>Then:</p>
<pre><code class="language-bash">whoami
</code></pre>
<p>This helped reinforce two fundamental ideas:</p>
<pre><code class="language-text">whoami
   ↓
Find identity

echo
   ↓
Produce output
</code></pre>
<p>These commands look basic, but they are building blocks for much more advanced Linux workflows.</p>
<hr />
<h1>Task 3 — Finding Your Way Around</h1>
<p>The next task introduces filesystem navigation.</p>
<p>Instead of using a graphical file explorer, Linux lets us move around directories entirely from the terminal.</p>
<p>Four commands form the foundation:</p>
<pre><code class="language-text">ls
cd
cat
pwd
</code></pre>
<hr />
<h1><code>pwd</code> — Where Am I?</h1>
<p><code>pwd</code> stands for:</p>
<pre><code class="language-text">Print Working Directory
</code></pre>
<p>Run:</p>
<pre><code class="language-bash">pwd
</code></pre>
<p>It returns the full path of the directory I am currently inside.</p>
<p>Example:</p>
<pre><code class="language-text">/home/user
</code></pre>
<p>This is especially useful when I have moved through several directories and lose track of my current location.</p>
<p>My mental shortcut:</p>
<pre><code class="language-text">pwd
 =
Where am I?
</code></pre>
<hr />
<h1><code>ls</code> — What Is Here?</h1>
<p>To display the contents of the current directory:</p>
<pre><code class="language-bash">ls
</code></pre>
<p>It may show:</p>
<pre><code class="language-text">Documents
Downloads
Pictures
notes.txt
</code></pre>
<p>So:</p>
<pre><code class="language-text">pwd
 ↓
Where am I?

ls
 ↓
What is here?
</code></pre>
<p>These two commands naturally work together.</p>
<hr />
<h2>More Detailed Listing</h2>
<p>A commonly useful variation is:</p>
<pre><code class="language-bash">ls -l
</code></pre>
<p>which displays more details about each file.</p>
<p>Another useful command is:</p>
<pre><code class="language-bash">ls -la
</code></pre>
<p>which also includes hidden files.</p>
<p>Files beginning with:</p>
<pre><code class="language-text">.
</code></pre>
<p>are normally hidden from a basic <code>ls</code> listing.</p>
<p>This becomes especially useful later when looking for:</p>
<pre><code class="language-text">Configuration files
Shell history
Application settings
SSH files
</code></pre>
<hr />
<h1><code>cd</code> — Change Directory</h1>
<p>To enter another directory:</p>
<pre><code class="language-bash">cd Documents
</code></pre>
<p>Then:</p>
<pre><code class="language-bash">pwd
</code></pre>
<p>might show:</p>
<pre><code class="language-text">/home/user/Documents
</code></pre>
<p>To move back one directory:</p>
<pre><code class="language-bash">cd ..
</code></pre>
<p>To return to the current user's home directory:</p>
<pre><code class="language-bash">cd ~
</code></pre>
<p>or simply:</p>
<pre><code class="language-bash">cd
</code></pre>
<hr />
<h1>Understanding Linux Paths</h1>
<p>Linux uses:</p>
<pre><code class="language-text">/
</code></pre>
<p>as the root of the filesystem.</p>
<p>Conceptually:</p>
<pre><code class="language-text">/
├── home
│   └── user
├── etc
├── var
├── tmp
├── usr
└── root
</code></pre>
<p>A full path might be:</p>
<pre><code class="language-text">/home/user/Documents
</code></pre>
<hr />
<h1>Absolute vs Relative Paths</h1>
<p>Suppose I am currently in:</p>
<pre><code class="language-text">/home/user
</code></pre>
<p>I could enter Documents using a relative path:</p>
<pre><code class="language-bash">cd Documents
</code></pre>
<p>or using the absolute path:</p>
<pre><code class="language-bash">cd /home/user/Documents
</code></pre>
<p>So:</p>
<pre><code class="language-text">Relative Path
=
Based on current location
</code></pre>
<p>while:</p>
<pre><code class="language-text">Absolute Path
=
Starts from /
</code></pre>
<hr />
<h1><code>cat</code> — Read a File</h1>
<p>To display the contents of a text file:</p>
<pre><code class="language-bash">cat notes.txt
</code></pre>
<p>For example:</p>
<pre><code class="language-bash">echo "Linux practice" &gt; notes.txt
cat notes.txt
</code></pre>
<p>Output:</p>
<pre><code class="language-text">Linux practice
</code></pre>
<p><code>cat</code> is extremely common during:</p>
<pre><code class="language-text">System enumeration
Log review
Configuration inspection
CTFs
Server administration
</code></pre>
<hr />
<h2>🛠️ Hands-On / Commands — Task 3</h2>
<h3>Commands Practiced</h3>
<pre><code class="language-bash">pwd
</code></pre>
<pre><code class="language-bash">ls
</code></pre>
<pre><code class="language-bash">cd &lt;directory&gt;
</code></pre>
<pre><code class="language-bash">cd ..
</code></pre>
<pre><code class="language-bash">cat &lt;file&gt;
</code></pre>
<p>A safe practice workflow:</p>
<pre><code class="language-bash">pwd
</code></pre>
<pre><code class="language-bash">ls
</code></pre>
<pre><code class="language-bash">mkdir linux-practice
</code></pre>
<pre><code class="language-bash">cd linux-practice
</code></pre>
<pre><code class="language-bash">echo "My Linux notes" &gt; notes.txt
</code></pre>
<pre><code class="language-bash">ls
</code></pre>
<pre><code class="language-bash">cat notes.txt
</code></pre>
<pre><code class="language-bash">cd ..
</code></pre>
<p>This recreates the navigation workflow independently without revealing any TryHackMe challenge-file content.</p>
<hr />
<h1>Task 4 — Let the Machine Do the Searching</h1>
<p>Real Linux systems can contain:</p>
<pre><code class="language-text">Thousands of directories

Millions of files

Huge log files

Large configuration trees
</code></pre>
<p>Searching manually would be extremely inefficient.</p>
<p>Linux gives us commands to do the searching for us.</p>
<p>Two especially important commands are:</p>
<pre><code class="language-text">find
grep
</code></pre>
<p>The distinction is:</p>
<pre><code class="language-text">find
 ↓
Search for files/directories

grep
 ↓
Search inside text
</code></pre>
<hr />
<h1><code>find</code> — Search for Files</h1>
<p>Suppose I need to locate:</p>
<pre><code class="language-text">notes.txt
</code></pre>
<p>Instead of manually browsing every directory, I can use:</p>
<pre><code class="language-bash">find . -name "notes.txt"
</code></pre>
<p>Here:</p>
<pre><code class="language-text">.
</code></pre>
<p>means:</p>
<pre><code class="language-text">Start searching from the current directory
</code></pre>
<p>and:</p>
<pre><code class="language-text">-name
</code></pre>
<p>tells <code>find</code> to match the filename.</p>
<hr />
<h2>Searching From a Specific Directory</h2>
<p>For example:</p>
<pre><code class="language-bash">find /home -name "notes.txt"
</code></pre>
<p>means:</p>
<pre><code class="language-text">Search inside /home
for a file named notes.txt
</code></pre>
<hr />
<h2>Wildcards With <code>find</code></h2>
<p>Suppose I want every <code>.txt</code> file:</p>
<pre><code class="language-bash">find . -name "*.txt"
</code></pre>
<p>The wildcard:</p>
<pre><code class="language-text">*
</code></pre>
<p>can represent any matching sequence of characters.</p>
<hr />
<h1><code>grep</code> — Search Inside Files</h1>
<p>Suppose I have a log containing hundreds of lines.</p>
<p>Instead of:</p>
<pre><code class="language-bash">cat server.log
</code></pre>
<p>and manually reading everything, I can search for a term:</p>
<pre><code class="language-bash">grep "failed" server.log
</code></pre>
<p>This returns only lines containing:</p>
<pre><code class="language-text">failed
</code></pre>
<hr />
<h2>Case-Insensitive Search</h2>
<p>A useful option is:</p>
<pre><code class="language-bash">grep -i "error" server.log
</code></pre>
<p>The:</p>
<pre><code class="language-text">-i
</code></pre>
<p>makes the search case-insensitive.</p>
<p>So it can match:</p>
<pre><code class="language-text">error
ERROR
Error
</code></pre>
<hr />
<h1>Why <code>grep</code> Matters in Cybersecurity</h1>
<p>Security analysts regularly work with:</p>
<pre><code class="language-text">Authentication logs
Web server logs
Firewall logs
Application logs
Malware output
Large text datasets
</code></pre>
<p>Imagine a log has:</p>
<pre><code class="language-text">50,000 lines
</code></pre>
<p>and I need to locate activity involving an IP.</p>
<p>Instead of reading line by line:</p>
<pre><code class="language-bash">grep "192.0.2.25" access.log
</code></pre>
<p>can instantly isolate relevant entries.</p>
<hr />
<h1>Combining <code>find</code> and <code>grep</code></h1>
<p>Later, these concepts can be combined.</p>
<p>For example:</p>
<pre><code class="language-bash">find . -name "*.log"
</code></pre>
<p>locates log files.</p>
<p>Then:</p>
<pre><code class="language-bash">grep "failed" example.log
</code></pre>
<p>searches inside one.</p>
<p>This gives me a reusable investigation pattern:</p>
<pre><code class="language-text">Locate file
    ↓
Inspect content
    ↓
Search interesting text
</code></pre>
<hr />
<h2>🛠️ Hands-On / Commands — Task 4</h2>
<h3>Commands Practiced</h3>
<pre><code class="language-bash">find . -name "filename.txt"
</code></pre>
<pre><code class="language-bash">find . -name "*.txt"
</code></pre>
<pre><code class="language-bash">grep "keyword" file.txt
</code></pre>
<pre><code class="language-bash">grep -i "keyword" file.txt
</code></pre>
<p>Independent example:</p>
<pre><code class="language-bash">echo "Successful login" &gt; demo.log
echo "Failed login" &gt;&gt; demo.log
echo "Successful logout" &gt;&gt; demo.log
</code></pre>
<p>Now:</p>
<pre><code class="language-bash">grep "Failed" demo.log
</code></pre>
<p>returns only the matching event.</p>
<p>That demonstrates the actual methodology without exposing the TryHackMe flag stored in its practice log.</p>
<hr />
<h1>Task 5 — Shell Operators (Combining Commands)</h1>
<p>This task was where the Linux terminal started becoming much more powerful.</p>
<p>Instead of executing only one command at a time, shell operators allow commands to be:</p>
<pre><code class="language-text">Combined
Sequenced
Run in background
Redirected into files
Appended to files
</code></pre>
<p>The room introduces four important operators:</p>
<table>
<thead>
<tr>
<th>Operator</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td><code>&amp;</code></td>
<td>Run a command in the background</td>
</tr>
<tr>
<td><code>&amp;&amp;</code></td>
<td>Run the next command after the first succeeds</td>
</tr>
<tr>
<td><code>&gt;</code></td>
<td>Redirect output and overwrite</td>
</tr>
<tr>
<td><code>&gt;&gt;</code></td>
<td>Redirect output and append</td>
</tr>
</tbody></table>
<hr />
<h1><code>&amp;</code> — Run in the Background</h1>
<p>A command normally occupies the terminal until it finishes.</p>
<p>For example:</p>
<pre><code class="language-bash">some-command
</code></pre>
<p>Using:</p>
<pre><code class="language-bash">some-command &amp;
</code></pre>
<p>allows the process to run in the background while returning control of the shell.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Command
   ↓
Background
   ↓
Terminal available again
</code></pre>
<p>This becomes useful for longer-running operations.</p>
<hr />
<h1><code>&amp;&amp;</code> — Chain Commands</h1>
<p>The operator:</p>
<pre><code class="language-text">&amp;&amp;
</code></pre>
<p>lets us execute one command after another when the first succeeds.</p>
<p>For example:</p>
<pre><code class="language-bash">mkdir practice &amp;&amp; cd practice
</code></pre>
<p>This means:</p>
<pre><code class="language-text">Create directory
      ↓
Success?
      ↓
Enter directory
</code></pre>
<p>This can make multi-step terminal workflows much faster.</p>
<hr />
<h1><code>&gt;</code> — Redirect Output</h1>
<p>Normally:</p>
<pre><code class="language-bash">echo "hello"
</code></pre>
<p>prints to the screen.</p>
<p>Using:</p>
<pre><code class="language-bash">echo "hello" &gt; message.txt
</code></pre>
<p>redirects the output into a file.</p>
<p>Then:</p>
<pre><code class="language-bash">cat message.txt
</code></pre>
<p>shows:</p>
<pre><code class="language-text">hello
</code></pre>
<hr />
<h2>Important: <code>&gt;</code> Overwrites</h2>
<p>Suppose:</p>
<pre><code class="language-bash">echo "first" &gt; notes.txt
</code></pre>
<p>Then:</p>
<pre><code class="language-bash">echo "second" &gt; notes.txt
</code></pre>
<p>The previous contents are replaced.</p>
<p>The file now contains:</p>
<pre><code class="language-text">second
</code></pre>
<p>So:</p>
<pre><code class="language-text">&gt;
=
Write / overwrite
</code></pre>
<hr />
<h1><code>&gt;&gt;</code> — Append Output</h1>
<p>Suppose I want to preserve what is already inside the file.</p>
<p>Use:</p>
<pre><code class="language-bash">echo "first" &gt; notes.txt
echo "second" &gt;&gt; notes.txt
</code></pre>
<p>Now:</p>
<pre><code class="language-bash">cat notes.txt
</code></pre>
<p>shows:</p>
<pre><code class="language-text">first
second
</code></pre>
<p>Therefore:</p>
<pre><code class="language-text">&gt;&gt;
=
Append
</code></pre>
<p>This difference is extremely important when working with logs or notes.</p>
<hr />
<h1>Why Redirection Matters in Cybersecurity</h1>
<p>Suppose I run:</p>
<pre><code class="language-bash">whoami
</code></pre>
<p>and want to save the output.</p>
<p>Instead of manually copying it:</p>
<pre><code class="language-bash">whoami &gt; identity.txt
</code></pre>
<p>Or suppose I want to save enumeration results:</p>
<pre><code class="language-bash">find /home -name "*.txt" &gt; files-found.txt
</code></pre>
<p>This enables:</p>
<pre><code class="language-text">Command
   ↓
Useful output
   ↓
Store in file
   ↓
Review later
</code></pre>
<p>That is much more scalable than copying text by hand.</p>
<hr />
<h1>Combining Multiple Ideas</h1>
<p>Now the commands from earlier tasks can work together.</p>
<p>Example:</p>
<pre><code class="language-bash">mkdir investigation &amp;&amp; cd investigation
</code></pre>
<p>Then:</p>
<pre><code class="language-bash">echo "Starting investigation" &gt; notes.txt
</code></pre>
<p>Then:</p>
<pre><code class="language-bash">whoami &gt;&gt; notes.txt
</code></pre>
<p>Then:</p>
<pre><code class="language-bash">cat notes.txt
</code></pre>
<p>This combines:</p>
<pre><code class="language-text">Directory creation
+
Navigation
+
Output
+
Redirection
+
Appending
</code></pre>
<p>into one practical workflow.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 5</h2>
<h3>Operators Practiced</h3>
<pre><code class="language-text">&amp;
&amp;&amp;
&gt;
&gt;&gt;
</code></pre>
<p>Independent practice:</p>
<pre><code class="language-bash">mkdir shell-practice &amp;&amp; cd shell-practice
</code></pre>
<pre><code class="language-bash">echo "Linux Fundamentals" &gt; notes.txt
</code></pre>
<pre><code class="language-bash">echo "Shell Operators" &gt;&gt; notes.txt
</code></pre>
<pre><code class="language-bash">cat notes.txt
</code></pre>
<p>Output:</p>
<pre><code class="language-text">Linux Fundamentals
Shell Operators
</code></pre>
<p>This demonstrates the same shell concepts without revealing the room's challenge submissions.</p>
<hr />
<h1>Complete Linux Fundamentals Pt1 Workflow</h1>
<p>By the end of the room, the commands started connecting naturally:</p>
<pre><code class="language-text">                    LINUX TERMINAL
                          |
                          v
                       whoami
                          |
                          v
                         echo
                          |
                          v
                    FILESYSTEM
                          |
              ┌───────────┼───────────┐
              |           |           |
             pwd         ls          cd
                                      |
                                      v
                                     cat
                                      |
                                      v
                                  SEARCHING
                                /           \
                              find          grep
                                \           /
                                 \         /
                                  v       v
                              SHELL OPERATORS
                          &amp;    &amp;&amp;    &gt;    &gt;&gt;
</code></pre>
<hr />
<h1>Command Cheat Sheet</h1>
<table>
<thead>
<tr>
<th>Command</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td><code>whoami</code></td>
<td>Display current user</td>
</tr>
<tr>
<td><code>echo</code></td>
<td>Print text/output</td>
</tr>
<tr>
<td><code>pwd</code></td>
<td>Show current directory</td>
</tr>
<tr>
<td><code>ls</code></td>
<td>List directory contents</td>
</tr>
<tr>
<td><code>ls -la</code></td>
<td>Include detailed and hidden files</td>
</tr>
<tr>
<td><code>cd</code></td>
<td>Change directory</td>
</tr>
<tr>
<td><code>cd ..</code></td>
<td>Move one directory upward</td>
</tr>
<tr>
<td><code>cd ~</code></td>
<td>Return to home directory</td>
</tr>
<tr>
<td><code>cat</code></td>
<td>Display file contents</td>
</tr>
<tr>
<td><code>find</code></td>
<td>Search for files/directories</td>
</tr>
<tr>
<td><code>grep</code></td>
<td>Search inside text</td>
</tr>
<tr>
<td><code>grep -i</code></td>
<td>Case-insensitive text search</td>
</tr>
<tr>
<td><code>&amp;</code></td>
<td>Run command in background</td>
</tr>
<tr>
<td><code>&amp;&amp;</code></td>
<td>Chain commands conditionally</td>
</tr>
<tr>
<td><code>&gt;</code></td>
<td>Redirect and overwrite output</td>
</tr>
<tr>
<td><code>&gt;&gt;</code></td>
<td>Redirect and append output</td>
</tr>
</tbody></table>
<hr />
<h1>My Basic Linux Investigation Workflow</h1>
<p>If I access an unfamiliar Linux system in an authorized environment, these basic commands already let me answer useful questions.</p>
<pre><code class="language-bash">whoami
</code></pre>
<p><strong>Who am I?</strong></p>
<pre><code class="language-bash">pwd
</code></pre>
<p><strong>Where am I?</strong></p>
<pre><code class="language-bash">ls -la
</code></pre>
<p><strong>What is here?</strong></p>
<pre><code class="language-bash">cat &lt;file&gt;
</code></pre>
<p><strong>What does this file contain?</strong></p>
<pre><code class="language-bash">find . -name "&lt;filename&gt;"
</code></pre>
<p><strong>Where is this file?</strong></p>
<pre><code class="language-bash">grep "&lt;keyword&gt;" &lt;file&gt;
</code></pre>
<p><strong>Where does this text appear?</strong></p>
<p>That gives a simple investigation sequence:</p>
<pre><code class="language-text">IDENTITY
   ↓
LOCATION
   ↓
FILES
   ↓
CONTENT
   ↓
SEARCH
</code></pre>
<hr />
<h1>Key Lessons Learned</h1>
<h2>1. Linux CLI Is a Core Cybersecurity Skill</h2>
<p>Many security tools expect us to be comfortable working from a terminal.</p>
<p>Learning Linux is therefore not separate from cybersecurity.</p>
<p>It is part of the foundation.</p>
<hr />
<h2>2. Always Know Who You Are</h2>
<pre><code class="language-bash">whoami
</code></pre>
<p>may be one of the simplest commands in Linux, but the result determines what permissions we have.</p>
<pre><code class="language-text">Identity
   ↓
Privileges
   ↓
Available Actions
</code></pre>
<hr />
<h2>3. Navigation Becomes Fast With Four Commands</h2>
<pre><code class="language-text">pwd
ls
cd
cat
</code></pre>
<p>are enough to begin exploring almost any Linux filesystem.</p>
<hr />
<h2>4. Searching Beats Manual Browsing</h2>
<p>Instead of opening hundreds of files:</p>
<pre><code class="language-text">find
+
grep
</code></pre>
<p>can rapidly locate useful information.</p>
<p>This is particularly important when dealing with large logs.</p>
<hr />
<h2>5. Redirection Makes the Shell Much More Powerful</h2>
<p>Without redirection:</p>
<pre><code class="language-text">Command
   ↓
Output on screen
</code></pre>
<p>With redirection:</p>
<pre><code class="language-text">Command
   ↓
Output
   ↓
File
   ↓
Reuse later
</code></pre>
<p>This is the beginning of automation.</p>
<hr />
<h2>6. <code>&gt;</code> and <code>&gt;&gt;</code> Are Not the Same</h2>
<p>This is worth remembering:</p>
<pre><code class="language-text">&gt;
=
Overwrite
</code></pre>
<p>while:</p>
<pre><code class="language-text">&gt;&gt;
=
Append
</code></pre>
<p>Accidentally using <code>&gt;</code> on an important file could destroy its existing contents.</p>
<hr />
<h2>7. Commands Become Powerful When Combined</h2>
<p>The real strength of Linux is not knowing one command.</p>
<p>It is being able to combine small commands into workflows.</p>
<p>For example:</p>
<pre><code class="language-bash">mkdir investigation &amp;&amp; cd investigation
</code></pre>
<p>or:</p>
<pre><code class="language-bash">echo "New finding" &gt;&gt; notes.txt
</code></pre>
<p>Linux tools are designed to work together.</p>
<hr />
<h1>My Final Mental Model</h1>
<pre><code class="language-text">                        LINUX
                          |
                       TERMINAL
                          |
          ┌───────────────┼───────────────┐
          |               |               |
       IDENTITY        NAVIGATION       OUTPUT
          |               |               |
       whoami          pwd / ls          echo
                          |
                          cd
                          |
                          cat
                          |
                       SEARCH
                     /        \
                  find        grep
                     \        /
                      \      /
                       SHELL
                     OPERATORS
                 &amp;   &amp;&amp;   &gt;   &gt;&gt;
</code></pre>
<hr />
<h1>Ethical Learning Note</h1>
<p>This article is a <strong>learning guide rather than an answer dump</strong>.</p>
<p>I included:</p>
<pre><code class="language-text">✅ Linux fundamentals
✅ Command syntax
✅ Independent examples
✅ Filesystem navigation
✅ Searching methodology
✅ Shell operators
✅ Cybersecurity relevance
</code></pre>
<p>while intentionally excluding:</p>
<pre><code class="language-text">❌ TryHackMe flags
❌ Challenge-file contents
❌ Folder-answer submissions
❌ access.log flag
❌ Direct task-question answers
</code></pre>
<p>The goal is to document what I learned while leaving the actual TryHackMe exercises for other learners to solve themselves.</p>
<hr />
<h1>Resources</h1>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/linuxfundamentalspt15vmpa">Linux Fundamentals (Pt1)</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h1>Connect with Me</h1>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em> 🚀</p>
]]></content:encoded></item><item><title><![CDATA[🛡️ TryHackMe — Introduction to EDR | Learning Guide]]></title><description><![CDATA[Spoiler-Free Learning Guide: This article contains no TryHackMe flags, dashboard-specific answers, malware paths, URLs, or direct task solutions. It focuses on EDR architecture, telemetry, detection, ]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-introduction-to-edr-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-introduction-to-edr-learning-guide</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[EDR]]></category><category><![CDATA[SOC Analyst]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[endpoint security]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Mon, 14 Sep 2026 07:30:45 GMT</pubDate><content:encoded><![CDATA[<blockquote>
<p><strong>Spoiler-Free Learning Guide:</strong> This article contains <strong>no TryHackMe flags, dashboard-specific answers, malware paths, URLs, or direct task solutions</strong>. It focuses on EDR architecture, telemetry, detection, response, and the investigation methodology I learned while completing the room.</p>
</blockquote>
<h2>Introduction</h2>
<p>After learning about <strong>SIEM, alert triage, and SOC reporting</strong>, I moved on to another core defensive technology used inside a Security Operations Center:</p>
<h1>EDR</h1>
<p>EDR stands for:</p>
<pre><code class="language-text">Endpoint Detection and Response
</code></pre>
<p>An endpoint can be:</p>
<pre><code class="language-text">Windows workstation
Linux system
Mac
Laptop
Desktop
Server
</code></pre>
<p>Traditional network security controls cannot always provide detailed visibility into everything happening <strong>inside</strong> these devices—especially with remote work and endpoints operating outside the corporate perimeter.</p>
<p>EDR addresses this by continuously monitoring endpoints, collecting detailed activity, detecting suspicious behavior, and giving analysts response capabilities from a centralized console. TryHackMe structures this room around EDR fundamentals, antivirus comparison, architecture, telemetry, detection/response capabilities, and a simulated EDR investigation. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>The room follows this learning path:</p>
<pre><code class="language-text">Introduction
      ↓
What is an EDR?
      ↓
Beyond the Antivirus
      ↓
How an EDR Works
      ↓
EDR Telemetry
      ↓
Detection &amp; Response
      ↓
Investigate an EDR Alert
      ↓
Conclusion
</code></pre>
<hr />
<h1>Task 1 — Introduction</h1>
<p>The first task introduces EDR from a <strong>SOC analyst's perspective</strong>.</p>
<p>The goal is not simply to install security software on a computer.</p>
<p>The goal is to answer questions such as:</p>
<pre><code class="language-text">What executed?

Who executed it?

Which process launched it?

Which files changed?

Which registry keys changed?

Where did the system connect?

What happened before and after the detection?
</code></pre>
<p>This deep endpoint visibility is what makes EDR especially useful during investigations.</p>
<p>TryHackMe's learning objectives include understanding EDR architecture, comparing EDR with antivirus, examining collected telemetry, understanding detection and response capabilities, and investigating a realistic alert. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>EDR in a SOC</h2>
<p>A simplified SOC architecture might look like:</p>
<pre><code class="language-text">Windows ────┐
Linux ──────┤
Laptops ────┤
Servers ────┤
            ↓
          EDR
            ↓
     Endpoint Visibility
            ↓
        SOC Analyst
</code></pre>
<p>EDR focuses heavily on what happens <strong>on endpoints</strong>.</p>
<p>Other tools protect other areas:</p>
<pre><code class="language-text">Firewall → Network traffic

Email Security → Email threats

SIEM → Centralized security data

EDR → Endpoint activity
</code></pre>
<p>These technologies complement each other rather than replacing one another. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Tools — Task 1</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe Room
Simulated EDR concepts
SOC investigation workflow
Endpoint security terminology
</code></pre>
<p>This task was mainly conceptual.</p>
<p>My initial mental model became:</p>
<pre><code class="language-text">Endpoint
   ↓
EDR Agent
   ↓
Collect Activity
   ↓
Central EDR Console
   ↓
Detect
   ↓
Investigate
   ↓
Respond
</code></pre>
<hr />
<h1>Task 2 — What Is an EDR?</h1>
<p>This task explains <strong>why EDR exists</strong>.</p>
<p>Organizations once relied heavily on protections located around their internal network.</p>
<p>But endpoints now operate from:</p>
<pre><code class="language-text">Corporate offices
Homes
Hotels
Public networks
Remote locations
Cloud-connected environments
</code></pre>
<p>That makes endpoint-level protection extremely important.</p>
<p>TryHackMe defines EDR as a security solution that provides deep endpoint protection and continuously monitors devices regardless of where they are located. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>The Three Pillars of EDR</h1>
<p>The room presents three core EDR capabilities:</p>
<pre><code class="language-text">Visibility
Detection
Response
</code></pre>
<p>These are the easiest way for me to remember what an EDR actually does.</p>
<hr />
<h2>1. Visibility 👁️</h2>
<p>EDR collects detailed information from endpoints.</p>
<p>Examples include:</p>
<pre><code class="language-text">Process activity

File activity

Folder changes

Registry changes

User actions

Network connections

Command execution
</code></pre>
<p>Instead of seeing only:</p>
<pre><code class="language-text">"Malware detected"
</code></pre>
<p>an analyst may be able to reconstruct:</p>
<pre><code class="language-text">User opened document
        ↓
Document launched child process
        ↓
Child process launched PowerShell
        ↓
PowerShell downloaded file
        ↓
File executed
        ↓
Process connected externally
</code></pre>
<p>That is much more useful for investigation.</p>
<hr />
<h1>Process Trees</h1>
<p>One especially important EDR feature is the:</p>
<h1>Process Tree</h1>
<p>Processes often have relationships.</p>
<p>For example:</p>
<pre><code class="language-text">explorer.exe
     ↓
winword.exe
     ↓
powershell.exe
     ↓
payload.exe
</code></pre>
<p>The EDR can show:</p>
<pre><code class="language-text">Parent Process
      ↓
Child Process
      ↓
Grandchild Process
</code></pre>
<p>This makes unusual relationships easier to identify.</p>
<p>TryHackMe uses a graphical process tree to demonstrate how EDR lets analysts view spawned processes and associated network, registry, and file activity. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>2. Detection 🔍</h2>
<p>EDR does more than compare files against known malware signatures.</p>
<p>Detection mechanisms can include:</p>
<pre><code class="language-text">Signature matching
Behavior analysis
Machine learning
IOC matching
Anomaly detection
</code></pre>
<p>For example:</p>
<pre><code class="language-text">Microsoft Word
      ↓
spawns
      ↓
PowerShell
</code></pre>
<p>may deserve attention because that parent-child relationship can be unusual.</p>
<hr />
<h2>3. Response 🛑</h2>
<p>Detection alone is not enough.</p>
<p>EDR can also let analysts take actions such as:</p>
<pre><code class="language-text">Isolate host
Terminate process
Quarantine file
Remotely investigate endpoint
Collect artifacts
</code></pre>
<p>TryHackMe emphasizes that analysts can perform many of these actions directly from the centralized EDR console. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>Common EDR Products</h2>
<p>The room gives examples including:</p>
<pre><code class="language-text">CrowdStrike Falcon
Microsoft Defender for Endpoint
SentinelOne
Symantec EDR
</code></pre>
<p>Different products have different interfaces and features, but their overall architecture and goals are similar. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Tools — Task 2</h2>
<h3>Concepts Practiced</h3>
<pre><code class="language-text">EDR console
Endpoint visibility
Process trees
Detections
Response actions
</code></pre>
<p>My revision model:</p>
<pre><code class="language-text">        EDR
         |
 ┌───────┼───────┐
 |       |       |
View   Detect  Respond
</code></pre>
<hr />
<h1>Task 3 — Beyond the Antivirus</h1>
<p>This was one of the most useful conceptual tasks.</p>
<p>The question is:</p>
<blockquote>
<p>If we already have antivirus, why do we need EDR?</p>
</blockquote>
<p>Both protect endpoints, but they provide different levels of visibility and detection.</p>
<hr />
<h1>Traditional Antivirus</h1>
<p>Traditional antivirus has historically relied strongly on:</p>
<pre><code class="language-text">Known malware signatures
Known malicious files
Known patterns
</code></pre>
<p>Conceptually:</p>
<pre><code class="language-text">File arrives
    ↓
Compare against known signatures
    ↓
Match?
 /      \
Yes      No
 |        |
Block   Allow
</code></pre>
<p>The problem appears when the attack is:</p>
<pre><code class="language-text">New
Obfuscated
Fileless
Living off the land
Behavior-based
</code></pre>
<hr />
<h1>EDR</h1>
<p>EDR continuously monitors what happens <strong>after execution</strong> as well.</p>
<p>Instead of only asking:</p>
<pre><code class="language-text">Is this file known to be malicious?
</code></pre>
<p>EDR may also ask:</p>
<pre><code class="language-text">What is this process doing?

What spawned it?

What commands did it run?

Which files did it modify?

Where did it connect?

Does this behavior look normal?
</code></pre>
<hr />
<h1>Airport Analogy</h1>
<p>TryHackMe uses a useful analogy.</p>
<p>Think of the endpoint as an:</p>
<pre><code class="language-text">Airport
</code></pre>
<p>Traditional antivirus behaves somewhat like:</p>
<pre><code class="language-text">Immigration check
</code></pre>
<p>It compares people against known information.</p>
<p>EDR behaves more like:</p>
<pre><code class="language-text">Security officers
+
Cameras
+
Continuous monitoring
</code></pre>
<p>Even if someone passes the first security check, suspicious behavior inside the airport can still be detected. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Example Attack Chain</h1>
<p>A simplified attack might look like:</p>
<pre><code class="language-text">Phishing document
      ↓
User opens document
      ↓
Macro executes
      ↓
PowerShell launches
      ↓
Payload downloaded
      ↓
Process injection
      ↓
External connection
</code></pre>
<p>An antivirus might miss parts of this if individual files or actions do not match known signatures.</p>
<p>EDR can potentially observe the <strong>entire chain of behavior</strong>, including unusual process relationships, obfuscated commands, injection, and network activity from the endpoint. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Antivirus vs EDR</h1>
<table>
<thead>
<tr>
<th>Antivirus</th>
<th>EDR</th>
</tr>
</thead>
<tbody><tr>
<td>Strong focus on prevention</td>
<td>Prevention + detection + investigation + response</td>
</tr>
<tr>
<td>Often signature focused</td>
<td>Signature + behavior + anomaly detection</td>
</tr>
<tr>
<td>Limited investigation context</td>
<td>Detailed endpoint telemetry</td>
</tr>
<tr>
<td>Detects known malicious files well</td>
<td>Can detect advanced behavioral chains</td>
</tr>
<tr>
<td>Limited response workflow</td>
<td>Analyst-driven response capabilities</td>
</tr>
<tr>
<td>Primarily endpoint protection</td>
<td>Endpoint monitoring, detection, investigation and response</td>
</tr>
</tbody></table>
<p>Modern antivirus products can be much more capable than older signature-only tools, but the main learning point remains that EDR provides deeper visibility and response functionality. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Methodology — Task 3</h2>
<p>This task was mainly about <strong>reasoning through an attack chain</strong>.</p>
<p>My workflow was:</p>
<pre><code class="language-text">Look at individual action
        ↓
Looks harmless?
        ↓
Check parent process
        ↓
Check next action
        ↓
Build full chain
        ↓
Reassess behavior
</code></pre>
<p>Key takeaway:</p>
<blockquote>
<p>One event may look legitimate. The complete sequence may not.</p>
</blockquote>
<hr />
<h1>Task 4 — How an EDR Works</h1>
<p>Now the room explains the architecture behind EDR.</p>
<p>At a high level, there are two important pieces:</p>
<pre><code class="language-text">EDR Agent
+
EDR Console
</code></pre>
<hr />
<h1>EDR Agent / Sensor</h1>
<p>The EDR agent is installed on endpoints.</p>
<p>Think of it as the:</p>
<pre><code class="language-text">Eyes and ears
</code></pre>
<p>of the EDR.</p>
<p>It monitors local activity such as:</p>
<pre><code class="language-text">Processes
Commands
Files
Registry
Network connections
User actions
</code></pre>
<p>and sends relevant information to the centralized EDR infrastructure. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Central EDR Console</h1>
<p>The centralized console receives endpoint telemetry.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Endpoint A ───┐
Endpoint B ───┤
Endpoint C ───┤
Server D ─────┤
              ↓
         EDR Console
              ↓
     Correlation &amp; Analysis
              ↓
          Detection
</code></pre>
<p>The platform may apply:</p>
<pre><code class="language-text">Detection rules
Threat intelligence
Behavioral analysis
Machine learning
Correlation
</code></pre>
<p>to identify suspicious activity. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>After a Detection</h1>
<p>The workflow becomes:</p>
<pre><code class="language-text">EDR detection
      ↓
Severity assigned
      ↓
SOC analyst reviews
      ↓
Investigate activity
      ↓
False Positive?
or
True Positive?
      ↓
Take appropriate action
</code></pre>
<p>Typical severity levels may include:</p>
<pre><code class="language-text">Critical
High
Medium
Low
Informational
</code></pre>
<hr />
<h1>EDR and SIEM Together</h1>
<p>EDR is powerful, but it does not contain every security data source.</p>
<p>A SOC may also use:</p>
<pre><code class="language-text">Firewall
DLP
Email Gateway
IAM
Proxy
Network security tools
</code></pre>
<p>Their data may be integrated into:</p>
<pre><code class="language-text">SIEM
</code></pre>
<p>giving analysts a broader investigation platform.</p>
<p>So:</p>
<pre><code class="language-text">EDR
  ↓
Deep endpoint context

SIEM
  ↓
Broad cross-environment context
</code></pre>
<p>They complement each other. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Tools — Task 4</h2>
<h3>Tools / Concepts Used</h3>
<pre><code class="language-text">EDR Agent
EDR Console
Threat Intelligence
Alert Severity
SOC workflow
SIEM integration
</code></pre>
<p>My architecture diagram:</p>
<pre><code class="language-text">ENDPOINT
   |
 EDR Agent
   |
   v
TELEMETRY
   |
   v
EDR CONSOLE
   |
   v
ANALYTICS
   |
   v
DETECTION
   |
   v
SOC ANALYST
</code></pre>
<hr />
<h1>Task 5 — EDR Telemetry</h1>
<p>This task focuses on one of the most important EDR concepts:</p>
<h1>Telemetry</h1>
<p>Telemetry is the detailed endpoint data collected by the EDR agent.</p>
<p>TryHackMe describes it as effectively the endpoint's <strong>black box</strong>, containing the information needed to detect threats and reconstruct activity during investigations. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>1. Process Execution and Termination</h1>
<p>EDR may record:</p>
<pre><code class="language-text">Process name
Parent process
Child process
Start time
End time
Execution path
</code></pre>
<p>This is useful for identifying suspicious chains.</p>
<p>Example:</p>
<pre><code class="language-text">winword.exe
     ↓
powershell.exe
     ↓
unknown.exe
</code></pre>
<hr />
<h1>2. Network Connections</h1>
<p>The endpoint's network activity can also be monitored.</p>
<p>This may reveal:</p>
<pre><code class="language-text">Remote IP
Remote domain
Port
Process creating connection
Connection time
</code></pre>
<p>Security uses include identifying:</p>
<pre><code class="language-text">C2 communication
Unusual ports
Data exfiltration
Lateral movement
</code></pre>
<hr />
<h1>3. Command-Line Activity</h1>
<p>EDR can capture commands executed through tools such as:</p>
<pre><code class="language-text">CMD
PowerShell
</code></pre>
<p>This is extremely useful because attackers often use legitimate built-in utilities.</p>
<p>Example:</p>
<pre><code class="language-text">powershell.exe
   ↓
encoded / obfuscated command
</code></pre>
<p>The binary itself is legitimate.</p>
<p>The <strong>command</strong> may be malicious.</p>
<hr />
<h1>4. File and Folder Modifications</h1>
<p>EDR can monitor:</p>
<pre><code class="language-text">Files created
Files modified
Files deleted
Files renamed
Directories changed
</code></pre>
<p>This helps detect behavior such as:</p>
<pre><code class="language-text">Malware dropping payloads
Ransomware modifying files
Data staging
Suspicious file creation
</code></pre>
<hr />
<h1>5. Registry Modifications</h1>
<p>Windows Registry changes can reveal:</p>
<pre><code class="language-text">Persistence
Configuration changes
Startup modifications
Security-setting changes
</code></pre>
<p>EDR can capture many of these modifications and link them to the process responsible.</p>
<hr />
<h1>Why Telemetry Matters</h1>
<p>Individual actions may look legitimate.</p>
<p>For example:</p>
<pre><code class="language-text">PowerShell executed
</code></pre>
<p>is not automatically malicious.</p>
<p>But:</p>
<pre><code class="language-text">Document opens
      ↓
PowerShell launches
      ↓
PowerShell downloads executable
      ↓
Executable modifies registry
      ↓
Executable contacts unknown server
</code></pre>
<p>is much more suspicious.</p>
<p>Telemetry lets analysts reconstruct this chain. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Tools — Task 5</h2>
<h3>Telemetry I Focused On</h3>
<pre><code class="language-text">Process tree
Command line
File path
Registry changes
Network connections
User
Hostname
Timestamps
</code></pre>
<p>My investigation order:</p>
<pre><code class="language-text">PROCESS
   ↓
PARENT
   ↓
COMMAND
   ↓
FILE
   ↓
NETWORK
   ↓
REGISTRY
   ↓
TIMELINE
</code></pre>
<hr />
<h3>Optional Local Practice</h3>
<p>Outside the TryHackMe room, similar Windows information can be explored safely using:</p>
<pre><code class="language-powershell">Get-Process
</code></pre>
<p>and:</p>
<pre><code class="language-powershell">Get-NetTCPConnection
</code></pre>
<p>These are not replacements for EDR telemetry, but they help build intuition about the endpoint activity an EDR observes.</p>
<hr />
<h1>Task 6 — Detection and Response Capabilities</h1>
<p>This task goes deeper into how EDR identifies advanced threats.</p>
<hr />
<h1>Detection Techniques</h1>
<h2>1. Behavioral Detection</h2>
<p>Instead of asking:</p>
<pre><code class="language-text">Is this file known malware?
</code></pre>
<p>behavioral detection asks:</p>
<pre><code class="language-text">Is this behavior suspicious?
</code></pre>
<p>Example:</p>
<pre><code class="language-text">winword.exe
     ↓
powershell.exe
</code></pre>
<p>This parent-child relationship may be unusual enough to warrant investigation.</p>
<hr />
<h2>2. Anomaly Detection</h2>
<p>Over time, an EDR can understand normal endpoint behavior.</p>
<p>If something deviates strongly from that baseline:</p>
<pre><code class="language-text">Normal Behavior
      ↓
Unexpected Change
      ↓
Anomaly
      ↓
Detection
</code></pre>
<p>Anomalies can generate false positives, so analyst context remains important.</p>
<hr />
<h2>3. IOC Matching</h2>
<p>IOC stands for:</p>
<pre><code class="language-text">Indicator of Compromise
</code></pre>
<p>Examples include:</p>
<pre><code class="language-text">Malicious file hash
IP address
Domain
URL
</code></pre>
<p>The EDR can compare endpoint activity with threat-intelligence feeds.</p>
<pre><code class="language-text">Observed hash
      ↓
Threat Intelligence
      ↓
Known malicious?
</code></pre>
<p>If yes, the activity can be flagged quickly.</p>
<hr />
<h2>4. MITRE ATT&amp;CK Mapping</h2>
<p>EDR detections may be mapped to:</p>
<pre><code class="language-text">MITRE ATT&amp;CK
</code></pre>
<p>For example:</p>
<pre><code class="language-text">Activity:
Scheduled task created

Tactic:
Persistence

Technique:
Scheduled Task / Job
</code></pre>
<p>This gives the analyst additional context about <strong>where the activity fits within an attack lifecycle</strong>. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>5. Machine Learning</h2>
<p>Modern EDR systems may use machine learning to identify complex patterns.</p>
<p>This becomes helpful when:</p>
<pre><code class="language-text">Individual Activity A → Not obviously malicious

Individual Activity B → Not obviously malicious

Individual Activity C → Not obviously malicious

A + B + C together → Suspicious pattern
</code></pre>
<p>This can help identify multi-stage or fileless attacks.</p>
<hr />
<h1>Response Capabilities</h1>
<p>After detection comes:</p>
<h1>Response</h1>
<p>TryHackMe covers several important actions. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>Isolate Host</h2>
<pre><code class="language-text">Compromised Endpoint
      ↓
Network Isolation
      ↓
Lateral Movement Reduced
</code></pre>
<p>This can be extremely useful when a threat is actively spreading.</p>
<hr />
<h2>Terminate Process</h2>
<p>Sometimes isolating the whole host would disrupt important business activity.</p>
<p>Instead:</p>
<pre><code class="language-text">Malicious Process
      ↓
Terminate
</code></pre>
<p>may be enough.</p>
<p>Analysts need to be careful because terminating legitimate critical processes can also disrupt systems.</p>
<hr />
<h2>Quarantine File</h2>
<p>A malicious file can be moved to an isolated state where it cannot execute normally.</p>
<pre><code class="language-text">Suspicious File
      ↓
Quarantine
      ↓
Review / Remove / Restore
</code></pre>
<hr />
<h2>Remote Access</h2>
<p>EDR platforms may allow security analysts to remotely interact with an endpoint.</p>
<p>This can be used for:</p>
<pre><code class="language-text">Additional investigation
Custom commands
Collecting evidence
Running scripts
Taking response actions
</code></pre>
<hr />
<h2>Artifact Collection</h2>
<p>Analysts may need to collect:</p>
<pre><code class="language-text">Memory dumps
Event logs
Registry hives
Specific files
Folder contents
</code></pre>
<p>for deeper forensic investigation.</p>
<hr />
<h2>🛠️ Hands-On / Workflow — Task 6</h2>
<p>My response decision tree became:</p>
<pre><code class="language-text">TRUE POSITIVE
     ↓
How serious?
     ↓
Is attack active?
     ↓
Contain
     ↓
 ┌─────────────┬──────────────┐
 |             |              |
Isolate     Terminate      Quarantine
 Host        Process          File
     \           |             /
      \          |            /
       └─────────┴───────────┘
                 ↓
          Collect Evidence
</code></pre>
<hr />
<h1>Task 7 — Investigate an Alert on EDR</h1>
<p>This was the practical part of the room.</p>
<p>TryHackMe provides a simulated EDR dashboard with several detections.</p>
<p>The task is to investigate the detections using the visibility available inside the EDR. The exercise intentionally focuses on understanding detection context rather than performing response actions. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>My Investigation Workflow</h1>
<p>Instead of searching directly for the question answer, I used a repeatable investigation method.</p>
<pre><code class="language-text">Open Detection
      ↓
Identify Host
      ↓
Identify User
      ↓
Inspect Process Tree
      ↓
Find Suspicious Parent / Child
      ↓
Read Command Line
      ↓
Inspect File Activity
      ↓
Inspect Network Activity
      ↓
Check Threat Intelligence
      ↓
Build Attack Timeline
</code></pre>
<hr />
<h1>Step 1 — Identify the Endpoint</h1>
<p>First:</p>
<pre><code class="language-text">Which machine triggered the alert?
</code></pre>
<p>The hostname is important because several alerts may exist for different systems.</p>
<hr />
<h1>Step 2 — Look at the Process Tree</h1>
<p>I examine:</p>
<pre><code class="language-text">Parent
   ↓
Child
   ↓
Grandchild
</code></pre>
<p>and ask:</p>
<pre><code class="language-text">Does this relationship make sense?
</code></pre>
<p>For example:</p>
<pre><code class="language-text">User application
      ↓
Command shell
      ↓
Downloader
</code></pre>
<p>may deserve attention.</p>
<hr />
<h1>Step 3 — Inspect Command-Line Arguments</h1>
<p>The executable name alone often does not reveal enough.</p>
<p>For example:</p>
<pre><code class="language-text">cmd.exe
</code></pre>
<p>is legitimate.</p>
<p>So is:</p>
<pre><code class="language-text">powershell.exe
</code></pre>
<p>But what matters is:</p>
<pre><code class="language-text">What command did it run?
</code></pre>
<p>Command-line telemetry can reveal:</p>
<pre><code class="language-text">Download commands
Encoded commands
Suspicious scripts
File paths
Remote URLs
</code></pre>
<hr />
<h1>Step 4 — Inspect File Activity</h1>
<p>Look for:</p>
<pre><code class="language-text">Downloaded files
Created executables
Temporary paths
Unexpected directories
Renamed files
</code></pre>
<p>Absolute paths are especially useful because they tell us <strong>where the artifact actually exists</strong>.</p>
<hr />
<h1>Step 5 — Inspect Network Activity</h1>
<p>Questions include:</p>
<pre><code class="language-text">Which process made the connection?

Which domain / URL?

Which remote IP?

Which port?

Was data uploaded?
</code></pre>
<p>This can reveal:</p>
<pre><code class="language-text">C2
Payload download
Data exfiltration
</code></pre>
<hr />
<h1>Step 6 — Check Threat Intelligence Context</h1>
<p>Some EDR platforms enrich detections with threat-intelligence information.</p>
<p>This can help answer:</p>
<pre><code class="language-text">Is the file known?

Has this hash been seen before?

How is it classified?

Is it associated with malware?
</code></pre>
<p>But threat intelligence should be combined with behavior rather than used blindly.</p>
<hr />
<h1>Step 7 — Reconstruct the Timeline</h1>
<p>The final goal is not simply to answer:</p>
<pre><code class="language-text">What filename?
</code></pre>
<p>The goal is to understand:</p>
<pre><code class="language-text">What happened from beginning to end?
</code></pre>
<p>For example:</p>
<pre><code class="language-text">Initial process
      ↓
Command execution
      ↓
Download
      ↓
Payload execution
      ↓
Network activity
      ↓
Potential exfiltration
</code></pre>
<p>That is the real value of EDR visibility.</p>
<hr />
<h2>🛠️ Hands-On / Tools — Task 7</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe simulated EDR
Detection dashboard
Process tree
Command-line telemetry
File telemetry
Network telemetry
Threat-intelligence enrichment
</code></pre>
<p>I intentionally excluded:</p>
<pre><code class="language-text">❌ Downloader-tool answer
❌ Malware path
❌ Suspicious executable path
❌ Exfiltration URL
❌ Threat-intelligence classification answer
</code></pre>
<p>so other learners can investigate the detections themselves.</p>
<hr />
<h1>Task 8 — Conclusion</h1>
<p>By the end of the room, EDR no longer felt like:</p>
<pre><code class="language-text">"Antivirus with more features"
</code></pre>
<p>Instead, I now understand it as:</p>
<pre><code class="language-text">                 ENDPOINT
                    |
                    v
                EDR AGENT
                    |
                    v
                TELEMETRY
                    |
       ┌────────────┼─────────────┐
       |            |             |
   Processes      Files        Network
       |          Registry      Commands
       └────────────┼─────────────┘
                    |
                    v
               EDR CONSOLE
                    |
                    v
                 DETECTION
                    |
        ┌───────────┼───────────┐
        |           |           |
   Behavior       IOC       Anomaly / ML
        |           |           |
        └───────────┼───────────┘
                    |
                    v
                SOC ANALYST
                    |
                    v
               INVESTIGATION
                    |
                    v
                 RESPONSE
</code></pre>
<p>TryHackMe closes the room by reinforcing EDR architecture, telemetry, advanced detection mechanisms, response capabilities, and practical alert investigation. (<a href="https://tryhackme.com/room/introductiontoedrs?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>EDR Telemetry Cheat Sheet</h1>
<table>
<thead>
<tr>
<th>Telemetry</th>
<th>What It Helps Identify</th>
</tr>
</thead>
<tbody><tr>
<td>Process execution</td>
<td>Suspicious parent-child relationships</td>
</tr>
<tr>
<td>Command line</td>
<td>Malicious or obfuscated commands</td>
</tr>
<tr>
<td>Network connections</td>
<td>C2, lateral movement, exfiltration</td>
</tr>
<tr>
<td>File changes</td>
<td>Malware drops, ransomware, staging</td>
</tr>
<tr>
<td>Registry changes</td>
<td>Persistence and configuration changes</td>
</tr>
<tr>
<td>User activity</td>
<td>Who performed the action</td>
</tr>
<tr>
<td>Process tree</td>
<td>Complete execution chain</td>
</tr>
<tr>
<td>Timestamps</td>
<td>Reconstructing the attack timeline</td>
</tr>
</tbody></table>
<hr />
<h1>Detection Cheat Sheet</h1>
<table>
<thead>
<tr>
<th>Detection Type</th>
<th>Main Idea</th>
</tr>
</thead>
<tbody><tr>
<td>Signature</td>
<td>Matches known threat</td>
</tr>
<tr>
<td>Behavioral</td>
<td>Detects suspicious actions</td>
</tr>
<tr>
<td>Anomaly</td>
<td>Detects deviation from baseline</td>
</tr>
<tr>
<td>IOC Matching</td>
<td>Matches known indicators</td>
</tr>
<tr>
<td>MITRE Mapping</td>
<td>Maps activity to attack tactic/technique</td>
</tr>
<tr>
<td>Machine Learning</td>
<td>Identifies complex behavioral patterns</td>
</tr>
</tbody></table>
<hr />
<h1>Response Cheat Sheet</h1>
<table>
<thead>
<tr>
<th>Response</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td>Isolate Host</td>
<td>Contain endpoint</td>
</tr>
<tr>
<td>Terminate Process</td>
<td>Stop malicious execution</td>
</tr>
<tr>
<td>Quarantine File</td>
<td>Prevent suspicious file execution</td>
</tr>
<tr>
<td>Remote Access</td>
<td>Investigate/respond directly</td>
</tr>
<tr>
<td>Collect Artifacts</td>
<td>Support deeper forensic analysis</td>
</tr>
</tbody></table>
<hr />
<h1>Key Lessons Learned</h1>
<h2>1. EDR Is About Visibility as Much as Detection</h2>
<p>A detection saying:</p>
<pre><code class="language-text">Malware found
</code></pre>
<p>is useful.</p>
<p>But:</p>
<pre><code class="language-text">Process tree
+
Command line
+
Files
+
Registry
+
Network
+
Timeline
</code></pre>
<p>is far more valuable for investigation.</p>
<hr />
<h2>2. Context Can Reveal What Signatures Miss</h2>
<p>A legitimate process can perform malicious activity.</p>
<pre><code class="language-text">PowerShell
</code></pre>
<p>is not malware.</p>
<p>But:</p>
<pre><code class="language-text">Document
   ↓
PowerShell
   ↓
Obfuscated downloader
</code></pre>
<p>may be suspicious.</p>
<hr />
<h2>3. Telemetry Tells the Attack Story</h2>
<p>Rather than viewing isolated alerts:</p>
<pre><code class="language-text">Event A
Event B
Event C
</code></pre>
<p>EDR can help us see:</p>
<pre><code class="language-text">A
 ↓
B
 ↓
C
 ↓
Attack Chain
</code></pre>
<hr />
<h2>4. Antivirus and EDR Are Not the Same</h2>
<p>A useful mental model is:</p>
<pre><code class="language-text">Antivirus
    ↓
Primarily prevention/detection

EDR
    ↓
Visibility
+
Detection
+
Investigation
+
Response
</code></pre>
<hr />
<h2>5. Response Must Be Context-Aware</h2>
<p>Immediately isolating every host would be a poor strategy.</p>
<p>A production server may be business-critical.</p>
<p>Sometimes:</p>
<pre><code class="language-text">Terminate process
</code></pre>
<p>is better than:</p>
<pre><code class="language-text">Isolate entire host
</code></pre>
<p>Response requires both security judgment and business awareness.</p>
<hr />
<h2>6. Process Trees Are Extremely Valuable</h2>
<p>Whenever I investigate an EDR alert, one of my first questions is now:</p>
<blockquote>
<p><strong>Who spawned whom?</strong></p>
</blockquote>
<p>A suspicious child process can completely change the meaning of an otherwise legitimate application.</p>
<hr />
<h1>My Final EDR Investigation Model</h1>
<pre><code class="language-text">                   DETECTION
                       |
                       v
                     HOST
                       |
                       v
                 PROCESS TREE
                       |
             ┌─────────┼─────────┐
             |         |         |
          Parent     Child     Command
             |         |         |
             └─────────┼─────────┘
                       |
                  FILE ACTIVITY
                       |
                       v
               NETWORK ACTIVITY
                       |
                       v
              REGISTRY / USER DATA
                       |
                       v
              THREAT INTELLIGENCE
                       |
                       v
                 BUILD TIMELINE
                       |
               ┌───────┴───────┐
               |               |
             BENIGN         MALICIOUS
               |               |
             CLOSE           RESPOND
</code></pre>
<hr />
<h1>Ethical Learning Note</h1>
<p>This article is a <strong>learning guide rather than an answer dump</strong>.</p>
<p>I included:</p>
<pre><code class="language-text">✅ EDR architecture
✅ EDR vs antivirus
✅ Telemetry concepts
✅ Detection techniques
✅ Response capabilities
✅ Alert investigation workflow
✅ Generic examples
</code></pre>
<p>while intentionally excluding:</p>
<pre><code class="language-text">❌ TryHackMe answers
❌ Malware paths
❌ Exfiltration URL
❌ Threat-intelligence answer
❌ Dashboard-specific values
❌ Direct task submissions
</code></pre>
<p>The goal is to document the methodology while leaving the actual EDR investigation exercise for other learners to solve themselves.</p>
<hr />
<h1>Resources</h1>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/introductiontoedrs">Introduction to EDR</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h1>Connect with Me</h1>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em> 🚀</p>
]]></content:encoded></item><item><title><![CDATA[🛡️ TryHackMe — SOC L1 Alert Reporting | Learning Guide]]></title><description><![CDATA[Spoiler-Free Learning Guide: This article contains no TryHackMe flags, dashboard-specific answers, usernames, phishing answers, or escalation-task solutions. It focuses on the reporting, escalation, a]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-soc-l1-alert-reporting-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-soc-l1-alert-reporting-learning-guide</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[SOC Analyst]]></category><category><![CDATA[Alert Reporting]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[SIEM]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Sat, 12 Sep 2026 14:44:30 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/5ed67cc5-17f4-4133-8640-1303e6dbc1cb.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p><strong>Spoiler-Free Learning Guide:</strong> This article contains <strong>no TryHackMe flags, dashboard-specific answers, usernames, phishing answers, or escalation-task solutions</strong>. It focuses on the reporting, escalation, and communication methodology I learned while completing the room.</p>
</blockquote>
<h2>Introduction</h2>
<p>After completing <strong>SOC L1 Alert Triage</strong>, I moved to the next part of the SOC workflow:</p>
<h1>Alert Reporting</h1>
<p>Finding a suspicious alert is only part of an L1 analyst's job.</p>
<p>Once an alert has been investigated, several questions still remain:</p>
<pre><code class="language-text">How should I document what happened?

When should I escalate the alert?

Who should receive the escalation?

What information does L2 need?

How should I communicate during a critical incident?
</code></pre>
<p>The <strong>SOC L1 Alert Reporting</strong> room focuses on three important operational skills:</p>
<pre><code class="language-text">Reporting
     ↓
Escalation
     ↓
Communication
</code></pre>
<p>These skills allow an L1 analyst to transfer useful investigation context to senior analysts instead of simply marking an alert as a True Positive and moving on. TryHackMe specifically frames the room around proper alert reporting, escalation methods, and SOC communication. (<a href="https://tryhackme.com/room/socl1alertreporting?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>The room follows this structure:</p>
<pre><code class="language-text">Task 1 — Introduction
Task 2 — Alert Funnel
Task 3 — Reporting Guide
Task 4 — Escalation Guide
Task 5 — SOC Communication
Task 6 — Conclusion
</code></pre>
<hr />
<h1>Task 1 — Introduction</h1>
<p>The first task connects directly with the previous Alert Triage room.</p>
<p>During triage, an L1 analyst may reach several outcomes.</p>
<p>For example:</p>
<pre><code class="language-text">Clearly Benign
      ↓
False Positive
      ↓
Close Alert
</code></pre>
<p>But sometimes:</p>
<pre><code class="language-text">Suspicious Activity
      ↓
True Positive
      ↓
More Investigation Needed
</code></pre>
<p>Or:</p>
<pre><code class="language-text">Analyst Is Unsure
      ↓
Need Senior Support
</code></pre>
<p>Or even:</p>
<pre><code class="language-text">Confirmed Major Attack
      ↓
Immediate Remediation Needed
</code></pre>
<p>This is where <strong>reporting, escalation, and communication</strong> become necessary.</p>
<hr />
<h2>Reporting</h2>
<p>Reporting means formally documenting:</p>
<pre><code class="language-text">What happened

What I investigated

What evidence I found

What conclusion I reached

Why I reached that conclusion
</code></pre>
<p>A good report allows someone who did not perform the original investigation to understand the alert.</p>
<hr />
<h2>Escalation</h2>
<p>Escalation means passing an alert to someone with:</p>
<pre><code class="language-text">More experience
More authority
More technical capability
or
Responsibility for remediation
</code></pre>
<p>For an L1 analyst, that is commonly an:</p>
<pre><code class="language-text">L2 Analyst
</code></pre>
<hr />
<h2>Communication</h2>
<p>Not every investigation can be completed using SIEM logs alone.</p>
<p>Sometimes the SOC may need information from:</p>
<pre><code class="language-text">IT
HR
System Owners
Management
Other Security Teams
</code></pre>
<p>Communication therefore becomes part of the investigation itself.</p>
<p>TryHackMe presents all three as core L1 capabilities, especially when the analyst is uncertain or when a real attack requires action. (<a href="https://tryhackme.com/room/socl1alertreporting?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Workflow — Task 1</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe SOC Dashboard
Alert Queue
Alert Details
Analyst Comments
Assignment Workflow
</code></pre>
<p>My mental model became:</p>
<pre><code class="language-text">TRIAGE
   ↓
VERDICT
   ↓
REPORT
   ↓
ESCALATE if required
   ↓
COMMUNICATE
</code></pre>
<hr />
<h1>Task 2 — Alert Funnel</h1>
<p>This task explains what happens to alerts after initial triage.</p>
<p>Not every alert travels through the entire SOC.</p>
<p>Instead, alerts move through a kind of:</p>
<h1>Alert Funnel</h1>
<p>Imagine L1 receives:</p>
<pre><code class="language-text">100 Alerts
</code></pre>
<p>Many may turn out to be:</p>
<pre><code class="language-text">False Positives
</code></pre>
<p>Some may be real but simple enough for L1 to handle.</p>
<p>A smaller group may need:</p>
<pre><code class="language-text">L2 Investigation
</code></pre>
<p>And only a very small number may become major incidents requiring:</p>
<pre><code class="language-text">DFIR
Incident Response
Management involvement
</code></pre>
<p>TryHackMe illustrates this as a funnel where L1 handles many alerts, escalates a much smaller set of True Positives, and only a few serious incidents require deeper response. (<a href="https://tryhackme.com/room/socl1alertreporting?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Why This Funnel Matters</h1>
<p>A SOC cannot escalate every alert.</p>
<p>If L1 forwarded everything:</p>
<pre><code class="language-text">Every alert
    ↓
L2
    ↓
Overload
    ↓
Important incidents delayed
</code></pre>
<p>Instead:</p>
<pre><code class="language-text">L1
 ↓
Filters noise
 ↓
Validates alerts
 ↓
Adds context
 ↓
Escalates only when needed
</code></pre>
<p>This makes the SOC more efficient.</p>
<hr />
<h1>Alert Reporting</h1>
<p>Before closing or escalating an alert, an analyst may need to document the investigation.</p>
<p>A good report should let another analyst understand:</p>
<pre><code class="language-text">What happened

Who was involved

Which systems were involved

What evidence supports the verdict

What should happen next
</code></pre>
<hr />
<h1>Alert Escalation</h1>
<p>If the activity requires more investigation or remediation:</p>
<pre><code class="language-text">L1
 ↓
Alert Report
 ↓
Escalation
 ↓
L2
</code></pre>
<p>The L2 analyst should not need to restart the entire investigation from zero.</p>
<p>That is why good reporting directly improves escalation.</p>
<hr />
<h1>Communication</h1>
<p>Sometimes the SOC needs external information.</p>
<p>Example:</p>
<pre><code class="language-text">Alert:
User gained administrator privileges

SOC question:
Was this approved?

Possible contact:
IT Team
</code></pre>
<p>Or:</p>
<pre><code class="language-text">Alert:
Suspicious new employee activity

Question:
Is this user's employment status correct?

Possible contact:
HR
</code></pre>
<p>So SOC analysis is not isolated technical work.</p>
<hr />
<h2>🛠️ Hands-On / Workflow — Task 2</h2>
<h3>Concepts Practiced</h3>
<pre><code class="language-text">Alert funnel
L1 responsibilities
L2 responsibilities
DFIR escalation
Reporting
Communication
</code></pre>
<p>My simplified flow:</p>
<pre><code class="language-text">ALERT
   ↓
L1 TRIAGE
   ↓
 ┌───────────────┐
 │               │
FP / Simple     Complex TP
 │               │
Close         Report
                 ↓
              Escalate
                 ↓
                L2
                 ↓
           Major Incident?
                 ↓
               DFIR
</code></pre>
<hr />
<h1>Task 3 — Reporting Guide</h1>
<p>This was one of the most important tasks in the room.</p>
<p>A verdict such as:</p>
<pre><code class="language-text">True Positive
</code></pre>
<p>is not enough by itself.</p>
<p>The next analyst needs to know:</p>
<blockquote>
<p>Why is it a True Positive?</p>
</blockquote>
<p>That requires a useful report.</p>
<p>TryHackMe recommends structuring reports using the:</p>
<h1>Five Ws</h1>
<pre><code class="language-text">Who
What
When
Where
Why
</code></pre>
<p>(<a href="https://tryhackme.com/room/socl1alertreporting?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Why Write Reports?</h1>
<h2>1. Provide Context for Escalation</h2>
<p>Suppose L2 receives:</p>
<pre><code class="language-text">Verdict: True Positive
</code></pre>
<p>That tells them almost nothing.</p>
<p>Compare it with:</p>
<pre><code class="language-text">Affected user identified

Suspicious email received

Link accessed

Related endpoint activity found

Activity judged malicious because...
</code></pre>
<p>Now L2 has something useful to continue from.</p>
<hr />
<h2>2. Preserve Investigation Findings</h2>
<p>Raw logs may not always remain available forever.</p>
<p>Alert records and investigation notes can provide long-term context.</p>
<p>That makes the report useful later during:</p>
<pre><code class="language-text">Incident Response
Audit
Threat Hunting
Repeat investigations
Case review
</code></pre>
<p>TryHackMe specifically notes that reports preserve context beyond the retention period of some raw logs. (<a href="https://tryhackme.com/room/socl1alertreporting?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>3. Improve Analyst Thinking</h2>
<p>Writing forces me to answer:</p>
<pre><code class="language-text">Do I actually understand this alert?
</code></pre>
<p>If I cannot explain:</p>
<pre><code class="language-text">What happened
and
Why I chose my verdict
</code></pre>
<p>my investigation may not be complete.</p>
<hr />
<h1>The Five Ws</h1>
<h2>Who?</h2>
<p>Identify the affected person or account.</p>
<p>Examples:</p>
<pre><code class="language-text">Which user logged in?

Who downloaded the file?

Who executed the process?

Who received the suspicious email?
</code></pre>
<hr />
<h2>What?</h2>
<p>Describe exactly what happened.</p>
<p>Avoid:</p>
<pre><code class="language-text">"Something suspicious occurred."
</code></pre>
<p>Prefer:</p>
<pre><code class="language-text">"A suspicious attachment was received and subsequently opened."
</code></pre>
<hr />
<h2>When?</h2>
<p>Include useful timestamps.</p>
<p>For example:</p>
<pre><code class="language-text">Alert generated: 14:35

Suspicious event began: 14:31

Follow-up activity: 14:33
</code></pre>
<p>Timing helps reconstruct the sequence.</p>
<hr />
<h2>Where?</h2>
<p>Identify the systems or infrastructure involved.</p>
<p>Examples:</p>
<pre><code class="language-text">Hostname
Source IP
Destination IP
Domain
Website
Mailbox
Cloud tenant
</code></pre>
<hr />
<h1>Why?</h1>
<p>This is arguably the most important part.</p>
<p>The report should explain:</p>
<blockquote>
<p>Why did I choose this verdict?</p>
</blockquote>
<p>For example:</p>
<pre><code class="language-text">The sender domain was unrelated to the legitimate organization,
the message contained a suspicious external link,
and follow-up endpoint activity was observed.
</code></pre>
<p>The report should contain reasoning rather than merely repeating alert fields.</p>
<hr />
<h1>Weak vs Strong Report</h1>
<h3>Weak</h3>
<pre><code class="language-text">Suspicious email detected.
True Positive.
</code></pre>
<h3>Better</h3>
<pre><code class="language-text">Who:
Corporate user received the email.

What:
The message contained a suspicious link impersonating a trusted service.

When:
Activity occurred during the alert window.

Where:
Email originated from an external sender and targeted the corporate mailbox.

Why:
Sender identity and message behavior were inconsistent with expected activity.
The alert is assessed as a True Positive and requires escalation.
</code></pre>
<p>The exact evidence obviously changes by investigation.</p>
<hr />
<h2>🛠️ Hands-On / Workflow — Task 3</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">SOC Dashboard
Alert Details
Analyst Comment
Five Ws
Related Events
</code></pre>
<p>My report-writing workflow became:</p>
<pre><code class="language-text">INVESTIGATE
     ↓
Collect evidence
     ↓
WHO?
     ↓
WHAT?
     ↓
WHEN?
     ↓
WHERE?
     ↓
WHY?
     ↓
Write concise report
</code></pre>
<p>I intentionally excluded the room's leaked-user answer, phishing sender, and report flag.</p>
<hr />
<h1>Task 4 — Escalation Guide</h1>
<p>Once the investigation and report are complete, the next question is:</p>
<blockquote>
<p>Should this alert be escalated?</p>
</blockquote>
<p>Not every True Positive necessarily requires the same response.</p>
<p>TryHackMe recommends escalation when deeper investigation, remediation, external communication, or senior assistance is needed. (<a href="https://tryhackme.com/room/socl1alertreporting?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>When Should L1 Escalate?</h1>
<h2>1. Major Cyberattack</h2>
<p>If the activity suggests:</p>
<pre><code class="language-text">Significant compromise
Lateral movement
Credential theft
Data exfiltration
Widespread malware
</code></pre>
<p>the incident likely requires deeper investigation.</p>
<hr />
<h2>2. Remediation Is Required</h2>
<p>Examples:</p>
<pre><code class="language-text">Host isolation
Malware removal
Password reset
Account disablement
Blocking infrastructure
</code></pre>
<p>L1 may not have the authority or responsibility to perform all of these actions.</p>
<hr />
<h2>3. External Communication Is Required</h2>
<p>The incident may involve:</p>
<pre><code class="language-text">Customers
Partners
Management
Legal
Law enforcement
</code></pre>
<p>Those situations normally require escalation.</p>
<hr />
<h2>4. I Do Not Understand the Alert</h2>
<p>This point is important.</p>
<p>Escalation is not only for huge incidents.</p>
<p>If an L1 analyst genuinely cannot determine what an alert means:</p>
<pre><code class="language-text">Unclear activity
     ↓
Ask L2
</code></pre>
<p>is safer than:</p>
<pre><code class="language-text">Unclear activity
     ↓
Guess
     ↓
Close
</code></pre>
<p>TryHackMe explicitly encourages L1 analysts to request senior support when something is unclear rather than blindly closing an alert. (<a href="https://tryhackme.com/room/socl1alertreporting?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Escalation Workflow</h1>
<p>A simplified workflow is:</p>
<pre><code class="language-text">Alert
  ↓
Assign myself
  ↓
In Progress
  ↓
Investigate
  ↓
Write report
  ↓
Set intermediate verdict
  ↓
Escalation required?
        ↓
       Yes
        ↓
Reassign to L2
  ↓
Notify L2
</code></pre>
<p>The quality of the report matters because L2 will use it as their starting point.</p>
<hr />
<h1>What Happens After Escalation?</h1>
<p>L2 may:</p>
<pre><code class="language-text">Validate L1 findings

Perform deeper log analysis

Perform remediation

Contact other departments

Start Incident Response

Request DFIR support
</code></pre>
<p>L1 therefore contributes to a larger response process.</p>
<hr />
<h2>🛠️ Hands-On / Workflow — Task 4</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">SOC Dashboard
Alert assignment
Verdict selection
Analyst comments
L2 escalation
</code></pre>
<p>My escalation checklist:</p>
<pre><code class="language-text">1. Complete initial investigation

2. Write the report

3. Set the most appropriate current verdict

4. Confirm escalation is necessary

5. Assign to the L2 on shift

6. Notify them according to SOC procedure
</code></pre>
<p>I intentionally excluded the L2 analyst's name and escalation flags from the room.</p>
<hr />
<h1>Task 5 — SOC Communication</h1>
<p>This task showed that technical investigation alone is not enough.</p>
<p>A SOC analyst also needs to know:</p>
<pre><code class="language-text">Who should I contact?

How should I contact them?

When should I escalate communication?

What if normal procedures fail?
</code></pre>
<p>TryHackMe walks through several realistic communication problems that analysts may encounter. (<a href="https://tryhackme.com/room/socl1alertreporting?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Scenario 1 — Critical Alert but L2 Is Unavailable</h1>
<p>Suppose:</p>
<pre><code class="language-text">Critical confirmed threat
      +
L2 not responding
</code></pre>
<p>Waiting indefinitely is not appropriate.</p>
<p>A communication chain might become:</p>
<pre><code class="language-text">Try L2
   ↓
Try L3 / senior analyst
   ↓
Contact SOC manager
</code></pre>
<p>The key lesson:</p>
<blockquote>
<p>Know the emergency escalation path before the emergency happens.</p>
</blockquote>
<hr />
<h1>Scenario 2 — User's Communication Account Is Compromised</h1>
<p>Suppose the alert indicates that someone's:</p>
<pre><code class="language-text">Teams
Slack
or
Corporate chat
</code></pre>
<p>account may have been compromised.</p>
<p>It would be a mistake to message the potentially compromised account:</p>
<pre><code class="language-text">"Did you perform this login?"
</code></pre>
<p>because the attacker could be the one responding.</p>
<p>A safer approach is an alternative verified channel:</p>
<pre><code class="language-text">Phone
Approved secondary channel
In-person verification
</code></pre>
<hr />
<h1>Scenario 3 — Sudden Alert Surge</h1>
<p>Suppose many alerts arrive simultaneously:</p>
<pre><code class="language-text">Low
Medium
High
Critical
Critical
Medium
...
</code></pre>
<p>The solution is not to panic or work randomly.</p>
<p>Use the triage process:</p>
<pre><code class="language-text">Filter
   ↓
Prioritise
   ↓
Investigate highest risk
</code></pre>
<p>but also inform L2 about the unusual volume.</p>
<p>A sudden surge itself may indicate:</p>
<pre><code class="language-text">Large-scale attack
Detection problem
Infrastructure issue
</code></pre>
<hr />
<h1>Scenario 4 — Realising an Earlier Alert Was Misclassified</h1>
<p>Suppose I closed an alert yesterday.</p>
<p>Later, new evidence makes me think:</p>
<pre><code class="language-text">That may have been malicious.
</code></pre>
<p>The correct response is not:</p>
<pre><code class="language-text">Ignore it because it is already closed.
</code></pre>
<p>Instead:</p>
<pre><code class="language-text">Immediately notify L2
      ↓
Explain concern
      ↓
Reopen / investigate if required
</code></pre>
<p>Attackers can remain inside an environment for an extended period without obvious impact, so correcting a previous decision quickly matters. (<a href="https://tryhackme.com/room/socl1alertreporting?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Scenario 5 — SIEM Data Is Broken</h1>
<p>Suppose:</p>
<pre><code class="language-text">Fields are not parsed

Search is failing

Logs appear incomplete
</code></pre>
<p>The wrong response is:</p>
<pre><code class="language-text">Skip the alert.
</code></pre>
<p>Instead:</p>
<pre><code class="language-text">Investigate available evidence
       ↓
Document the limitation
       ↓
Notify L2 or SOC engineer
</code></pre>
<p>Tool failure does not automatically make the alert unimportant.</p>
<hr />
<h1>Crisis Communication</h1>
<p>A mature SOC should ideally have documented:</p>
<pre><code class="language-text">Emergency contacts
Escalation hierarchy
Communication channels
Roles and responsibilities
</code></pre>
<p>These procedures reduce confusion during a real incident.</p>
<hr />
<h2>🛠️ Hands-On / Methodology — Task 5</h2>
<h3>Concepts Practiced</h3>
<pre><code class="language-text">Crisis communication
Emergency escalation
Alternative contact channels
Alert surges
Misclassification reporting
Tooling issues
</code></pre>
<p>My decision model became:</p>
<pre><code class="language-text">Problem occurs
     ↓
Can normal SOC process handle it?
       /          \
     Yes           No
      |             |
 Continue       Emergency escalation
                    ↓
             Correct contact path
</code></pre>
<hr />
<h1>Task 6 — Conclusion</h1>
<p>By the end of this room, I understood that an L1 analyst's responsibility does not end with:</p>
<pre><code class="language-text">True Positive
</code></pre>
<p>A complete workflow looks more like:</p>
<pre><code class="language-text">ALERT
  ↓
TRIAGE
  ↓
VERDICT
  ↓
REPORT
  ↓
ESCALATE
  ↓
COMMUNICATE
  ↓
REMEDIATION / FURTHER INVESTIGATION
</code></pre>
<p>TryHackMe concludes the room by emphasizing that reporting preserves investigation context, escalation gets threats to the right level of analyst, and communication keeps the wider response coordinated. (<a href="https://tryhackme.com/room/socl1alertreporting?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Alert Report Cheat Sheet</h1>
<table>
<thead>
<tr>
<th>Section</th>
<th>What I Should Include</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Who</strong></td>
<td>User/account involved</td>
</tr>
<tr>
<td><strong>What</strong></td>
<td>Exact suspicious activity</td>
</tr>
<tr>
<td><strong>When</strong></td>
<td>Relevant timestamps</td>
</tr>
<tr>
<td><strong>Where</strong></td>
<td>Host, IP, domain, mailbox, service</td>
</tr>
<tr>
<td><strong>Why</strong></td>
<td>Evidence and reasoning behind verdict</td>
</tr>
<tr>
<td><strong>Verdict</strong></td>
<td>Current assessment</td>
</tr>
<tr>
<td><strong>Next Step</strong></td>
<td>Close, investigate further, or escalate</td>
</tr>
</tbody></table>
<hr />
<h1>When Should I Escalate?</h1>
<pre><code class="language-text">Major attack?
      ↓ YES

Remediation required?
      ↓ YES

External communication required?
      ↓ YES

I don't understand the alert?
      ↓ YES

           ESCALATE
</code></pre>
<hr />
<h1>L1 → L2 Handoff</h1>
<p>A poor handoff:</p>
<pre><code class="language-text">"Looks malicious. Please investigate."
</code></pre>
<p>A better handoff:</p>
<pre><code class="language-text">Affected Entity
      +
Timeline
      +
Suspicious Activity
      +
Evidence
      +
Reasoning
      +
Current Verdict
      +
Recommended Next Step
</code></pre>
<p>This reduces duplicated investigation effort.</p>
<hr />
<h1>Key Lessons Learned</h1>
<h2>1. A Verdict Without Reasoning Is Not Enough</h2>
<pre><code class="language-text">True Positive
</code></pre>
<p>is a classification.</p>
<p>It is not an investigation report.</p>
<p>A useful report explains:</p>
<pre><code class="language-text">Why?
</code></pre>
<hr />
<h2>2. The Five Ws Provide a Simple Reporting Framework</h2>
<pre><code class="language-text">WHO
WHAT
WHEN
WHERE
WHY
</code></pre>
<p>help ensure I do not leave out critical context.</p>
<hr />
<h2>3. Reporting Helps the Next Analyst</h2>
<p>A strong report means L2 can continue from:</p>
<pre><code class="language-text">My investigation
</code></pre>
<p>instead of restarting from:</p>
<pre><code class="language-text">Raw logs
</code></pre>
<hr />
<h2>4. Escalation Is Not Failure</h2>
<p>Asking L2 for help when something is unclear is better than making an unsupported decision.</p>
<pre><code class="language-text">Unsure
   ↓
Ask
</code></pre>
<p>is preferable to:</p>
<pre><code class="language-text">Unsure
   ↓
Guess
</code></pre>
<hr />
<h2>5. Communication Is Part of Incident Response</h2>
<p>SOC analysts do not work in isolation.</p>
<p>An investigation may involve:</p>
<pre><code class="language-text">IT
HR
Management
Legal
PR
Customers
Other Security Teams
</code></pre>
<p>Technical findings must therefore be communicated clearly.</p>
<hr />
<h2>6. Never Use a Compromised Channel for Verification</h2>
<p>If a user's chat account may be compromised:</p>
<pre><code class="language-text">Do not verify through the same account.
</code></pre>
<p>Use another trusted communication method.</p>
<hr />
<h2>7. Correct Mistakes Quickly</h2>
<p>If later evidence shows that I may have misclassified an alert:</p>
<pre><code class="language-text">Report it immediately.
</code></pre>
<p>Hiding or ignoring a mistake creates more security risk than acknowledging it.</p>
<hr />
<h1>My Final Mental Model</h1>
<pre><code class="language-text">                     SOC ALERT
                         |
                         v
                       TRIAGE
                         |
                         v
                      VERDICT
                         |
                         v
                       REPORT
                         |
              ┌──────────┴──────────┐
              |                     |
        No Escalation          Escalation
              |                     |
              v                     v
            CLOSE                  L2
                                    |
                                    v
                             DEEPER ANALYSIS
                                    |
                 ┌──────────────────┼─────────────────┐
                 |                  |                 |
            Remediation       Communication        DFIR
                 |                  |                 |
                 └──────────────────┼─────────────────┘
                                    |
                                    v
                              INCIDENT HANDLED
</code></pre>
<hr />
<h1>Ethical Learning Note</h1>
<p>This article is a <strong>learning guide rather than an answer dump</strong>.</p>
<p>I included:</p>
<pre><code class="language-text">✅ Reporting methodology
✅ Five Ws framework
✅ Escalation workflow
✅ L1 → L2 handoff process
✅ Communication scenarios
✅ Practical SOC reasoning
</code></pre>
<p>while intentionally excluding:</p>
<pre><code class="language-text">❌ TryHackMe flags
❌ Leaked-user answer
❌ Phishing sender answer
❌ L2 analyst name
❌ Dashboard verdict answers
❌ Escalation flags
❌ Lab-specific submissions
</code></pre>
<p>The goal is to document the SOC methodology while leaving the actual dashboard exercises for other learners to solve themselves.</p>
<hr />
<h1>Resources</h1>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/socl1alerttriage">SOC L1 Alert Triage</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h1>Connect with Me</h1>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em> 🚀</p>
]]></content:encoded></item><item><title><![CDATA[🛡️ TryHackMe — SOC L1 Alert Triage | Learning Guide]]></title><description><![CDATA[Spoiler-Free Learning Guide: This article contains no TryHackMe flags, dashboard-specific answers, usernames, alert-answer submissions, or final verdict solutions. It focuses on the SOC methodology, a]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-soc-l1-alert-triage-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-soc-l1-alert-triage-learning-guide</guid><category><![CDATA[SOC Analyst]]></category><category><![CDATA[#Alert Triage]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[tryhackme]]></category><category><![CDATA[SIEM]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Fri, 11 Sep 2026 15:35:25 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/11a2796c-3463-4c82-8e1f-eee878fed76c.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p><strong>Spoiler-Free Learning Guide:</strong> This article contains <strong>no TryHackMe flags, dashboard-specific answers, usernames, alert-answer submissions, or final verdict solutions</strong>. It focuses on the SOC methodology, alert properties, prioritisation, triage workflow, and practical analyst mindset I learned while completing the room.</p>
</blockquote>
<hr />
<h2>Introduction</h2>
<p>After learning about <strong>SIEM, logs, detection rules, and alert generation</strong>, I moved on to one of the most important day-to-day responsibilities of a SOC Level 1 analyst:</p>
<h1>Alert Triage</h1>
<p>A SIEM may generate many alerts during a shift.</p>
<p>The analyst's job is not simply to open each alert and click:</p>
<pre><code class="language-text">True Positive
</code></pre>
<p>or:</p>
<pre><code class="language-text">False Positive
</code></pre>
<p>Instead, there is a structured process:</p>
<pre><code class="language-text">Alert Appears
      ↓
Understand the Alert
      ↓
Prioritise It
      ↓
Take Ownership
      ↓
Investigate Context
      ↓
Determine Verdict
      ↓
Document Findings
      ↓
Close / Escalate
</code></pre>
<p>The <strong>SOC L1 Alert Triage</strong> room introduces the alert lifecycle from event generation to final resolution. It also provides a simulated SOC dashboard where alerts can be assigned, investigated, classified, and closed. (<a href="https://tryhackme.com/room/socl1alerttriage?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>The room follows this structure:</p>
<pre><code class="language-text">Task 1 — Introduction
Task 2 — Events and Alerts
Task 3 — Alert Properties
Task 4 — Alert Prioritisation
Task 5 — Alert Triage
Task 6 — Conclusion
</code></pre>
<hr />
<h1>Task 1 — Introduction</h1>
<p>The first task introduces the role alerts play inside a Security Operations Center.</p>
<p>A SOC may receive information from technologies such as:</p>
<pre><code class="language-text">SIEM
EDR
NDR
SOAR
Ticketing Platforms
</code></pre>
<p>These systems can produce alerts when activity matches suspicious conditions.</p>
<p>The important lesson is:</p>
<blockquote>
<p>An alert is not automatically a confirmed cyberattack.</p>
</blockquote>
<p>An alert means that something happened which deserves an analyst's attention.</p>
<hr />
<h2>Role of a SOC L1 Analyst</h2>
<p>SOC L1 analysts are usually the first analysts to review new detections.</p>
<p>A simplified workflow is:</p>
<pre><code class="language-text">Detection
   ↓
SOC L1
   ↓
Initial Triage
   ↓
False Positive?
      └── Close

True / Suspicious?
      └── Escalate
</code></pre>
<p>More advanced investigations may then be handled by:</p>
<pre><code class="language-text">SOC L2
SOC L3
Incident Response
DFIR
</code></pre>
<p>TryHackMe describes L1 analysts as the first line responsible for reviewing alerts and identifying which ones require deeper investigation. (<a href="https://tryhackme.com/room/socl1alerttriage?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>Why Alert Triage Matters</h2>
<p>Imagine a SOC receives:</p>
<pre><code class="language-text">1,000,000 raw events
</code></pre>
<p>during a day.</p>
<p>An analyst cannot manually inspect every log line.</p>
<p>Security tools therefore apply detection logic and reduce this enormous volume into:</p>
<pre><code class="language-text">A smaller set of alerts
</code></pre>
<p>that deserve attention.</p>
<p>This creates a funnel:</p>
<pre><code class="language-text">Millions of Events
       ↓
Detection Rules
       ↓
Hundreds of Alerts
       ↓
SOC Triage
       ↓
Few Real Incidents
</code></pre>
<p>This is what makes alert triage operationally important.</p>
<hr />
<h2>🛠️ Hands-On / Workflow — Task 1</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe SOC Dashboard
SIEM concepts
SOC alert queue
Alert lifecycle
</code></pre>
<p>My first action in the lab was simply getting familiar with the SOC dashboard.</p>
<p>Instead of immediately opening alerts randomly, I looked for:</p>
<pre><code class="language-text">Alert columns
Severity indicators
Alert status
Alert names
Assigned analyst
Verdict fields
</code></pre>
<p>My first mental model became:</p>
<pre><code class="language-text">Dashboard
   ↓
Queue
   ↓
Alert
   ↓
Analyst
   ↓
Investigation
</code></pre>
<hr />
<h1>Task 2 — Events and Alerts</h1>
<p>This task clarified an important distinction:</p>
<h1>Event ≠ Alert</h1>
<p>A security event is simply something that happened.</p>
<p>Examples include:</p>
<pre><code class="language-text">User logged in
Process started
File downloaded
Network connection opened
Email received
USB device inserted
</code></pre>
<p>These events are recorded by systems such as:</p>
<pre><code class="language-text">Operating Systems
Firewalls
Cloud Services
Applications
EDR
Network Devices
</code></pre>
<hr />
<h1>From Event to Alert</h1>
<p>The general flow is:</p>
<pre><code class="language-text">Activity Occurs
      ↓
System Records Event
      ↓
Log Generated
      ↓
Log Sent to SIEM / EDR
      ↓
Detection Logic Evaluates Event
      ↓
Suspicious Condition Matches
      ↓
Alert Generated
</code></pre>
<p>TryHackMe defines an alert as a notification created by a security solution when a particular event or sequence of events matches suspicious logic. This helps analysts focus on notable activity instead of manually reviewing huge volumes of normal logs. (<a href="https://tryhackme.com/room/socl1alerttriage?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Example</h1>
<p>Suppose a user enters the wrong password once:</p>
<pre><code class="language-text">Failed Login
</code></pre>
<p>That is an event.</p>
<p>Usually, it is not interesting.</p>
<p>But suppose we see:</p>
<pre><code class="language-text">09:01 → Failed login
09:01 → Failed login
09:02 → Failed login
09:02 → Failed login
09:03 → Successful login
</code></pre>
<p>A detection rule might recognize:</p>
<pre><code class="language-text">Repeated failures
       +
Successful authentication
</code></pre>
<p>and create:</p>
<pre><code class="language-text">Possible Brute-Force Alert
</code></pre>
<p>So:</p>
<pre><code class="language-text">Event
   ↓
Detection Logic
   ↓
Alert
</code></pre>
<hr />
<h1>Alert Management Platforms</h1>
<p>Alerts may appear in several types of systems.</p>
<h3>SIEM</h3>
<p>Examples include platforms such as:</p>
<pre><code class="language-text">Splunk
Elastic
Microsoft Sentinel
</code></pre>
<p>SIEM platforms centralize security logs and provide detection and alert-management capabilities.</p>
<h3>EDR / NDR</h3>
<p>These tools focus on:</p>
<pre><code class="language-text">Endpoint activity
or
Network activity
</code></pre>
<p>and commonly have their own alert dashboards.</p>
<h3>SOAR</h3>
<p>SOAR platforms can combine alerts from multiple sources and automate parts of the response process.</p>
<h3>ITSM / Ticketing</h3>
<p>Some organizations may also convert security alerts into cases or tickets using tools such as ticket-management platforms. TryHackMe discusses these as common ways SOC teams manage alert queues. (<a href="https://tryhackme.com/room/socl1alerttriage?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Who Handles Alerts?</h1>
<p>Different SOC roles interact with alerts differently.</p>
<pre><code class="language-text">SOC L1
   ↓
Initial alert triage

SOC L2
   ↓
Deeper investigation

SOC Engineers
   ↓
Create / improve detections

SOC Manager
   ↓
Monitor triage quality &amp; efficiency
</code></pre>
<p>This made it clear that SOC work is not just about technology.</p>
<p>It is a workflow involving people, processes, and tools.</p>
<hr />
<h2>🛠️ Hands-On / Workflow — Task 2</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">SOC Dashboard
Alert Queue
Alert statuses
SIEM concepts
</code></pre>
<p>In the simulated dashboard, I inspected the existing alerts and observed how they are organized.</p>
<p>Instead of documenting the room's alert names or counts, my methodology was:</p>
<pre><code class="language-text">Open dashboard
      ↓
Review queue
      ↓
Identify new alerts
      ↓
Observe status
      ↓
Observe severity
      ↓
Observe assignment
</code></pre>
<p>This made the difference between an <strong>event</strong> and an <strong>actionable alert</strong> much clearer.</p>
<hr />
<h1>Task 3 — Alert Properties</h1>
<p>The next task focuses on reading an alert properly.</p>
<p>Before investigating anything, I need to understand the information already provided by the detection system.</p>
<p>TryHackMe introduces several common alert properties that appear across SIEM and SOC platforms. (<a href="https://tryhackme.com/room/socl1alerttriage?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>1. Alert Time</h1>
<p>This tells us when the alert was created.</p>
<p>For example:</p>
<pre><code class="language-text">Event Time : 10:32
Alert Time : 10:35
</code></pre>
<p>These timestamps may differ because:</p>
<pre><code class="language-text">Event happens
     ↓
Log generated
     ↓
Log ingested
     ↓
Rule processes log
     ↓
Alert created
</code></pre>
<p>That delay is normal.</p>
<hr />
<h1>2. Alert Name</h1>
<p>The alert name gives a quick summary of the detection.</p>
<p>Examples might include:</p>
<pre><code class="language-text">Unusual Login Location
Potential Malware Execution
Suspicious PowerShell
Potential Data Exfiltration
RDP Brute Force
</code></pre>
<p>But the name alone is not enough to determine whether something is malicious.</p>
<p>It tells me:</p>
<pre><code class="language-text">What the detection rule thinks might have happened
</code></pre>
<p>not necessarily:</p>
<pre><code class="language-text">What definitely happened
</code></pre>
<hr />
<h1>3. Alert Severity</h1>
<p>Severity communicates urgency.</p>
<p>A typical scale might be:</p>
<pre><code class="language-text">🟢 Low
🟡 Medium
🟠 High
🔴 Critical
</code></pre>
<p>Severity is usually initially defined by the detection engineers.</p>
<p>It helps answer:</p>
<blockquote>
<p>Which alert deserves attention first?</p>
</blockquote>
<p>But severity is not the same as verdict.</p>
<p>A critical alert can still turn out to be benign.</p>
<hr />
<h1>4. Alert Status</h1>
<p>Status tells us where the alert is in the workflow.</p>
<p>Typical examples:</p>
<pre><code class="language-text">New
    ↓
In Progress
    ↓
Closed
</code></pre>
<p>This prevents several analysts from accidentally investigating the same alert.</p>
<hr />
<h1>5. Alert Verdict</h1>
<p>The verdict answers:</p>
<blockquote>
<p>Was this actually malicious?</p>
</blockquote>
<p>Common classifications include:</p>
<pre><code class="language-text">True Positive
False Positive
</code></pre>
<h3>True Positive</h3>
<pre><code class="language-text">Alert triggered
+
Real suspicious activity exists
</code></pre>
<h3>False Positive</h3>
<pre><code class="language-text">Alert triggered
+
Activity is legitimate
</code></pre>
<hr />
<h1>6. Alert Assignee</h1>
<p>The assignee is the analyst responsible for the alert.</p>
<p>Conceptually:</p>
<pre><code class="language-text">New Alert
   ↓
Analyst Assigns Self
   ↓
Analyst Owns Investigation
</code></pre>
<p>Ownership is important because it prevents confusion inside the SOC.</p>
<hr />
<h1>7. Alert Description</h1>
<p>A useful alert description may explain:</p>
<pre><code class="language-text">What detection logic triggered

Why the activity might be suspicious

How the analyst should investigate
</code></pre>
<p>Reading this before starting the investigation can save a lot of time.</p>
<hr />
<h1>8. Alert Fields</h1>
<p>Fields provide the actual values associated with the event.</p>
<p>Examples include:</p>
<pre><code class="language-text">Hostname
Username
IP Address
Command Line
Process Name
File Name
Domain
URL
Timestamp
</code></pre>
<p>These fields often become the starting points of the investigation.</p>
<hr />
<h2>My Alert Reading Checklist</h2>
<p>Before investigating, I now ask:</p>
<pre><code class="language-text">When did it happen?

What alert triggered?

How severe is it?

Who owns the alert?

Which user is affected?

Which host is affected?

Which IPs are involved?

Which process / command appears?

What does the description say?
</code></pre>
<hr />
<h2>🛠️ Hands-On / Workflow — Task 3</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">SOC Dashboard
Alert Detail View
Alert fields
Alert verdicts
Alert metadata
</code></pre>
<p>My practical workflow was:</p>
<pre><code class="language-text">Open alert
   ↓
Read name
   ↓
Check severity
   ↓
Check status
   ↓
Check verdict if already handled
   ↓
Identify user / host / IP
   ↓
Read description
</code></pre>
<p>I intentionally excluded the user and verdict requested by the room questions.</p>
<hr />
<h1>Task 4 — Alert Prioritisation</h1>
<p>A SOC analyst may have multiple unreviewed alerts at once.</p>
<p>The question becomes:</p>
<blockquote>
<p>Which alert should I investigate first?</p>
</blockquote>
<p>That process is:</p>
<h1>Alert Prioritisation</h1>
<p>TryHackMe presents a simple three-step approach: filter out alerts already being handled, prioritize higher severity first, and then work from the oldest alert toward newer ones. (<a href="https://tryhackme.com/room/socl1alerttriage?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Step 1 — Filter the Queue</h1>
<p>First, I should only consider alerts that actually require my attention.</p>
<p>That means avoiding alerts that are already:</p>
<pre><code class="language-text">Assigned
In Progress
Resolved
Closed
</code></pre>
<p>The goal is:</p>
<pre><code class="language-text">Unassigned
+
Unresolved
+
New
</code></pre>
<p>alerts.</p>
<hr />
<h1>Step 2 — Sort by Severity</h1>
<p>A simple priority order is:</p>
<pre><code class="language-text">Critical
   ↓
High
   ↓
Medium
   ↓
Low
</code></pre>
<p>Why?</p>
<p>Because higher-severity detections are generally designed to represent:</p>
<pre><code class="language-text">Higher confidence
or
Higher potential impact
</code></pre>
<hr />
<h1>Step 3 — Consider Alert Age</h1>
<p>Suppose two alerts have the same severity.</p>
<p>Which one should I investigate first?</p>
<p>Usually:</p>
<pre><code class="language-text">Older Alert
</code></pre>
<p>because an attacker connected to an older compromise may have had more time to act.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Critical — 20 minutes old
        ↓
Critical — 3 minutes old
        ↓
High — 30 minutes old
        ↓
Medium
        ↓
Low
</code></pre>
<hr />
<h1>Why Time Matters</h1>
<p>Imagine two real intrusions.</p>
<h3>Attack A</h3>
<pre><code class="language-text">Started 40 minutes ago
</code></pre>
<h3>Attack B</h3>
<pre><code class="language-text">Started 2 minutes ago
</code></pre>
<p>If both are equally serious, Attack A may already have progressed through:</p>
<pre><code class="language-text">Initial Access
      ↓
Discovery
      ↓
Credential Access
      ↓
Lateral Movement
</code></pre>
<p>while Attack B may still be near the beginning.</p>
<p>That makes the older unresolved alert important.</p>
<hr />
<h1>Real SOC Prioritisation Is More Complex</h1>
<p>In real environments, prioritisation may also consider:</p>
<pre><code class="language-text">Criticality of affected asset
VIP user involvement
Threat intelligence
Attack stage
Frequency
Business impact
Known active campaign
</code></pre>
<p>A later TryHackMe triage example similarly emphasizes severity, time, attack stage, and affected asset as useful dimensions for deciding what matters most. (<a href="https://tryhackme.com/room/azuresentinel-aoc2025-a7d3h9k0p2?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Workflow — Task 4</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">SOC Dashboard
Alert filtering
Severity
Timestamp
Assignment
Status management
</code></pre>
<p>My prioritisation process was:</p>
<pre><code class="language-text">1. Ignore alerts already being handled

2. Find highest severity

3. If tied, compare timestamps

4. Choose oldest unresolved one

5. Assign it to myself

6. Change status to In Progress
</code></pre>
<p>This was the first point where the simulated SOC dashboard started feeling like an actual analyst queue rather than just a learning interface.</p>
<hr />
<h1>Task 5 — Alert Triage</h1>
<p>This was the core task of the room.</p>
<p>TryHackMe breaks alert triage into three broad stages:</p>
<pre><code class="language-text">Initial Actions
      ↓
Investigation
      ↓
Final Actions
</code></pre>
<p>(<a href="https://tryhackme.com/room/socl1alerttriage?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Stage 1 — Initial Actions</h1>
<p>Before deeply investigating an alert, the analyst should formally take ownership.</p>
<p>That means:</p>
<pre><code class="language-text">Assign alert to yourself
       ↓
Change status to In Progress
       ↓
Read alert information
</code></pre>
<p>Why is this important?</p>
<p>Without ownership:</p>
<pre><code class="language-text">Analyst A investigates alert
        +
Analyst B investigates same alert
        =
Duplicated work
</code></pre>
<p>SOC processes exist partly to prevent this kind of confusion.</p>
<hr />
<h1>Stage 2 — Understand the Alert</h1>
<p>Before searching through more logs, I should understand what the alert claims.</p>
<p>I ask:</p>
<pre><code class="language-text">Who is affected?

What happened?

When did it happen?

Where did it happen?

Which indicators are involved?
</code></pre>
<p>This connects closely with the <strong>5 Ws</strong> used throughout SOC work:</p>
<pre><code class="language-text">Who
What
When
Where
Why
</code></pre>
<p>TryHackMe's SOC fundamentals material uses this same structure for alert triage and reporting. (<a href="https://tryhackme.com/room/socfundamentals?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Stage 3 — Identify the Affected Entity</h1>
<p>Depending on the alert, the affected entity might be:</p>
<pre><code class="language-text">User
Hostname
IP Address
Cloud Account
Email Account
Website
Application
Network
</code></pre>
<p>For example:</p>
<pre><code class="language-text">Suspicious login
       ↓
User account

Malware execution
       ↓
Endpoint

Unusual network connection
       ↓
Host + IP

Phishing
       ↓
Email account
</code></pre>
<p>Understanding what is under threat helps narrow the investigation.</p>
<hr />
<h1>Stage 4 — Understand the Action</h1>
<p>Next I ask:</p>
<blockquote>
<p>What exactly triggered the alert?</p>
</blockquote>
<p>Possible actions include:</p>
<pre><code class="language-text">Login
Process execution
File download
Email delivery
Command execution
Network connection
Credential attempt
</code></pre>
<p>The alert name may give an initial hint, but I need to inspect the underlying events.</p>
<hr />
<h1>Stage 5 — Review Surrounding Events</h1>
<p>This was one of the most useful ideas from the room.</p>
<p>Never analyze a suspicious event in isolation.</p>
<p>Suppose an alert says:</p>
<pre><code class="language-text">Unusual Login
</code></pre>
<p>I would inspect activity shortly:</p>
<pre><code class="language-text">Before
and
After
</code></pre>
<p>the event.</p>
<p>Example:</p>
<pre><code class="language-text">14:01 → Login from unusual location
14:02 → MFA configuration changed
14:04 → Sensitive file accessed
14:06 → Large outbound transfer
</code></pre>
<p>The first event alone may be uncertain.</p>
<p>The sequence tells a much stronger story.</p>
<p>TryHackMe specifically recommends reviewing activity around the alert timestamp to find related suspicious behavior. (<a href="https://tryhackme.com/room/socl1alerttriage?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Stage 6 — Use Threat Intelligence When Needed</h1>
<p>Some investigations involve indicators such as:</p>
<pre><code class="language-text">IP addresses
Domains
URLs
File hashes
</code></pre>
<p>Threat intelligence platforms can provide additional context.</p>
<p>For example:</p>
<pre><code class="language-text">Suspicious IP
     ↓
Check reputation / CTI
     ↓
Known malicious?
Associated campaign?
Previously observed?
</code></pre>
<p>But reputation alone should not automatically decide the verdict.</p>
<p>Context still matters.</p>
<hr />
<h1>Stage 7 — Determine the Verdict</h1>
<p>After investigation, I decide:</p>
<pre><code class="language-text">True Positive
or
False Positive
</code></pre>
<hr />
<h2>True Positive</h2>
<p>Example reasoning:</p>
<pre><code class="language-text">Suspicious alert
     +
Related malicious events
     +
Unexpected activity
     =
True Positive
</code></pre>
<hr />
<h2>False Positive</h2>
<p>Example:</p>
<pre><code class="language-text">Alert triggered
     +
Activity confirmed legitimate
     =
False Positive
</code></pre>
<p>An important SOC lesson is:</p>
<blockquote>
<p>Detection rule match ≠ confirmed incident.</p>
</blockquote>
<hr />
<h1>Stage 8 — Document the Reasoning</h1>
<p>Even if my verdict is correct, another analyst should be able to understand <strong>why</strong>.</p>
<p>A useful analyst comment might explain:</p>
<pre><code class="language-text">What happened

Which evidence was reviewed

Which entities were involved

Why the activity is malicious or benign

What action should happen next
</code></pre>
<p>This becomes especially important when escalating alerts to SOC L2.</p>
<hr />
<h1>Stage 9 — Close or Escalate</h1>
<p>The final action depends on the investigation.</p>
<pre><code class="language-text">False Positive
      ↓
Document
      ↓
Close
</code></pre>
<p>or:</p>
<pre><code class="language-text">True Positive
      ↓
Document
      ↓
Escalate / Respond
</code></pre>
<p>A L1 analyst's job is generally initial validation, while deeper investigation and incident handling may move to higher SOC tiers. (<a href="https://tryhackme.com/room/detectionandanalysis?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Workflow — Task 5</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe SOC Dashboard
SIEM event view
Alert metadata
Related logs
Verdict classification
Analyst comments
Status management
</code></pre>
<p>My repeatable workflow became:</p>
<pre><code class="language-text">ALERT ARRIVES
     ↓
PRIORITISE
     ↓
ASSIGN
     ↓
IN PROGRESS
     ↓
READ ALERT
     ↓
IDENTIFY USER / HOST / IP
     ↓
CHECK EVENT
     ↓
CHECK SURROUNDING EVENTS
     ↓
ADD CONTEXT
     ↓
TRUE OR FALSE POSITIVE
     ↓
DOCUMENT
     ↓
CLOSE / ESCALATE
</code></pre>
<p>I intentionally excluded the three room flags and the correct verdicts for the practical alerts.</p>
<hr />
<h1>Task 6 — Conclusion</h1>
<p>By the end of the room, alert triage no longer looked like:</p>
<pre><code class="language-text">Open Alert
     ↓
Guess True / False
</code></pre>
<p>Instead, I now see it as a structured decision process:</p>
<pre><code class="language-text">                 ALERT
                   |
                   v
              PRIORITISE
                   |
                   v
                 CLAIM
                   |
                   v
              UNDERSTAND
                   |
                   v
              INVESTIGATE
                   |
        ┌──────────┴──────────┐
        |                     |
      BENIGN              MALICIOUS
        |                     |
        v                     v
 FALSE POSITIVE          TRUE POSITIVE
        |                     |
        v                     v
      CLOSE              ESCALATE
</code></pre>
<p>TryHackMe concludes this room by preparing learners for the next SOC workflow skills: better alert comments, case reporting, communication, and escalation. (<a href="https://tryhackme.com/room/socl1alerttriage?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Alert Triage Cheat Sheet</h1>
<table>
<thead>
<tr>
<th>Stage</th>
<th>Question</th>
</tr>
</thead>
<tbody><tr>
<td>Prioritisation</td>
<td>Which alert should I take first?</td>
</tr>
<tr>
<td>Ownership</td>
<td>Is it assigned to me?</td>
</tr>
<tr>
<td>Alert Understanding</td>
<td>What detection triggered?</td>
</tr>
<tr>
<td>Entity Identification</td>
<td>Which user/host/IP is affected?</td>
</tr>
<tr>
<td>Investigation</td>
<td>What actually happened?</td>
</tr>
<tr>
<td>Context</td>
<td>What occurred before and after?</td>
</tr>
<tr>
<td>Validation</td>
<td>Is the behavior expected?</td>
</tr>
<tr>
<td>Verdict</td>
<td>True Positive or False Positive?</td>
</tr>
<tr>
<td>Documentation</td>
<td>Why did I reach this conclusion?</td>
</tr>
<tr>
<td>Final Action</td>
<td>Close or escalate?</td>
</tr>
</tbody></table>
<hr />
<h1>Important Alert Properties</h1>
<table>
<thead>
<tr>
<th>Property</th>
<th>What It Tells Me</th>
</tr>
</thead>
<tbody><tr>
<td>Alert Time</td>
<td>When the detection was generated</td>
</tr>
<tr>
<td>Alert Name</td>
<td>What suspicious activity was detected</td>
</tr>
<tr>
<td>Severity</td>
<td>Initial urgency</td>
</tr>
<tr>
<td>Status</td>
<td>Current workflow state</td>
</tr>
<tr>
<td>Verdict</td>
<td>Final classification</td>
</tr>
<tr>
<td>Assignee</td>
<td>Analyst responsible</td>
</tr>
<tr>
<td>Description</td>
<td>Detection explanation and guidance</td>
</tr>
<tr>
<td>Alert Fields</td>
<td>Users, hosts, IPs, processes, commands, etc.</td>
</tr>
</tbody></table>
<hr />
<h1>Key Lessons Learned</h1>
<h2>1. Event and Alert Are Different</h2>
<pre><code class="language-text">Event
=
Something happened
</code></pre>
<pre><code class="language-text">Alert
=
Security logic decided
the activity deserves attention
</code></pre>
<p>That distinction is fundamental.</p>
<hr />
<h2>2. Alert Severity Is Not the Verdict</h2>
<p>A:</p>
<pre><code class="language-text">Critical Alert
</code></pre>
<p>does not automatically mean:</p>
<pre><code class="language-text">Confirmed Attack
</code></pre>
<p>Severity determines priority.</p>
<p>Investigation determines verdict.</p>
<hr />
<h2>3. Ownership Prevents Duplicate Work</h2>
<p>Before investigation:</p>
<pre><code class="language-text">Assign
   ↓
In Progress
</code></pre>
<p>This simple workflow step is operationally important in a real SOC.</p>
<hr />
<h2>4. Prioritisation Matters</h2>
<p>The queue should not be handled randomly.</p>
<p>A simple workflow is:</p>
<pre><code class="language-text">New unresolved alerts
      ↓
Highest severity
      ↓
Oldest first
</code></pre>
<p>This helps ensure serious attacks are not left waiting.</p>
<hr />
<h2>5. Context Is Everything</h2>
<p>An isolated event may be harmless.</p>
<p>A sequence can reveal an attack.</p>
<pre><code class="language-text">Login
+
PowerShell
+
Credential access
+
Outbound connection
</code></pre>
<p>tells a very different story than:</p>
<pre><code class="language-text">Login
</code></pre>
<hr />
<h2>6. Alert ≠ Incident</h2>
<p>This is probably my biggest takeaway.</p>
<pre><code class="language-text">Alert
     ↓
Investigation
     ↓
Verdict
</code></pre>
<p>An alert tells me where to start looking.</p>
<p>It does not give me the final answer.</p>
<hr />
<h2>7. L1 Triage Is About Efficient Validation</h2>
<p>The L1 analyst does not necessarily perform full forensic analysis of every incident.</p>
<p>The goal is to determine:</p>
<pre><code class="language-text">Is this suspicious?

What evidence supports that?

Does someone senior need to investigate?
</code></pre>
<p>That makes triage both a technical and decision-making skill.</p>
<hr />
<h1>My Final Mental Model</h1>
<pre><code class="language-text">                     SOC ALERT QUEUE
                           |
                           v
                       FILTER
                           |
                           v
                      PRIORITISE
                           |
                           v
                        ASSIGN
                           |
                           v
                     IN PROGRESS
                           |
                           v
                    READ ALERT DATA
                           |
            ┌──────────────┼──────────────┐
            |              |              |
          USER           HOST             IP
            |              |              |
            └──────────────┼──────────────┘
                           |
                           v
                 REVIEW RELATED EVENTS
                           |
                           v
                     BUILD CONTEXT
                           |
                    ┌──────┴──────┐
                    |             |
                  BENIGN       MALICIOUS
                    |             |
                    v             v
              FALSE POSITIVE  TRUE POSITIVE
                    |             |
                    v             v
                  CLOSE        ESCALATE
</code></pre>
<hr />
<h1>Ethical Learning Note</h1>
<p>This article is a <strong>learning guide rather than an answer dump</strong>.</p>
<p>I included:</p>
<pre><code class="language-text">✅ Alert lifecycle
✅ SOC L1 methodology
✅ Alert properties
✅ Prioritisation workflow
✅ Investigation approach
✅ True/False Positive concepts
✅ Practical SOC workflow
</code></pre>
<p>while intentionally excluding:</p>
<pre><code class="language-text">❌ TryHackMe flags
❌ Dashboard alert counts
❌ Task-specific alert names
❌ User-answer values
❌ Practical alert verdicts
❌ Final triage submissions
</code></pre>
<p>The goal is to document the methodology while leaving the SOC dashboard exercises for other learners to investigate themselves.</p>
<hr />
<h1>✅ Room Completed</h1>
<pre><code class="language-text">Platform : TryHackMe
Path     : SOC Level 1 → SOC Team Internals
Room     : SOC L1 Alert Triage
Duration : ~60 minutes
Progress : 100% ✅
</code></pre>
<p>This room made the SOC L1 workflow much more concrete for me.</p>
<p>Instead of seeing a SIEM alert as simply a warning message, I now think:</p>
<pre><code class="language-text">Alert
   ↓
Priority
   ↓
Ownership
   ↓
Investigation
   ↓
Evidence
   ↓
Verdict
   ↓
Action
</code></pre>
<hr />
<h1>Resources</h1>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/socl1alerttriage">SOC L1 Alert Triage</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h1>Connect with Me</h1>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em> 🚀</p>
]]></content:encoded></item><item><title><![CDATA[🔵 TryHackMe — Blue | Windows Exploitation Learning Guide]]></title><description><![CDATA[Spoiler-Free Learning Guide: This article contains no TryHackMe flags, cracked passwords, task-specific module paths, vulnerability-answer submissions, or lab-specific values. It focuses on the method]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-blue-windows-exploitation-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-blue-windows-exploitation-learning-guide</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[Blue]]></category><category><![CDATA[Windows Exploitation]]></category><category><![CDATA[metasploit]]></category><category><![CDATA[cybersecurity]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Thu, 10 Sep 2026 15:38:18 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/dd72484d-a36c-4f08-bfdf-d7288ca408de.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p><strong>Spoiler-Free Learning Guide:</strong> This article contains <strong>no TryHackMe flags, cracked passwords, task-specific module paths, vulnerability-answer submissions, or lab-specific values</strong>. It focuses on the methodology, tools, concepts, and safe command patterns I practiced while completing the room.</p>
</blockquote>
<h2>Introduction</h2>
<p>After learning Windows fundamentals, command-line basics, networking, and defensive tools, I moved on to a more practical exploitation room:</p>
<h1>Blue</h1>
<p>The <strong>Blue</strong> room introduces a complete beginner-friendly Windows exploitation workflow.</p>
<p>Instead of only reading about vulnerabilities, the room takes us through several stages:</p>
<pre><code class="language-text">Reconnaissance
      ↓
Identify Vulnerability
      ↓
Gain Initial Access
      ↓
Upgrade the Shell
      ↓
Verify Privileges
      ↓
Credential Dumping
      ↓
Password Cracking
      ↓
Post-Exploitation Enumeration
</code></pre>
<p>TryHackMe describes Blue as an educational beginner room where we scan a Windows machine, identify a known vulnerability, gain access with Metasploit, work with Meterpreter, dump password hashes, and locate important files on the target. (<a href="https://tryhackme.com/room/blue">TryHackMe</a>)</p>
<p>The room is divided into five tasks:</p>
<pre><code class="language-text">Task 1 — Recon
Task 2 — Gain Access
Task 3 — Escalate
Task 4 — Cracking
Task 5 — Find Flags!
</code></pre>
<hr />
<h1>Task 1 — Recon</h1>
<p>The first stage of almost any penetration test is:</p>
<h1>Reconnaissance</h1>
<p>Before attempting exploitation, we need to understand the target.</p>
<p>Questions I want to answer include:</p>
<pre><code class="language-text">Is the machine reachable?

Which ports are open?

Which services are running?

What operating system appears to be running?

Are any exposed services outdated or vulnerable?
</code></pre>
<p>This is where <strong>Nmap</strong> becomes useful.</p>
<p>The Blue room begins by asking us to scan the deployed Windows machine and determine which exposed service might lead to exploitation. TryHackMe also notes that the target may not respond to ICMP, which is a useful reminder that failed ping responses do not necessarily mean the host is offline. (<a href="https://tryhackme.com/room/blue">TryHackMe</a>)</p>
<hr />
<h2>Port Scanning</h2>
<p>A simple scan against an authorized lab target could look like:</p>
<pre><code class="language-bash">nmap &lt;TARGET_IP&gt;
</code></pre>
<p>A more useful enumeration scan is:</p>
<pre><code class="language-bash">nmap -sC -sV &lt;TARGET_IP&gt;
</code></pre>
<p>Here:</p>
<pre><code class="language-text">-sC → Run default Nmap scripts
-sV → Detect service versions
</code></pre>
<p>Instead of seeing only:</p>
<pre><code class="language-text">Port open
</code></pre>
<p>we can obtain more context about the service behind that port.</p>
<hr />
<h2>Why Service Enumeration Matters</h2>
<p>Imagine a scan returns:</p>
<pre><code class="language-text">PORT      STATE      SERVICE
--------------------------------
XXX/tcp   open       service-A
YYY/tcp   open       service-B
ZZZ/tcp   open       service-C
</code></pre>
<p>My next question should not immediately be:</p>
<blockquote>
<p>Which exploit should I run?</p>
</blockquote>
<p>A better process is:</p>
<pre><code class="language-text">Open Port
    ↓
Identify Service
    ↓
Determine Version / Protocol
    ↓
Research Known Vulnerabilities
    ↓
Validate Applicability
</code></pre>
<p>This prevents randomly launching exploits against services we do not understand.</p>
<hr />
<h1>SMB as an Attack Surface</h1>
<p>One of the important technologies encountered in this room is <strong>SMB</strong>.</p>
<p>SMB stands for:</p>
<pre><code class="language-text">Server Message Block
</code></pre>
<p>Windows commonly uses SMB for capabilities such as:</p>
<pre><code class="language-text">File sharing
Printer sharing
Network resource access
Windows communication
</code></pre>
<p>Older SMB implementations have historically contained serious vulnerabilities.</p>
<p>The important lesson here was:</p>
<blockquote>
<p>An exposed service is not automatically vulnerable, but its protocol, version, patch level, and configuration can reveal possible attack paths.</p>
</blockquote>
<hr />
<h2>Vulnerability Research Workflow</h2>
<p>Once I identify an interesting service, I can research it using:</p>
<pre><code class="language-text">Service name
Version
Operating system
Microsoft security bulletins
CVE databases
Metasploit modules
Nmap vulnerability scripts
</code></pre>
<p>A useful Metasploit search pattern is:</p>
<pre><code class="language-text">search &lt;technology-or-vulnerability&gt;
</code></pre>
<p>And Nmap can also run scripts targeted at specific protocols:</p>
<pre><code class="language-bash">nmap --script "&lt;relevant-script-pattern&gt;" -p &lt;PORT&gt; &lt;TARGET_IP&gt;
</code></pre>
<p>I am intentionally not including the exact vulnerability identifier requested by the Blue room.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 1</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Nmap
TryHackMe AttackBox
Windows target VM
Service enumeration
Vulnerability research
</code></pre>
<p>Commands I practiced:</p>
<pre><code class="language-bash">nmap &lt;TARGET_IP&gt;
</code></pre>
<pre><code class="language-bash">nmap -sC -sV &lt;TARGET_IP&gt;
</code></pre>
<p>For more detailed service discovery:</p>
<pre><code class="language-bash">nmap -sV -p &lt;INTERESTING_PORT&gt; &lt;TARGET_IP&gt;
</code></pre>
<p>My reconnaissance workflow became:</p>
<pre><code class="language-text">SCAN
  ↓
PORTS
  ↓
SERVICES
  ↓
VERSIONS
  ↓
VULNERABILITY RESEARCH
  ↓
VALIDATE
</code></pre>
<p>No room-specific port count or vulnerability-answer string is included here.</p>
<hr />
<h1>Task 2 — Gain Access</h1>
<p>After identifying a potentially exploitable service, the next objective is:</p>
<h1>Initial Access</h1>
<p>The room uses:</p>
<pre><code class="language-text">Metasploit Framework
</code></pre>
<p>to demonstrate exploitation.</p>
<p>Metasploit provides modules for:</p>
<pre><code class="language-text">Reconnaissance
Scanning
Exploitation
Payload delivery
Post-exploitation
Session management
</code></pre>
<p>The Blue room explicitly guides learners through starting Metasploit, locating the appropriate exploitation module, configuring its required options, selecting a reverse-shell payload, and running it against the lab target. (<a href="https://tryhackme.com/room/blue">TryHackMe</a>)</p>
<hr />
<h1>Understanding Metasploit's Workflow</h1>
<p>The process can be summarized as:</p>
<pre><code class="language-text">Start Metasploit
      ↓
Search for relevant module
      ↓
Select module
      ↓
Show options
      ↓
Configure target
      ↓
Configure payload
      ↓
Validate settings
      ↓
Run
      ↓
Receive session
</code></pre>
<hr />
<h2>Starting Metasploit</h2>
<pre><code class="language-bash">msfconsole
</code></pre>
<p>The prompt changes to something similar to:</p>
<pre><code class="language-text">msf6 &gt;
</code></pre>
<p>From here I can search available modules.</p>
<hr />
<h1>Searching Modules</h1>
<p>Generic syntax:</p>
<pre><code class="language-text">search &lt;keyword&gt;
</code></pre>
<p>For example:</p>
<pre><code class="language-text">search windows smb
</code></pre>
<p>The search results may contain:</p>
<pre><code class="language-text">auxiliary modules
exploit modules
post-exploitation modules
payloads
</code></pre>
<p>The important skill is identifying the difference between them.</p>
<hr />
<h1>Selecting a Module</h1>
<p>The general syntax is:</p>
<pre><code class="language-text">use &lt;MODULE_PATH&gt;
</code></pre>
<p>I am intentionally not publishing the exact Blue module path because finding it is one of the room's tasks.</p>
<hr />
<h1>Reading Module Options</h1>
<p>After selecting a module:</p>
<pre><code class="language-text">show options
</code></pre>
<p>This tells us which values are:</p>
<pre><code class="language-text">Required
Optional
Already configured
Missing
</code></pre>
<p>Common Metasploit parameters include concepts such as:</p>
<pre><code class="language-text">Remote host
Remote port
Local callback address
Local callback port
Payload
</code></pre>
<hr />
<h1>RHOST vs LHOST</h1>
<p>This distinction is extremely important.</p>
<pre><code class="language-text">RHOST
=
Remote Host
=
Target machine
</code></pre>
<p>while:</p>
<pre><code class="language-text">LHOST
=
Local Host
=
Our attacking/listening machine
</code></pre>
<p>Conceptually:</p>
<pre><code class="language-text">Attacker                         Target
LHOST                            RHOST
  |                                |
  | &lt;------ Reverse Shell ---------|
</code></pre>
<p>Mixing these values up is a common reason reverse shells fail.</p>
<hr />
<h1>Payloads</h1>
<p>An exploit and a payload are different things.</p>
<pre><code class="language-text">Exploit
   ↓
Takes advantage of vulnerability
</code></pre>
<p>while:</p>
<pre><code class="language-text">Payload
   ↓
Code executed after exploitation succeeds
</code></pre>
<p>A reverse-shell payload causes the compromised machine to connect back to the attacker's listener.</p>
<pre><code class="language-text">Target
   |
   | Reverse connection
   v
Attacker
</code></pre>
<hr />
<h2>Backgrounding a Session</h2>
<p>After receiving a shell, Metasploit allows sessions to be moved into the background so we can continue using the framework.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Active shell
    ↓
Background
    ↓
Metasploit console
    ↓
Use post-exploitation module
</code></pre>
<p>Session management becomes very important in the next task.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 2</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Metasploit Framework
Reverse shell
Session management
Windows command shell
</code></pre>
<p>General workflow:</p>
<pre><code class="language-bash">msfconsole
</code></pre>
<p>Inside Metasploit:</p>
<pre><code class="language-text">search &lt;KEYWORD&gt;
</code></pre>
<pre><code class="language-text">use &lt;MODULE_PATH&gt;
</code></pre>
<pre><code class="language-text">show options
</code></pre>
<pre><code class="language-text">set &lt;REQUIRED_OPTION&gt; &lt;VALUE&gt;
</code></pre>
<pre><code class="language-text">set payload &lt;PAYLOAD&gt;
</code></pre>
<pre><code class="language-text">run
</code></pre>
<p>or:</p>
<pre><code class="language-text">exploit
</code></pre>
<p>I deliberately excluded the exact exploit path and required task-answer value.</p>
<hr />
<h1>Task 3 — Escalate</h1>
<p>This task teaches an important Metasploit concept:</p>
<h1>Upgrading a Basic Shell to Meterpreter</h1>
<p>A normal Windows shell may look like:</p>
<pre><code class="language-text">C:\Windows\system32&gt;
</code></pre>
<p>It provides standard Windows commands.</p>
<p>Meterpreter provides a richer post-exploitation interface with functionality such as:</p>
<pre><code class="language-text">Process enumeration
Privilege inspection
File navigation
Credential collection
Session migration
System information
Shell spawning
</code></pre>
<p>The room guides learners through backgrounding the existing shell, using a post-exploitation module to upgrade the session, verifying the privilege level, listing processes, and migrating into another process. (<a href="https://tryhackme.com/room/blue">TryHackMe</a>)</p>
<hr />
<h1>Shell vs Meterpreter</h1>
<p>A useful comparison is:</p>
<table>
<thead>
<tr>
<th>Normal Shell</th>
<th>Meterpreter</th>
</tr>
</thead>
<tbody><tr>
<td>Windows commands</td>
<td>Metasploit post-exploitation commands</td>
</tr>
<tr>
<td>Basic interaction</td>
<td>Rich session functionality</td>
</tr>
<tr>
<td><code>whoami</code></td>
<td><code>getuid</code></td>
</tr>
<tr>
<td>Native commands</td>
<td>Process migration, credential tools, etc.</td>
</tr>
</tbody></table>
<hr />
<h1>Sessions</h1>
<p>Metasploit may maintain multiple active connections.</p>
<p>To view them:</p>
<pre><code class="language-text">sessions
</code></pre>
<p>or:</p>
<pre><code class="language-text">sessions -l
</code></pre>
<p>Conceptually:</p>
<pre><code class="language-text">Session 1 → Basic shell

Session 2 → Meterpreter

Session 3 → Another target
</code></pre>
<p>I need to know which session I am working with before launching post-exploitation modules.</p>
<hr />
<h1>Checking Identity</h1>
<p>In a Windows shell:</p>
<pre><code class="language-cmd">whoami
</code></pre>
<p>In Meterpreter:</p>
<pre><code class="language-text">getuid
</code></pre>
<p>These commands answer:</p>
<blockquote>
<p>Which security context am I currently running under?</p>
</blockquote>
<p>This is one of the first checks I should perform after gaining access.</p>
<hr />
<h1>Why Privilege Level Matters</h1>
<p>Windows permissions determine what actions the session can perform.</p>
<p>A low-privilege user may not be able to:</p>
<pre><code class="language-text">Read sensitive system files
Dump credential material
Modify protected resources
Access other users' data
</code></pre>
<p>A highly privileged security context has substantially more access.</p>
<hr />
<h1>Process Enumeration</h1>
<p>Meterpreter can list processes:</p>
<pre><code class="language-text">ps
</code></pre>
<p>The process list helps identify:</p>
<pre><code class="language-text">PID
Process name
Architecture
User/security context
</code></pre>
<hr />
<h1>Process Migration</h1>
<p>Meterpreter can sometimes migrate its execution into another process.</p>
<p>Generic syntax:</p>
<pre><code class="language-text">migrate &lt;PID&gt;
</code></pre>
<p>Conceptually:</p>
<pre><code class="language-text">Meterpreter
     |
     v
Current Process
     |
     | migrate
     v
Another Process
</code></pre>
<p>Why?</p>
<p>One reason is session stability or aligning the session with a desired privilege context.</p>
<p>But process migration can fail, and the Blue room explicitly warns that it may require multiple attempts. (<a href="https://tryhackme.com/room/blue">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 3</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Metasploit sessions
Meterpreter
Process enumeration
Privilege verification
Process migration
Windows shell
</code></pre>
<p>Useful commands:</p>
<pre><code class="language-text">sessions -l
</code></pre>
<pre><code class="language-text">getuid
</code></pre>
<pre><code class="language-text">sysinfo
</code></pre>
<pre><code class="language-text">ps
</code></pre>
<pre><code class="language-text">migrate &lt;PID&gt;
</code></pre>
<p>To temporarily enter a Windows shell:</p>
<pre><code class="language-text">shell
</code></pre>
<p>Then:</p>
<pre><code class="language-cmd">whoami
</code></pre>
<p>I have intentionally excluded the exact shell-upgrade module path, required session value, and process ID used in the room.</p>
<hr />
<h1>Task 4 — Cracking</h1>
<p>After obtaining sufficient privileges, the room introduces:</p>
<h1>Password Hashes</h1>
<p>Operating systems should not normally store user passwords as readable plaintext.</p>
<p>Instead, password-derived values are stored using cryptographic mechanisms.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Password
   ↓
Hashing
   ↓
Stored Hash
</code></pre>
<p>An attacker who obtains password hashes may attempt <strong>offline password cracking</strong>.</p>
<p>The Blue room demonstrates this by having learners dump Windows credential hashes from an elevated Meterpreter session and then research how to crack the non-default user's password. (<a href="https://tryhackme.com/room/blue">TryHackMe</a>)</p>
<hr />
<h1>Hash Dumping</h1>
<p>Within a sufficiently privileged Meterpreter session, the room introduces:</p>
<pre><code class="language-text">hashdump
</code></pre>
<p>The resulting entries conceptually contain information such as:</p>
<pre><code class="language-text">Username
RID
LM-related field
NTLM hash
</code></pre>
<p>I am not publishing the actual username or hash from the lab.</p>
<hr />
<h1>Hashing Is Not Encryption</h1>
<p>This distinction matters.</p>
<p>Encryption:</p>
<pre><code class="language-text">Plaintext
   ↓
Encryption + Key
   ↓
Ciphertext
   ↓
Decryption + Key
   ↓
Plaintext
</code></pre>
<p>Hashing:</p>
<pre><code class="language-text">Password
   ↓
Hash Function
   ↓
Hash
</code></pre>
<p>There is no ordinary:</p>
<pre><code class="language-text">Decrypt hash
</code></pre>
<p>operation.</p>
<p>Password cracking instead tests candidate passwords:</p>
<pre><code class="language-text">Candidate Password
        ↓
Hash it
        ↓
Compare
        ↓
Match?
</code></pre>
<hr />
<h1>Dictionary Attack</h1>
<p>A dictionary attack uses a list of possible passwords.</p>
<p>Conceptually:</p>
<pre><code class="language-text">password1
football
welcome
example123
...
</code></pre>
<p>Each candidate is hashed and compared against the target hash.</p>
<pre><code class="language-text">Wordlist
   ↓
Candidate
   ↓
Hash
   ↓
Compare with captured hash
   ↓
Match → password identified
</code></pre>
<p>This also demonstrates why weak and common passwords are dangerous.</p>
<hr />
<h1>John the Ripper</h1>
<p>A general learning syntax is:</p>
<pre><code class="language-bash">john --format=&lt;HASH_FORMAT&gt; --wordlist=&lt;WORDLIST&gt; hashes.txt
</code></pre>
<p>Then:</p>
<pre><code class="language-bash">john --show hashes.txt
</code></pre>
<p>can display successfully recovered results.</p>
<hr />
<h1>Hashcat</h1>
<p>Hashcat follows a similar concept.</p>
<p>Generic syntax:</p>
<pre><code class="language-bash">hashcat -m &lt;MODE&gt; hashes.txt &lt;WORDLIST&gt;
</code></pre>
<p>The correct hash mode depends on the hash format.</p>
<hr />
<h1>Cybersecurity Lesson</h1>
<p>Strong password security depends on more than users choosing slightly complicated passwords.</p>
<p>Modern systems should also consider:</p>
<pre><code class="language-text">Strong password hashing
Unique salts
Appropriate work factors
MFA
Password policies
Detection of credential attacks
</code></pre>
<hr />
<h2>🛠️ Hands-On / Commands — Task 4</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Meterpreter
hashdump
John the Ripper
Hashcat
Password wordlists
</code></pre>
<p>Generic workflow:</p>
<pre><code class="language-text">Privileged session
      ↓
Dump hash
      ↓
Identify hash type
      ↓
Save hash to file
      ↓
Choose cracking tool
      ↓
Select wordlist
      ↓
Attempt offline crack
</code></pre>
<p>No lab username, hash, or recovered password is included.</p>
<hr />
<h1>Task 5 — Find Flags!</h1>
<p>The final task moves into:</p>
<h1>Post-Exploitation Enumeration</h1>
<p>After gaining access to a machine, exploitation itself is not necessarily the end goal.</p>
<p>A penetration tester may now investigate:</p>
<pre><code class="language-text">System configuration
User directories
Sensitive files
Credentials
Application data
Administrative resources
</code></pre>
<p>The Blue room places three educational flags in Windows locations chosen to reinforce knowledge of important parts of the filesystem. (<a href="https://tryhackme.com/room/blue">TryHackMe</a>)</p>
<hr />
<h1>Windows Filesystem Enumeration</h1>
<p>A normal Windows shell can be used to explore the filesystem.</p>
<p>Useful commands include:</p>
<pre><code class="language-cmd">cd
</code></pre>
<pre><code class="language-cmd">dir
</code></pre>
<p>To check the current identity:</p>
<pre><code class="language-cmd">whoami
</code></pre>
<p>To view system information:</p>
<pre><code class="language-cmd">systeminfo
</code></pre>
<hr />
<h1>Meterpreter File Navigation</h1>
<p>Meterpreter provides similar commands:</p>
<pre><code class="language-text">pwd
</code></pre>
<pre><code class="language-text">ls
</code></pre>
<pre><code class="language-text">cd &lt;DIRECTORY&gt;
</code></pre>
<pre><code class="language-text">cat &lt;FILE&gt;
</code></pre>
<p>This made it easier to connect what I had learned in the Windows Fundamentals rooms with actual post-exploitation enumeration.</p>
<hr />
<h1>Search Rather Than Guess</h1>
<p>A good post-exploitation habit is:</p>
<pre><code class="language-text">Understand the hint
      ↓
Think about Windows structure
      ↓
Navigate logically
      ↓
Search when necessary
</code></pre>
<p>instead of randomly opening every folder.</p>
<p>Some useful questions are:</p>
<pre><code class="language-text">Where does Windows keep system-level data?

Where is credential-related information stored?

Where do administrator profiles live?

Which directories would contain interesting user documents?
</code></pre>
<p>I am intentionally leaving the actual flag paths and values for learners to discover themselves.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 5</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Meterpreter
Windows filesystem
Command Prompt
Directory enumeration
File searching
</code></pre>
<p>Useful generic commands:</p>
<pre><code class="language-cmd">cd \
</code></pre>
<pre><code class="language-cmd">dir
</code></pre>
<pre><code class="language-cmd">dir /a
</code></pre>
<p>Meterpreter:</p>
<pre><code class="language-text">pwd
</code></pre>
<pre><code class="language-text">ls
</code></pre>
<pre><code class="language-text">cd &lt;DIRECTORY&gt;
</code></pre>
<p>The practical workflow was:</p>
<pre><code class="language-text">Read hint
   ↓
Identify likely Windows area
   ↓
Navigate
   ↓
Inspect directory
   ↓
Locate interesting file
   ↓
Understand why that location matters
</code></pre>
<p>No flag paths or flag contents are included.</p>
<hr />
<h1>Full Attack Chain</h1>
<p>This room gave me my first clear view of an end-to-end Windows exploitation workflow:</p>
<pre><code class="language-text">                   TARGET WINDOWS HOST
                           |
                           v
                     RECONNAISSANCE
                           |
                          Nmap
                           |
                           v
                  Identify Open Services
                           |
                           v
               Research Known Vulnerability
                           |
                           v
                      METASPLOIT
                           |
                           v
                    Initial Foothold
                           |
                           v
                   Background Session
                           |
                           v
                  Upgrade to Meterpreter
                           |
                           v
                  Verify Privilege Level
                           |
                           v
                  Enumerate Processes
                           |
                           v
                    Process Migration
                           |
                           v
                   Credential Dumping
                           |
                           v
                   Offline Cracking
                           |
                           v
                Post-Exploitation Search
</code></pre>
<hr />
<h1>Tools Used</h1>
<table>
<thead>
<tr>
<th>Tool / Command</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td>Nmap</td>
<td>Port and service enumeration</td>
</tr>
<tr>
<td><code>-sC</code></td>
<td>Run default Nmap scripts</td>
</tr>
<tr>
<td><code>-sV</code></td>
<td>Service/version detection</td>
</tr>
<tr>
<td>Metasploit</td>
<td>Exploitation framework</td>
</tr>
<tr>
<td><code>search</code></td>
<td>Find Metasploit modules</td>
</tr>
<tr>
<td><code>use</code></td>
<td>Select a module</td>
</tr>
<tr>
<td><code>show options</code></td>
<td>Inspect module parameters</td>
</tr>
<tr>
<td><code>set</code></td>
<td>Configure options</td>
</tr>
<tr>
<td><code>sessions</code></td>
<td>Manage active sessions</td>
</tr>
<tr>
<td>Meterpreter</td>
<td>Post-exploitation session</td>
</tr>
<tr>
<td><code>getuid</code></td>
<td>Check current Meterpreter identity</td>
</tr>
<tr>
<td><code>sysinfo</code></td>
<td>Inspect target information</td>
</tr>
<tr>
<td><code>ps</code></td>
<td>List processes</td>
</tr>
<tr>
<td><code>migrate</code></td>
<td>Move Meterpreter into another process</td>
</tr>
<tr>
<td><code>shell</code></td>
<td>Open native Windows shell</td>
</tr>
<tr>
<td><code>whoami</code></td>
<td>Display current Windows identity</td>
</tr>
<tr>
<td><code>hashdump</code></td>
<td>Dump Windows password hashes when privileges permit</td>
</tr>
<tr>
<td>John the Ripper</td>
<td>Offline password cracking</td>
</tr>
<tr>
<td>Hashcat</td>
<td>Offline hash cracking</td>
</tr>
<tr>
<td><code>dir</code> / <code>ls</code></td>
<td>Filesystem enumeration</td>
</tr>
</tbody></table>
<hr />
<h1>Key Lessons Learned</h1>
<h2>1. Recon Comes Before Exploitation</h2>
<p>A better workflow is:</p>
<pre><code class="language-text">Scan
 ↓
Understand service
 ↓
Research
 ↓
Validate
 ↓
Exploit
</code></pre>
<p>not:</p>
<pre><code class="language-text">Random exploit
 ↓
Hope
</code></pre>
<hr />
<h2>2. Open Ports Reveal Attack Surface</h2>
<p>Every exposed service gives me something to investigate:</p>
<pre><code class="language-text">Port
  ↓
Service
  ↓
Version
  ↓
Configuration
  ↓
Possible vulnerability
</code></pre>
<hr />
<h2>3. Exploit and Payload Are Different</h2>
<p>This became much clearer during Metasploit.</p>
<pre><code class="language-text">Exploit
=
How we gain execution
</code></pre>
<pre><code class="language-text">Payload
=
What executes afterwards
</code></pre>
<p>Understanding the difference makes Metasploit much easier to use.</p>
<hr />
<h2>4. Getting a Shell Is Only the Beginning</h2>
<p>Initial access may provide only limited functionality.</p>
<p>The next questions are:</p>
<pre><code class="language-text">Who am I?

What privileges do I have?

What processes are running?

Can I improve the session?

What information is accessible?
</code></pre>
<hr />
<h2>5. Meterpreter Is a Post-Exploitation Environment</h2>
<p>Meterpreter provides much more functionality than a basic command shell.</p>
<p>I practiced:</p>
<pre><code class="language-text">Session management
System enumeration
Process listing
Process migration
Credential collection
Filesystem navigation
</code></pre>
<hr />
<h2>6. Password Hashes Can Still Be Valuable to Attackers</h2>
<p>Even when passwords are not stored as plaintext, weak passwords can sometimes be recovered through offline guessing.</p>
<p>That reinforces why:</p>
<pre><code class="language-text">Strong unique passwords
+
Modern password storage
+
MFA
</code></pre>
<p>matter.</p>
<hr />
<h2>7. Enumeration Continues After Exploitation</h2>
<p>Reconnaissance is not only something done before exploitation.</p>
<p>After gaining access, we perform <strong>local enumeration</strong>:</p>
<pre><code class="language-text">Users
Files
Processes
Credentials
Configuration
System locations
</code></pre>
<p>That determines what can be done next.</p>
<hr />
<h1>Defensive Perspective</h1>
<p>The Blue room is an exploitation lab, but it also teaches important lessons for defenders.</p>
<p>The attack chain begins with an exposed, vulnerable service.</p>
<p>A defensive strategy therefore includes:</p>
<pre><code class="language-text">Patch vulnerable operating systems
        ↓
Disable unnecessary legacy protocols
        ↓
Restrict exposed network services
        ↓
Segment networks
        ↓
Monitor suspicious SMB activity
        ↓
Use endpoint protection
        ↓
Use strong passwords
        ↓
Monitor credential dumping
</code></pre>
<p>The vulnerability family demonstrated by Blue became particularly well known because similar weaknesses were later abused at large scale, including during the WannaCry outbreak. TryHackMe's Metasploit material uses the same EternalBlue family to explain how an SMB vulnerability can lead to remote code execution on vulnerable Windows systems. (<a href="https://tryhackme.com/room/metasploitintro6u?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>My Final Mental Model</h1>
<pre><code class="language-text">                WINDOWS EXPLOITATION
                         |
                         v
                       NMAP
                         |
                         v
                  OPEN SERVICES
                         |
                         v
              VULNERABILITY RESEARCH
                         |
                         v
                    METASPLOIT
                         |
                         v
                      SHELL
                         |
                         v
                    METERPRETER
                         |
              ┌──────────┼──────────┐
              |          |          |
           SYSTEM     PROCESSES   FILES
              |          |          |
          Privilege   Migration   Search
              |          |          |
              └──────────┼──────────┘
                         |
                         v
                   CREDENTIALS
                         |
                         v
                 PASSWORD HASHES
                         |
                         v
                    CRACKING
                         |
                         v
                 POST-EXPLOITATION
</code></pre>
<hr />
<h1>Ethical Learning Note</h1>
<p>Everything described here was practiced only inside the <strong>authorized TryHackMe lab environment</strong>.</p>
<p>This article includes:</p>
<pre><code class="language-text">✅ Recon methodology
✅ Generic Nmap commands
✅ Metasploit concepts
✅ Session-management workflow
✅ Meterpreter concepts
✅ Generic password-cracking syntax
✅ Post-exploitation methodology
✅ Defensive lessons
</code></pre>
<p>while intentionally excluding:</p>
<pre><code class="language-text">❌ TryHackMe flags
❌ Exact task-answer vulnerability ID
❌ Exact exploit module answer
❌ Lab target IP
❌ Lab process ID
❌ Password hash
❌ Cracked password
❌ Flag locations
❌ Direct room-question answers
</code></pre>
<p>The goal is to document <strong>how I approached the machine and what I learned</strong>, while leaving the actual TryHackMe challenges for other learners to solve.</p>
<hr />
<h1>Resources</h1>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/blue">Blue</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h1>Connect with Me</h1>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em> 🚀</p>
]]></content:encoded></item><item><title><![CDATA[👨‍🍳 TryHackMe — CyberChef: The Basics | Learning Guide]]></title><description><![CDATA[Spoiler-Free Learning Guide: This article contains no TryHackMe flags, challenge-file answers, or direct task solutions. It focuses on CyberChef concepts, methodology, operations, recipes, and hands-o]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-cyberchef-the-basics-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-cyberchef-the-basics-learning-guide</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[cyberchef]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[defensive security]]></category><category><![CDATA[#infosec]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Tue, 08 Sep 2026 14:44:54 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/587c2898-c5db-44f0-8ce4-ded34abb62a6.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p><strong>Spoiler-Free Learning Guide:</strong> This article contains <strong>no TryHackMe flags, challenge-file answers, or direct task solutions</strong>. It focuses on CyberChef concepts, methodology, operations, recipes, and hands-on examples using independent sample data.</p>
</blockquote>
<h2>Introduction</h2>
<p>After learning about networking, Windows, command-line tools, and SIEM, I moved on to a tool that appears repeatedly across cybersecurity tasks:</p>
<h1>CyberChef</h1>
<p>CyberChef is often described as the:</p>
<pre><code class="language-text">Swiss Army knife of cybersecurity
</code></pre>
<p>It is a browser-based application that can perform a huge variety of data transformations without requiring us to write scripts for every small task.</p>
<p>Some examples include:</p>
<pre><code class="language-text">Base64 encoding / decoding
Hex conversion
URL encoding / decoding
ROT13
Binary conversion
Hashing
Encryption / decryption
Extracting IP addresses
Extracting email addresses
Extracting URLs
Working with timestamps
</code></pre>
<p>What makes CyberChef especially useful is that these operations can be <strong>combined into recipes</strong>.</p>
<p>For example:</p>
<pre><code class="language-text">Input
  ↓
From Base64
  ↓
From Hex
  ↓
ROT13
  ↓
Output
</code></pre>
<p>Instead of manually using three different websites or scripts, CyberChef can perform the whole sequence inside one interface.</p>
<p>TryHackMe's room introduces what CyberChef is, how to navigate its four main areas, how operations and recipes work, and how to apply common transformations and extractors. (<a href="https://tryhackme.com/room/cyberchefbasics?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>The room follows this structure:</p>
<pre><code class="language-text">Introduction
      ↓
Accessing the Tool
      ↓
Navigating the Interface
      ↓
Thinking Before Cooking
      ↓
Practice
      ↓
Your First Official Cook
      ↓
Conclusion
</code></pre>
<hr />
<h1>Task 1 — Introduction</h1>
<p>The first task introduces CyberChef as a general-purpose data transformation tool.</p>
<p>Cybersecurity regularly involves encountering data that does not immediately make sense.</p>
<p>For example:</p>
<pre><code class="language-text">SGVsbG8gV29ybGQ=
</code></pre>
<p>or:</p>
<pre><code class="language-text">48 65 6c 6c 6f
</code></pre>
<p>or:</p>
<pre><code class="language-text">https%3A%2F%2Fexample.com
</code></pre>
<p>These may initially appear unreadable, but they represent data encoded in different ways.</p>
<p>Instead of manually converting each format, CyberChef provides operations specifically designed for these tasks.</p>
<hr />
<h2>The Main CyberChef Idea</h2>
<p>The workflow is:</p>
<pre><code class="language-text">DATA
  ↓
OPERATION
  ↓
RESULT
</code></pre>
<p>For example:</p>
<pre><code class="language-text">Text
  ↓
To Base64
  ↓
Base64-encoded text
</code></pre>
<p>But CyberChef becomes more powerful when several operations are chained:</p>
<pre><code class="language-text">Input
   ↓
Operation 1
   ↓
Operation 2
   ↓
Operation 3
   ↓
Final Output
</code></pre>
<p>This chain is called a:</p>
<h1>Recipe</h1>
<p>CyberChef officially describes recipes as a sequence of operations executed in order. (<a href="https://tryhackme.com/room/cyberchefbasics?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>Why CyberChef Is Useful in Cybersecurity</h2>
<p>CyberChef can help when working with:</p>
<pre><code class="language-text">Incident-response logs
Suspicious strings
Encoded URLs
Email artifacts
Malware indicators
Network data
CTF challenges
Forensic evidence
Obfuscated data
</code></pre>
<p>For example, an analyst might encounter:</p>
<pre><code class="language-text">Encoded PowerShell
</code></pre>
<p>or:</p>
<pre><code class="language-text">An unfamiliar hexadecimal string
</code></pre>
<p>or:</p>
<pre><code class="language-text">A block of text containing many IP addresses
</code></pre>
<p>CyberChef allows that data to be transformed or extracted quickly.</p>
<hr />
<h2>🛠️ Hands-On — Task 1</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">CyberChef
Web Browser
TryHackMe Room
</code></pre>
<p>A simple independent example:</p>
<p>Input:</p>
<pre><code class="language-text">Cyber Security
</code></pre>
<p>Apply:</p>
<pre><code class="language-text">To Base64
</code></pre>
<p>The output becomes an encoded representation.</p>
<p>Then add:</p>
<pre><code class="language-text">From Base64
</code></pre>
<p>after it.</p>
<p>The complete recipe becomes:</p>
<pre><code class="language-text">Cyber Security
      ↓
To Base64
      ↓
From Base64
      ↓
Cyber Security
</code></pre>
<p>This simple example demonstrates an important principle:</p>
<blockquote>
<p>Operations are executed from top to bottom in the recipe.</p>
</blockquote>
<hr />
<h1>Task 2 — Accessing the Tool</h1>
<p>CyberChef does not require a complicated installation process.</p>
<p>TryHackMe introduces two convenient ways to use it:</p>
<pre><code class="language-text">Online
or
Local / Offline
</code></pre>
<p>(<a href="https://tryhackme.com/room/cyberchefbasics?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Online CyberChef</h1>
<p>The easiest option is the browser version.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Browser
   ↓
CyberChef
   ↓
Paste Input
   ↓
Create Recipe
   ↓
Get Output
</code></pre>
<p>This is useful when working with ordinary training data.</p>
<hr />
<h1>Offline CyberChef</h1>
<p>CyberChef can also be downloaded and run locally.</p>
<p>This is important from a security perspective.</p>
<p>Imagine working with:</p>
<pre><code class="language-text">Sensitive incident logs
Confidential company data
Malware samples
Private forensic evidence
</code></pre>
<p>Uploading sensitive material to random online services may be inappropriate.</p>
<p>A local CyberChef copy allows processing to remain on the analyst's own machine.</p>
<hr />
<h2>Security Lesson</h2>
<p>Whenever using online tools, I should ask:</p>
<blockquote>
<p>Is this data safe to paste into a third-party website?</p>
</blockquote>
<p>For public training data:</p>
<pre><code class="language-text">Usually fine
</code></pre>
<p>For confidential corporate evidence:</p>
<pre><code class="language-text">Think carefully
</code></pre>
<p>Offline tooling may be safer.</p>
<hr />
<h2>🛠️ Hands-On — Task 2</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Web Browser
Online CyberChef
Offline CyberChef option
</code></pre>
<p>My workflow was simply:</p>
<pre><code class="language-text">Open CyberChef
      ↓
Confirm interface loads
      ↓
Locate Operations
      ↓
Locate Recipe
      ↓
Locate Input
      ↓
Locate Output
</code></pre>
<p>This prepared me for the next task.</p>
<hr />
<h1>Task 3 — Navigating the Interface</h1>
<p>This was one of the most important tasks.</p>
<p>CyberChef is divided into <strong>four primary areas</strong>:</p>
<pre><code class="language-text">1. Operations
2. Recipe
3. Input
4. Output
</code></pre>
<p>(<a href="https://tryhackme.com/room/cyberchefbasics?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>Understanding these four areas makes the entire tool much easier.</p>
<hr />
<h1>1. Operations Area</h1>
<p>The <strong>Operations</strong> section contains CyberChef's available transformations.</p>
<p>Examples include:</p>
<pre><code class="language-text">From Base64
To Base64
From Hex
To Hex
ROT13
URL Encode
URL Decode
Extract IP addresses
Extract URLs
Extract email addresses
From Unix Timestamp
</code></pre>
<p>Instead of scrolling through everything, the search box can be used.</p>
<p>For example, search:</p>
<pre><code class="language-text">Base64
</code></pre>
<p>and relevant operations appear.</p>
<hr />
<h2>Operation Categories</h2>
<p>Operations are organized into groups.</p>
<p>These may include areas such as:</p>
<pre><code class="language-text">Encoding / Decoding
Encryption
Hashing
Networking
Extractors
Data Formats
Compression
Date / Time
</code></pre>
<p>This organization becomes useful when I know roughly what kind of problem I am solving.</p>
<hr />
<h1>2. Recipe Area</h1>
<p>The <strong>Recipe</strong> area is where operations are placed.</p>
<p>TryHackMe describes it as the heart of CyberChef because this is where operations are selected, ordered, and configured. (<a href="https://tryhackme.com/room/cyberchefbasics?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>Example:</p>
<pre><code class="language-text">Recipe

From Base64
      ↓
URL Decode
      ↓
ROT13
</code></pre>
<p>The order matters.</p>
<p>For example:</p>
<pre><code class="language-text">From Base64
↓
From Hex
</code></pre>
<p>is not necessarily equivalent to:</p>
<pre><code class="language-text">From Hex
↓
From Base64
</code></pre>
<hr />
<h2>Auto Bake</h2>
<p>CyberChef can process the recipe automatically whenever the input or recipe changes.</p>
<p>This is called:</p>
<pre><code class="language-text">Auto Bake
</code></pre>
<p>When enabled:</p>
<pre><code class="language-text">Change Input
     ↓
Recipe Runs Automatically
     ↓
Output Updates
</code></pre>
<hr />
<h2>BAKE!</h2>
<p>If automatic processing is disabled, the recipe can be executed manually using:</p>
<pre><code class="language-text">BAKE!
</code></pre>
<hr />
<h2>Save / Load Recipe</h2>
<p>CyberChef can also save recipes.</p>
<p>This is useful when repeatedly performing the same transformation.</p>
<p>For example:</p>
<pre><code class="language-text">From Base64
↓
Gunzip
↓
Extract URLs
</code></pre>
<p>could be saved and reused later.</p>
<hr />
<h1>3. Input Area</h1>
<p>The Input area contains the data to be processed.</p>
<p>Data can typically be:</p>
<pre><code class="language-text">Typed
Pasted
Opened from a file
Dragged into the interface
</code></pre>
<p>TryHackMe also highlights options for multiple input tabs and loading files or folders. (<a href="https://tryhackme.com/room/cyberchefbasics?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>4. Output Area</h1>
<p>The Output area displays the result.</p>
<p>Conceptually:</p>
<pre><code class="language-text">INPUT
   ↓
RECIPE
   ↓
OUTPUT
</code></pre>
<p>The output can then be:</p>
<pre><code class="language-text">Copied
Saved
Reused as input
</code></pre>
<hr />
<h2>Replace Input With Output</h2>
<p>One especially useful feature is:</p>
<pre><code class="language-text">Replace Input With Output
</code></pre>
<p>This is helpful when working through multiple layers.</p>
<p>For example:</p>
<pre><code class="language-text">Encoded String
      ↓
Decode Layer 1
      ↓
Replace Input
      ↓
Decode Layer 2
      ↓
Replace Input
      ↓
Continue
</code></pre>
<hr />
<h2>🛠️ Hands-On — Task 3</h2>
<h3>Operations Practiced</h3>
<pre><code class="language-text">To Base64
From Base64
To Hex
ROT13
URL Encode
</code></pre>
<p>Example input:</p>
<pre><code class="language-text">Hello Analyst
</code></pre>
<p>Recipe:</p>
<pre><code class="language-text">To Hex
</code></pre>
<p>produces hexadecimal bytes.</p>
<p>Another independent example:</p>
<pre><code class="language-text">CyberChef
   ↓
ROT13
   ↓
Encrypted-looking text
   ↓
ROT13
   ↓
CyberChef
</code></pre>
<p>ROT13 is its own inverse.</p>
<p>The room uses operations such as Morse decoding, URL encoding, Base64, hexadecimal conversion, decimal conversion, and ROT13 to demonstrate the interface. (<a href="https://tryhackme.com/room/cyberchefbasics?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Task 4 — Before Anything Else</h1>
<p>This task taught something more important than memorizing operations:</p>
<h1>Think Before Using the Tool</h1>
<p>CyberChef contains hundreds of operations.</p>
<p>Randomly dragging operations into the recipe is not an efficient investigation strategy.</p>
<p>Instead, the room encourages a structured thought process. (<a href="https://tryhackme.com/room/cyberchefbasics?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Step 1 — Define the Objective</h1>
<p>First ask:</p>
<blockquote>
<p>What am I trying to accomplish?</p>
</blockquote>
<p>For example:</p>
<pre><code class="language-text">I found an unreadable string.

Goal:
Determine what the original message is.
</code></pre>
<p>Without a clear goal, I may waste time trying unrelated operations.</p>
<hr />
<h1>Step 2 — Understand the Input</h1>
<p>Look at the data carefully.</p>
<p>Questions I can ask:</p>
<pre><code class="language-text">Does it contain only hexadecimal characters?

Does it end in "="?

Does it contain %20 or %2F?

Does it look like binary?

Does it contain URLs?

Does it contain IP addresses?

Is it a timestamp?
</code></pre>
<p>Recognizing patterns helps identify the correct operation.</p>
<hr />
<h1>Step 3 — Choose an Operation</h1>
<p>Based on the evidence:</p>
<pre><code class="language-text">Looks like Base64
      ↓
Try From Base64

Looks like hexadecimal
      ↓
Try From Hex

Contains encoded URL characters
      ↓
Try URL Decode

Large text with indicators
      ↓
Try Extractors
</code></pre>
<hr />
<h1>Step 4 — Evaluate the Output</h1>
<p>After running the recipe:</p>
<blockquote>
<p>Did I achieve the objective?</p>
</blockquote>
<p>If yes:</p>
<pre><code class="language-text">Finish
</code></pre>
<p>If not:</p>
<pre><code class="language-text">Re-evaluate input
      ↓
Modify recipe
      ↓
Try again
</code></pre>
<hr />
<h2>My CyberChef Investigation Workflow</h2>
<pre><code class="language-text">1. Define objective
        ↓
2. Inspect input
        ↓
3. Identify likely format
        ↓
4. Select operation
        ↓
5. Run recipe
        ↓
6. Inspect output
        ↓
7. Repeat if necessary
</code></pre>
<p>This was one of the strongest lessons from the room.</p>
<hr />
<h2>🛠️ Hands-On — Task 4</h2>
<p>Suppose I encounter:</p>
<pre><code class="language-text">SGVsbG8gQW5hbHlzdA==
</code></pre>
<p>I notice:</p>
<pre><code class="language-text">Letters
Numbers
Possible "=" padding
</code></pre>
<p>My thought process becomes:</p>
<pre><code class="language-text">Possible Base64
      ↓
Search "Base64"
      ↓
Use From Base64
      ↓
Check whether output is meaningful
</code></pre>
<p>The important skill is not memorizing the decoded result.</p>
<p>It is learning <strong>how to reason from the structure of the input</strong>.</p>
<hr />
<h1>Task 5 — Practice, Practice, Practice</h1>
<p>This task introduces several highly useful CyberChef operations.</p>
<p>One category was especially relevant to defensive security:</p>
<h1>Extractors</h1>
<p>Extractors search large bodies of text and return specific types of information.</p>
<p>TryHackMe introduces extractors for <strong>IP addresses, URLs, and email addresses</strong>. (<a href="https://tryhackme.com/room/cyberchefbasics?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Extract IP Addresses</h1>
<p>Imagine receiving a large incident log:</p>
<pre><code class="language-text">Thousands of lines
      ↓
Multiple IP addresses
      ↓
Need indicators quickly
</code></pre>
<p>Instead of manually searching every line:</p>
<pre><code class="language-text">Extract IP addresses
</code></pre>
<p>can locate valid IPv4 and IPv6 addresses.</p>
<hr />
<h2>Cybersecurity Use Case</h2>
<p>Suppose a phishing email contains:</p>
<pre><code class="language-text">Text
URLs
Headers
IP addresses
Encoded content
</code></pre>
<p>An analyst can paste the material into CyberChef and extract network indicators quickly.</p>
<hr />
<h1>Extract Email Addresses</h1>
<p>The:</p>
<pre><code class="language-text">Extract email addresses
</code></pre>
<p>operation finds patterns that resemble:</p>
<pre><code class="language-text">user@example.com
</code></pre>
<p>This can be useful when analyzing:</p>
<pre><code class="language-text">Phishing messages
Large text dumps
Incident logs
Email headers
Leaked datasets
</code></pre>
<hr />
<h1>Extract URLs</h1>
<p>The:</p>
<pre><code class="language-text">Extract URLs
</code></pre>
<p>operation searches for URLs in the input.</p>
<p>For example, a suspicious document or email may contain multiple links hidden among other content.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Large Input
      ↓
Extract URLs
      ↓
URL 1
URL 2
URL 3
</code></pre>
<hr />
<h1>Number-Base Conversion</h1>
<p>CyberChef can also convert data between number systems.</p>
<p>Examples include:</p>
<pre><code class="language-text">Decimal
Binary
Hexadecimal
</code></pre>
<p>For example:</p>
<pre><code class="language-text">Decimal value
     ↓
To Binary
     ↓
Binary representation
</code></pre>
<p>This becomes useful in networking, reverse engineering, and low-level computing.</p>
<hr />
<h1>URL Encoding</h1>
<p>URLs sometimes contain encoded characters.</p>
<p>For example:</p>
<pre><code class="language-text">space
</code></pre>
<p>may become:</p>
<pre><code class="language-text">%20
</code></pre>
<p>Other special characters can also be percent-encoded.</p>
<p>CyberChef provides:</p>
<pre><code class="language-text">URL Encode
URL Decode
</code></pre>
<p>for converting between these representations.</p>
<hr />
<h2>🛠️ Hands-On — Task 5</h2>
<h3>Operations Practiced</h3>
<pre><code class="language-text">Extract IP addresses
Extract email addresses
Extract URLs
To Binary
URL Encode
</code></pre>
<p>Independent sample input:</p>
<pre><code class="language-text">SOC report:
Contact analyst@example.org.
Suspicious host: 192.0.2.55
Reference: https://example.org/report?id=15
</code></pre>
<p>Recipe:</p>
<pre><code class="language-text">Extract IP addresses
</code></pre>
<p>returns the IP indicator.</p>
<p>Switch the operation to:</p>
<pre><code class="language-text">Extract email addresses
</code></pre>
<p>and CyberChef returns the email.</p>
<p>Then:</p>
<pre><code class="language-text">Extract URLs
</code></pre>
<p>finds the URL.</p>
<p>This is the same methodology as the room without revealing its downloaded-file answers.</p>
<hr />
<h1>Task 6 — Your First Official Cook</h1>
<p>This task combines everything learned earlier.</p>
<p>The goal is no longer:</p>
<pre><code class="language-text">Find one operation
</code></pre>
<p>but:</p>
<pre><code class="language-text">Understand the input
      ↓
Select the right operation
      ↓
Configure it
      ↓
Interpret the output
</code></pre>
<p>The room uses different operations involving IP extraction, Base64, URL decoding, Unix timestamps, and Base85. (<a href="https://tryhackme.com/room/cyberchefbasics?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>I practiced each concept independently rather than publishing the exact challenge values.</p>
<hr />
<h1>Base64</h1>
<p>Base64 is an <strong>encoding</strong>, not encryption.</p>
<p>This distinction is important:</p>
<pre><code class="language-text">Encryption
    ↓
Requires cryptographic protection/key

Encoding
    ↓
Changes representation
</code></pre>
<p>Base64 exists primarily to represent binary data using printable ASCII characters.</p>
<hr />
<h2>Hands-On Base64 Example</h2>
<p>Input:</p>
<pre><code class="language-text">Learning CyberChef
</code></pre>
<p>Recipe:</p>
<pre><code class="language-text">To Base64
</code></pre>
<p>To reverse it:</p>
<pre><code class="language-text">From Base64
</code></pre>
<p>So:</p>
<pre><code class="language-text">Plaintext
   ↓
To Base64
   ↓
Encoded data
   ↓
From Base64
   ↓
Plaintext
</code></pre>
<hr />
<h1>URL Decoding</h1>
<p>A URL may appear like:</p>
<pre><code class="language-text">https%3A%2F%2Fexample%2Ecom%2Ftraining
</code></pre>
<p>Recognizable patterns include:</p>
<pre><code class="language-text">%3A
%2F
%2E
</code></pre>
<p>That suggests:</p>
<pre><code class="language-text">URL Decode
</code></pre>
<p>The result becomes a normal readable URL.</p>
<hr />
<h1>Unix Timestamps</h1>
<p>Unix timestamps represent time as the number of seconds since the Unix epoch.</p>
<p>CyberChef provides operations that can convert between:</p>
<pre><code class="language-text">Unix Timestamp
      ↕
Human-readable Date/Time
</code></pre>
<p>This is useful during:</p>
<pre><code class="language-text">Log analysis
Incident response
Forensics
Timeline analysis
</code></pre>
<p>because many systems record timestamps numerically.</p>
<hr />
<h1>Base85</h1>
<p>CyberChef also supports less-common encodings such as:</p>
<pre><code class="language-text">Base85
</code></pre>
<p>The investigation approach remains the same:</p>
<pre><code class="language-text">Recognize / suspect encoding
      ↓
Select corresponding From operation
      ↓
Inspect output
</code></pre>
<p>The point is not memorizing every encoding.</p>
<p>It is knowing how to find and apply an operation.</p>
<hr />
<h2>🛠️ Hands-On — Task 6</h2>
<h3>Operations Used</h3>
<pre><code class="language-text">Extract IP addresses
To Base64
From Base64
URL Decode
From Unix Timestamp
From Base85
</code></pre>
<p>Independent recipe example:</p>
<p>Input:</p>
<pre><code class="language-text">VHJ5SGFja01l
</code></pre>
<p>Possible process:</p>
<pre><code class="language-text">Input looks encoded
       ↓
Search Base64
       ↓
From Base64
       ↓
Inspect output
</code></pre>
<p>For more complicated data:</p>
<pre><code class="language-text">Input
   ↓
From Base64
   ↓
URL Decode
   ↓
Output
</code></pre>
<p>This demonstrates how operations can be chained into a recipe.</p>
<hr />
<h1>The Magic Operation</h1>
<p>Another useful CyberChef feature worth remembering is:</p>
<pre><code class="language-text">Magic
</code></pre>
<p>If I do not know what encoding I am looking at, Magic can attempt to identify likely transformations.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Unknown-looking Data
        ↓
       Magic
        ↓
Possible Interpretation
</code></pre>
<p>CyberChef documentation used in other TryHackMe material also presents Magic as a way to guess useful decoding operations. (<a href="https://tryhackme.com/room/introtologanalysis?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>However:</p>
<blockquote>
<p>Magic should support analysis, not replace understanding.</p>
</blockquote>
<p>I still want to recognize patterns myself.</p>
<hr />
<h1>Task 7 — Conclusion</h1>
<p>By the end of this room, CyberChef no longer felt like a website with hundreds of random buttons.</p>
<p>I now understand its structure:</p>
<pre><code class="language-text">                    CYBERCHEF
                         |
       ┌─────────────────┼─────────────────┐
       |                 |                 |
   OPERATIONS         RECIPE            INPUT
       |                 |                 |
 Encoding            Chain Ops          Text
 Decoding            Configure          Files
 Extractors          Reorder            Data
 Conversion          Save               Logs
       |                 |                 |
       └─────────────────┼─────────────────┘
                         |
                       BAKE
                         |
                         v
                       OUTPUT
</code></pre>
<p>The room concludes that CyberChef is useful for data transformations ranging from common encodings to extracting indicators, while reminding learners that very large-scale processing may require other tools. (<a href="https://tryhackme.com/room/cyberchefbasics?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Complete CyberChef Workflow</h1>
<p>My final workflow is:</p>
<pre><code class="language-text">Unknown / Interesting Data
          ↓
Define Objective
          ↓
Inspect Pattern
          ↓
Search Operations
          ↓
Build Recipe
          ↓
Bake
          ↓
Inspect Output
          ↓
Expected Result?
       /        \
     Yes         No
      |           |
   Finish     Modify Recipe
                  |
                  └───────→ Repeat
</code></pre>
<hr />
<h1>Useful CyberChef Operations</h1>
<table>
<thead>
<tr>
<th>Operation</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td><code>From Base64</code></td>
<td>Decode Base64</td>
</tr>
<tr>
<td><code>To Base64</code></td>
<td>Encode data as Base64</td>
</tr>
<tr>
<td><code>From Hex</code></td>
<td>Decode hexadecimal representation</td>
</tr>
<tr>
<td><code>To Hex</code></td>
<td>Convert input to hexadecimal</td>
</tr>
<tr>
<td><code>ROT13</code></td>
<td>Apply ROT13 substitution</td>
</tr>
<tr>
<td><code>URL Encode</code></td>
<td>Percent-encode URL characters</td>
</tr>
<tr>
<td><code>URL Decode</code></td>
<td>Decode percent-encoded URLs</td>
</tr>
<tr>
<td><code>Extract IP addresses</code></td>
<td>Extract IPv4/IPv6 addresses</td>
</tr>
<tr>
<td><code>Extract email addresses</code></td>
<td>Extract email addresses</td>
</tr>
<tr>
<td><code>Extract URLs</code></td>
<td>Extract URLs</td>
</tr>
<tr>
<td><code>To Binary</code></td>
<td>Convert data to binary</td>
</tr>
<tr>
<td><code>From Unix Timestamp</code></td>
<td>Convert Unix time</td>
</tr>
<tr>
<td><code>From Base85</code></td>
<td>Decode Base85</td>
</tr>
<tr>
<td><code>Magic</code></td>
<td>Suggest possible transformations</td>
</tr>
</tbody></table>
<hr />
<h1>Key Lessons Learned</h1>
<h2>1. Encoding Is Not Encryption</h2>
<p>This is one of the most important distinctions.</p>
<pre><code class="language-text">Base64
Hex
URL Encoding
</code></pre>
<p>do not inherently provide confidentiality.</p>
<p>They change how data is represented.</p>
<p>Someone who knows the encoding can reverse it.</p>
<hr />
<h2>2. CyberChef Recipes Save Time</h2>
<p>Instead of:</p>
<pre><code class="language-text">Use Tool 1
Copy result
Use Tool 2
Copy result
Use Tool 3
</code></pre>
<p>CyberChef allows:</p>
<pre><code class="language-text">Operation 1
     ↓
Operation 2
     ↓
Operation 3
     ↓
Final Result
</code></pre>
<p>inside a single workflow.</p>
<hr />
<h2>3. Pattern Recognition Matters</h2>
<p>Examples:</p>
<pre><code class="language-text">SGVsbG8=
      ↓
Possibly Base64
</code></pre>
<pre><code class="language-text">48 65 6c 6c 6f
      ↓
Possibly Hex
</code></pre>
<pre><code class="language-text">%3A%2F%2F
      ↓
Likely URL Encoding
</code></pre>
<p>Recognizing these patterns makes analysis much faster.</p>
<hr />
<h2>4. Extractors Are Extremely Useful for SOC Work</h2>
<p>Large logs may contain thousands of characters.</p>
<p>Instead of manually searching for indicators:</p>
<pre><code class="language-text">Extract IPs
Extract URLs
Extract Emails
</code></pre>
<p>can quickly isolate useful evidence.</p>
<hr />
<h2>5. Always Define the Goal First</h2>
<p>The biggest mistake would be:</p>
<pre><code class="language-text">Randomly try operations
</code></pre>
<p>A better approach is:</p>
<pre><code class="language-text">What do I want?
      ↓
What does the input look like?
      ↓
Which operation fits?
</code></pre>
<hr />
<h2>6. Output Can Become New Input</h2>
<p>Cybersecurity data often has multiple encoding layers.</p>
<p>For example:</p>
<pre><code class="language-text">Layer 1
  ↓
Decode
  ↓
Layer 2
  ↓
Decode
  ↓
Final Message
</code></pre>
<p>CyberChef's recipes and <strong>Replace Input With Output</strong> functionality make this much easier.</p>
<hr />
<h1>My Final Mental Model</h1>
<pre><code class="language-text">                 SUSPICIOUS DATA
                       |
                       v
                RECOGNIZE FORMAT
                       |
        ┌──────────────┼──────────────┐
        |              |              |
      Base64          Hex            URL
        |              |              |
        └──────────────┼──────────────┘
                       |
                  OPERATIONS
                       |
                       v
                    RECIPE
                       |
                       v
                     BAKE
                       |
                       v
                    OUTPUT
                       |
               ┌───────┴───────┐
               |               |
            Useful?           No
               |               |
             Done          Modify Recipe
</code></pre>
<hr />
<h1>Ethical Learning Note</h1>
<p>This article is a <strong>learning guide rather than an answer dump</strong>.</p>
<p>I included:</p>
<pre><code class="language-text">✅ CyberChef concepts
✅ Generic operation examples
✅ Recipe methodology
✅ Encoding recognition
✅ Extractor workflows
✅ Defensive-security use cases
</code></pre>
<p>while intentionally excluding:</p>
<pre><code class="language-text">❌ TryHackMe flags
❌ Task-file email answer
❌ Task-file IP answers
❌ Domain answer
❌ Exact conversion answers
❌ First Cook challenge outputs
❌ Direct task submissions
</code></pre>
<p>The goal is to document how I used CyberChef while leaving the actual TryHackMe exercises for other learners to solve themselves.</p>
<hr />
<h1>Resources</h1>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/cyberchefbasics">CyberChef: The Basics</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h1>Connect with Me</h1>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em> 🚀</p>
]]></content:encoded></item><item><title><![CDATA[🛡️ TryHackMe — Introduction to SIEM | Learning Guide]]></title><description><![CDATA[Spoiler-Free Learning Guide: This article contains no TryHackMe flags, lab-specific answers, or direct task solutions. It focuses on the concepts, tools, investigation methodology, and practical skill]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-introduction-to-siem-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-introduction-to-siem-learning-guide</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[SIEM]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[SOC]]></category><category><![CDATA[#infosec]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Mon, 07 Sep 2026 14:35:10 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/8dd36c86-1cb6-4321-98c1-f3bcc95fbfdc.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p><strong>Spoiler-Free Learning Guide:</strong> This article contains <strong>no TryHackMe flags, lab-specific answers, or direct task solutions</strong>. It focuses on the concepts, tools, investigation methodology, and practical skills I learned while completing the room.</p>
</blockquote>
<h2>Introduction</h2>
<p>After learning Windows, command-line basics, and networking concepts, I moved into an important area of defensive cybersecurity:</p>
<h1>SIEM</h1>
<p>SIEM stands for:</p>
<pre><code class="language-text">Security Information and Event Management
</code></pre>
<p>A SIEM is one of the core technologies used inside a:</p>
<pre><code class="language-text">SOC
=
Security Operations Center
</code></pre>
<p>Modern organizations have hundreds or thousands of systems constantly generating security information.</p>
<p>For example:</p>
<pre><code class="language-text">Windows Workstations
Linux Servers
Firewalls
VPN Gateways
Web Servers
Routers
IDS / IPS
Applications
Cloud Services
</code></pre>
<p>Every one of these systems generates logs.</p>
<p>The challenge is:</p>
<blockquote>
<p>How can a security analyst monitor all of these logs without manually checking every machine?</p>
</blockquote>
<p>That is where SIEM becomes useful.</p>
<p>TryHackMe's <strong>Introduction to SIEM</strong> room explains how SIEM solutions collect logs from different devices, normalize them, correlate activity, trigger alerts, and help SOC analysts investigate suspicious behavior. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>The room follows this learning path:</p>
<pre><code class="language-text">Introduction
     ↓
Logs Everywhere, Answers Nowhere
     ↓
Why SIEM?
     ↓
Log Sources &amp; Ingestion
     ↓
Alerting Process &amp; Analysis
     ↓
Hands-On SIEM Lab
     ↓
Conclusion
</code></pre>
<hr />
<h1>Task 1 — Introduction</h1>
<p>The first task introduces SIEM from the perspective of a <strong>SOC analyst</strong>.</p>
<p>A typical organization's network may contain:</p>
<pre><code class="language-text">Endpoints
Servers
Network Devices
Security Appliances
Applications
Cloud Infrastructure
</code></pre>
<p>Each device records events.</p>
<p>Those events might tell us:</p>
<pre><code class="language-text">Who logged in?

Which file was accessed?

Which process executed?

What website was visited?

Which IP made a connection?

Was authentication successful?

Was a security rule triggered?
</code></pre>
<p>Individually, these are just logs.</p>
<p>When brought together, they can describe an entire security incident.</p>
<hr />
<h2>What Problem Does SIEM Solve?</h2>
<p>Imagine a small company with:</p>
<pre><code class="language-text">100 Windows endpoints
20 Linux servers
5 firewalls
2 VPN gateways
10 web servers
</code></pre>
<p>Suppose each device produces hundreds of events every minute.</p>
<p>Without centralization:</p>
<pre><code class="language-text">Incident occurs
      ↓
Analyst logs into Server 1
      ↓
Checks logs
      ↓
Logs into Server 2
      ↓
Checks logs
      ↓
Checks firewall
      ↓
Checks endpoint
      ↓
Checks VPN
</code></pre>
<p>This is extremely inefficient.</p>
<p>Instead:</p>
<pre><code class="language-text">Windows ─────┐
Linux ───────┤
Firewall ────┤
VPN ─────────┤
Web Server ──┤
             ↓
            SIEM
             ↓
     Centralized Analysis
</code></pre>
<p>That is the core idea behind the entire room. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Tools — Task 1</h2>
<h3>Tools / Concepts Used</h3>
<pre><code class="language-text">TryHackMe Room
SIEM concepts
SOC workflow
Log-source identification
</code></pre>
<p>This task was mainly conceptual.</p>
<p>My first mental model became:</p>
<pre><code class="language-text">Devices
   ↓
Generate Logs
   ↓
SIEM Collects Them
   ↓
Analyst Investigates
</code></pre>
<p>No task-specific answer or flag is included here.</p>
<hr />
<h1>Task 2 — Logs Everywhere, Answers Nowhere</h1>
<p>This task explains <strong>where security logs come from</strong>.</p>
<p>TryHackMe divides log sources into two broad categories:</p>
<pre><code class="language-text">Host-Centric Logs
        +
Network-Centric Logs
</code></pre>
<p>Understanding this distinction is important because each source provides a different part of the security story. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Host-Centric Log Sources</h1>
<p>Host-centric logs describe activity occurring:</p>
<pre><code class="language-text">On a computer
or
directly related to that computer
</code></pre>
<p>Common sources include:</p>
<pre><code class="language-text">Windows workstations
Linux hosts
Application servers
Database servers
</code></pre>
<p>Examples of host activity include:</p>
<pre><code class="language-text">User authentication
File access
Process execution
Registry changes
PowerShell execution
Service activity
</code></pre>
<hr />
<h2>Example</h2>
<p>Suppose a workstation records:</p>
<pre><code class="language-text">10:10 → User logs in

10:12 → powershell.exe starts

10:13 → New registry key created

10:15 → Sensitive file opened
</code></pre>
<p>These events tell us what happened <strong>inside the endpoint</strong>.</p>
<hr />
<h1>Network-Centric Log Sources</h1>
<p>Network-centric logs describe communication taking place across the network.</p>
<p>Typical sources include:</p>
<pre><code class="language-text">Firewalls
Routers
VPN devices
IDS
IPS
Proxy servers
</code></pre>
<p>Examples include:</p>
<pre><code class="language-text">SSH connections
FTP activity
Web traffic
VPN access
Network file sharing
Firewall connections
</code></pre>
<hr />
<h2>Example</h2>
<p>A firewall might record:</p>
<pre><code class="language-text">Source IP      : 10.10.20.15
Destination IP : 192.0.2.50
Destination Port: 443
Action         : Allowed
</code></pre>
<p>That tells us something about the network communication, but not necessarily what happened inside the endpoint.</p>
<p>This is why multiple sources matter.</p>
<hr />
<h1>The Problem With Isolated Logs</h1>
<p>The task then explains why checking individual logs manually does not scale.</p>
<p>TryHackMe highlights several major problems. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>1. Too Many Log Sources</h2>
<p>Organizations may have thousands of devices.</p>
<p>Each device may generate:</p>
<pre><code class="language-text">Hundreds
or
Thousands
</code></pre>
<p>of events every second.</p>
<p>Manually reading everything is unrealistic.</p>
<hr />
<h2>2. No Centralization</h2>
<p>Without SIEM, logs may remain on the systems that produced them.</p>
<p>The analyst might need:</p>
<pre><code class="language-text">SSH → Linux Server

RDP → Windows Host

Web UI → Firewall

VPN Console → VPN Logs
</code></pre>
<p>just to investigate one incident.</p>
<hr />
<h2>3. Limited Context</h2>
<p>This is one of the most important lessons from the task.</p>
<p>Consider the event:</p>
<pre><code class="language-text">User accessed confidential.pdf
</code></pre>
<p>By itself, this may be normal.</p>
<p>But now correlate it with:</p>
<pre><code class="language-text">09:01 → Login from unfamiliar VPN IP
09:03 → Access to shared drive
09:05 → PowerShell execution
09:06 → Large outbound transfer
</code></pre>
<p>Suddenly:</p>
<pre><code class="language-text">One harmless-looking event
        +
Other related events
        =
Potential security incident
</code></pre>
<p>Context changes everything.</p>
<hr />
<h2>4. Too Much Data for Manual Analysis</h2>
<p>Humans cannot realistically inspect every event manually.</p>
<p>Important activity would inevitably be missed.</p>
<p>This creates a need for:</p>
<pre><code class="language-text">Automation
Detection Rules
Correlation
Alerting
</code></pre>
<hr />
<h2>5. Different Log Formats</h2>
<p>Another major problem is that different systems represent information differently.</p>
<p>For example:</p>
<h3>Windows</h3>
<pre><code class="language-text">Event ID
Account Name
Process Name
Computer
</code></pre>
<h3>Linux</h3>
<pre><code class="language-text">Timestamp Host Process PID Message
</code></pre>
<h3>Web Server</h3>
<pre><code class="language-text">IP
Request
Status Code
User-Agent
</code></pre>
<p>An analyst should not have to manually interpret dozens of incompatible formats every time an incident happens.</p>
<hr />
<h2>🛠️ Hands-On / Tools — Task 2</h2>
<h3>Concepts Practiced</h3>
<pre><code class="language-text">Host-centric logs
Network-centric logs
Log-source classification
Incident correlation
</code></pre>
<p>A useful exercise is asking:</p>
<pre><code class="language-text">Where did this event occur?
</code></pre>
<p>If it describes activity <strong>inside the host</strong>, I think:</p>
<pre><code class="language-text">Host-centric
</code></pre>
<p>If it describes <strong>network communication</strong>, I think:</p>
<pre><code class="language-text">Network-centric
</code></pre>
<p>The exact TryHackMe task answers are intentionally not included.</p>
<hr />
<h1>Task 3 — Why SIEM?</h1>
<p>Now the room introduces the solution.</p>
<p>A SIEM collects logs from multiple systems and gives analysts a centralized place to work with them.</p>
<p>The high-level flow is:</p>
<pre><code class="language-text">Log Sources
     ↓
Collection
     ↓
Parsing
     ↓
Normalization
     ↓
Correlation
     ↓
Detection
     ↓
Alert
     ↓
Investigation
</code></pre>
<p>TryHackMe introduces five especially important SIEM capabilities: centralized collection, normalization, correlation, real-time alerting, and dashboards/reporting. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>1. Centralized Log Collection</h1>
<p>Instead of investigating every system separately:</p>
<pre><code class="language-text">Endpoint 1 ───┐
Endpoint 2 ───┤
Linux ────────┤
Firewall ─────┤
VPN ──────────┤
Web Server ───┤
              ↓
             SIEM
</code></pre>
<p>Everything becomes accessible from one location.</p>
<p>This significantly improves investigation speed.</p>
<hr />
<h1>2. Parsing</h1>
<p>A raw log might look like:</p>
<pre><code class="language-text">2026-09-07 18:22:14 user=alice src=10.0.0.5 action=login status=failed
</code></pre>
<p>A parser breaks this into fields:</p>
<pre><code class="language-text">Time   = 18:22:14
User   = alice
Source = 10.0.0.5
Action = login
Status = failed
</code></pre>
<p>That process is called:</p>
<pre><code class="language-text">Parsing
</code></pre>
<hr />
<h1>3. Normalization</h1>
<p>Different products may use different field names.</p>
<p>For example:</p>
<pre><code class="language-text">src_ip
source_ip
client_ip
remote_address
</code></pre>
<p>might all represent the same concept.</p>
<p>A SIEM can convert them into a consistent structure.</p>
<pre><code class="language-text">Different Log Formats
         ↓
    Normalization
         ↓
Common Representation
</code></pre>
<p>Normalization makes searching and correlation much easier.</p>
<hr />
<h1>4. Correlation</h1>
<p>Correlation is where SIEM becomes especially powerful.</p>
<p>Imagine four different systems report:</p>
<pre><code class="language-text">VPN:
Unusual login

File Server:
Sensitive document accessed

Windows:
PowerShell executed

Firewall:
Large outbound connection
</code></pre>
<p>Each event alone may not trigger concern.</p>
<p>Together:</p>
<pre><code class="language-text">VPN
 +
File Access
 +
PowerShell
 +
Outbound Connection
       ↓
Potential Account Compromise / Data Exfiltration
</code></pre>
<p>SIEM helps connect these events.</p>
<p>TryHackMe demonstrates the same idea by showing how individually normal-looking events can become suspicious when combined. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>5. Real-Time Alerting</h1>
<p>SIEM platforms contain:</p>
<pre><code class="language-text">Detection Rules
</code></pre>
<p>When log activity matches rule conditions:</p>
<pre><code class="language-text">Events
   ↓
Detection Rule
   ↓
Condition Matched
   ↓
Alert Created
</code></pre>
<p>A SOC analyst then investigates the alert.</p>
<hr />
<h1>6. Dashboards</h1>
<p>SIEM dashboards summarize security information.</p>
<p>Examples include:</p>
<pre><code class="language-text">Triggered alerts
Failed logins
Events ingested
Top domains
System health
Rule triggers
Security trends
</code></pre>
<p>This gives analysts fast visibility into the environment.</p>
<hr />
<h2>Examples of SIEM Platforms</h2>
<p>Common technologies include:</p>
<pre><code class="language-text">Splunk
Microsoft Sentinel
Elastic Security
IBM QRadar
Google Security Operations
</code></pre>
<p>The exact products differ, but the fundamental SIEM workflow remains similar.</p>
<hr />
<h2>🛠️ Hands-On / Tools — Task 3</h2>
<h3>Tools / Concepts Used</h3>
<pre><code class="language-text">SIEM architecture
Parsing
Normalization
Correlation
Detection rules
Dashboards
Alerting
</code></pre>
<p>My quick revision flow:</p>
<pre><code class="language-text">Collect
   ↓
Parse
   ↓
Normalize
   ↓
Correlate
   ↓
Detect
   ↓
Alert
   ↓
Investigate
</code></pre>
<p>This is probably the most important sequence I took away from the room.</p>
<hr />
<h1>Task 4 — Log Sources and Ingestion</h1>
<p>This task moves from SIEM theory to actual log sources.</p>
<p>The room explores examples from:</p>
<pre><code class="language-text">Windows
Linux
Web Servers
</code></pre>
<p>and then explains how those logs reach the SIEM. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Windows Logs</h1>
<p>Windows records operating-system and application events that can be viewed using:</p>
<pre><code class="language-text">Event Viewer
</code></pre>
<p>Windows events often contain information such as:</p>
<pre><code class="language-text">Event ID
Timestamp
Account
Computer Name
Process
Logon Information
Security Activity
</code></pre>
<hr />
<h2>🛠️ Windows Hands-On</h2>
<p>On a Windows machine:</p>
<pre><code class="language-text">Start Menu
   ↓
Search "Event Viewer"
</code></pre>
<p>Typical categories include:</p>
<pre><code class="language-text">Windows Logs
├── Application
├── Security
├── Setup
└── System
</code></pre>
<p>From a cybersecurity perspective, I may look for:</p>
<pre><code class="language-text">Login attempts
Account changes
Process-related activity
Service events
Security-policy changes
</code></pre>
<hr />
<h1>Linux Logs</h1>
<p>Linux commonly stores logs under:</p>
<pre><code class="language-bash">/var/log/
</code></pre>
<p>The room introduces examples including authentication, kernel, cron, and web-server logs. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>Common examples:</p>
<pre><code class="language-text">/var/log/auth.log
/var/log/secure
/var/log/cron
/var/log/kern
/var/log/httpd/
</code></pre>
<p>Exact files vary by distribution and installed services.</p>
<hr />
<h2>🛠️ Linux Hands-On</h2>
<p>List available logs:</p>
<pre><code class="language-bash">ls -lah /var/log/
</code></pre>
<p>Read a log:</p>
<pre><code class="language-bash">cat /var/log/auth.log
</code></pre>
<p>For long output:</p>
<pre><code class="language-bash">less /var/log/auth.log
</code></pre>
<p>Watch new entries:</p>
<pre><code class="language-bash">tail -f /var/log/auth.log
</code></pre>
<p>Search for a keyword:</p>
<pre><code class="language-bash">grep "failed" /var/log/auth.log
</code></pre>
<p>These are general Linux log-analysis commands rather than room-specific answers.</p>
<hr />
<h1>Web Server Logs</h1>
<p>Web servers generate extremely valuable security information.</p>
<p>A simplified request log might look like:</p>
<pre><code class="language-text">192.0.2.25 - - [07/Sep/2026:18:30:00] "GET /login HTTP/1.1" 200
</code></pre>
<p>From this we might extract:</p>
<pre><code class="language-text">Source IP
Timestamp
HTTP Method
Requested Resource
Status Code
User-Agent
</code></pre>
<p>These fields can help investigate:</p>
<pre><code class="language-text">Brute-force attempts
Web attacks
Reconnaissance
Suspicious scanning
Abnormal requests
</code></pre>
<hr />
<h1>Log Ingestion</h1>
<p>Logs need to reach the SIEM somehow.</p>
<p>TryHackMe introduces four common ingestion approaches. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>1. Agent / Forwarder</h2>
<p>A lightweight program is installed on the endpoint.</p>
<pre><code class="language-text">Endpoint
   |
 Agent
   |
   v
 SIEM
</code></pre>
<p>The agent monitors relevant logs and forwards them.</p>
<p>Splunk commonly refers to this type of component as a:</p>
<pre><code class="language-text">Forwarder
</code></pre>
<hr />
<h2>2. Syslog</h2>
<p>Syslog is widely used for centralized logging.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Router ─────┐
Firewall ───┤
Linux ──────┤
Server ─────┤
            ↓
          Syslog
            ↓
           SIEM
</code></pre>
<hr />
<h2>3. Manual Upload</h2>
<p>Sometimes analysts already have an offline log file.</p>
<p>A SIEM may allow:</p>
<pre><code class="language-text">Upload Log
     ↓
Parse Data
     ↓
Search / Analyze
</code></pre>
<p>This can be useful during investigations and training.</p>
<hr />
<h2>4. Port-Based Forwarding</h2>
<p>A SIEM can listen on a configured network port.</p>
<pre><code class="language-text">Endpoint
    |
    | Log Data
    v
SIEM Listening Port
</code></pre>
<p>Logs received on that port are then processed.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 4</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Windows Event Viewer
Linux /var/log
Web-server logs
Agent / Forwarder
Syslog
Manual ingestion
Port-based ingestion
</code></pre>
<p>Useful Linux commands:</p>
<pre><code class="language-bash">ls /var/log
</code></pre>
<pre><code class="language-bash">less /var/log/auth.log
</code></pre>
<pre><code class="language-bash">tail -f /var/log/auth.log
</code></pre>
<pre><code class="language-bash">grep -i "error" &lt;logfile&gt;
</code></pre>
<p>A useful investigation habit is:</p>
<pre><code class="language-text">Identify log source
       ↓
Understand fields
       ↓
Determine ingestion method
       ↓
Normalize data
       ↓
Search centrally
</code></pre>
<hr />
<h1>Task 5 — Alerting Process and Analysis</h1>
<p>Collecting logs is useful.</p>
<p>But a SOC analyst cannot manually inspect every event.</p>
<p>That is why SIEM solutions use:</p>
<h1>Detection Rules</h1>
<p>A detection rule contains logic describing activity we want to identify.</p>
<p>TryHackMe uses examples such as repeated failed logins, successful login after multiple failures, USB insertion, and unusually large outbound transfers. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Detection Rule Logic</h1>
<p>A simplified rule might say:</p>
<pre><code class="language-text">IF
failed_login_count &gt;= threshold

WITHIN
short_time_window

THEN
Create Alert
</code></pre>
<p>Another example:</p>
<pre><code class="language-text">Multiple Failed Logins
          +
Successful Login
          ↓
Possible Account Compromise
</code></pre>
<hr />
<h1>Why Normalization Matters</h1>
<p>Suppose one system records:</p>
<pre><code class="language-text">username=alice
</code></pre>
<p>another records:</p>
<pre><code class="language-text">user=alice
</code></pre>
<p>and another records:</p>
<pre><code class="language-text">account_name=alice
</code></pre>
<p>Detection rules become much easier when normalization converts them into a consistent field such as:</p>
<pre><code class="language-text">user = alice
</code></pre>
<p>Therefore:</p>
<pre><code class="language-text">Raw Logs
   ↓
Normalization
   ↓
Consistent Fields
   ↓
Detection Rules
</code></pre>
<hr />
<h1>Alert Investigation</h1>
<p>Once an alert appears, the analyst does not immediately assume:</p>
<pre><code class="language-text">Alert = Attack
</code></pre>
<p>Instead:</p>
<pre><code class="language-text">Alert
   ↓
Open related events
   ↓
Check detection rule
   ↓
Review user / host / IP / process
   ↓
Build context
   ↓
Determine verdict
</code></pre>
<hr />
<h1>True Positive vs False Positive</h1>
<p>This distinction is extremely important.</p>
<h2>True Positive</h2>
<p>The SIEM raised an alert and actual suspicious/malicious activity exists.</p>
<pre><code class="language-text">Alert Raised
     +
Threat Exists
     =
True Positive
</code></pre>
<hr />
<h2>False Positive</h2>
<p>The SIEM raised an alert, but the activity was legitimate.</p>
<pre><code class="language-text">Alert Raised
     +
No Real Threat
     =
False Positive
</code></pre>
<p>False positives are not useless.</p>
<p>They can indicate that the detection logic needs:</p>
<pre><code class="language-text">Rule Tuning
</code></pre>
<p>TryHackMe specifically notes that false positives may require rule adjustments to avoid repeatedly alerting on expected behavior. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Possible Analyst Actions</h1>
<p>After investigation, actions might include:</p>
<pre><code class="language-text">Close benign alert

Tune detection rule

Investigate further

Contact asset owner

Block malicious IP

Isolate infected host

Escalate incident
</code></pre>
<p>The action depends on context.</p>
<hr />
<h2>🛠️ Hands-On / Methodology — Task 5</h2>
<h3>Tools / Concepts Used</h3>
<pre><code class="language-text">Detection rules
Event correlation
Alert investigation
True positives
False positives
Rule tuning
Response actions
</code></pre>
<p>My investigation checklist became:</p>
<pre><code class="language-text">1. What rule triggered?

2. Which event matched?

3. Which user was involved?

4. Which host was involved?

5. Which process was involved?

6. What source/destination IPs exist?

7. What happened before and after?

8. Is the activity expected?

9. True Positive or False Positive?

10. What response is appropriate?
</code></pre>
<p>This is a workflow I can reuse in future SIEM labs.</p>
<hr />
<h1>Task 6 — Lab Work</h1>
<p>This was the practical part of the room.</p>
<p>TryHackMe provides a simulated SIEM dashboard where suspicious activity can be generated and investigated. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>The goal is not simply to identify an alert.</p>
<p>The real workflow is:</p>
<pre><code class="language-text">Suspicious Activity
        ↓
Alert Triggered
        ↓
Open Alert
        ↓
Inspect Related Event
        ↓
Identify Process
        ↓
Identify User
        ↓
Identify Host
        ↓
Inspect Detection Rule
        ↓
Find Matching Condition
        ↓
Determine Verdict
        ↓
Choose Response
</code></pre>
<hr />
<h1>Step 1 — Start With the Alert</h1>
<p>When the alert appears, I first ask:</p>
<pre><code class="language-text">What exactly triggered?
</code></pre>
<p>Useful fields may include:</p>
<pre><code class="language-text">Alert name
Timestamp
Rule
Severity
Host
User
Process
</code></pre>
<hr />
<h1>Step 2 — Examine the Event</h1>
<p>Next:</p>
<pre><code class="language-text">Alert
   ↓
Related Event
</code></pre>
<p>I inspect fields such as:</p>
<pre><code class="language-text">process_name
user
hostname
command_line
timestamp
</code></pre>
<p>depending on what the platform provides.</p>
<hr />
<h1>Step 3 — Inspect the Detection Rule</h1>
<p>A detection rule may contain something conceptually like:</p>
<pre><code class="language-text">IF process_name contains suspicious_term
THEN raise alert
</code></pre>
<p>I compare:</p>
<pre><code class="language-text">Actual event
     vs
Rule condition
</code></pre>
<p>to understand why the SIEM generated the alert.</p>
<hr />
<h1>Step 4 — Build Context</h1>
<p>An isolated process name is not enough.</p>
<p>I ask:</p>
<pre><code class="language-text">Who executed it?

On which machine?

When?

Was the action expected?

What else happened around the same time?
</code></pre>
<p>Context determines whether an alert is actually malicious.</p>
<hr />
<h1>Step 5 — Classify the Alert</h1>
<p>After investigation:</p>
<pre><code class="language-text">Legitimate activity?
      ↓
False Positive
</code></pre>
<p>or:</p>
<pre><code class="language-text">Confirmed suspicious activity?
      ↓
True Positive
</code></pre>
<hr />
<h1>Step 6 — Take the Correct Action</h1>
<p>A SIEM analyst does more than observe.</p>
<p>Depending on the incident:</p>
<pre><code class="language-text">False Positive
      ↓
Close / Tune

True Positive
      ↓
Investigate / Contain / Escalate
</code></pre>
<p>The lab reinforces this complete alert-analysis cycle.</p>
<p>I am intentionally not publishing the lab's process name, username, hostname, matching term, classification answer, action choice, or flag.</p>
<hr />
<h2>🛠️ Hands-On / Tools — Task 6</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe SIEM simulator
Dashboard
Alert view
Event details
Detection rule
Process information
User information
Host information
Alert classification
Response action
</code></pre>
<p>My repeatable SOC workflow:</p>
<pre><code class="language-text">ALERT
  ↓
EVENT
  ↓
RULE
  ↓
CONTEXT
  ↓
VERDICT
  ↓
ACTION
</code></pre>
<p>That is probably the most valuable practical takeaway from the room.</p>
<hr />
<h1>Task 7 — Conclusion</h1>
<p>By the end of <strong>Introduction to SIEM</strong>, SIEM no longer felt like simply:</p>
<pre><code class="language-text">"A dashboard containing logs"
</code></pre>
<p>Instead, I understand it as an entire security workflow:</p>
<pre><code class="language-text">Endpoints
Servers
Firewalls
Routers
VPN
Web Servers
      |
      v
   LOG SOURCES
      |
      v
   INGESTION
      |
      v
    PARSING
      |
      v
 NORMALIZATION
      |
      v
  CORRELATION
      |
      v
DETECTION RULES
      |
      v
     ALERT
      |
      v
 INVESTIGATION
      |
      v
 TRUE / FALSE POSITIVE
      |
      v
   RESPONSE
</code></pre>
<p>The room concludes by pointing learners toward more advanced SOC and SIEM material including Splunk and incident-investigation rooms. (<a href="https://tryhackme.com/room/introtosiem?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Tools &amp; Concepts Practiced</h1>
<table>
<thead>
<tr>
<th>Tool / Concept</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td>SIEM</td>
<td>Centralized security monitoring</td>
</tr>
<tr>
<td>Windows Event Viewer</td>
<td>Inspect Windows events</td>
</tr>
<tr>
<td><code>/var/log/</code></td>
<td>Common Linux log location</td>
</tr>
<tr>
<td><code>cat</code></td>
<td>Read log files</td>
</tr>
<tr>
<td><code>less</code></td>
<td>Review long logs</td>
</tr>
<tr>
<td><code>tail -f</code></td>
<td>Monitor new log entries</td>
</tr>
<tr>
<td><code>grep</code></td>
<td>Search logs</td>
</tr>
<tr>
<td>Agent / Forwarder</td>
<td>Send endpoint logs to SIEM</td>
</tr>
<tr>
<td>Syslog</td>
<td>Centralized log forwarding</td>
</tr>
<tr>
<td>Parsing</td>
<td>Split logs into useful fields</td>
</tr>
<tr>
<td>Normalization</td>
<td>Convert logs to a consistent structure</td>
</tr>
<tr>
<td>Correlation</td>
<td>Connect related events</td>
</tr>
<tr>
<td>Detection Rules</td>
<td>Identify suspicious activity</td>
</tr>
<tr>
<td>Alerts</td>
<td>Notify analysts of rule matches</td>
</tr>
<tr>
<td>SIEM Dashboard</td>
<td>Summarize security activity</td>
</tr>
<tr>
<td>True Positive</td>
<td>Alert corresponds to real suspicious activity</td>
</tr>
<tr>
<td>False Positive</td>
<td>Benign activity triggered detection</td>
</tr>
<tr>
<td>Rule Tuning</td>
<td>Improve detection quality</td>
</tr>
</tbody></table>
<hr />
<h1>Key Lessons Learned</h1>
<h2>1. Logs Are Evidence</h2>
<p>A single log may appear insignificant.</p>
<p>But logs can reconstruct:</p>
<pre><code class="language-text">Who
Did What
Where
When
From Which System
Using Which Process
</code></pre>
<p>That makes logging fundamental to cybersecurity investigations.</p>
<hr />
<h2>2. Centralization Saves Investigation Time</h2>
<p>Without SIEM:</p>
<pre><code class="language-text">Check Host A
Check Host B
Check Firewall
Check VPN
Check Web Server
</code></pre>
<p>With SIEM:</p>
<pre><code class="language-text">Search One Central Platform
</code></pre>
<p>That is a huge operational advantage.</p>
<hr />
<h2>3. Correlation Creates Context</h2>
<p>This was one of my biggest takeaways.</p>
<pre><code class="language-text">Event A
+
Event B
+
Event C
+
Event D
=
Security Story
</code></pre>
<p>Individual events may look harmless.</p>
<p>Together they may expose malicious behavior.</p>
<hr />
<h2>4. Normalization Enables Detection</h2>
<p>Detection rules need consistent data.</p>
<pre><code class="language-text">Different formats
      ↓
Normalization
      ↓
Consistent fields
      ↓
Reliable searching &amp; detection
</code></pre>
<p>Without normalization, SIEM analysis would be much harder.</p>
<hr />
<h2>5. An Alert Is the Beginning, Not the Answer</h2>
<p>One of the most important SOC lessons:</p>
<pre><code class="language-text">Alert ≠ Incident
</code></pre>
<p>An alert means:</p>
<pre><code class="language-text">Something matched a detection rule.
</code></pre>
<p>The analyst still needs to investigate.</p>
<hr />
<h2>6. False Positives Are Part of Detection Engineering</h2>
<p>A false positive does not automatically mean the rule is useless.</p>
<p>Instead:</p>
<pre><code class="language-text">False Positive
      ↓
Understand cause
      ↓
Tune rule
      ↓
Better future detection
</code></pre>
<p>Detection improves continuously.</p>
<hr />
<h1>My Final Mental Model</h1>
<pre><code class="language-text">                    SECURITY ENVIRONMENT
                            |
         ┌──────────────────┼──────────────────┐
         |                  |                  |
      ENDPOINTS          NETWORK           SERVERS
         |                  |                  |
         └──────────────────┼──────────────────┘
                            |
                           LOGS
                            |
                            v
                           SIEM
                            |
          ┌─────────────────┼─────────────────┐
          |                 |                 |
       COLLECT           NORMALIZE         CORRELATE
          |                 |                 |
          └─────────────────┼─────────────────┘
                            |
                       DETECTION RULE
                            |
                            v
                          ALERT
                            |
                            v
                       SOC ANALYST
                            |
                    ┌───────┴───────┐
                    |               |
              FALSE POSITIVE   TRUE POSITIVE
                    |               |
                 TUNE           RESPOND
</code></pre>
<hr />
<h1>Ethical Learning Note</h1>
<p>This article is a <strong>learning guide</strong>, not an answer dump.</p>
<p>I included:</p>
<pre><code class="language-text">✅ SIEM concepts
✅ Log-analysis methodology
✅ Generic commands
✅ Alert-investigation workflow
✅ Detection concepts
✅ Defensive-security lessons
</code></pre>
<p>while intentionally excluding:</p>
<pre><code class="language-text">❌ TryHackMe flags
❌ Direct room-question answers
❌ Lab-specific usernames
❌ Lab hostnames
❌ Suspicious-process answer
❌ Detection-rule answer
❌ Final lab flag
</code></pre>
<p>The goal is to document what I learned while still allowing other students to solve the TryHackMe room independently.</p>
<hr />
<h1>Resources</h1>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/introtosiem">Introduction to SIEM</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h1>Connect with Me</h1>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em> 🚀</p>
]]></content:encoded></item><item><title><![CDATA[🌐 TryHackMe — Networking Concepts | Learning Guide]]></title><description><![CDATA[Spoiler-Free Learning Guide: This article contains no TryHackMe flags, lab-specific answers, or direct task solutions. It focuses on the networking concepts, practical methodology, and commands I lear]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-networking-concepts-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-networking-concepts-learning-guide</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[networking]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[computer networks]]></category><category><![CDATA[#infosec]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Sun, 06 Sep 2026 14:21:23 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/e8c759c9-9df3-48e8-a0af-ba09086395c0.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p><strong>Spoiler-Free Learning Guide:</strong> This article contains <strong>no TryHackMe flags, lab-specific answers, or direct task solutions</strong>. It focuses on the networking concepts, practical methodology, and commands I learned while completing the room.</p>
</blockquote>
<hr />
<h2>Introduction</h2>
<p>After working with Windows and the command line, I moved on to one of the most important foundations of cybersecurity: <strong>computer networking</strong>.</p>
<p>Almost everything we do in cybersecurity eventually involves a network.</p>
<p>When we:</p>
<pre><code class="language-text">Open a website
Connect through SSH
Use a VPN
Scan a server
Send an email
Access an API
Investigate suspicious traffic
</code></pre>
<p>data needs to travel between different systems.</p>
<p>The <strong>Networking Concepts</strong> room is the first room in TryHackMe's networking series and introduces the foundations needed to understand how that communication happens. The main topics are the <strong>OSI model, TCP/IP model, IPv4 addressing and subnets, routing, TCP and UDP, encapsulation, ports, and basic TCP communication using Telnet</strong>. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>The room follows this learning flow:</p>
<pre><code class="language-text">Introduction
      ↓
OSI Model
      ↓
TCP/IP Model
      ↓
IP Addresses &amp; Subnets
      ↓
UDP &amp; TCP
      ↓
Encapsulation
      ↓
Telnet
      ↓
Conclusion
</code></pre>
<hr />
<h1>Task 1 — Introduction</h1>
<p>The first task establishes an important idea:</p>
<blockquote>
<p>A network is not simply computers connected together. Multiple protocols and layers work together to make communication possible.</p>
</blockquote>
<p>When I open a website, my browser does not simply send:</p>
<pre><code class="language-text">"Give me this webpage"
</code></pre>
<p>directly to another computer.</p>
<p>Several things have to happen.</p>
<p>For example:</p>
<pre><code class="language-text">Application creates data
        ↓
Transport protocol handles communication
        ↓
IP handles addressing and routing
        ↓
Link technology moves data locally
        ↓
Physical network carries the bits
</code></pre>
<p>Understanding these steps is important because cybersecurity tools often operate at different parts of this process.</p>
<p>For example:</p>
<pre><code class="language-text">Nmap        → Ports / network services
Wireshark   → Packets and protocols
ping        → Network reachability
traceroute  → Routing path
netstat     → Connections and ports
</code></pre>
<p>The room therefore starts by building the networking model before introducing more protocols. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>Why Networking Matters in Cybersecurity</h2>
<p>Suppose an unknown system connects to a server.</p>
<p>A security analyst may need to determine:</p>
<pre><code class="language-text">Where did the traffic come from?

Which IP address was involved?

Which protocol was used?

Which destination port was contacted?

Was the connection TCP or UDP?

What application generated the traffic?
</code></pre>
<p>Without networking fundamentals, these questions become difficult to answer.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 1</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe Room
AttackBox
Terminal
Networking diagrams
</code></pre>
<p>No major terminal command was required in the introductory task.</p>
<p>The important goal was understanding the communication stack before moving into individual protocols.</p>
<hr />
<h1>Task 2 — OSI Model</h1>
<p>The <strong>OSI model</strong> was one of the main concepts in this room.</p>
<p>OSI stands for:</p>
<pre><code class="language-text">Open Systems Interconnection
</code></pre>
<p>It is a conceptual networking model created to describe network communication using <strong>seven layers</strong>. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>The seven layers are:</p>
<table>
<thead>
<tr>
<th>Layer</th>
<th>Name</th>
<th>Main Purpose</th>
</tr>
</thead>
<tbody><tr>
<td>7</td>
<td>Application</td>
<td>Services used by applications</td>
</tr>
<tr>
<td>6</td>
<td>Presentation</td>
<td>Encoding, encryption, compression</td>
</tr>
<tr>
<td>5</td>
<td>Session</td>
<td>Establishing and maintaining sessions</td>
</tr>
<tr>
<td>4</td>
<td>Transport</td>
<td>End-to-end process communication</td>
</tr>
<tr>
<td>3</td>
<td>Network</td>
<td>IP addressing and routing</td>
</tr>
<tr>
<td>2</td>
<td>Data Link</td>
<td>Local network communication</td>
</tr>
<tr>
<td>1</td>
<td>Physical</td>
<td>Transmission of signals/bits</td>
</tr>
</tbody></table>
<hr />
<h1>Layer 1 — Physical</h1>
<p>The Physical layer deals with the actual transmission medium.</p>
<p>Examples include:</p>
<pre><code class="language-text">Electrical signals
Fiber-optic signals
Radio waves
Ethernet cabling
Wireless transmission
</code></pre>
<p>At this level we are mainly concerned with transmitting <strong>bits</strong>.</p>
<pre><code class="language-text">1 0 1 1 0 1 0 0
</code></pre>
<hr />
<h1>Layer 2 — Data Link</h1>
<p>The Data Link layer handles communication between devices on the same local network segment.</p>
<p>Common examples include:</p>
<pre><code class="language-text">Ethernet
Wi-Fi
</code></pre>
<p>MAC addresses are important at this layer.</p>
<p>A useful mental model is:</p>
<pre><code class="language-text">Layer 2
   ↓
Local delivery
   ↓
Device-to-device communication
</code></pre>
<hr />
<h1>Layer 3 — Network</h1>
<p>The Network layer handles:</p>
<pre><code class="language-text">Logical addressing
Routing
Moving packets between networks
</code></pre>
<p>The most important protocol here is:</p>
<pre><code class="language-text">IP
</code></pre>
<p>Routers primarily operate using Layer 3 information.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Source Network
      ↓
    Router
      ↓
Another Network
      ↓
Destination
</code></pre>
<hr />
<h1>Layer 4 — Transport</h1>
<p>The Transport layer provides communication between applications running on different hosts.</p>
<p>Two protocols dominate this layer:</p>
<pre><code class="language-text">TCP
UDP
</code></pre>
<p>Layer 4 introduces the idea of:</p>
<pre><code class="language-text">Port numbers
</code></pre>
<p>which helps identify which application or service should receive network traffic. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Layer 5 — Session</h1>
<p>The Session layer manages communication sessions between applications.</p>
<p>It is concerned with operations such as:</p>
<pre><code class="language-text">Starting sessions
Maintaining sessions
Synchronizing communication
Recovering sessions
</code></pre>
<hr />
<h1>Layer 6 — Presentation</h1>
<p>The Presentation layer handles how data is represented.</p>
<p>Examples include:</p>
<pre><code class="language-text">Encoding
Encryption
Compression
Data formatting
</code></pre>
<p>Common examples may involve formats such as:</p>
<pre><code class="language-text">JPEG
PNG
Unicode
MPEG
</code></pre>
<hr />
<h1>Layer 7 — Application</h1>
<p>The Application layer is closest to the software used by the user.</p>
<p>Protocols include:</p>
<pre><code class="language-text">HTTP
HTTPS
DNS
FTP
SMTP
IMAP
</code></pre>
<p>For example:</p>
<pre><code class="language-text">Web Browser
     ↓
HTTP / HTTPS
     ↓
Application Layer
</code></pre>
<p>The room emphasizes that remembering the layer numbers is useful because security terminology commonly refers to things such as <strong>Layer 3 switches</strong> or <strong>Layer 7 firewalls</strong>. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Remembering the OSI Layers</h1>
<p>One mnemonic presented in the room is:</p>
<pre><code class="language-text">Please
Do
Not
Throw
Spinach
Pizza
Away
</code></pre>
<p>From bottom to top:</p>
<pre><code class="language-text">Physical
Data Link
Network
Transport
Session
Presentation
Application
</code></pre>
<hr />
<h2>🛠️ Hands-On / Commands — Task 2</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">OSI layer diagrams
TryHackMe interactive questions
Networking protocol mapping
</code></pre>
<p>This task was mostly conceptual.</p>
<p>I created this quick reference for myself:</p>
<pre><code class="language-text">7 Application     → HTTP / DNS
6 Presentation    → Encoding / encryption
5 Session         → Sessions
4 Transport       → TCP / UDP
3 Network         → IP / routing
2 Data Link       → Ethernet / Wi-Fi
1 Physical        → Signals / cables
</code></pre>
<p>This became useful throughout the rest of the room.</p>
<hr />
<h1>Task 3 — TCP/IP Model</h1>
<p>The OSI model is useful conceptually, but actual Internet communication is commonly described using the <strong>TCP/IP model</strong>.</p>
<p>TCP/IP stands for:</p>
<pre><code class="language-text">Transmission Control Protocol
/
Internet Protocol
</code></pre>
<p>TryHackMe presents the TCP/IP model using four major layers and explains how they correspond to the seven OSI layers. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>TCP/IP Layers</h1>
<pre><code class="language-text">Application
Transport
Internet
Link
</code></pre>
<p>The mapping looks approximately like this:</p>
<table>
<thead>
<tr>
<th>OSI</th>
<th>TCP/IP</th>
</tr>
</thead>
<tbody><tr>
<td>Application</td>
<td>Application</td>
</tr>
<tr>
<td>Presentation</td>
<td>Application</td>
</tr>
<tr>
<td>Session</td>
<td>Application</td>
</tr>
<tr>
<td>Transport</td>
<td>Transport</td>
</tr>
<tr>
<td>Network</td>
<td>Internet</td>
</tr>
<tr>
<td>Data Link</td>
<td>Link</td>
</tr>
<tr>
<td>Physical</td>
<td>Link / sometimes shown separately</td>
</tr>
</tbody></table>
<p>Some textbooks present a five-layer Internet model by separating the Physical layer. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Application Layer</h1>
<p>The TCP/IP Application layer combines three OSI layers:</p>
<pre><code class="language-text">OSI Layer 7
OSI Layer 6
OSI Layer 5
</code></pre>
<p>Protocols include:</p>
<pre><code class="language-text">HTTP
HTTPS
DNS
SSH
FTP
SMTP
</code></pre>
<hr />
<h1>Transport Layer</h1>
<p>This corresponds closely with OSI Layer 4.</p>
<p>The important protocols are:</p>
<pre><code class="language-text">TCP
UDP
</code></pre>
<p>Their job is to provide communication between processes running on hosts.</p>
<hr />
<h1>Internet Layer</h1>
<p>This roughly corresponds to the OSI Network layer.</p>
<p>Its major responsibility is:</p>
<pre><code class="language-text">IP addressing
+
Routing
</code></pre>
<p>Important protocols include:</p>
<pre><code class="language-text">IP
ICMP
</code></pre>
<hr />
<h1>Link Layer</h1>
<p>This handles communication over the local network medium.</p>
<p>Examples include:</p>
<pre><code class="language-text">Ethernet
Wi-Fi
</code></pre>
<hr />
<h1>OSI vs TCP/IP</h1>
<p>The way I remember the difference is:</p>
<pre><code class="language-text">OSI
=
Conceptual 7-layer learning model
</code></pre>
<p>while:</p>
<pre><code class="language-text">TCP/IP
=
Practical Internet protocol model
</code></pre>
<p>Both describe network communication, but TCP/IP more closely reflects the protocols used on modern networks.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 3</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">OSI/TCP-IP mapping
Protocol identification
TryHackMe diagrams
</code></pre>
<p>My quick revision table became:</p>
<pre><code class="language-text">Application → HTTP, HTTPS, DNS, SSH

Transport   → TCP, UDP

Internet    → IP, ICMP

Link        → Ethernet, Wi-Fi
</code></pre>
<p>No terminal command was necessary in this task.</p>
<hr />
<h1>Task 4 — IP Addresses and Subnets</h1>
<p>This task introduced one of the most important networking concepts:</p>
<h1>IP Addresses</h1>
<p>An IP address identifies a host on a TCP/IP network.</p>
<p>A common IPv4 address looks like:</p>
<pre><code class="language-text">192.168.1.10
</code></pre>
<p>IPv4 addresses contain:</p>
<pre><code class="language-text">32 bits
</code></pre>
<p>divided into four 8-bit sections called <strong>octets</strong>. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<pre><code class="language-text">192 . 168 . 1 . 10
 ↓     ↓    ↓    ↓
8bit  8bit 8bit 8bit

Total = 32 bits
</code></pre>
<p>Each octet can represent values from:</p>
<pre><code class="language-text">0 to 255
</code></pre>
<hr />
<h1>Why Do We Need IP Addresses?</h1>
<p>Think of an IP address like a postal address.</p>
<p>If I want to send a parcel, the postal service needs to know:</p>
<pre><code class="language-text">Where should this parcel go?
</code></pre>
<p>Similarly, networks need:</p>
<pre><code class="language-text">Destination IP Address
</code></pre>
<p>to determine where a packet should be delivered.</p>
<hr />
<h1>Subnets</h1>
<p>A subnet divides a larger IP network into smaller logical networks.</p>
<p>For example:</p>
<pre><code class="language-text">192.168.1.0/24
</code></pre>
<p>The <code>/24</code> tells us that:</p>
<pre><code class="language-text">24 bits represent the network portion
</code></pre>
<p>leaving the remaining bits for host addresses.</p>
<p>For a typical <code>/24</code> example:</p>
<pre><code class="language-text">Network:
192.168.1.0/24

Potential host range:
192.168.1.1
...
192.168.1.254

Broadcast:
192.168.1.255
</code></pre>
<p>The exact usable range depends on the subnet.</p>
<p>TryHackMe uses the <code>/24</code> example to explain how subnet masks separate network and host portions of an IPv4 address. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Subnet Mask</h1>
<p>A <code>/24</code> network can also be represented as:</p>
<pre><code class="language-text">255.255.255.0
</code></pre>
<p>So:</p>
<pre><code class="language-text">192.168.1.10/24
</code></pre>
<p>and a system using:</p>
<pre><code class="language-text">IP:   192.168.1.10
Mask: 255.255.255.0
</code></pre>
<p>describe the same prefix length.</p>
<hr />
<h1>Public vs Private IP Addresses</h1>
<p>Not every IP address is directly routable across the public Internet.</p>
<p>Private IPv4 addresses are reserved for internal networks.</p>
<p>The three major private ranges are:</p>
<pre><code class="language-text">10.0.0.0/8

172.16.0.0/12

192.168.0.0/16
</code></pre>
<p>These ranges were defined for private networking. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>Examples might include:</p>
<pre><code class="language-text">10.10.20.5

172.20.10.15

192.168.1.100
</code></pre>
<p>These are common inside:</p>
<pre><code class="language-text">Homes
Companies
Labs
Virtual networks
Cloud environments
</code></pre>
<hr />
<h1>Why Private IP Addresses Exist</h1>
<p>IPv4 contains roughly:</p>
<pre><code class="language-text">2^32
</code></pre>
<p>possible addresses.</p>
<p>That sounds large, but it is not enough to give every modern device a permanently unique public IPv4 address.</p>
<p>Private addressing, along with technologies such as NAT, helps reuse address space.</p>
<hr />
<h1>Routing</h1>
<p>Once IP addresses identify networks and hosts, we still need a way to move packets between networks.</p>
<p>That is the job of:</p>
<h1>Routers</h1>
<p>A router examines Layer 3 information and determines where a packet should go next. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>Conceptually:</p>
<pre><code class="language-text">Computer A
    |
    v
Router 1
    |
    v
Router 2
    |
    v
Router 3
    |
    v
Computer B
</code></pre>
<p>The packet may cross several routers before reaching its destination.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 4</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">ipconfig
ifconfig
ip
Subnet notation
IPv4 addressing
</code></pre>
<p>On Windows:</p>
<pre><code class="language-cmd">ipconfig
</code></pre>
<p>can show local network information.</p>
<p>A more detailed version is:</p>
<pre><code class="language-cmd">ipconfig /all
</code></pre>
<p>On Linux:</p>
<pre><code class="language-bash">ip address show
</code></pre>
<p>or the shorter:</p>
<pre><code class="language-bash">ip a
</code></pre>
<p>can display configured addresses.</p>
<p>An older Linux command is:</p>
<pre><code class="language-bash">ifconfig
</code></pre>
<p>Example information I look for:</p>
<pre><code class="language-text">IPv4 address
Subnet mask / prefix
Interface
Broadcast address
Default gateway
</code></pre>
<hr />
<h1>Task 5 — UDP and TCP</h1>
<p>An IP address tells us <strong>which host</strong> should receive traffic.</p>
<p>But one computer can run many network applications simultaneously.</p>
<p>For example:</p>
<pre><code class="language-text">Web Browser
SSH Server
DNS Service
Email Client
Game
</code></pre>
<p>So we also need to identify:</p>
<pre><code class="language-text">Which application/process should receive the data?
</code></pre>
<p>This is where <strong>ports</strong> and transport protocols become important.</p>
<p>TryHackMe introduces both UDP and TCP as Layer 4 protocols and explains how port numbers identify processes. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Port Numbers</h1>
<p>A port number identifies a network service or process on a host.</p>
<p>Think of:</p>
<pre><code class="language-text">IP Address = Building Address

Port       = Apartment Number
</code></pre>
<p>The IP finds the computer.</p>
<p>The port finds the application.</p>
<p>Port numbers use 16 bits and therefore extend up to:</p>
<pre><code class="language-text">65535
</code></pre>
<p>with port <code>0</code> reserved. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>UDP — User Datagram Protocol</h1>
<p>UDP is:</p>
<pre><code class="language-text">Connectionless
</code></pre>
<p>This means it does not establish a formal connection before sending data.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Sender
  |
  | Datagram
  v
Receiver
</code></pre>
<p>There is no built-in guarantee that the receiver actually received the datagram.</p>
<hr />
<h1>UDP Advantages</h1>
<p>Because there is less overhead, UDP can be:</p>
<pre><code class="language-text">Fast
Simple
Low latency
</code></pre>
<p>This makes it useful for applications where speed may matter more than guaranteed delivery.</p>
<p>Examples can include:</p>
<pre><code class="language-text">Streaming
Voice communication
Online gaming
DNS queries
</code></pre>
<p>depending on the protocol/application.</p>
<hr />
<h1>TCP — Transmission Control Protocol</h1>
<p>TCP takes a different approach.</p>
<p>TCP is:</p>
<pre><code class="language-text">Connection-oriented
</code></pre>
<p>Before normal application data is exchanged, a connection is established.</p>
<p>TCP also uses mechanisms such as:</p>
<pre><code class="language-text">Sequence numbers
Acknowledgements
Retransmission
</code></pre>
<p>to provide reliable ordered communication. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>TCP Three-Way Handshake</h1>
<p>A TCP connection begins conceptually with:</p>
<pre><code class="language-text">Client                  Server

  SYN   ----------------&gt;

        &lt;-------------- SYN-ACK

  ACK   ----------------&gt;
</code></pre>
<p>After that:</p>
<pre><code class="language-text">Connection Established
</code></pre>
<p>and application data can be exchanged.</p>
<hr />
<h1>TCP vs UDP</h1>
<table>
<thead>
<tr>
<th>Feature</th>
<th>TCP</th>
<th>UDP</th>
</tr>
</thead>
<tbody><tr>
<td>Connection</td>
<td>Connection-oriented</td>
<td>Connectionless</td>
</tr>
<tr>
<td>Reliability</td>
<td>Provides reliability</td>
<td>No built-in delivery guarantee</td>
</tr>
<tr>
<td>Ordering</td>
<td>Maintains order</td>
<td>Not guaranteed by UDP</td>
</tr>
<tr>
<td>Overhead</td>
<td>Higher</td>
<td>Lower</td>
</tr>
<tr>
<td>Typical goal</td>
<td>Reliable communication</td>
<td>Fast/simple communication</td>
</tr>
</tbody></table>
<p>The correct protocol depends on the application's needs.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 5</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TCP
UDP
Port numbers
netstat
ss
</code></pre>
<p>On Windows, I can inspect connections using:</p>
<pre><code class="language-cmd">netstat -ano
</code></pre>
<p>On Linux:</p>
<pre><code class="language-bash">ss -tuln
</code></pre>
<p>The options can help reveal:</p>
<pre><code class="language-text">TCP sockets
UDP sockets
Listening ports
Local addresses
</code></pre>
<p>A useful security question is:</p>
<pre><code class="language-text">What application is listening on this port?
</code></pre>
<p>because exposed services form part of a system's network attack surface.</p>
<hr />
<h1>Task 6 — Encapsulation</h1>
<p>This was one of the most important conceptual tasks.</p>
<p>When application data moves down through the networking stack, each layer adds information required for its job.</p>
<p>This is called:</p>
<h1>Encapsulation</h1>
<p>TryHackMe explains encapsulation as each layer adding its own header, and sometimes a trailer, before passing the resulting unit to the layer below. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Starting With Application Data</h1>
<p>Suppose I type a message into an application.</p>
<p>Initially we have:</p>
<pre><code class="language-text">Application Data
</code></pre>
<p>The application sends this downward.</p>
<hr />
<h1>Transport Layer</h1>
<p>TCP or UDP adds transport information.</p>
<p>Conceptually:</p>
<pre><code class="language-text">[TCP Header | Application Data]
</code></pre>
<p>or:</p>
<pre><code class="language-text">[UDP Header | Application Data]
</code></pre>
<hr />
<h1>Internet / Network Layer</h1>
<p>IP adds another header.</p>
<p>Now we have:</p>
<pre><code class="language-text">[IP Header | Transport Header | Application Data]
</code></pre>
<p>The IP header contains information required for routing, including source and destination addresses.</p>
<hr />
<h1>Data Link Layer</h1>
<p>Ethernet or Wi-Fi adds link-layer information.</p>
<p>Conceptually:</p>
<pre><code class="language-text">[Link Header
     |
     IP Header
     |
     TCP/UDP Header
     |
     Application Data
     |
 Link Trailer]
</code></pre>
<p>That complete structure can then be transmitted over the network.</p>
<hr />
<h1>Encapsulation Flow</h1>
<p>The easiest way I remember it is:</p>
<pre><code class="language-text">Application Data
       ↓
Transport
       ↓
Segment / Datagram
       ↓
Internet
       ↓
Packet
       ↓
Link
       ↓
Frame
</code></pre>
<p>The receiving machine performs the reverse operation:</p>
<h1>Decapsulation</h1>
<pre><code class="language-text">Frame
   ↓
Packet
   ↓
Transport data unit
   ↓
Application Data
</code></pre>
<hr />
<h1>Life of a Web Request</h1>
<p>A simplified HTTPS request can be thought of as:</p>
<pre><code class="language-text">Browser creates request
        ↓
Transport layer handles connection
        ↓
IP adds source/destination addressing
        ↓
Ethernet/Wi-Fi prepares local frame
        ↓
Router receives traffic
        ↓
Routers forward packet
        ↓
Destination network
        ↓
Server receives data
</code></pre>
<p>Routers repeatedly inspect the IP-level information while forwarding packets toward their destination. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>Why Encapsulation Matters in Cybersecurity</h2>
<p>Packet-analysis tools such as Wireshark expose these layers.</p>
<p>A captured packet may show:</p>
<pre><code class="language-text">Ethernet
   ↓
IP
   ↓
TCP
   ↓
HTTP
</code></pre>
<p>Understanding encapsulation makes packet captures much easier to read.</p>
<p>Instead of seeing unrelated sections, I can understand:</p>
<pre><code class="language-text">Each protocol belongs to a different layer.
</code></pre>
<hr />
<h2>🛠️ Hands-On / Commands — Task 6</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">OSI/TCP-IP model
Packet diagrams
Encapsulation
Decapsulation
</code></pre>
<p>No major command was required.</p>
<p>My revision diagram was:</p>
<pre><code class="language-text">Application
    ↓
TCP / UDP
    ↓
IP
    ↓
Ethernet / Wi-Fi
    ↓
Network
</code></pre>
<p>And on receipt:</p>
<pre><code class="language-text">Network
    ↓
Ethernet / Wi-Fi
    ↓
IP
    ↓
TCP / UDP
    ↓
Application
</code></pre>
<hr />
<h1>Task 7 — Telnet</h1>
<p>This was the practical networking task of the room.</p>
<p>The room introduces:</p>
<pre><code class="language-text">Telnet
</code></pre>
<p>TELNET was originally designed for remote terminal communication, but a Telnet client can also be used to connect manually to a service listening on a TCP port. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>This makes it useful for understanding a very simple idea:</p>
<blockquote>
<p>A TCP service is something listening on an IP address and port that we can connect to and exchange data with.</p>
</blockquote>
<hr />
<h1>Basic Telnet Syntax</h1>
<p>The general syntax is:</p>
<pre><code class="language-bash">telnet &lt;TARGET_IP&gt; &lt;PORT&gt;
</code></pre>
<p>For example:</p>
<pre><code class="language-bash">telnet 192.0.2.10 80
</code></pre>
<p>would attempt to establish a TCP connection to port <code>80</code> on that example host.</p>
<p>I am intentionally using a documentation/example IP rather than the TryHackMe lab address.</p>
<hr />
<h1>What Telnet Helps Demonstrate</h1>
<p>Conceptually:</p>
<pre><code class="language-text">My Machine
     |
     | TCP connection
     v
Target IP : Target Port
     |
     v
Network Service
</code></pre>
<p>If something is listening on the specified TCP port, the client can communicate with it according to that service's protocol.</p>
<hr />
<h1>Talking to an HTTP Server Manually</h1>
<p>One of the most interesting exercises is realizing that a browser is not required to send a basic HTTP request.</p>
<p>After connecting to an authorized HTTP server with Telnet, a manually typed request can look like:</p>
<pre><code class="language-http">GET / HTTP/1.1
Host: example.com
</code></pre>
<p>The server may then return an HTTP response.</p>
<p>This makes protocols feel much less mysterious.</p>
<p>A web browser is ultimately performing structured network communication on our behalf.</p>
<hr />
<h1>Closing a Telnet Session</h1>
<p>Telnet provides an escape sequence that lets us leave the active connection and return to the client prompt.</p>
<p>I practiced this in the TryHackMe lab rather than reproducing any task-specific server response or challenge answer here.</p>
<hr />
<h1>Why Telnet Is Not Used for Secure Remote Administration</h1>
<p>Traditional Telnet does not provide modern encrypted remote administration.</p>
<p>That means credentials and transmitted data may be exposed on the network.</p>
<p>For remote shell access today, a secure protocol such as:</p>
<pre><code class="language-text">SSH
</code></pre>
<p>is preferred.</p>
<p>The room uses Telnet primarily as an educational tool to demonstrate raw TCP communication with services. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 7</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe AttackBox
Lab Machine
Terminal
telnet
TCP services
HTTP
</code></pre>
<p>Basic connection syntax:</p>
<pre><code class="language-bash">telnet &lt;TARGET_IP&gt; &lt;PORT&gt;
</code></pre>
<p>Example using non-lab data:</p>
<pre><code class="language-bash">telnet 192.0.2.10 80
</code></pre>
<p>The practical workflow was:</p>
<pre><code class="language-text">Identify target
      ↓
Identify TCP port
      ↓
Connect with Telnet
      ↓
Send protocol-appropriate text
      ↓
Observe server response
      ↓
Close connection
</code></pre>
<p>I am intentionally leaving out the TryHackMe lab's returned messages and submission values.</p>
<hr />
<h1>Task 8 — Conclusion</h1>
<p>By the end of the room, the pieces started connecting.</p>
<p>Initially, networking looked like:</p>
<pre><code class="language-text">Computer A → Computer B
</code></pre>
<p>Now I see a much richer process:</p>
<pre><code class="language-text">Application
     ↓
Application Protocol
     ↓
TCP / UDP + Port
     ↓
IP Address
     ↓
Routing
     ↓
Ethernet / Wi-Fi
     ↓
Physical Network
     ↓
Destination
</code></pre>
<p>The room concludes by reviewing the <strong>OSI and TCP/IP models, IPv4 addressing and subnets, routing, TCP and UDP, encapsulation, ports, and Telnet-based TCP communication</strong>. (<a href="https://tryhackme.com/room/networkingconcepts?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Complete Learning Flow</h1>
<pre><code class="language-text">                 NETWORKING
                     |
                     v
                 OSI Model
                     |
                     v
                TCP/IP Model
                     |
          ┌──────────┴──────────┐
          |                     |
       Addressing            Transport
          |                     |
      IP Address             TCP / UDP
          |                     |
        Subnet                 Ports
          |                     |
        Routing                 |
          └──────────┬──────────┘
                     |
               Encapsulation
                     |
                     v
               Network Traffic
                     |
                     v
              TCP Communication
                     |
                     v
                   Telnet
</code></pre>
<hr />
<h1>Commands / Tools Practiced</h1>
<table>
<thead>
<tr>
<th>Command / Tool</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td><code>ipconfig</code></td>
<td>View Windows IP configuration</td>
</tr>
<tr>
<td><code>ipconfig /all</code></td>
<td>View detailed Windows network configuration</td>
</tr>
<tr>
<td><code>ip a</code></td>
<td>View Linux interfaces and IP addresses</td>
</tr>
<tr>
<td><code>ifconfig</code></td>
<td>View interface information on supported systems</td>
</tr>
<tr>
<td><code>netstat -ano</code></td>
<td>Inspect Windows connections/listening ports and PIDs</td>
</tr>
<tr>
<td><code>ss -tuln</code></td>
<td>Inspect TCP/UDP listening sockets on Linux</td>
</tr>
<tr>
<td><code>telnet &lt;IP&gt; &lt;PORT&gt;</code></td>
<td>Connect manually to a TCP service</td>
</tr>
<tr>
<td>HTTP <code>GET</code></td>
<td>Understand simple application-layer communication</td>
</tr>
<tr>
<td>TryHackMe AttackBox</td>
<td>Authorized practical networking environment</td>
</tr>
</tbody></table>
<hr />
<h1>Key Lessons Learned</h1>
<h2>1. The OSI Model Is a Troubleshooting Framework</h2>
<p>Instead of memorizing seven names without context, I now think:</p>
<pre><code class="language-text">Application problem?
        ↓
Layer 7

TCP/UDP or port problem?
        ↓
Layer 4

Routing/IP problem?
        ↓
Layer 3

Local Ethernet/Wi-Fi problem?
        ↓
Layer 2
</code></pre>
<p>The layers give us a structured way to reason about network problems.</p>
<hr />
<h2>2. IP Address and Port Solve Different Problems</h2>
<p>This distinction became much clearer.</p>
<pre><code class="language-text">IP Address
    ↓
Which host?
</code></pre>
<p>while:</p>
<pre><code class="language-text">Port
   ↓
Which application/service?
</code></pre>
<p>Together:</p>
<pre><code class="language-text">IP : Port
</code></pre>
<p>identifies a network endpoint.</p>
<hr />
<h2>3. Routers Care About Networks</h2>
<p>A router's job is not to understand every application.</p>
<p>Its key responsibility is forwarding packets toward the correct network using Layer 3 addressing.</p>
<hr />
<h2>4. TCP and UDP Have Different Goals</h2>
<p>TCP is designed around reliable connection-oriented communication.</p>
<p>UDP provides a simpler connectionless transport.</p>
<p>Neither is universally "better."</p>
<p>The choice depends on what the application needs.</p>
<hr />
<h2>5. Encapsulation Explains Packet Captures</h2>
<p>Before understanding encapsulation, a packet could look like a confusing collection of headers.</p>
<p>Now I can see:</p>
<pre><code class="language-text">Ethernet
contains
   ↓
IP
contains
   ↓
TCP/UDP
contains
   ↓
Application Data
</code></pre>
<p>That is going to be especially useful later when learning Wireshark and packet analysis.</p>
<hr />
<h2>6. Telnet Made Ports Feel Real</h2>
<p>Before this task, a port number could feel like just another number.</p>
<p>Using:</p>
<pre><code class="language-bash">telnet &lt;IP&gt; &lt;PORT&gt;
</code></pre>
<p>made the idea much more concrete:</p>
<pre><code class="language-text">A service is listening there,
and I can communicate with it
using the appropriate protocol.
</code></pre>
<hr />
<h1>My Final Mental Model</h1>
<pre><code class="language-text">                  APPLICATION
                      |
                      v
               HTTP / DNS / SSH
                      |
                      v
                  TRANSPORT
                 /         \
               TCP         UDP
                 \         /
                    PORT
                      |
                      v
                    IP
                      |
                  IP ADDRESS
                      |
                      v
                   ROUTER
                      |
                      v
              ETHERNET / WI-FI
                      |
                      v
               PHYSICAL NETWORK
</code></pre>
<hr />
<h1>Ethical Learning Note</h1>
<p>This article is a <strong>learning guide rather than an answer dump</strong>.</p>
<p>I included:</p>
<pre><code class="language-text">✅ Networking concepts
✅ Commands
✅ Generic examples
✅ Packet-flow methodology
✅ Telnet syntax
✅ Cybersecurity relevance
</code></pre>
<p>while intentionally excluding:</p>
<pre><code class="language-text">❌ TryHackMe flags
❌ Lab-specific IP answers
❌ Direct room-question submissions
❌ Telnet challenge responses
❌ Task-specific secret values
</code></pre>
<p>The goal is to document what I learned without removing the actual problem-solving experience for someone completing the room.</p>
<hr />
<h1>Resources</h1>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/networkingconcepts">Networking Concepts</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h1>Connect with Me</h1>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em> 🚀</p>
]]></content:encoded></item><item><title><![CDATA[💻 TryHackMe — Windows Command Line | Learning Guide]]></title><description><![CDATA[Spoiler-Free Learning Guide: This article contains no TryHackMe flags, lab-specific values, or direct task answers. It focuses on the concepts, methodology, and Windows commands I practiced while comp]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-windows-command-line-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-windows-command-line-learning-guide</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[Windows command line]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[Windows]]></category><category><![CDATA[#infosec]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Sat, 05 Sep 2026 14:24:56 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/5d3a335f-375c-4788-978f-172dd6abf232.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p><strong>Spoiler-Free Learning Guide:</strong> This article contains <strong>no TryHackMe flags, lab-specific values, or direct task answers</strong>. It focuses on the concepts, methodology, and Windows commands I practiced while completing the room.</p>
</blockquote>
<h2>Introduction</h2>
<p>After learning the Windows GUI and administrative tools in the <strong>Windows Fundamentals</strong> rooms, I moved on to the <strong>Windows Command Line</strong> room.</p>
<p>This room introduced me to <code>cmd.exe</code>, the default Windows command-line interface, and showed how common system-administration tasks can be performed without navigating through graphical menus.</p>
<p>The command line is especially useful in cybersecurity because it is:</p>
<pre><code class="language-text">Fast
Efficient
Scriptable
Remote-friendly
Low on resource usage
</code></pre>
<p>TryHackMe focuses this room on four practical command-line skills: viewing system information, troubleshooting networking, managing files and directories, and working with running processes. (<a href="https://tryhackme.com/room/windowscommandline?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>The room follows this learning path:</p>
<pre><code class="language-text">Introduction
     ↓
Basic System Information
     ↓
Network Troubleshooting
     ↓
File &amp; Disk Management
     ↓
Task &amp; Process Management
     ↓
Conclusion
</code></pre>
<hr />
<h1>Task 1 — Introduction</h1>
<h2>What Is the Windows Command Line?</h2>
<p>Windows provides a graphical interface for most everyday tasks, but many of the same operations can also be performed by entering commands.</p>
<p>The traditional Windows command-line interpreter is commonly referred to as:</p>
<pre><code class="language-text">Command Prompt
</code></pre>
<p>or:</p>
<pre><code class="language-text">CMD
</code></pre>
<p>Conceptually:</p>
<pre><code class="language-text">User
  |
  | Types command
  v
Command-Line Interpreter
  |
  v
Windows Operating System
  |
  v
Result
</code></pre>
<p>Instead of navigating through several menus to retrieve information, we can often get the same result with a single command.</p>
<hr />
<h2>Why Learn the CLI?</h2>
<p>One of the most useful lessons from this task was understanding why security professionals spend so much time in terminals.</p>
<h3>Speed</h3>
<p>Typing a known command can be significantly faster than navigating through several windows.</p>
<h3>Automation</h3>
<p>Commands can be placed inside:</p>
<pre><code class="language-text">Batch files
Scripts
Automation workflows
</code></pre>
<p>which makes repetitive operations easier.</p>
<h3>Remote Administration</h3>
<p>A CLI works particularly well when managing remote machines because it requires far less bandwidth than a complete graphical desktop.</p>
<h3>Low Resource Usage</h3>
<p>Command-line interfaces generally require fewer CPU, memory, and graphical resources than GUI applications. These are some of the advantages TryHackMe highlights when introducing the room. (<a href="https://tryhackme.com/room/windowscommandline?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 1</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe Windows VM
AttackBox
Windows Command Prompt
SSH
</code></pre>
<p>A simple way to open Command Prompt on a normal Windows machine is:</p>
<pre><code class="language-text">Start Menu
   ↓
Search "Command Prompt"
</code></pre>
<p>or:</p>
<pre><code class="language-text">Windows + R
</code></pre>
<p>followed by launching the terminal.</p>
<p>Once inside the shell, I started getting comfortable with the prompt:</p>
<pre><code class="language-text">C:\Users\user&gt;
</code></pre>
<p>The path displayed before <code>&gt;</code> tells us our current location.</p>
<hr />
<h1>Task 2 — Basic System Information</h1>
<p>Before investigating any machine, one of the first things I want to know is:</p>
<pre><code class="language-text">What system am I working on?
</code></pre>
<p>This task introduces commands for discovering basic Windows information.</p>
<p>TryHackMe covers environment variables, the Windows version, detailed system information, installed drivers, command help, and handling long terminal output. (<a href="https://tryhackme.com/room/windowscommandline?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Environment Variables</h1>
<p>Windows stores useful configuration information inside <strong>environment variables</strong>.</p>
<p>These can contain information about:</p>
<pre><code class="language-text">Operating system
User profile
Temporary folders
Processor
Executable search paths
System directories
</code></pre>
<p>A particularly important variable is:</p>
<pre><code class="language-text">PATH
</code></pre>
<p>The PATH tells Windows which directories it should search when we type a command without specifying its full location.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Type command
     ↓
Windows checks PATH
     ↓
Find executable
     ↓
Run executable
</code></pre>
<hr />
<h2>Viewing Environment Variables</h2>
<p>A useful command is:</p>
<pre><code class="language-cmd">set
</code></pre>
<p>This prints the currently defined environment variables.</p>
<p>For example, the output may contain entries such as:</p>
<pre><code class="language-text">USERNAME=...
OS=Windows_NT
Path=...
TEMP=...
</code></pre>
<p>This becomes useful later when investigating system configuration.</p>
<hr />
<h1>Checking the Windows Version</h1>
<p>A simple command can display the operating-system version.</p>
<p>The important concept is not memorizing a particular lab value but understanding why version information matters.</p>
<p>Different Windows versions can have:</p>
<pre><code class="language-text">Different features
Different patches
Different vulnerabilities
Different security protections
</code></pre>
<p>During cybersecurity enumeration, identifying the exact operating system and build is often an early step.</p>
<hr />
<h1>Detailed System Information</h1>
<p>A much more useful command for system enumeration is:</p>
<pre><code class="language-cmd">systeminfo
</code></pre>
<p>It provides information such as:</p>
<pre><code class="language-text">Host name
OS name
OS version
System manufacturer
System type
Processor information
Memory
Boot information
Installed updates
Network information
</code></pre>
<p>This makes <code>systeminfo</code> a useful first-look command when working on an unfamiliar Windows host. TryHackMe uses it in this task to demonstrate deeper host enumeration. (<a href="https://tryhackme.com/room/windowscommandline?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Working With Long Output</h1>
<p>Some commands produce more information than fits in one terminal window.</p>
<p>Instead of rapidly scrolling through everything, output can be piped into:</p>
<pre><code class="language-cmd">more
</code></pre>
<p>For example:</p>
<pre><code class="language-cmd">systeminfo | more
</code></pre>
<p>The pipe symbol:</p>
<pre><code class="language-text">|
</code></pre>
<p>takes the output from the command on the left and sends it as input to the command on the right.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Command A
   |
   | Output
   v
   |
   v
Command B
</code></pre>
<p>This was my first useful example of <strong>command chaining</strong> in Windows.</p>
<hr />
<h1>Getting Help</h1>
<p>One of the most valuable habits in command-line work is learning how to retrieve built-in documentation.</p>
<p>For many commands:</p>
<pre><code class="language-cmd">command /?
</code></pre>
<p>shows available options.</p>
<p>Windows also provides:</p>
<pre><code class="language-cmd">help
</code></pre>
<p>for supported commands.</p>
<p>This means I do not need to memorize every parameter.</p>
<hr />
<h1>Clearing the Terminal</h1>
<p>When the terminal becomes cluttered, it can be cleared using the standard clear-screen command taught in the room.</p>
<p>The broader lesson is simple:</p>
<blockquote>
<p>The command line becomes much easier when you learn navigation, help, and output-control commands alongside the main administrative commands.</p>
</blockquote>
<hr />
<h2>🛠️ Hands-On / Commands — Task 2</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Command Prompt
Environment variables
systeminfo
driverquery
more
Built-in command help
</code></pre>
<p>Useful practice:</p>
<pre><code class="language-cmd">set
</code></pre>
<pre><code class="language-cmd">systeminfo
</code></pre>
<pre><code class="language-cmd">systeminfo | more
</code></pre>
<pre><code class="language-cmd">driverquery | more
</code></pre>
<pre><code class="language-cmd">systeminfo /?
</code></pre>
<p>These commands use only generic system information and do not reveal the TryHackMe VM's task answers.</p>
<hr />
<h1>Task 3 — Network Troubleshooting</h1>
<p>This was one of the most useful tasks from a cybersecurity perspective.</p>
<p>A Windows machine can be investigated entirely from the command line to answer questions such as:</p>
<pre><code class="language-text">What is my IP address?

What is my default gateway?

Which DNS server am I using?

Can I reach another system?

What route does traffic follow?

Which ports are listening?

Which process owns a connection?
</code></pre>
<p>TryHackMe introduces <code>ipconfig</code>, <code>ping</code>, <code>tracert</code>, <code>nslookup</code>, and <code>netstat</code> in this task. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<hr />
<h1>Viewing Network Configuration</h1>
<p>The basic Windows networking utility provides information about network interfaces.</p>
<p>A standard view may contain:</p>
<pre><code class="language-text">IPv4 Address
Subnet Mask
Default Gateway
</code></pre>
<p>A more detailed view can additionally show:</p>
<pre><code class="language-text">MAC address
DHCP configuration
DNS servers
Adapter information
Lease information
</code></pre>
<p>This is useful when determining how a Windows host is connected to a network.</p>
<hr />
<h1>Understanding the Basic Fields</h1>
<h2>IP Address</h2>
<p>Identifies the host on an IP network.</p>
<pre><code class="language-text">Computer
   ↓
IP Address
   ↓
Network Identity
</code></pre>
<hr />
<h2>Subnet Mask</h2>
<p>Helps determine which portion of the IP address represents the local network.</p>
<hr />
<h2>Default Gateway</h2>
<p>The router the machine normally uses to reach systems outside its local network.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Windows PC
    |
    v
Default Gateway
    |
    v
Other Networks / Internet
</code></pre>
<hr />
<h1>Testing Connectivity With Ping</h1>
<p><code>ping</code> is one of the most commonly used network troubleshooting tools.</p>
<p>Example:</p>
<pre><code class="language-cmd">ping example.com
</code></pre>
<p>It sends ICMP echo requests and waits for responses.</p>
<p>A successful response can provide information such as:</p>
<pre><code class="language-text">Round-trip time
Packet loss
Basic reachability
</code></pre>
<p>Conceptually:</p>
<pre><code class="language-text">My Machine
    |
    | Echo Request
    v
Target
    |
    | Echo Reply
    v
My Machine
</code></pre>
<p>A failed ping does not automatically mean the destination is offline, because firewalls may block ICMP traffic.</p>
<hr />
<h1>Tracing the Route</h1>
<p>Sometimes knowing that a destination is unreachable is not enough.</p>
<p>We may want to see <strong>where the traffic travels</strong>.</p>
<p>Windows provides a route-tracing utility that reveals intermediate hops between the source and destination.</p>
<p>Example methodology:</p>
<pre><code class="language-text">My Computer
     ↓
Router 1
     ↓
Router 2
     ↓
Router 3
     ↓
Destination
</code></pre>
<p>TryHackMe demonstrates this with <code>tracert</code>, which uses TTL behaviour to reveal intermediate routers. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<hr />
<h1>DNS Lookups</h1>
<p>Humans prefer names such as:</p>
<pre><code class="language-text">example.com
</code></pre>
<p>Computers communicate using IP addresses.</p>
<p>DNS provides the mapping:</p>
<pre><code class="language-text">Domain Name
     ↓
DNS Resolution
     ↓
IP Address
</code></pre>
<p>Windows includes:</p>
<pre><code class="language-cmd">nslookup example.com
</code></pre>
<p>for performing DNS queries.</p>
<p>A different DNS server can also be specified when troubleshooting resolution problems.</p>
<p>For example:</p>
<pre><code class="language-cmd">nslookup example.com 1.1.1.1
</code></pre>
<p>This is helpful when checking whether a problem comes from:</p>
<pre><code class="language-text">The domain
The configured DNS server
The local machine
The network
</code></pre>
<p>TryHackMe uses <code>nslookup</code> specifically to demonstrate querying both the default and a specified DNS server. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<hr />
<h1>Viewing Network Connections</h1>
<p>The room also introduces:</p>
<pre><code class="language-cmd">netstat
</code></pre>
<p>which can display network connections and listening ports.</p>
<p>A basic conceptual output contains:</p>
<pre><code class="language-text">Protocol
Local Address
Foreign Address
Connection State
</code></pre>
<p>For example:</p>
<pre><code class="language-text">TCP    Local-IP:Port    Remote-IP:Port    ESTABLISHED
</code></pre>
<hr />
<h1>Listening vs Established</h1>
<p>A port in:</p>
<pre><code class="language-text">LISTENING
</code></pre>
<p>state means an application is waiting for incoming connections.</p>
<p>An:</p>
<pre><code class="language-text">ESTABLISHED
</code></pre>
<p>connection indicates that communication is currently active between two endpoints.</p>
<hr />
<h1>Why netstat Matters in Cybersecurity</h1>
<p>An analyst may want to know:</p>
<pre><code class="language-text">Which ports are open?

Which machine is this host connected to?

Which process opened the connection?

Which PID owns the socket?
</code></pre>
<p>TryHackMe demonstrates combining several <code>netstat</code> options to include listening ports, associated executables, PIDs, and numerical addresses. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<p>A spoiler-free practice example is:</p>
<pre><code class="language-cmd">netstat -ano
</code></pre>
<p>which lets me inspect connection state and associated process identifiers without reproducing any room-specific service answers.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 3</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">ipconfig
ping
tracert
nslookup
netstat
</code></pre>
<p>Useful independent examples:</p>
<pre><code class="language-cmd">ipconfig
</code></pre>
<pre><code class="language-cmd">ipconfig /all
</code></pre>
<pre><code class="language-cmd">ping example.com
</code></pre>
<pre><code class="language-cmd">tracert example.com
</code></pre>
<pre><code class="language-cmd">nslookup example.com
</code></pre>
<pre><code class="language-cmd">netstat -ano
</code></pre>
<p>The most important learning workflow was:</p>
<pre><code class="language-text">Check local configuration
        ↓
Test connectivity
        ↓
Trace network path
        ↓
Check DNS
        ↓
Inspect active connections
</code></pre>
<p>This is a troubleshooting sequence I can reuse outside this room.</p>
<hr />
<h1>Task 4 — File and Disk Management</h1>
<p>After learning system and network enumeration, the next task moves into filesystem navigation.</p>
<p>This is where the command line starts replacing basic File Explorer actions.</p>
<p>TryHackMe covers directory navigation, directory creation and removal, viewing text files, copying and moving files, deleting files, and wildcard matching. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<hr />
<h1>Finding My Current Location</h1>
<p>When using the GUI, I can visually see which folder I am inside.</p>
<p>In the CLI, I need commands to answer:</p>
<pre><code class="language-text">Where am I?
</code></pre>
<p>The Windows prompt often displays this already:</p>
<pre><code class="language-text">C:\Users\Example&gt;
</code></pre>
<p>The current-directory command can also show it explicitly.</p>
<hr />
<h1>Listing Files and Folders</h1>
<p>The basic directory-listing command displays the contents of the current folder.</p>
<p>This may include:</p>
<pre><code class="language-text">Files
Directories
File sizes
Modification dates
Free disk space
</code></pre>
<p>Useful options can also include hidden/system items or recursively search subdirectories. TryHackMe specifically introduces options for hidden/system files and recursive listing. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<hr />
<h1>Visualizing Directory Structure</h1>
<p>Another useful command displays folders as a tree.</p>
<p>Conceptually:</p>
<pre><code class="language-text">C:\
├── Users
│   ├── Alice
│   └── Bob
├── Windows
└── Program Files
</code></pre>
<p>This is particularly useful when learning an unfamiliar directory structure.</p>
<hr />
<h1>Changing Directories</h1>
<p>To move into another folder:</p>
<pre><code class="language-cmd">cd Example
</code></pre>
<p>To move one level upward:</p>
<pre><code class="language-cmd">cd ..
</code></pre>
<p>This is the command-line equivalent of double-clicking a folder and then pressing the Back button in File Explorer.</p>
<hr />
<h1>Creating Directories</h1>
<p>A new directory can be created with:</p>
<pre><code class="language-cmd">mkdir Practice
</code></pre>
<p>Conceptually:</p>
<pre><code class="language-text">Current Directory
       |
       +── Practice
</code></pre>
<hr />
<h1>Removing Directories</h1>
<p>An empty practice directory can be removed with the matching directory-removal command.</p>
<p>I treated these commands carefully because deletion operations can obviously destroy real data outside a lab.</p>
<hr />
<h1>Reading Text Files</h1>
<p>One of the most useful commands in the task prints a text file directly inside the terminal.</p>
<p>This is convenient for small files.</p>
<p>For longer documents, <code>more</code> can display content page by page. TryHackMe explicitly introduces both approaches. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<hr />
<h1>Copying Files</h1>
<p>A generic example:</p>
<pre><code class="language-cmd">copy notes.txt notes-backup.txt
</code></pre>
<p>Conceptually:</p>
<pre><code class="language-text">notes.txt
    |
    | copy
    v
notes-backup.txt
</code></pre>
<hr />
<h1>Moving Files</h1>
<p>A generic example:</p>
<pre><code class="language-cmd">move notes.txt C:\Practice
</code></pre>
<p>This changes the file's location rather than creating an additional copy.</p>
<p>TryHackMe demonstrates both <code>copy</code> and <code>move</code> as part of the room's file-management workflow. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<hr />
<h1>Deleting Files</h1>
<p>Windows Command Prompt provides commands for deleting files.</p>
<p>Unlike normal File Explorer usage, command-line deletion can sometimes bypass the familiar Recycle Bin workflow.</p>
<p>That makes this a command to use carefully.</p>
<hr />
<h1>Wildcards</h1>
<p>One particularly useful concept is:</p>
<pre><code class="language-text">*
</code></pre>
<p>The <code>*</code> wildcard can represent multiple matching filenames.</p>
<p>For example:</p>
<pre><code class="language-cmd">copy *.txt C:\Practice
</code></pre>
<p>means:</p>
<pre><code class="language-text">Copy every matching .txt file
</code></pre>
<p>TryHackMe demonstrates the same wildcard concept with a different file extension. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<p>This becomes extremely useful for:</p>
<pre><code class="language-text">Batch operations
Searching
Copying groups of files
Automation
</code></pre>
<hr />
<h2>🛠️ Hands-On / Commands — Task 4</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">cd
dir
tree
mkdir
rmdir
type
more
copy
move
del / erase
Wildcards
</code></pre>
<p>A safe local practice workflow:</p>
<pre><code class="language-cmd">mkdir CLI-Practice
</code></pre>
<pre><code class="language-cmd">cd CLI-Practice
</code></pre>
<pre><code class="language-cmd">echo Learning Windows CLI &gt; notes.txt
</code></pre>
<pre><code class="language-cmd">dir
</code></pre>
<pre><code class="language-cmd">type notes.txt
</code></pre>
<pre><code class="language-cmd">copy notes.txt backup.txt
</code></pre>
<pre><code class="language-cmd">dir
</code></pre>
<pre><code class="language-cmd">move backup.txt ..
</code></pre>
<p>This demonstrates the methodology without reading or reproducing the contents of TryHackMe's challenge file.</p>
<hr />
<h1>Task 5 — Task and Process Management</h1>
<p>The next task moves from files to <strong>running programs</strong>.</p>
<p>In Windows Fundamentals, I used Task Manager graphically.</p>
<p>This room shows how similar operations can be performed directly from Command Prompt.</p>
<p>The two main goals are:</p>
<pre><code class="language-text">View running processes
        ↓
Identify a process
        ↓
Use its PID
        ↓
Manage the process
</code></pre>
<p>TryHackMe teaches <code>tasklist</code>, filtering processes, and process termination with <code>taskkill</code>. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<hr />
<h1>What Is a Process?</h1>
<p>When a program runs, Windows creates a <strong>process</strong>.</p>
<p>Examples might include:</p>
<pre><code class="language-text">Web Browser
Text Editor
Windows Service
Security Software
Background Application
</code></pre>
<p>Each process has a:</p>
<pre><code class="language-text">PID
</code></pre>
<p>or:</p>
<pre><code class="language-text">Process Identifier
</code></pre>
<p>which uniquely identifies that running instance.</p>
<hr />
<h1>Listing Running Processes</h1>
<p>A process-listing command displays information such as:</p>
<pre><code class="language-text">Image Name
PID
Session
Memory Usage
</code></pre>
<p>Conceptually:</p>
<pre><code class="language-text">Image Name      PID
-------------------
program.exe     1234
service.exe     2345
app.exe         3456
</code></pre>
<hr />
<h1>Filtering Processes</h1>
<p>A real system may have hundreds of processes.</p>
<p>Searching manually through all of them is inefficient.</p>
<p>Command-line filtering allows us to ask Windows for only the process information we care about.</p>
<p>A generic example could search for:</p>
<pre><code class="language-text">example.exe
</code></pre>
<p>rather than reproducing the specific process requested by the room.</p>
<p>TryHackMe demonstrates process filtering using the <code>/FI</code> option. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<hr />
<h1>Terminating a Process</h1>
<p>If we know a process PID, Windows provides a command-line mechanism to terminate it.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Find process
     ↓
Identify PID
     ↓
Terminate PID
</code></pre>
<p>This performs a function similar to:</p>
<pre><code class="language-text">Task Manager
     ↓
Select Process
     ↓
End Task
</code></pre>
<p>The room demonstrates this workflow but I am intentionally not reproducing its task-specific PID command. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<hr />
<h1>Why Process Management Matters in Cybersecurity</h1>
<p>Process enumeration is extremely useful during:</p>
<pre><code class="language-text">Incident Response
Malware Analysis
Privilege Escalation
System Administration
Threat Hunting
Troubleshooting
</code></pre>
<p>Some of the questions a security analyst may ask are:</p>
<pre><code class="language-text">What is currently running?

Is this executable expected?

Which PID owns a network connection?

Who started this process?

How much memory is it using?
</code></pre>
<p>This task also connected nicely with the previous networking task:</p>
<pre><code class="language-text">netstat
    ↓
Find connection + PID
    ↓
Process listing
    ↓
Identify executable
</code></pre>
<p>That connection between <strong>network activity and processes</strong> is especially useful.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 5</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">tasklist
tasklist filtering
taskkill
PID
Built-in help
</code></pre>
<p>Safe examples:</p>
<pre><code class="language-cmd">tasklist
</code></pre>
<pre><code class="language-cmd">tasklist /?
</code></pre>
<p>A generic filter:</p>
<pre><code class="language-cmd">tasklist /FI "imagename eq explorer.exe"
</code></pre>
<p>This teaches the syntax without publishing the exact command requested by the TryHackMe question.</p>
<p>The same rule applies to process termination: understand the syntax and practice only on a process you intentionally started in your own authorized lab.</p>
<hr />
<h1>Task 6 — Conclusion</h1>
<p>By the end of the room, I had moved from basic Windows GUI familiarity to being able to investigate a system almost entirely from the terminal.</p>
<p>The complete workflow now looks like:</p>
<pre><code class="language-text">Windows Command Prompt
        |
        ├── System Enumeration
        │      └── systeminfo
        |
        ├── Network Investigation
        │      ├── ipconfig
        │      ├── ping
        │      ├── tracert
        │      ├── nslookup
        │      └── netstat
        |
        ├── Filesystem Management
        │      ├── cd
        │      ├── dir
        │      ├── tree
        │      ├── copy
        │      └── move
        |
        └── Process Management
               └── tasklist / taskkill
</code></pre>
<p>TryHackMe also introduces a few additional Windows utilities in the conclusion, including tools for disk checking, driver enumeration, and system-file integrity checking. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<hr />
<h1>Additional Commands Worth Knowing</h1>
<h2>Check Disk</h2>
<p>Windows provides a disk-checking utility that can inspect filesystems and disk volumes for errors.</p>
<hr />
<h2>Driver Enumeration</h2>
<p>Installed device drivers can also be listed from the command line.</p>
<p>This can help with:</p>
<pre><code class="language-text">System inventory
Troubleshooting
Driver investigation
</code></pre>
<hr />
<h2>System File Checker</h2>
<p>Windows includes a built-in mechanism for checking protected system files for corruption and, when possible, repairing them.</p>
<p>These commands should be understood before being run with administrative privileges on important production systems.</p>
<hr />
<h1>Command Help Is More Important Than Memorization</h1>
<p>One of my biggest takeaways from the room was:</p>
<blockquote>
<p>I do not need to memorize every Windows command option.</p>
</blockquote>
<p>For many commands:</p>
<pre><code class="language-cmd">command /?
</code></pre>
<p>provides help.</p>
<p>And if the output is too long:</p>
<pre><code class="language-cmd">command /? | more
</code></pre>
<p>combines two techniques from the room.</p>
<p>TryHackMe explicitly reinforces both <code>/?</code> and the two uses of <code>more</code> in its conclusion. (<a href="https://tryhackme.com/room/windowscommandline">TryHackMe</a>)</p>
<hr />
<h1>🛠️ Hands-On / Commands — Task 6</h1>
<h3>Tools Used</h3>
<pre><code class="language-text">Command help
more
chkdsk
driverquery
System File Checker
Windows shutdown utility
</code></pre>
<p>Instead of including the exact restart/abort commands asked in the final task, I used:</p>
<pre><code class="language-cmd">shutdown /?
</code></pre>
<p>to explore the available options myself.</p>
<p>This keeps the guide useful while leaving the room questions for other learners to solve.</p>
<hr />
<h1>Commands I Practiced</h1>
<table>
<thead>
<tr>
<th>Command / Tool</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td><code>set</code></td>
<td>View environment variables</td>
</tr>
<tr>
<td><code>systeminfo</code></td>
<td>Display detailed Windows system information</td>
</tr>
<tr>
<td><code>driverquery</code></td>
<td>List installed drivers</td>
</tr>
<tr>
<td><code>more</code></td>
<td>Display long output page by page</td>
</tr>
<tr>
<td><code>/?</code></td>
<td>Display command help</td>
</tr>
<tr>
<td><code>ipconfig</code></td>
<td>View network configuration</td>
</tr>
<tr>
<td><code>ping</code></td>
<td>Test network reachability</td>
</tr>
<tr>
<td><code>tracert</code></td>
<td>Trace the network path to a destination</td>
</tr>
<tr>
<td><code>nslookup</code></td>
<td>Query DNS</td>
</tr>
<tr>
<td><code>netstat</code></td>
<td>Inspect network connections and listening ports</td>
</tr>
<tr>
<td><code>cd</code></td>
<td>View/change the current directory</td>
</tr>
<tr>
<td><code>dir</code></td>
<td>List directory contents</td>
</tr>
<tr>
<td><code>tree</code></td>
<td>Display folder structure</td>
</tr>
<tr>
<td><code>mkdir</code></td>
<td>Create a directory</td>
</tr>
<tr>
<td><code>rmdir</code></td>
<td>Remove a directory</td>
</tr>
<tr>
<td><code>type</code></td>
<td>Display text-file contents</td>
</tr>
<tr>
<td><code>copy</code></td>
<td>Copy files</td>
</tr>
<tr>
<td><code>move</code></td>
<td>Move files</td>
</tr>
<tr>
<td><code>del</code> / <code>erase</code></td>
<td>Delete files</td>
</tr>
<tr>
<td><code>tasklist</code></td>
<td>List running processes</td>
</tr>
<tr>
<td><code>taskkill</code></td>
<td>Manage/terminate processes</td>
</tr>
</tbody></table>
<hr />
<h1>Key Lessons Learned</h1>
<h2>1. Command Line Makes Windows Enumeration Faster</h2>
<p>Instead of navigating through multiple windows, I can quickly gather information about:</p>
<pre><code class="language-text">Operating system
Network
Files
Processes
</code></pre>
<p>from one terminal.</p>
<hr />
<h2>2. Networking Commands Work Best as a Workflow</h2>
<p>Rather than randomly running commands, I now think in this order:</p>
<pre><code class="language-text">Check IP configuration
        ↓
Test connectivity
        ↓
Trace route
        ↓
Test DNS
        ↓
Inspect connections
</code></pre>
<p>That makes troubleshooting much more systematic.</p>
<hr />
<h2>3. PIDs Connect Processes to Network Activity</h2>
<p>This was one of my favorite connections from the room.</p>
<p>A network connection may provide:</p>
<pre><code class="language-text">PID
</code></pre>
<p>and process-management tools can then tell me:</p>
<pre><code class="language-text">Which executable owns that PID?
</code></pre>
<p>So:</p>
<pre><code class="language-text">Network Connection
       ↓
PID
       ↓
Process
</code></pre>
<p>This is directly useful in security investigations.</p>
<hr />
<h2>4. CLI File Management Is Powerful</h2>
<p>Commands such as:</p>
<pre><code class="language-text">copy
move
wildcards
</code></pre>
<p>can perform operations across many files much faster than repetitive GUI actions.</p>
<p>That power also means destructive commands need to be used carefully.</p>
<hr />
<h2>5. Built-In Help Is a Skill</h2>
<p>Knowing:</p>
<pre><code class="language-cmd">command /?
</code></pre>
<p>is more useful than trying to memorize every switch.</p>
<p>This makes unfamiliar Windows commands much easier to explore independently.</p>
<hr />
<h1>My Final Mental Model</h1>
<pre><code class="language-text">                 WINDOWS CMD
                      |
        ┌─────────────┼─────────────┐
        |             |             |
      SYSTEM        NETWORK       FILES
        |             |             |
   systeminfo      ipconfig        dir
   environment      ping           cd
   drivers         tracert         tree
                  nslookup        copy
                  netstat         move
        |             |             |
        └─────────────┼─────────────┘
                      |
                   PROCESSES
                      |
                   tasklist
                      |
                     PID
                      |
                  taskkill
</code></pre>
<hr />
<h1>Ethical Learning Note</h1>
<p>This article is a <strong>learning guide</strong>, not an answer dump.</p>
<p>I included:</p>
<pre><code class="language-text">✅ Concepts
✅ Command syntax
✅ Independent examples
✅ Practical methodology
✅ Troubleshooting workflows
✅ Cybersecurity relevance
</code></pre>
<p>while intentionally excluding:</p>
<pre><code class="language-text">❌ TryHackMe flags
❌ Lab-specific system values
❌ Challenge-file contents
❌ Direct answers to task questions
❌ Task-specific PID/service answers
</code></pre>
<p>Commands themselves are part of learning Windows administration; examples here use generic targets and values rather than reproducing challenge submissions.</p>
<hr />
<h1>Resources</h1>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/windowscommandline">Windows Command Line</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h1>Connect with Me</h1>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em> 🚀</p>
]]></content:encoded></item><item><title><![CDATA[🪟 TryHackMe — Windows Fundamentals 2 | Learning Guide]]></title><description><![CDATA[Spoiler-Free Learning Guide: This article contains no TryHackMe flags or direct room-question answers. It focuses on the concepts, Windows utilities, practical methodology, and safe commands I used wh]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-windows-fundamentals-2-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-windows-fundamentals-2-learning-guide</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[Windows]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[Windows Fundamentals]]></category><category><![CDATA[#infosec]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Fri, 04 Sep 2026 14:55:42 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/8ec7f9bc-cd60-4677-861a-6f0222a10cb5.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p><strong>Spoiler-Free Learning Guide:</strong> This article contains <strong>no TryHackMe flags or direct room-question answers</strong>. It focuses on the concepts, Windows utilities, practical methodology, and safe commands I used while completing the room.</p>
</blockquote>
<hr />
<h2>Introduction</h2>
<p>After completing <strong>Windows Fundamentals 1</strong>, I moved on to <strong>Windows Fundamentals 2</strong> to understand some of the more administrative and diagnostic tools built into Windows.</p>
<p>While the first room focused on areas such as the desktop, NTFS, users, UAC, Control Panel, and Task Manager, this room goes further into utilities used for <strong>system configuration, troubleshooting, resource monitoring, system information, command-line administration, and the Windows Registry</strong>. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>The room follows this learning path:</p>
<pre><code class="language-text">System Configuration
        ↓
UAC Settings
        ↓
Computer Management
        ↓
System Information
        ↓
Resource Monitor
        ↓
Command Prompt
        ↓
Windows Registry
</code></pre>
<p>These tools are useful not only for Windows administration but also for cybersecurity activities such as system enumeration, troubleshooting, incident investigation, and understanding how a Windows host is configured.</p>
<hr />
<h1>Task 1 — Introduction</h1>
<p>The first task continues directly from Windows Fundamentals 1.</p>
<p>The aim of this room is to explore several Windows utilities that can be used to understand and manage the operating system.</p>
<p>Instead of treating Windows as only a graphical desktop, this room starts showing the operating system from an administrator's perspective.</p>
<p>Some of the major questions we begin asking are:</p>
<pre><code class="language-text">What starts when Windows boots?

Which services are running?

What hardware is installed?

What resources are processes consuming?

What information does Windows store about itself?

How can we investigate the system from the command line?
</code></pre>
<p>The attached lab machine provides a safe Windows environment in which these utilities can be explored. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 1</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe Lab Machine
Windows GUI
Start Menu
Run Dialog
Remote Desktop / Browser Lab
</code></pre>
<p>This task mainly involved starting the lab environment and preparing to explore Windows administrative utilities.</p>
<p>A useful general workflow throughout the room was:</p>
<pre><code class="language-text">Windows Search
      ↓
Find utility
      ↓
Open utility
      ↓
Explore tabs / categories
      ↓
Understand what information Windows exposes
</code></pre>
<p>No room-specific answers are included here.</p>
<hr />
<h1>Task 2 — System Configuration and Advanced System Settings</h1>
<p>One of the main tools introduced in this room is <strong>System Configuration</strong>.</p>
<p>System Configuration is primarily intended for advanced troubleshooting, particularly when diagnosing startup-related problems. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>It contains several important tabs:</p>
<pre><code class="language-text">General
Boot
Services
Startup
Tools
</code></pre>
<p>Each one gives us a different view of how Windows starts and what components participate in that startup process.</p>
<hr />
<h2>General</h2>
<p>The <strong>General</strong> tab controls the broad startup configuration.</p>
<p>The available modes include concepts such as:</p>
<pre><code class="language-text">Normal Startup
Diagnostic Startup
Selective Startup
</code></pre>
<p>The idea is useful during troubleshooting.</p>
<p>If Windows behaves incorrectly during a normal startup, an administrator can reduce what loads and determine whether a particular service or component is responsible.</p>
<hr />
<h2>Boot</h2>
<p>The Boot tab contains options related to how Windows starts.</p>
<p>This becomes useful when diagnosing operating-system problems.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Normal Boot
     ↓
Windows loads normally

Troubleshooting Boot
     ↓
Load restricted components
     ↓
Identify possible cause
</code></pre>
<hr />
<h2>Services</h2>
<p>A <strong>Windows service</strong> is a special type of application that usually runs in the background.</p>
<p>Unlike an ordinary application that a user launches manually, services often start automatically and provide functionality required by Windows or installed applications. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>Examples of the types of functionality provided by services include:</p>
<pre><code class="language-text">Networking
Updates
Logging
Printing
Security
Remote management
Application support
</code></pre>
<p>From a cybersecurity perspective, services are extremely important.</p>
<p>During system investigation we may want to know:</p>
<pre><code class="language-text">Which services exist?

Which services are running?

Which executable launches the service?

What privileges does the service use?

Does it start automatically?
</code></pre>
<hr />
<h2>Startup</h2>
<p>Startup applications run when a user logs in or when Windows starts.</p>
<p>Modern Windows versions commonly direct users toward <strong>Task Manager</strong> to manage these startup items. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>From a security perspective, startup locations are important because legitimate software and malicious software can both attempt to maintain persistence by starting automatically.</p>
<hr />
<h2>Tools</h2>
<p>The Tools section acts almost like a launcher for several administrative utilities.</p>
<p>This room explores a number of those utilities individually in later tasks.</p>
<p>That helped me understand that Windows tools are connected rather than completely isolated applications.</p>
<hr />
<h2>Advanced System Settings</h2>
<p>Windows also provides advanced settings related to areas such as:</p>
<pre><code class="language-text">Performance
User Profiles
Startup and Recovery
Environment Variables
</code></pre>
<p>Environment variables are particularly useful because they store values that programs and Windows itself can reference.</p>
<p>Examples conceptually include:</p>
<pre><code class="language-text">Windows installation location
Temporary directories
User directories
Executable search paths
</code></pre>
<hr />
<h2>🛠️ Hands-On / Commands — Task 2</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">System Configuration
Services list
Startup configuration
Advanced System Settings
Environment Variables
</code></pre>
<p>For spoiler-free learning, I opened the utility through:</p>
<pre><code class="language-text">Start Menu
    ↓
Search for "System Configuration"
</code></pre>
<p>rather than publishing the specific command where it overlaps with a room question.</p>
<p>A safe terminal exercise is viewing environment variables:</p>
<pre><code class="language-cmd">set
</code></pre>
<p>PowerShell equivalent:</p>
<pre><code class="language-powershell">Get-ChildItem Env:
</code></pre>
<p>This lets us see the environment information available to programs running on the machine.</p>
<hr />
<h1>Task 3 — Change UAC Settings</h1>
<p>The next task expands on <strong>User Account Control</strong>, or UAC.</p>
<p>Windows Fundamentals 1 introduced the basic concept.</p>
<p>Windows Fundamentals 2 goes further by showing that UAC itself has configurable notification levels. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Why UAC Exists</h1>
<p>Suppose a user belongs to the Administrators group.</p>
<p>Without additional controls:</p>
<pre><code class="language-text">User launches application
        ↓
Application receives powerful privileges
        ↓
Potential system-wide changes
</code></pre>
<p>UAC introduces an elevation boundary.</p>
<pre><code class="language-text">Application needs elevated action
            ↓
        UAC mechanism
            ↓
       User approval
            ↓
     Elevated operation
</code></pre>
<p>This reduces the likelihood of programs making administrative changes silently.</p>
<hr />
<h1>UAC Notification Levels</h1>
<p>Windows allows the amount of UAC prompting to be adjusted.</p>
<p>Conceptually, the levels range from:</p>
<pre><code class="language-text">More notification
       ↑
       |
       |
       |
       ↓
Less notification
</code></pre>
<p>Reducing notification may feel convenient, but it also reduces visibility into applications attempting to make system-level changes.</p>
<hr />
<h1>Cybersecurity Connection</h1>
<p>UAC is not a replacement for:</p>
<pre><code class="language-text">Antivirus
Application security
Strong passwords
Patch management
Least privilege
</code></pre>
<p>Instead, it is another security layer.</p>
<p>This is an important cybersecurity principle:</p>
<h1>Defense in Depth</h1>
<p>Rather than trusting one protection mechanism, secure systems use multiple controls together.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 3</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Windows Search
UAC Settings interface
Administrative elevation prompt
</code></pre>
<p>The practical activity involved opening the UAC configuration interface and observing the notification slider.</p>
<p>Because the room directly asks learners to identify the executable used to launch this utility, I am intentionally <strong>not publishing that executable name</strong>.</p>
<p>The goal here is understanding:</p>
<pre><code class="language-text">Higher notification
        ↓
More visibility into elevation attempts

Lower notification
        ↓
Fewer prompts
</code></pre>
<p>rather than copying an answer.</p>
<hr />
<h1>Task 4 — Computer Management</h1>
<p>This was one of the most useful tasks in the room.</p>
<p><strong>Computer Management</strong> groups several important administrative tools into one interface.</p>
<p>It contains three major categories:</p>
<pre><code class="language-text">Computer Management
│
├── System Tools
│
├── Storage
│
└── Services and Applications
</code></pre>
<p>TryHackMe introduces tools including Task Scheduler, Event Viewer, Device Manager, Disk Management, services, and WMI through this interface. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>System Tools</h1>
<h2>Task Scheduler</h2>
<p>Task Scheduler allows Windows to automatically execute actions according to configured triggers.</p>
<p>For example:</p>
<pre><code class="language-text">At system startup
       ↓
Run application

At user login
       ↓
Run script

At scheduled time
       ↓
Perform maintenance task
</code></pre>
<p>This is useful for legitimate administration.</p>
<p>It is also extremely important in cybersecurity because scheduled tasks can sometimes be abused for persistence.</p>
<p>An investigator may therefore ask:</p>
<pre><code class="language-text">Which scheduled tasks exist?

Who created them?

What executable do they launch?

When do they run?
</code></pre>
<hr />
<h1>Event Viewer</h1>
<p>Windows continuously records many operating-system and application events.</p>
<p>These can be inspected through <strong>Event Viewer</strong>.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Something happens
       ↓
Windows records event
       ↓
Event Log
       ↓
Administrator / Analyst investigates
</code></pre>
<p>Important Windows log categories include areas such as:</p>
<pre><code class="language-text">Application
Security
System
Setup
</code></pre>
<p>Event logs become extremely important later in:</p>
<pre><code class="language-text">SOC Analysis
Incident Response
Digital Forensics
Threat Hunting
</code></pre>
<hr />
<h1>Device Manager</h1>
<p>Device Manager shows hardware recognized by Windows.</p>
<p>It can be used to inspect and configure devices such as:</p>
<pre><code class="language-text">Network adapters
Storage controllers
Displays
Keyboards
USB devices
Audio devices
</code></pre>
<p>This is useful for both troubleshooting and system inventory.</p>
<hr />
<h1>Disk Management</h1>
<p>Disk Management provides a graphical interface for managing storage.</p>
<p>Typical tasks include:</p>
<pre><code class="language-text">Viewing disks
Viewing partitions
Creating volumes
Changing drive letters
Extending partitions
Shrinking partitions
</code></pre>
<p>This helped connect the Windows drive letters seen in File Explorer with the actual disk and partition structure underneath.</p>
<hr />
<h1>Services</h1>
<p>Computer Management also provides another way to inspect Windows services.</p>
<p>A service typically has properties such as:</p>
<pre><code class="language-text">Display Name
Service Name
Status
Executable Path
Startup Type
</code></pre>
<p>Startup types include concepts such as:</p>
<pre><code class="language-text">Automatic
Manual
Disabled
</code></pre>
<p>Understanding services becomes very important later when studying Windows privilege escalation and persistence.</p>
<hr />
<h1>Windows Management Instrumentation</h1>
<p>The room also introduces <strong>Windows Management Instrumentation</strong>, commonly called WMI.</p>
<p>WMI allows Windows information and management functionality to be accessed programmatically.</p>
<p>It can be used locally or remotely and integrates particularly well with PowerShell. TryHackMe also notes that the older WMIC command-line tool has been deprecated in favor of newer management approaches such as PowerShell. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 4</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Computer Management
Task Scheduler
Event Viewer
Device Manager
Disk Management
Services
WMI
</code></pre>
<p>Rather than publishing the exact <code>.msc</code> command requested by the room, I opened Computer Management through:</p>
<pre><code class="language-text">Start Menu
      ↓
Search "Computer Management"
</code></pre>
<p>Safe supplementary commands include:</p>
<pre><code class="language-cmd">tasklist
</code></pre>
<p>to view running processes, and:</p>
<pre><code class="language-powershell">Get-Service
</code></pre>
<p>to inspect services from PowerShell.</p>
<p>For example:</p>
<pre><code class="language-powershell">Get-Service | Select-Object -First 10
</code></pre>
<p>This demonstrates how the graphical Services interface and the command line expose the same underlying Windows information.</p>
<hr />
<h1>Task 5 — System Information</h1>
<p>The next utility is <strong>System Information</strong>.</p>
<p>It provides a much deeper description of the Windows host than simply knowing the operating-system version.</p>
<p>Information is organized into major categories such as:</p>
<pre><code class="language-text">System Summary
Hardware Resources
Components
Software Environment
</code></pre>
<p>The room also revisits environment variables through this utility. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>System Summary</h1>
<p>The summary can reveal information such as:</p>
<pre><code class="language-text">Operating system
System manufacturer
Computer model
Processor
BIOS information
Installed memory
System architecture
</code></pre>
<p>This kind of system inventory can be useful during both troubleshooting and security investigations.</p>
<hr />
<h1>Components</h1>
<p>The Components section provides details about hardware and system components.</p>
<p>Examples include information related to:</p>
<pre><code class="language-text">Display
Network
Storage
Input
Multimedia
</code></pre>
<hr />
<h1>Software Environment</h1>
<p>The Software Environment area contains information related to software and the operating environment.</p>
<p>This may include areas such as:</p>
<pre><code class="language-text">Drivers
Environment variables
Running components
Network connections
</code></pre>
<hr />
<h1>Why System Information Matters in Cybersecurity</h1>
<p>During system enumeration, knowing the exact environment helps answer questions such as:</p>
<pre><code class="language-text">Which operating system is running?

Is the machine 32-bit or 64-bit?

What hardware is present?

Which drivers exist?

How much memory is installed?
</code></pre>
<p>This information can guide later investigation.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 5</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">System Information
Windows GUI
Command Prompt
PowerShell
</code></pre>
<p>I used the GUI to explore the different categories rather than publishing any room-answer strings.</p>
<p>For additional system information from Command Prompt:</p>
<pre><code class="language-cmd">systeminfo
</code></pre>
<p>PowerShell provides another useful option:</p>
<pre><code class="language-powershell">Get-ComputerInfo
</code></pre>
<p>These commands show how the same machine can be investigated through both graphical and command-line tools.</p>
<hr />
<h1>Task 6 — Resource Monitor</h1>
<p>Task Manager gives a quick overview of processes and system usage.</p>
<p><strong>Resource Monitor</strong> goes deeper.</p>
<p>The room separates resource information into four major categories:</p>
<pre><code class="language-text">CPU
Memory
Disk
Network
</code></pre>
<p>and provides real-time graphs and detailed process activity. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>CPU</h1>
<p>The CPU section helps identify which processes are consuming processor time.</p>
<p>A troubleshooting workflow might look like:</p>
<pre><code class="language-text">System feels slow
      ↓
CPU usage is high
      ↓
Identify consuming process
      ↓
Investigate why
</code></pre>
<hr />
<h1>Memory</h1>
<p>The Memory section shows how RAM is being used.</p>
<p>This helps answer questions such as:</p>
<pre><code class="language-text">Which process uses the most memory?

How much memory is available?

Is the system under memory pressure?
</code></pre>
<hr />
<h1>Disk</h1>
<p>Disk monitoring provides information about processes reading from or writing to storage.</p>
<p>This can be useful when a machine appears slow because of heavy disk activity.</p>
<hr />
<h1>Network</h1>
<p>The Network section shows network activity associated with processes.</p>
<p>This is especially interesting from a cybersecurity perspective.</p>
<p>An analyst may investigate:</p>
<pre><code class="language-text">Which process is communicating?

How much data is it transferring?

Which connections are active?
</code></pre>
<p>Resource Monitor is therefore a useful bridge between simple Task Manager usage and more advanced monitoring tools.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 6</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Resource Monitor
CPU tab
Memory tab
Disk tab
Network tab
</code></pre>
<p>Because identifying the executable used to launch Resource Monitor is one of the room's questions, I am intentionally not including that executable here.</p>
<p>Instead:</p>
<pre><code class="language-text">Start Menu
      ↓
Search "Resource Monitor"
</code></pre>
<p>is enough to access the tool without turning this guide into an answer sheet.</p>
<p>A safe command-line complement is:</p>
<pre><code class="language-cmd">tasklist
</code></pre>
<p>or in PowerShell:</p>
<pre><code class="language-powershell">Get-Process
</code></pre>
<p>For example:</p>
<pre><code class="language-powershell">Get-Process | Sort-Object CPU -Descending | Select-Object -First 10
</code></pre>
<p>This can help identify processes that have accumulated significant CPU usage.</p>
<hr />
<h1>Task 7 — Command Prompt</h1>
<p>This task introduces the Windows <strong>Command Prompt</strong> more directly.</p>
<p>Even though Windows is primarily graphical, many administrative and troubleshooting operations are much faster from the command line.</p>
<p>TryHackMe focuses on several simple information-gathering commands and the <code>net</code> command family. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>hostname</h1>
<p>One simple command is:</p>
<pre><code class="language-cmd">hostname
</code></pre>
<p>This displays the computer's hostname.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Windows machine
      ↓
Computer identity
      ↓
Hostname
</code></pre>
<p>Hostnames are important when managing multiple systems or investigating network environments.</p>
<hr />
<h1>whoami</h1>
<p>Another extremely useful command is:</p>
<pre><code class="language-cmd">whoami
</code></pre>
<p>It shows the currently logged-in security identity.</p>
<p>This command appears repeatedly in cybersecurity labs because one of the first questions after obtaining access to a system is:</p>
<blockquote>
<p>Which user am I currently operating as?</p>
</blockquote>
<hr />
<h1>Getting Help</h1>
<p>Windows commands often provide built-in help.</p>
<p>A common pattern is:</p>
<pre><code class="language-cmd">command /?
</code></pre>
<p>For example:</p>
<pre><code class="language-cmd">whoami /?
</code></pre>
<p>This is an important habit:</p>
<blockquote>
<p>Learn how to ask a command for help instead of trying to memorize every option.</p>
</blockquote>
<hr />
<h1>The net Command</h1>
<p>The <code>net</code> command provides several subcommands for managing and inspecting Windows resources.</p>
<p>Running:</p>
<pre><code class="language-cmd">net
</code></pre>
<p>shows available functionality.</p>
<p>TryHackMe explains that help for this command family can be accessed with:</p>
<pre><code class="language-cmd">net help
</code></pre>
<p>and more specific help can be requested for individual subcommands. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<p>For example:</p>
<pre><code class="language-cmd">net help user
</code></pre>
<p>Useful areas in the <code>net</code> family include concepts such as:</p>
<pre><code class="language-text">Users
Local groups
Shares
Sessions
Network resources
</code></pre>
<hr />
<h2>🛠️ Hands-On / Commands — Task 7</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Command Prompt
hostname
whoami
net
Built-in help
</code></pre>
<p>Commands I practiced:</p>
<pre><code class="language-cmd">hostname
</code></pre>
<pre><code class="language-cmd">whoami
</code></pre>
<pre><code class="language-cmd">net
</code></pre>
<pre><code class="language-cmd">net help
</code></pre>
<pre><code class="language-cmd">net help user
</code></pre>
<p>I deliberately left out the exact networking command/options requested by the room questions.</p>
<p>The point of this section is learning the command-line workflow rather than copying submissions.</p>
<hr />
<h1>Task 8 — Registry Editor</h1>
<p>The final major utility introduced is one of the most important Windows components:</p>
<h1>The Windows Registry</h1>
<p>The Registry is a hierarchical database that Windows uses to store configuration information.</p>
<p>The room describes it as containing information related to areas such as user profiles, installed applications, hardware, application settings, and other system configuration. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Registry Structure</h1>
<p>At a conceptual level:</p>
<pre><code class="language-text">Registry
   |
   ├── Root Keys
   |      |
   |      ├── Keys
   |      |    |
   |      |    └── Subkeys
   |      |
   |      └── Values
</code></pre>
<p>It behaves somewhat like a hierarchical filesystem, although it is a configuration database rather than a normal collection of files.</p>
<hr />
<h1>Why the Registry Matters</h1>
<p>Windows and applications constantly reference Registry information.</p>
<p>Examples include settings related to:</p>
<pre><code class="language-text">Users
Applications
Hardware
Services
Startup behavior
File associations
System configuration
</code></pre>
<hr />
<h1>Registry and Cybersecurity</h1>
<p>The Registry becomes extremely important later in cybersecurity.</p>
<p>Attackers may attempt to modify certain Registry locations to:</p>
<pre><code class="language-text">Establish persistence
Change security configuration
Modify application behavior
Influence startup
</code></pre>
<p>Defenders inspect those same locations while investigating systems.</p>
<hr />
<h1>Be Careful With Registry Changes</h1>
<p>One of the most important lessons from this task is:</p>
<blockquote>
<p>Do not modify Registry values simply because you can.</p>
</blockquote>
<p>Incorrect Registry modifications can cause:</p>
<pre><code class="language-text">Applications to stop working
Windows settings to break
Services to fail
The operating system to behave incorrectly
</code></pre>
<p>TryHackMe explicitly warns learners that Registry editing is intended for advanced users and that incorrect changes can affect normal computer operation. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 8</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Registry Editor
Windows Search
Registry hierarchy
Keys
Values
</code></pre>
<p>The room directly asks for the executable used to launch Registry Editor, so I am intentionally not publishing that answer here.</p>
<p>Instead:</p>
<pre><code class="language-text">Start Menu
      ↓
Search "Registry Editor"
      ↓
Open
      ↓
Browse safely
</code></pre>
<p>For this beginner room, I focused on <strong>viewing and understanding the structure rather than changing Registry values</strong>.</p>
<hr />
<h1>Task 9 — Conclusion</h1>
<p>The major theme of Windows Fundamentals 2 is that Windows contains a large set of utilities for investigating and managing the operating system.</p>
<p>Many of these utilities can be opened from multiple places:</p>
<pre><code class="language-text">Start Menu

Windows Search

System Configuration

Run Dialog

Command Prompt

PowerShell
</code></pre>
<p>TryHackMe finishes by reinforcing that the utilities explored in the room can be launched independently rather than always going through System Configuration. (<a href="https://tryhackme.com/room/windowsfundamentals2x0x?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Full Learning Flow</h1>
<pre><code class="language-text">Windows Fundamentals 1
        ↓
Basic Windows Knowledge
        ↓
Windows Fundamentals 2
        ↓
System Configuration
        ↓
Services &amp; Startup
        ↓
UAC Configuration
        ↓
Computer Management
        ↓
Task Scheduler
        ↓
Event Viewer
        ↓
Disk &amp; Device Management
        ↓
System Information
        ↓
Resource Monitoring
        ↓
Command Prompt
        ↓
Windows Registry
</code></pre>
<hr />
<h1>Tools Used</h1>
<table>
<thead>
<tr>
<th>Tool</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td>System Configuration</td>
<td>Troubleshooting startup and accessing utilities</td>
</tr>
<tr>
<td>Advanced System Settings</td>
<td>System-level configuration</td>
</tr>
<tr>
<td>UAC Settings</td>
<td>Managing elevation notification behavior</td>
</tr>
<tr>
<td>Computer Management</td>
<td>Centralized Windows administration</td>
</tr>
<tr>
<td>Task Scheduler</td>
<td>Viewing scheduled tasks</td>
</tr>
<tr>
<td>Event Viewer</td>
<td>Inspecting Windows event logs</td>
</tr>
<tr>
<td>Device Manager</td>
<td>Inspecting installed hardware</td>
</tr>
<tr>
<td>Disk Management</td>
<td>Managing disks, partitions, and volumes</td>
</tr>
<tr>
<td>Services</td>
<td>Viewing background Windows services</td>
</tr>
<tr>
<td>System Information</td>
<td>Detailed hardware/software inventory</td>
</tr>
<tr>
<td>Resource Monitor</td>
<td>Monitoring CPU, memory, disk, and network activity</td>
</tr>
<tr>
<td>Command Prompt</td>
<td>CLI-based Windows interaction</td>
</tr>
<tr>
<td><code>hostname</code></td>
<td>Displaying the computer name</td>
</tr>
<tr>
<td><code>whoami</code></td>
<td>Identifying the current user</td>
</tr>
<tr>
<td><code>net</code></td>
<td>Working with Windows network/system resources</td>
</tr>
<tr>
<td>Registry Editor</td>
<td>Viewing Windows Registry configuration</td>
</tr>
</tbody></table>
<hr />
<h1>Key Lessons Learned</h1>
<h2>1. Windows Has Powerful Built-In Administrative Tools</h2>
<p>Before this room, many Windows utilities seemed separate.</p>
<p>Now I see them as parts of the same administrative ecosystem:</p>
<pre><code class="language-text">Configuration
Monitoring
Logging
Storage
Users
Services
Hardware
Registry
</code></pre>
<hr />
<h2>2. Event Logs Are Extremely Important</h2>
<p>Windows records a huge amount of information about system activity.</p>
<p>That makes Event Viewer particularly relevant for:</p>
<pre><code class="language-text">Incident Response
SOC Analysis
Forensics
Troubleshooting
Threat Hunting
</code></pre>
<hr />
<h2>3. Services and Scheduled Tasks Deserve Attention</h2>
<p>Both mechanisms perform legitimate administrative work.</p>
<p>But because they can execute programs automatically, they are also important locations to inspect during security investigations.</p>
<hr />
<h2>4. Resource Usage Can Reveal Suspicious Activity</h2>
<p>Unexpected:</p>
<pre><code class="language-text">CPU usage
Memory usage
Disk activity
Network activity
</code></pre>
<p>can provide an early clue that something deserves investigation.</p>
<p>Resource Monitor gives much more detail than simply noticing that a computer is "slow."</p>
<hr />
<h2>5. Command-Line Knowledge Is Essential</h2>
<p>GUI tools are useful, but commands such as:</p>
<pre><code class="language-cmd">hostname
whoami
net
</code></pre>
<p>allow information to be gathered quickly.</p>
<p>The more Windows security I learn, the more important the command line becomes.</p>
<hr />
<h2>6. The Registry Is Central to Windows</h2>
<p>The Registry is not just another configuration application.</p>
<p>It is deeply integrated with how Windows and installed applications operate.</p>
<p>Understanding its structure is therefore important for both attackers and defenders.</p>
<hr />
<h1>My Final Mental Model</h1>
<pre><code class="language-text">                     WINDOWS
                        |
        ┌───────────────┼────────────────┐
        |               |                |
 Configuration      Monitoring       Management
        |               |                |
   MSConfig          Resources       Computer Mgmt
        |               |                |
   Services           CPU          Task Scheduler
   Startup            RAM          Event Viewer
   UAC                Disk         Devices
                      Network       Storage
        |               |                |
        └───────────────┼────────────────┘
                        |
                  System Information
                        |
                        v
                    Registry
                        |
                        v
                Windows Configuration
</code></pre>
<hr />
<h1>Ethical Learning Note</h1>
<p>This article is a <strong>learning guide</strong>, not an answer sheet.</p>
<p>I included:</p>
<pre><code class="language-text">✅ Concepts
✅ Tools
✅ Safe commands
✅ Practical methodology
✅ Cybersecurity relevance
✅ My learning observations
</code></pre>
<p>while intentionally excluding:</p>
<pre><code class="language-text">❌ TryHackMe flags
❌ Direct room answers
❌ Question-specific executable names
❌ Lab-specific submissions
</code></pre>
<p>This way, other learners can understand the tools while still completing the actual TryHackMe exercises themselves.</p>
<hr />
<h1>Resources</h1>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/windowsfundamentals2x0x">Windows Fundamentals 2</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h1>Connect with Me</h1>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em> 🚀</p>
]]></content:encoded></item><item><title><![CDATA[🪟 TryHackMe — Windows Fundamentals 1 | Learning Guide]]></title><description><![CDATA[Spoiler-Free Learning Guide: This article contains no TryHackMe flags or direct task answers. It focuses on the concepts, tools, navigation, and commands I used while completing the room.


Introducti]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-windows-fundamentals-1-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-windows-fundamentals-1-learning-guide</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[Windows]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[Windows Fundamentals]]></category><category><![CDATA[#infosec]]></category><category><![CDATA[#learning-in-public]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Thu, 03 Sep 2026 14:40:14 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/16ac61ae-76ee-4af1-9eb5-ca8b9d8cdc81.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<blockquote>
<p><strong>Spoiler-Free Learning Guide:</strong> This article contains <strong>no TryHackMe flags or direct task answers</strong>. It focuses on the concepts, tools, navigation, and commands I used while completing the room.</p>
</blockquote>
<hr />
<h2>Introduction</h2>
<p>Windows is one of the most widely used operating systems in personal computers and enterprise environments, which also makes understanding Windows essential for anyone learning cybersecurity.</p>
<p>The <strong>Windows Fundamentals 1</strong> room introduces the basic structure of Windows before moving toward more advanced topics such as Windows security, Active Directory, privilege escalation, and system administration.</p>
<p>The room covers:</p>
<pre><code class="language-text">Windows Editions
        ↓
Windows Desktop &amp; GUI
        ↓
Windows File System
        ↓
Windows &amp; System32 Directories
        ↓
Users, Groups &amp; Permissions
        ↓
User Account Control
        ↓
Settings &amp; Control Panel
        ↓
Task Manager
</code></pre>
<p>TryHackMe describes this first Windows Fundamentals room as an introduction to the Windows desktop, NTFS file system, UAC, Control Panel, Settings, and Task Manager. (<a href="https://tryhackme.com/module/windows-fundamentals?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Task 1 — Windows Editions</h1>
<p>The first task introduces the history and different editions of Microsoft Windows.</p>
<p>Windows has evolved through many generations:</p>
<pre><code class="language-text">Windows XP
    ↓
Windows Vista
    ↓
Windows 7
    ↓
Windows 8 / 8.1
    ↓
Windows 10
    ↓
Windows 11
</code></pre>
<p>Different Windows editions are designed for different types of users.</p>
<p>For example:</p>
<pre><code class="language-text">Home Users
    ↓
Everyday personal computing

Professional Users
    ↓
Additional management and security features

Enterprise Environments
    ↓
Centralized management and organizational features

Servers
    ↓
Hosting services, applications, users and networks
</code></pre>
<p>The room also introduces the idea that Windows editions may have different features depending on their intended use. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<hr />
<h2>Why Windows Versions Matter in Cybersecurity</h2>
<p>Knowing the exact Windows version running on a system is important.</p>
<p>Different versions can have:</p>
<ul>
<li><p>Different security features</p>
</li>
<li><p>Different default configurations</p>
</li>
<li><p>Different vulnerabilities</p>
</li>
<li><p>Different patch levels</p>
</li>
<li><p>Different administrative tools</p>
</li>
<li><p>Different end-of-support dates</p>
</li>
</ul>
<p>During security assessments, identifying the operating system is therefore an important part of reconnaissance.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 1</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Windows GUI
System Information
Command Prompt
PowerShell
</code></pre>
<h3>Check Windows Version</h3>
<p>A useful command is:</p>
<pre><code class="language-cmd">winver
</code></pre>
<p>This opens the Windows version information window.</p>
<hr />
<h3>View Detailed System Information</h3>
<pre><code class="language-cmd">systeminfo
</code></pre>
<p>This provides information such as:</p>
<pre><code class="language-text">OS Name
OS Version
System Manufacturer
System Type
Installed Memory
Boot Time
Network Information
</code></pre>
<hr />
<h3>PowerShell Alternative</h3>
<pre><code class="language-powershell">Get-ComputerInfo
</code></pre>
<p>This can provide much more detailed information about the system.</p>
<p>The important cybersecurity habit is:</p>
<blockquote>
<p>Before investigating a Windows machine, understand exactly what operating system you are dealing with.</p>
</blockquote>
<hr />
<h1>Task 2 — The Desktop (GUI)</h1>
<p>After logging into Windows, we interact with the <strong>Graphical User Interface (GUI)</strong>.</p>
<p>The Windows desktop contains several major components. TryHackMe highlights the Desktop, Start Menu, Search, Task View, Taskbar, toolbars, and Notification Area. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h2>The Desktop</h2>
<p>The Desktop acts as the main workspace.</p>
<p>It can contain:</p>
<pre><code class="language-text">Files
Folders
Application shortcuts
Recycle Bin
Documents
</code></pre>
<p>Users often place frequently accessed items here.</p>
<hr />
<h1>Start Menu</h1>
<p>The Start Menu provides quick access to:</p>
<pre><code class="language-text">Applications
Settings
User options
Power controls
Files
Search
</code></pre>
<p>It is one of the primary navigation points in Windows.</p>
<hr />
<h1>Search</h1>
<p>Windows Search allows us to quickly locate:</p>
<pre><code class="language-text">Applications
Files
Folders
System settings
Administrative utilities
</code></pre>
<p>For example, instead of manually navigating through menus, we can search:</p>
<pre><code class="language-text">Task Manager
Control Panel
Computer Management
Services
</code></pre>
<hr />
<h1>Taskbar</h1>
<p>The Taskbar shows running and pinned applications.</p>
<p>It also provides quick access to system components.</p>
<hr />
<h1>Notification Area</h1>
<p>The Notification Area usually appears on the right side of the taskbar.</p>
<p>It contains information and controls related to things such as:</p>
<pre><code class="language-text">Network
Audio
Date &amp; Time
Notifications
Background applications
</code></pre>
<hr />
<h2>Why the GUI Matters for Cybersecurity</h2>
<p>A cybersecurity analyst frequently needs to move between:</p>
<pre><code class="language-text">GUI Tools
   +
Command-Line Tools
</code></pre>
<p>For example:</p>
<pre><code class="language-text">Task Manager
Computer Management
Event Viewer
Registry Editor
Windows Security
Services
</code></pre>
<p>are all Windows GUI tools that appear frequently in security investigations.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 2</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Windows Desktop
Start Menu
Search
Taskbar
Notification Area
</code></pre>
<p>A useful command for opening Windows Explorer is:</p>
<pre><code class="language-cmd">explorer.exe
</code></pre>
<p>You can also quickly open common Windows components through the Run dialog.</p>
<p>Press:</p>
<pre><code class="language-text">Windows Key + R
</code></pre>
<p>For example:</p>
<pre><code class="language-cmd">control
</code></pre>
<p>opens Control Panel.</p>
<p>And:</p>
<pre><code class="language-cmd">taskmgr
</code></pre>
<p>opens Task Manager.</p>
<p>The important lesson here was learning that Windows tools can often be accessed in multiple ways:</p>
<pre><code class="language-text">GUI
Search
Run dialog
Command Prompt
PowerShell
</code></pre>
<hr />
<h1>Task 3 — Introduction to Windows</h1>
<p>This task moves from theory to the practical Windows lab.</p>
<p>The room provides a Windows machine that can be accessed directly through the browser or remotely. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<p>Instead of simply reading about Windows, the goal is to explore an actual system.</p>
<hr />
<h2>Why a Windows Lab Is Useful</h2>
<p>Understanding Windows from a cybersecurity perspective requires practical interaction.</p>
<p>For example, it is much easier to understand:</p>
<pre><code class="language-text">File permissions
User accounts
Processes
System folders
UAC
</code></pre>
<p>when working with a real Windows environment.</p>
<hr />
<h2>Remote Desktop</h2>
<p>Windows systems can commonly be accessed remotely through:</p>
<pre><code class="language-text">RDP
</code></pre>
<p>or:</p>
<pre><code class="language-text">Remote Desktop Protocol
</code></pre>
<p>RDP provides a graphical session on a remote Windows computer.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Your Computer
     |
     | RDP
     v
Remote Windows Machine
</code></pre>
<hr />
<h2>🛠️ Hands-On / Commands — Task 3</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe Lab Machine
AttackBox
Remote Desktop
Windows GUI
</code></pre>
<p>From a Linux machine, RDP clients such as <code>xfreerdp</code> can be used in authorized labs:</p>
<pre><code class="language-bash">xfreerdp /v:&lt;LAB_IP&gt; /u:&lt;USERNAME&gt;
</code></pre>
<p>The actual lab values are intentionally not included here.</p>
<p>From Windows, the built-in Remote Desktop client can be started with:</p>
<pre><code class="language-cmd">mstsc
</code></pre>
<p>This opens:</p>
<pre><code class="language-text">Remote Desktop Connection
</code></pre>
<hr />
<h1>Task 4 — The File System</h1>
<p>One of the most important topics in this room is the Windows file system.</p>
<p>Modern Windows installations commonly use:</p>
<h1>NTFS</h1>
<p>NTFS provides capabilities beyond older Windows file systems, including permissions, large-file support, compression, encryption-related functionality, and journaling. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<hr />
<h1>File-System Structure</h1>
<p>Windows commonly organizes files through drive letters.</p>
<p>For example:</p>
<pre><code class="language-text">C:\
</code></pre>
<p>A path might look like:</p>
<pre><code class="language-text">C:\Users\Example\Documents
</code></pre>
<p>Breaking this down:</p>
<pre><code class="language-text">C:
│
└── Users
    │
    └── Example
        │
        └── Documents
</code></pre>
<hr />
<h1>NTFS Permissions</h1>
<p>NTFS allows access controls to be applied to files and directories.</p>
<p>Common permissions include:</p>
<pre><code class="language-text">Full Control
Modify
Read &amp; Execute
List Folder Contents
Read
Write
</code></pre>
<p>These permissions become extremely important in cybersecurity.</p>
<p>A poorly configured file permission can sometimes allow:</p>
<pre><code class="language-text">Unauthorized file access
File modification
Sensitive-data exposure
Privilege escalation
</code></pre>
<p>The room demonstrates how these permissions can be viewed from a file or folder's <strong>Properties → Security</strong> tab. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<hr />
<h1>Alternate Data Streams</h1>
<p>Another interesting NTFS concept introduced in the room is:</p>
<pre><code class="language-text">ADS
</code></pre>
<p>or:</p>
<pre><code class="language-text">Alternate Data Streams
</code></pre>
<p>ADS allows additional data streams to exist alongside a file's normal content.</p>
<p>This is particularly interesting from a cybersecurity perspective because hidden streams have historically been abused to conceal information, although ADS also has legitimate Windows uses. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 4</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">File Explorer
File Properties
Security tab
Command Prompt
PowerShell
</code></pre>
<h3>Check the Current Directory</h3>
<pre><code class="language-cmd">cd
</code></pre>
<hr />
<h3>List Files</h3>
<pre><code class="language-cmd">dir
</code></pre>
<p>PowerShell equivalent:</p>
<pre><code class="language-powershell">Get-ChildItem
</code></pre>
<p>or simply:</p>
<pre><code class="language-powershell">ls
</code></pre>
<hr />
<h3>Move Into a Directory</h3>
<pre><code class="language-cmd">cd Documents
</code></pre>
<hr />
<h3>Go Back One Level</h3>
<pre><code class="language-cmd">cd ..
</code></pre>
<hr />
<h3>View Available Drives</h3>
<p>PowerShell:</p>
<pre><code class="language-powershell">Get-PSDrive
</code></pre>
<hr />
<h3>Inspect File Permissions</h3>
<p>Windows includes the useful command:</p>
<pre><code class="language-cmd">icacls example.txt
</code></pre>
<p>For a directory:</p>
<pre><code class="language-cmd">icacls C:\Example
</code></pre>
<p>This displays access-control information for the object.</p>
<hr />
<h1>Task 5 — The Windows\System32 Folders</h1>
<p>The next task introduces one of the most important locations in Windows:</p>
<pre><code class="language-text">C:\Windows
</code></pre>
<p>This directory contains core Windows operating-system files.</p>
<p>Inside it is another especially important directory:</p>
<pre><code class="language-text">System32
</code></pre>
<p>TryHackMe warns that System32 contains critical operating-system files and that modifying or deleting its contents carelessly can break Windows. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<hr />
<h1>Why System32 Matters</h1>
<p>System32 contains many important:</p>
<pre><code class="language-text">Executables
DLL files
System utilities
Configuration components
Administrative tools
</code></pre>
<p>A large number of commands frequently used in cybersecurity originate from this area.</p>
<p>Examples include utilities for:</p>
<pre><code class="language-text">Networking
Process management
User management
System configuration
Diagnostics
</code></pre>
<hr />
<h1>Environment Variables</h1>
<p>Windows also uses <strong>environment variables</strong>.</p>
<p>Instead of hard-coding a particular directory location, programs can reference system variables.</p>
<p>Conceptually:</p>
<pre><code class="language-text">Environment Variable
        ↓
Represents a system value
        ↓
Application uses the value
</code></pre>
<p>These variables may contain:</p>
<pre><code class="language-text">System paths
User directories
Temporary directories
Processor information
Configuration locations
</code></pre>
<p>The room introduces Windows-directory environment variables in this task. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 5</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">File Explorer
Command Prompt
Environment Variables
System32
</code></pre>
<h3>View Environment Variables</h3>
<pre><code class="language-cmd">set
</code></pre>
<p>Instead of looking for a specific room answer, this command lets us explore all currently defined variables ourselves.</p>
<p>PowerShell:</p>
<pre><code class="language-powershell">Get-ChildItem Env:
</code></pre>
<hr />
<h3>Enter the Windows Directory</h3>
<pre><code class="language-cmd">cd C:\Windows
</code></pre>
<p>List files:</p>
<pre><code class="language-cmd">dir
</code></pre>
<hr />
<h3>Explore System32 Safely</h3>
<pre><code class="language-cmd">cd C:\Windows\System32
</code></pre>
<p>Then:</p>
<pre><code class="language-cmd">dir
</code></pre>
<p>For a learning lab, browsing the folder is useful.</p>
<p>Deleting or modifying random System32 files is definitely not.</p>
<hr />
<h1>Task 6 — User Accounts, Profiles, and Permissions</h1>
<p>Windows systems commonly differentiate between privileged and regular users.</p>
<p>The room introduces two important local account types:</p>
<pre><code class="language-text">Administrator
Standard User
</code></pre>
<p>Administrators can perform system-wide operations, while standard users are more restricted. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h1>Administrator Account</h1>
<p>An administrator may be allowed to:</p>
<pre><code class="language-text">Install software
Add/remove users
Modify groups
Change system configuration
Manage permissions
Perform administrative operations
</code></pre>
<hr />
<h1>Standard User</h1>
<p>A standard user generally works mainly within their own account context.</p>
<p>This follows an important cybersecurity idea:</p>
<h1>Principle of Least Privilege</h1>
<p>A user should receive:</p>
<blockquote>
<p>Only the privileges necessary to perform their job.</p>
</blockquote>
<p>If everyone operates permanently with maximum privileges, malware or compromised applications may inherit far more power than necessary.</p>
<hr />
<h1>User Profiles</h1>
<p>Windows stores user profiles under:</p>
<pre><code class="language-text">C:\Users\
</code></pre>
<p>Conceptually:</p>
<pre><code class="language-text">C:\Users
│
├── User1
│   ├── Desktop
│   ├── Documents
│   ├── Downloads
│   └── Pictures
│
└── User2
    ├── Desktop
    ├── Documents
    └── Downloads
</code></pre>
<p>The room explains that Windows creates a profile for a user during the user's first login. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<hr />
<h1>Users and Groups</h1>
<p>Instead of assigning every permission individually, administrators can organize users into groups.</p>
<pre><code class="language-text">User
  ↓
Group
  ↓
Permissions
</code></pre>
<p>A user can also belong to multiple groups.</p>
<p>This model becomes extremely important later when learning:</p>
<pre><code class="language-text">Windows Administration
Active Directory
Privilege Escalation
Domain Security
</code></pre>
<hr />
<h2>🛠️ Hands-On / Commands — Task 6</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Local Users and Groups
Windows Settings
Command Prompt
PowerShell
</code></pre>
<h3>Open Local Users and Groups</h3>
<p>From Run:</p>
<pre><code class="language-cmd">lusrmgr.msc
</code></pre>
<p>This opens:</p>
<pre><code class="language-text">Local Users and Groups
</code></pre>
<p>where we can inspect:</p>
<pre><code class="language-text">Users
Groups
Memberships
Account properties
</code></pre>
<p>TryHackMe specifically introduces this console for exploring local users and groups. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx?utm_source=chatgpt.com">TryHackMe</a>)</p>
<hr />
<h3>Display Current User</h3>
<pre><code class="language-cmd">whoami
</code></pre>
<hr />
<h3>List Local Users</h3>
<pre><code class="language-cmd">net user
</code></pre>
<hr />
<h3>Inspect One Account</h3>
<pre><code class="language-cmd">net user &lt;USERNAME&gt;
</code></pre>
<hr />
<h3>List Local Groups</h3>
<pre><code class="language-cmd">net localgroup
</code></pre>
<hr />
<h3>PowerShell Alternative</h3>
<pre><code class="language-powershell">Get-LocalUser
</code></pre>
<p>and:</p>
<pre><code class="language-powershell">Get-LocalGroup
</code></pre>
<p>These commands are very useful during Windows enumeration.</p>
<hr />
<h1>Task 7 — User Account Control</h1>
<p>This task introduces:</p>
<h1>User Account Control (UAC)</h1>
<p>Being logged in with an administrator account does not mean every application should automatically execute with maximum privileges.</p>
<p>UAC helps create an additional boundary.</p>
<p>When an operation requires elevated privileges, Windows can ask for approval or administrative credentials. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<hr />
<h1>Why UAC Exists</h1>
<p>Imagine malware running under a highly privileged account.</p>
<p>Without safeguards:</p>
<pre><code class="language-text">Malware starts
     ↓
User has administrative privileges
     ↓
Malware gains powerful system access
</code></pre>
<p>UAC helps interrupt this process:</p>
<pre><code class="language-text">Application requests elevated action
             ↓
          UAC Prompt
             ↓
     User approval required
</code></pre>
<hr />
<h1>The Shield Icon</h1>
<p>You may notice a small shield icon on certain Windows applications.</p>
<p>That usually indicates the program may require elevated privileges.</p>
<p>For example:</p>
<pre><code class="language-text">Normal program
     ↓
Runs with normal user context

Administrative operation
     ↓
UAC prompt
     ↓
Elevation
</code></pre>
<hr />
<h2>🛠️ Hands-On / Commands — Task 7</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">UAC Prompt
User Accounts
Application Installer
Windows GUI
</code></pre>
<p>A common way to intentionally launch something with elevated privileges is:</p>
<pre><code class="language-text">Right-click application
        ↓
Run as administrator
</code></pre>
<p>From PowerShell, a process can request elevation with:</p>
<pre><code class="language-powershell">Start-Process powershell -Verb RunAs
</code></pre>
<p>Windows then displays the UAC confirmation prompt.</p>
<p>This was useful for understanding the difference between:</p>
<pre><code class="language-text">Being an administrator
</code></pre>
<p>and:</p>
<pre><code class="language-text">Running a process with elevated privileges
</code></pre>
<hr />
<h1>Task 8 — Settings and the Control Panel</h1>
<p>Windows currently provides two major interfaces for configuring the operating system:</p>
<pre><code class="language-text">Settings
</code></pre>
<p>and:</p>
<pre><code class="language-text">Control Panel
</code></pre>
<p>TryHackMe explains that Settings is the newer configuration interface while Control Panel remains important for many traditional and advanced Windows settings. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<hr />
<h1>Windows Settings</h1>
<p>Settings provides modern configuration categories such as:</p>
<pre><code class="language-text">System
Devices
Network
Personalization
Accounts
Privacy
Updates
</code></pre>
<hr />
<h1>Control Panel</h1>
<p>Control Panel is the older management interface but is still extremely useful.</p>
<p>It provides access to areas such as:</p>
<pre><code class="language-text">Programs
User Accounts
Network Settings
System Configuration
Hardware
Administrative Options
</code></pre>
<p>Some operations begin inside Settings but eventually open an older Control Panel component. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<hr />
<h2>Why Both Matter in Cybersecurity</h2>
<p>When investigating Windows systems, documentation might instruct you to navigate through either interface.</p>
<p>Knowing both is useful because:</p>
<pre><code class="language-text">Modern settings → Settings

Legacy / advanced configuration → Control Panel
</code></pre>
<hr />
<h2>🛠️ Hands-On / Commands — Task 8</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Windows Settings
Control Panel
Windows Search
Run Dialog
</code></pre>
<h3>Open Settings</h3>
<p>Keyboard shortcut:</p>
<pre><code class="language-text">Windows + I
</code></pre>
<hr />
<h3>Open Control Panel</h3>
<pre><code class="language-cmd">control
</code></pre>
<hr />
<h3>Installed Applications</h3>
<p>One way to inspect installed software is:</p>
<pre><code class="language-text">Control Panel
    ↓
Programs
    ↓
Programs and Features
</code></pre>
<p>TryHackMe uses this interface to demonstrate how applications installed on the system can be reviewed. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<p>PowerShell can also provide software-related information through various system-management approaches, although later Windows rooms explore administration in greater depth.</p>
<hr />
<h1>Task 9 — Task Manager</h1>
<p>Task Manager is one of the most useful built-in Windows tools.</p>
<p>It provides visibility into what is currently happening on the machine.</p>
<p>TryHackMe introduces Task Manager as a way to inspect running applications/processes and system resource usage such as CPU and RAM. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<hr />
<h1>What Can Task Manager Show?</h1>
<p>Depending on the Windows version, Task Manager can expose areas including:</p>
<pre><code class="language-text">Processes
Performance
Users
Details
Services
Startup Applications
</code></pre>
<hr />
<h1>Processes</h1>
<p>Processes show programs currently executing.</p>
<p>Example:</p>
<pre><code class="language-text">Browser
Explorer
Background services
Security software
System processes
</code></pre>
<hr />
<h1>Performance</h1>
<p>Performance provides information about:</p>
<pre><code class="language-text">CPU
Memory
Disk
Network
GPU
</code></pre>
<p>This can help identify unusual behavior.</p>
<p>For example:</p>
<pre><code class="language-text">CPU suddenly at 100%
        ↓
Check Task Manager
        ↓
Identify responsible process
</code></pre>
<hr />
<h1>Why Task Manager Matters in Cybersecurity</h1>
<p>Task Manager can provide quick clues during investigation.</p>
<p>For example:</p>
<pre><code class="language-text">Unknown process
Unexpected resource usage
Suspicious startup application
Unexpected user session
</code></pre>
<p>It is not a complete forensic tool, but it is an excellent first place to look.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 9</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">Task Manager
Windows GUI
Command Prompt
PowerShell
</code></pre>
<p>Open Task Manager from Run:</p>
<pre><code class="language-cmd">taskmgr
</code></pre>
<p>Another common method is:</p>
<pre><code class="language-text">Right-click Taskbar
        ↓
Task Manager
</code></pre>
<p>The room also encourages learning the dedicated keyboard shortcut, which I am leaving for learners to discover during the room rather than publishing the task answer. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<hr />
<h3>Command-Line Process Listing</h3>
<pre><code class="language-cmd">tasklist
</code></pre>
<p>Example structure:</p>
<pre><code class="language-text">Image Name        PID      Memory Usage
----------------------------------------
process.exe       1234     ...
</code></pre>
<p>PowerShell equivalent:</p>
<pre><code class="language-powershell">Get-Process
</code></pre>
<p>This shows how the GUI and command line expose the same underlying idea:</p>
<pre><code class="language-text">Task Manager
       ↕
Processes
       ↕
tasklist / Get-Process
</code></pre>
<hr />
<h1>Task 10 — Conclusion</h1>
<p>Windows Fundamentals 1 provides a broad introduction rather than a deep dive into every Windows subsystem.</p>
<p>The room finishes by pointing toward more advanced Windows concepts and security tools covered later in the Windows Fundamentals series. (<a href="https://tryhackme.com/room/windowsfundamentals1xbx">TryHackMe</a>)</p>
<p>The complete learning flow for me was:</p>
<pre><code class="language-text">Windows Editions
       ↓
Desktop &amp; GUI
       ↓
Windows Lab
       ↓
NTFS
       ↓
System Directories
       ↓
Users &amp; Groups
       ↓
Permissions
       ↓
UAC
       ↓
Settings &amp; Control Panel
       ↓
Task Manager
</code></pre>
<hr />
<h1>🛠️ Hands-On / Commands — Task 10</h1>
<p>No new tool was required in the final task.</p>
<p>Instead, I reviewed the commands encountered throughout the room.</p>
<pre><code class="language-cmd">winver
systeminfo
explorer.exe
taskmgr
control
whoami
net user
net localgroup
lusrmgr.msc
tasklist
</code></pre>
<p>And some useful PowerShell equivalents:</p>
<pre><code class="language-powershell">Get-ComputerInfo
Get-ChildItem
Get-LocalUser
Get-LocalGroup
Get-Process
Get-ChildItem Env:
</code></pre>
<hr />
<h1>Tools Used</h1>
<table>
<thead>
<tr>
<th>Tool</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td>Windows Desktop</td>
<td>Navigating the Windows GUI</td>
</tr>
<tr>
<td>File Explorer</td>
<td>Browsing files and directories</td>
</tr>
<tr>
<td>Command Prompt</td>
<td>Basic Windows commands</td>
</tr>
<tr>
<td>PowerShell</td>
<td>System inspection and administration</td>
</tr>
<tr>
<td><code>systeminfo</code></td>
<td>Inspecting Windows/system information</td>
</tr>
<tr>
<td><code>lusrmgr.msc</code></td>
<td>Viewing local users and groups</td>
</tr>
<tr>
<td><code>icacls</code></td>
<td>Inspecting file permissions</td>
</tr>
<tr>
<td>Control Panel</td>
<td>Traditional Windows configuration</td>
</tr>
<tr>
<td>Windows Settings</td>
<td>Modern Windows configuration</td>
</tr>
<tr>
<td>UAC</td>
<td>Controlling privileged operations</td>
</tr>
<tr>
<td>Task Manager</td>
<td>Monitoring processes and resources</td>
</tr>
<tr>
<td><code>tasklist</code></td>
<td>Viewing processes from CLI</td>
</tr>
<tr>
<td>Remote Desktop</td>
<td>Accessing a Windows system remotely</td>
</tr>
</tbody></table>
<hr />
<h1>Key Lessons Learned</h1>
<h3>1. Windows Knowledge Is Essential for Cybersecurity</h3>
<p>Windows is not simply a desktop operating system.</p>
<p>Enterprise environments heavily depend on:</p>
<pre><code class="language-text">Windows Servers
User Accounts
Permissions
Active Directory
Windows Services
Security Policies
</code></pre>
<p>Understanding the fundamentals makes later security topics much easier.</p>
<hr />
<h3>2. File Permissions Matter</h3>
<p>NTFS permissions determine:</p>
<pre><code class="language-text">Who can read?
Who can write?
Who can modify?
Who has full control?
</code></pre>
<p>Misconfigured permissions can become security vulnerabilities.</p>
<hr />
<h3>3. Users and Groups Control Access</h3>
<p>Instead of looking only at usernames, security professionals also need to ask:</p>
<pre><code class="language-text">Which groups does this user belong to?

What privileges does that group have?
</code></pre>
<p>This becomes especially important in privilege-escalation and Active Directory investigations.</p>
<hr />
<h3>4. Administrative Access Should Be Controlled</h3>
<p>The principle of least privilege matters.</p>
<pre><code class="language-text">More privileges
      =
More potential impact if compromised
</code></pre>
<p>UAC is one mechanism Windows uses to reduce unnecessary elevation.</p>
<hr />
<h3>5. GUI and CLI Skills Complement Each Other</h3>
<p>I could inspect processes using:</p>
<pre><code class="language-text">Task Manager
</code></pre>
<p>or:</p>
<pre><code class="language-cmd">tasklist
</code></pre>
<p>I could inspect users through:</p>
<pre><code class="language-text">Local Users and Groups
</code></pre>
<p>or:</p>
<pre><code class="language-cmd">net user
</code></pre>
<p>Cybersecurity requires being comfortable with both approaches.</p>
<hr />
<h1>My Final Mental Model</h1>
<pre><code class="language-text">                   WINDOWS
                      |
      ┌───────────────┼────────────────┐
      |               |                |
   Filesystem        Users          Processes
      |               |                |
    NTFS          Accounts           Task Manager
      |             Groups              |
 Permissions      Permissions        CPU / RAM
      |               |                |
      └───────────────┼────────────────┘
                      |
                  Security
                      |
              Least Privilege
                      |
                     UAC
</code></pre>
<hr />
<h1>Ethical Learning Note</h1>
<p>This article is intended as a <strong>learning guide</strong>, not an answer dump.</p>
<p>I included:</p>
<pre><code class="language-text">✅ Concepts
✅ Tools
✅ Windows commands
✅ Navigation methods
✅ Practical methodology
✅ Cybersecurity relevance
</code></pre>
<p>while intentionally excluding:</p>
<pre><code class="language-text">❌ TryHackMe answers
❌ Flags
❌ Lab-specific credentials
❌ Direct responses to room questions
</code></pre>
<p>The goal is to document what I learned without removing the problem-solving experience for other learners.</p>
<hr />
<h1>Resources</h1>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/windowsfundamentals1xbx">Windows Fundamentals 1</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h1>Connect with Me</h1>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em> 🚀</p>
]]></content:encoded></item><item><title><![CDATA[TryHackMe — Cryptography Concepts | Learning Guide]]></title><description><![CDATA[Introduction
The small padlock beside a website URL looks simple, but there is a lot happening behind it.
When we send passwords, messages, banking information, or other sensitive data across the Inte]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-cryptography-concepts-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-cryptography-concepts-learning-guide</guid><category><![CDATA[cybersecurity]]></category><category><![CDATA[tryhackme]]></category><category><![CDATA[Cryptography]]></category><category><![CDATA[#infosec]]></category><category><![CDATA[PreSecurity]]></category><category><![CDATA[#learninginpublic]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Wed, 02 Sep 2026 14:43:24 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/5c6613d5-710c-4615-918c-4c86b54d1bf4.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Introduction</h2>
<p>The small padlock beside a website URL looks simple, but there is a lot happening behind it.</p>
<p>When we send passwords, messages, banking information, or other sensitive data across the Internet, that data does not travel directly from our computer to its final destination. It passes through multiple network devices along the way.</p>
<p>So an important security question is:</p>
<blockquote>
<p>How can two systems communicate when someone might be able to observe the network between them?</p>
</blockquote>
<p>That is one of the problems <strong>cryptography</strong> helps solve.</p>
<p>The TryHackMe <strong>Cryptography Concepts</strong> room introduces cryptography without diving immediately into difficult mathematics. Instead, it focuses on plaintext, ciphertext, algorithms, keys, symmetric encryption, asymmetric encryption, the key-distribution problem, certificates, and the way these techniques work together in HTTPS. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<p>I have structured these notes task-by-task, similar to the practical phase-oriented format commonly used in detailed TryHackMe write-ups, while deliberately removing the flag/answer-dump aspect.</p>
<hr />
<h1>Task 1 — Introduction</h1>
<h2>Why Cryptography Matters</h2>
<p>The first task connects cryptography with the <strong>CIA Triad</strong>.</p>
<p>The three major ideas are:</p>
<pre><code class="language-text">Confidentiality
Integrity
Availability
</code></pre>
<p>Cryptography primarily helps us protect <strong>confidentiality</strong> and detect problems affecting <strong>integrity</strong>.</p>
<p>Imagine sending confidential information across the Internet:</p>
<pre><code class="language-text">Sender
   |
   v
Router
   |
   v
ISP
   |
   v
More Routers
   |
   v
Receiver
</code></pre>
<p>Without protection, someone who can observe traffic at one of these intermediate points might be able to:</p>
<pre><code class="language-text">Read the information
Modify the information
Impersonate another system
</code></pre>
<p>Cryptography introduces mathematical mechanisms that make this much harder. The room illustrates this using a real-world example of sensitive records being transmitted over networks. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h2>Plaintext and Ciphertext</h2>
<p>Consider this message:</p>
<pre><code class="language-text">HELLO
</code></pre>
<p>It is understandable to us.</p>
<p>This is <strong>plaintext</strong>.</p>
<p>After applying encryption, it might appear as something like:</p>
<pre><code class="language-text">KHOOR
</code></pre>
<p>That transformed representation is <strong>ciphertext</strong>.</p>
<p>The general idea is:</p>
<pre><code class="language-text">Plaintext
   |
   | Encryption
   v
Ciphertext
</code></pre>
<p>At the receiving end:</p>
<pre><code class="language-text">Ciphertext
   |
   | Decryption
   v
Plaintext
</code></pre>
<hr />
<h2>Algorithm and Key</h2>
<p>Two important components appear in this process.</p>
<h3>Algorithm</h3>
<p>The algorithm defines <strong>how encryption works</strong>.</p>
<p>Think of it as a recipe:</p>
<pre><code class="language-text">Take the input
Perform certain operations
Use the supplied key
Produce ciphertext
</code></pre>
<p>The algorithm itself usually does <strong>not</strong> need to be secret.</p>
<hr />
<h3>Key</h3>
<p>The <strong>key</strong> controls the particular transformation performed by the algorithm.</p>
<p>An analogy that helped me was:</p>
<pre><code class="language-text">Algorithm = How a lock works

Key       = The particular metal key
            that opens that lock
</code></pre>
<p>Anyone can understand the mechanical design of the lock.</p>
<p>But that does not mean they possess the correct key.</p>
<p>This principle is important in modern cryptography:</p>
<blockquote>
<p>Security should come from protecting the key rather than trying to hide how the entire cryptographic algorithm works.</p>
</blockquote>
<p>The room explicitly introduces the algorithm as the public method and the key as the secret ingredient controlling encryption and decryption. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h2>Encryption Model</h2>
<p>A simple model is:</p>
<pre><code class="language-text">Plaintext
   +
Algorithm
   +
Key
   |
   v
Ciphertext
</code></pre>
<p>Or:</p>
<pre><code class="language-text">P + Algorithm + K → C
</code></pre>
<p>The receiver performs:</p>
<pre><code class="language-text">Ciphertext
   +
Algorithm
   +
Key
   |
   v
Plaintext
</code></pre>
<p>This basic pattern continues throughout the rest of the room.</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 1</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe browser interface
Web browser
Browser HTTPS / padlock indicator
</code></pre>
<p>There was no need for a terminal command in this introductory task.</p>
<p>The important practical observation was something I normally see every day without thinking about it:</p>
<pre><code class="language-text">https://...
</code></pre>
<p>and the security indicator in the browser.</p>
<p>The room starts from this everyday observation and asks what actually protects data as it moves across the Internet. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<h3>Optional Local Experiment</h3>
<p>I also like this simple command for understanding the difference between <strong>representation</strong> and <strong>encryption</strong>:</p>
<pre><code class="language-bash">echo -n "HELLO" | xxd -p
</code></pre>
<p>This produces hexadecimal data.</p>
<p>To reverse it:</p>
<pre><code class="language-bash">echo "48454c4c4f" | xxd -r -p
</code></pre>
<p>Result:</p>
<pre><code class="language-text">HELLO
</code></pre>
<p>This reinforces:</p>
<pre><code class="language-text">Encoding ≠ Encryption
</code></pre>
<p>No secret key was needed to reverse the hexadecimal representation.</p>
<hr />
<h1>Task 2 — Hiding Information: Symmetric Encryption</h1>
<p>This was the main practical task of the room.</p>
<p>The opening problem is simple:</p>
<blockquote>
<p>If someone can observe all the information travelling between two people, how can those people still communicate privately?</p>
</blockquote>
<p>The first answer is <strong>symmetric encryption</strong>. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>Understanding Symmetric Encryption</h1>
<p>Symmetric encryption uses:</p>
<blockquote>
<p><strong>The same secret key for encryption and decryption.</strong></p>
</blockquote>
<p>Suppose Alice and Bob both know secret key <code>K</code>.</p>
<p>Alice encrypts:</p>
<pre><code class="language-text">Plaintext
   +
Key K
   |
   v
Encryption
   |
   v
Ciphertext
</code></pre>
<p>Bob performs:</p>
<pre><code class="language-text">Ciphertext
   +
Key K
   |
   v
Decryption
   |
   v
Plaintext
</code></pre>
<p>Therefore:</p>
<pre><code class="language-text">Encryption Key = Decryption Key
</code></pre>
<p>That is the defining property of symmetric encryption.</p>
<hr />
<h1>The Lockbox Analogy</h1>
<p>The room uses a very useful lockbox analogy.</p>
<p>Imagine Alice places a letter inside a locked box.</p>
<pre><code class="language-text">           Shared Secret Key
                 🔑
                  |
Alice → [ Locked Box ] → Bob
                  |
                 🔑
           Same Secret Key
</code></pre>
<p>The objects correspond to cryptographic concepts:</p>
<pre><code class="language-text">Letter         → Plaintext

Locked box     → Ciphertext

Lock mechanism → Algorithm

Physical key   → Cryptographic key
</code></pre>
<p>Alice locks the box.</p>
<p>Bob has a copy of the same key and opens it.</p>
<p>An attacker may intercept the box, but without the key, they should not be able to access the protected content. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>Caesar Cipher</h1>
<p>To demonstrate these ideas, the room uses the <strong>Caesar cipher</strong>.</p>
<p>The Caesar cipher shifts letters by a fixed number of positions.</p>
<p>For example, suppose we use:</p>
<pre><code class="language-text">Key = 3
</code></pre>
<p>Then:</p>
<pre><code class="language-text">A → D
B → E
C → F
...
X → A
Y → B
Z → C
</code></pre>
<p>For a learning example:</p>
<pre><code class="language-text">HELLO
</code></pre>
<p>becomes:</p>
<pre><code class="language-text">KHOOR
</code></pre>
<p>because:</p>
<pre><code class="language-text">H → K
E → H
L → O
L → O
O → R
</code></pre>
<p>Decryption simply moves in the opposite direction.</p>
<hr />
<h1>Algorithm vs Key in Caesar Cipher</h1>
<p>This example makes the distinction very clear.</p>
<h3>Algorithm</h3>
<pre><code class="language-text">Shift every letter through the alphabet.
</code></pre>
<p>Everyone can know this.</p>
<h3>Key</h3>
<pre><code class="language-text">How many positions should each letter move?
</code></pre>
<p>For example:</p>
<pre><code class="language-text">3
</code></pre>
<p>That is the secret information.</p>
<hr />
<h1>Why Caesar Cipher Is Not Secure</h1>
<p>The Caesar cipher is excellent for teaching.</p>
<p>It is terrible for real security.</p>
<p>There are only a very small number of possible shifts.</p>
<p>An attacker could simply try:</p>
<pre><code class="language-text">Shift 1
Shift 2
Shift 3
...
Shift 25
</code></pre>
<p>and inspect the results.</p>
<p>A modern computer can perform this almost instantly.</p>
<p>TryHackMe specifically uses Caesar as an educational model and warns that it is not appropriate for real systems. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>Real Symmetric Encryption</h1>
<p>Modern systems use much stronger algorithms.</p>
<p>A major example is:</p>
<pre><code class="language-text">AES
</code></pre>
<p>which stands for:</p>
<pre><code class="language-text">Advanced Encryption Standard
</code></pre>
<p>The conceptual structure remains the same:</p>
<pre><code class="language-text">Plaintext + Key + AES
          |
          v
      Ciphertext
</code></pre>
<p>Even though the internal mathematics is vastly more sophisticated.</p>
<hr />
<h1>Why Symmetric Encryption Is Useful</h1>
<p>Symmetric encryption has two major advantages.</p>
<h3>Speed</h3>
<p>It is extremely fast.</p>
<h3>Efficiency</h3>
<p>It can process large quantities of data efficiently.</p>
<p>That makes it suitable for:</p>
<pre><code class="language-text">Files
Hard drives
Databases
Network traffic
VPN traffic
Application data
</code></pre>
<p>The room emphasizes that this speed is why symmetric cryptography is useful for bulk data. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>The Problem: How Do We Share the Key?</h1>
<p>This was the most important concept for me in Task 2.</p>
<p>Alice and Bob need the same key.</p>
<p>But how does Bob receive it?</p>
<p>Suppose Alice simply sends:</p>
<pre><code class="language-text">Secret Key = K
</code></pre>
<p>through the Internet.</p>
<p>Then:</p>
<pre><code class="language-text">Alice
  |
  | Secret Key
  v
Internet
  |
  +------ Eve intercepts it
  |
  v
Bob
</code></pre>
<p>The attacker now possesses the key.</p>
<p>So we might think:</p>
<blockquote>
<p>Encrypt the key.</p>
</blockquote>
<p>But then:</p>
<pre><code class="language-text">What key encrypts that key?
</code></pre>
<p>And if we create another secret key:</p>
<pre><code class="language-text">How do we securely send that one?
</code></pre>
<p>The problem repeats.</p>
<p>This is called the:</p>
<h1>Key Distribution Problem</h1>
<p>TryHackMe presents it as the major weakness of using symmetric encryption alone. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>🛠️ Hands-On / Commands — Task 2</h1>
<h2>Tools Used</h2>
<pre><code class="language-text">TryHackMe "View Site"
Secret Message Rescue game
Caesar cipher
Browser-based interactive cipher interface
</code></pre>
<p>This task includes the practical <strong>Secret Message Rescue</strong> activity.</p>
<p>The methodology was:</p>
<pre><code class="language-text">Receive ciphertext
      ↓
Observe the shift/key
      ↓
Move letters backward when decrypting
      ↓
Recover plaintext
</code></pre>
<p>and in the other direction:</p>
<pre><code class="language-text">Plaintext
      ↓
Apply the chosen shift
      ↓
Move letters forward
      ↓
Produce ciphertext
</code></pre>
<p>The room uses multiple shift values so that the relationship between <strong>algorithm + key + message</strong> becomes intuitive. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<p>I am intentionally not including the room's submitted strings or completion flag.</p>
<hr />
<h2>Optional Caesar Cipher Command-Line Practice</h2>
<p>I reproduced the same idea locally with a small Python example using unrelated text.</p>
<pre><code class="language-bash">python3 - &lt;&lt;'PY'
text = "SECURITY"
shift = 3

result = ""

for ch in text:
    if ch.isalpha():
        base = ord('A')
        result += chr((ord(ch) - base + shift) % 26 + base)
    else:
        result += ch

print(result)
PY
</code></pre>
<p>The important part is:</p>
<pre><code class="language-python">(ord(ch) - base + shift) % 26
</code></pre>
<p>The <code>% 26</code> causes the alphabet to wrap around after <code>Z</code>.</p>
<p>For decryption, the direction changes:</p>
<pre><code class="language-python">-shift
</code></pre>
<p>Again, this is independent practice and not one of the room answers.</p>
<hr />
<h1>Task 3 — Sharing Keys Safely: Asymmetric Encryption</h1>
<p>Task 2 ended with a difficult question:</p>
<pre><code class="language-text">Alice and Bob want the same secret key.

But they have never met.

How can they exchange that secret safely?
</code></pre>
<p>The solution introduced in Task 3 is:</p>
<h1>Asymmetric Encryption</h1>
<p>Instead of using one key, asymmetric encryption uses:</p>
<pre><code class="language-text">Two mathematically related keys
</code></pre>
<p>They are:</p>
<pre><code class="language-text">Public Key
Private Key
</code></pre>
<p>TryHackMe introduces the public key as information that can be distributed and the private key as information that must remain secret. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>Public Key</h1>
<p>The public key is meant to be shared.</p>
<p>Bob could theoretically publish it:</p>
<pre><code class="language-text">Bob's Website
       |
       v
Bob's Public Key
       |
   -----------
   |    |    |
Alice Eve  Charlie
</code></pre>
<p>Everyone may know it.</p>
<p>That does not automatically compromise Bob.</p>
<hr />
<h1>Private Key</h1>
<p>Bob separately possesses:</p>
<pre><code class="language-text">Bob's Private Key
</code></pre>
<p>This is not shared.</p>
<pre><code class="language-text">          Bob
           |
           v
     Private Key 🔐
</code></pre>
<p>Only Bob should control it.</p>
<hr />
<h1>How Public-Key Encryption Works</h1>
<p>Suppose Alice wants to send Bob a confidential message.</p>
<h3>Step 1</h3>
<p>Alice gets:</p>
<pre><code class="language-text">Bob's Public Key
</code></pre>
<h3>Step 2</h3>
<p>Alice encrypts her message using it:</p>
<pre><code class="language-text">Alice's Message
      +
Bob's Public Key
      |
      v
   Encryption
      |
      v
  Ciphertext
</code></pre>
<h3>Step 3</h3>
<p>The ciphertext travels through the network.</p>
<h3>Step 4</h3>
<p>Bob uses:</p>
<pre><code class="language-text">Bob's Private Key
</code></pre>
<p>to decrypt it.</p>
<pre><code class="language-text">Ciphertext
   +
Bob's Private Key
   |
   v
Decryption
   |
   v
Plaintext
</code></pre>
<p>The fundamental learning model is:</p>
<pre><code class="language-text">Encrypt using Public Key
           ↓
Decrypt using Private Key
</code></pre>
<p>TryHackMe explains this public/private relationship directly in the room. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>The Mailbox Analogy</h1>
<p>The mailbox analogy made asymmetric encryption easier to visualize.</p>
<p>Imagine a public mailbox.</p>
<p>Anyone can put something through the slot:</p>
<pre><code class="language-text">Alice  ──┐
Charlie ─┼────&gt; 📮
John   ──┘
</code></pre>
<p>But only the mailbox owner possesses the key needed to open it.</p>
<p>Therefore:</p>
<pre><code class="language-text">Mail slot
    =
Public Key
</code></pre>
<p>and:</p>
<pre><code class="language-text">Mailbox door key
       =
Private Key
</code></pre>
<p>Anybody can use the public slot.</p>
<p>Only the owner retrieves the protected contents.</p>
<p>This is the analogy TryHackMe uses to explain the separation between public and private keys. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>Solving the Key Distribution Problem</h1>
<p>Now reconsider Alice and Bob.</p>
<p>Bob generates:</p>
<pre><code class="language-text">Public Key
Private Key
</code></pre>
<p>He keeps:</p>
<pre><code class="language-text">Private Key
</code></pre>
<p>secret.</p>
<p>He shares:</p>
<pre><code class="language-text">Public Key
</code></pre>
<p>Alice does not need a secret channel to receive Bob's public key.</p>
<p>She can then use it as part of establishing protected communication with Bob.</p>
<p>The important breakthrough is:</p>
<blockquote>
<p>Alice and Bob no longer need to secretly exchange the same key before they can begin communicating securely.</p>
</blockquote>
<p>That is why asymmetric cryptography is so important.</p>
<hr />
<h1>Symmetric vs Asymmetric Encryption</h1>
<table>
<thead>
<tr>
<th>Feature</th>
<th>Symmetric</th>
<th>Asymmetric</th>
</tr>
</thead>
<tbody><tr>
<td>Keys</td>
<td>One shared secret</td>
<td>Public + private pair</td>
</tr>
<tr>
<td>Encryption speed</td>
<td>Fast</td>
<td>Slower</td>
</tr>
<tr>
<td>Key sharing</td>
<td>Difficult</td>
<td>Public key can be distributed</td>
</tr>
<tr>
<td>Bulk data</td>
<td>Excellent</td>
<td>Usually not ideal</td>
</tr>
<tr>
<td>Main role</td>
<td>Protecting large amounts of data</td>
<td>Key establishment and identity mechanisms</td>
</tr>
<tr>
<td>Analogy</td>
<td>Lockbox</td>
<td>Mailbox</td>
</tr>
</tbody></table>
<p>This same contrast is summarized in Task 3. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>Why Not Use Asymmetric Encryption for Everything?</h1>
<p>At this point I had a natural question:</p>
<blockquote>
<p>If asymmetric cryptography solves the key-distribution problem, why don't we use it for all our data?</p>
</blockquote>
<p>Because it is comparatively expensive.</p>
<p>Symmetric encryption is much faster.</p>
<p>So modern systems combine both.</p>
<hr />
<h1>Hybrid Encryption</h1>
<p>The broad idea is:</p>
<pre><code class="language-text">Asymmetric Cryptography
          |
          v
Establish shared secret/session key
          |
          v
Symmetric Cryptography
          |
          v
Fast encrypted communication
</code></pre>
<p>So:</p>
<pre><code class="language-text">Asymmetric = Helps begin the secure relationship

Symmetric  = Handles the heavy data transfer
</code></pre>
<p>This combination is commonly called a <strong>hybrid approach</strong>. TryHackMe uses HTTPS as the everyday example. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>HTTPS: Where Both Meet</h1>
<p>When visiting an HTTPS site, the simplified learning model is:</p>
<pre><code class="language-text">Browser
   |
   | Initial authentication /
   | key-establishment process
   v
Website
   |
   v
Shared session secrets
   |
   v
Fast symmetric encryption
   |
   v
Protected communication
</code></pre>
<p>The actual TLS protocol contains significantly more detail, but this is the important beginner-level architecture.</p>
<p>TryHackMe explains that asymmetric techniques are used during initial setup, after which faster symmetric encryption protects the bulk of the session data. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>Certificates</h1>
<p>This leads to another problem.</p>
<p>Suppose an attacker says:</p>
<pre><code class="language-text">"Here is Bob's public key!"
</code></pre>
<p>How does Alice know that key really belongs to Bob?</p>
<p>This is where <strong>digital certificates</strong> become important.</p>
<p>A certificate contains information such as:</p>
<pre><code class="language-text">Who the certificate belongs to
Public-key information
Who issued/signed the certificate
Validity period
</code></pre>
<p>A trusted:</p>
<pre><code class="language-text">Certificate Authority
</code></pre>
<p>or:</p>
<pre><code class="language-text">CA
</code></pre>
<p>digitally signs certificates.</p>
<p>Browsers and operating systems maintain trusted CA information and use it when evaluating website certificates. The room specifically introduces certificates as the mechanism that links an identity such as a domain to its public-key information. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>🛠️ Hands-On / Commands — Task 3</h1>
<h2>Tools Used</h2>
<pre><code class="language-text">Web browser
HTTPS website
Browser certificate viewer
TryHackMe interface
</code></pre>
<p>The practical activity here was viewing an HTTPS certificate.</p>
<p>The workflow is generally:</p>
<pre><code class="language-text">Open HTTPS website
      ↓
Open connection/security information
      ↓
View certificate
      ↓
Inspect:
    Subject
    Issuer
    Validity
    Domain
</code></pre>
<p>TryHackMe explicitly asks learners to inspect certificate details such as who it was issued to, who issued it, and its validity period. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h2>Optional Terminal Method</h2>
<p>The same idea can also be explored from Linux using OpenSSL:</p>
<pre><code class="language-bash">openssl s_client \
-connect tryhackme.com:443 \
-servername tryhackme.com
</code></pre>
<p>That displays the TLS connection and certificate chain.</p>
<p>For a cleaner certificate summary:</p>
<pre><code class="language-bash">openssl s_client \
-connect tryhackme.com:443 \
-servername tryhackme.com \
&lt;/dev/null 2&gt;/dev/null |
openssl x509 -noout -subject -issuer -dates
</code></pre>
<p>This lets us inspect fields such as:</p>
<pre><code class="language-text">subject
issuer
notBefore
notAfter
</code></pre>
<p>This was useful for connecting the browser's graphical certificate viewer with what is happening underneath.</p>
<hr />
<h1>Task 4 — Conclusion</h1>
<p>The final task brings the room together.</p>
<p>At the start, cryptography looked like:</p>
<pre><code class="language-text">"Scramble a message."
</code></pre>
<p>By the end, the structure was much clearer.</p>
<pre><code class="language-text">                   CRYPTOGRAPHY
                        |
             -----------------------
             |                     |
         Symmetric             Asymmetric
         Encryption            Cryptography
             |                     |
        Same key             Public + Private
             |                     |
        Very fast            Solves key-sharing
             |                     |
             -----------+-----------
                        |
                        v
                Hybrid Approach
                        |
                        v
                       HTTPS
</code></pre>
<p>The room concludes by reinforcing that symmetric encryption is fast but creates a key-distribution challenge, while asymmetric cryptography introduces public/private keys to address that problem. Real systems combine the two. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h1>Cryptography Is Only One Security Layer</h1>
<p>Another takeaway I liked from the conclusion is that cryptography is extremely important, but it is not magic.</p>
<p>A secure system also needs:</p>
<pre><code class="language-text">Strong passwords
Secure key storage
Software updates
User awareness
Monitoring
Incident response
</code></pre>
<p>Even perfect encryption cannot compensate for:</p>
<pre><code class="language-text">A stolen private key
A compromised endpoint
A weak password
A malicious authenticated user
</code></pre>
<p>Security works in layers.</p>
<p>TryHackMe emphasizes this broader context in the conclusion rather than presenting encryption as a complete solution by itself. (<a href="https://tryhackme.com/room/cryptographyconcepts">TryHackMe</a>)</p>
<hr />
<h2>🛠️ Hands-On / Commands — Task 4</h2>
<h3>Tools Used</h3>
<pre><code class="language-text">TryHackMe room interface
Browser
Previous Caesar cipher activity
Certificate viewer
</code></pre>
<p>No new command-line tool was necessary here.</p>
<p>Instead, this task was about connecting the previous activities:</p>
<pre><code class="language-text">Caesar Cipher
      ↓
Understand symmetric keys

Key Distribution Problem
      ↓
Understand why one shared key is difficult

Public / Private Keys
      ↓
Understand asymmetric encryption

Certificates + HTTPS
      ↓
Understand a real-world application
</code></pre>
<hr />
<h1>Room Learning Flow</h1>
<p>The full learning progression can be summarized as:</p>
<pre><code class="language-text">Why protect network data?
          ↓
Plaintext vs Ciphertext
          ↓
Algorithm + Key
          ↓
Symmetric Encryption
          ↓
Caesar Cipher Practical
          ↓
Key Distribution Problem
          ↓
Asymmetric Encryption
          ↓
Public + Private Keys
          ↓
Certificates
          ↓
Hybrid Encryption
          ↓
HTTPS
</code></pre>
<hr />
<h1>Tools Used</h1>
<table>
<thead>
<tr>
<th>Tool / Feature</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td>TryHackMe Room Interface</td>
<td>Learning content and task interaction</td>
</tr>
<tr>
<td>Secret Message Rescue</td>
<td>Practical Caesar cipher exercise</td>
</tr>
<tr>
<td>Caesar Cipher</td>
<td>Understanding algorithms, keys, encryption, and decryption</td>
</tr>
<tr>
<td>Web Browser</td>
<td>HTTPS observation and certificate inspection</td>
</tr>
<tr>
<td>Browser Certificate Viewer</td>
<td>Inspecting issuer, identity, and validity information</td>
</tr>
<tr>
<td><code>xxd</code> <em>(optional practice)</em></td>
<td>Understanding representation vs encryption</td>
</tr>
<tr>
<td>Python <em>(optional practice)</em></td>
<td>Reproducing Caesar shifts locally</td>
</tr>
<tr>
<td>OpenSSL <em>(optional practice)</em></td>
<td>Inspecting TLS certificates from the terminal</td>
</tr>
</tbody></table>
<hr />
<h1>Key Concepts Learned</h1>
<table>
<thead>
<tr>
<th>Concept</th>
<th>What I Took Away</th>
</tr>
</thead>
<tbody><tr>
<td>Plaintext</td>
<td>Original readable data</td>
</tr>
<tr>
<td>Ciphertext</td>
<td>Encrypted representation</td>
</tr>
<tr>
<td>Algorithm</td>
<td>Public method for transforming data</td>
</tr>
<tr>
<td>Key</td>
<td>Value controlling encryption/decryption</td>
</tr>
<tr>
<td>Symmetric Encryption</td>
<td>Same secret key on both sides</td>
</tr>
<tr>
<td>Caesar Cipher</td>
<td>Simple educational symmetric cipher</td>
</tr>
<tr>
<td>Key Distribution Problem</td>
<td>Difficulty of securely sharing a secret key</td>
</tr>
<tr>
<td>Asymmetric Encryption</td>
<td>Uses public and private keys</td>
</tr>
<tr>
<td>Public Key</td>
<td>Designed to be distributed</td>
</tr>
<tr>
<td>Private Key</td>
<td>Must remain secret</td>
</tr>
<tr>
<td>Certificate</td>
<td>Associates identity with public-key information</td>
</tr>
<tr>
<td>Hybrid Cryptography</td>
<td>Uses asymmetric and symmetric techniques together</td>
</tr>
<tr>
<td>HTTPS</td>
<td>Real-world example of cryptographic mechanisms working together</td>
</tr>
</tbody></table>
<hr />
<h1>Lessons Learned</h1>
<h2>1. The Algorithm Does Not Need to Be Secret</h2>
<p>Before this room, it is easy to imagine secure encryption as:</p>
<pre><code class="language-text">"Nobody should know how my cipher works."
</code></pre>
<p>Modern cryptography instead follows:</p>
<pre><code class="language-text">Public Algorithm
+
Secret Key
=
Security
</code></pre>
<p>The secret is the key, not the existence of the algorithm.</p>
<hr />
<h2>2. Encoding and Encryption Solve Different Problems</h2>
<p>Something that looks unreadable is not automatically encrypted.</p>
<pre><code class="language-text">Base64
Hex
URL encoding
</code></pre>
<p>change how data is represented.</p>
<p>Encryption introduces a security mechanism involving a key.</p>
<hr />
<h2>3. Symmetric Encryption Is Fast but Creates a Distribution Problem</h2>
<p>Symmetric encryption itself is extremely useful.</p>
<p>The difficult part is:</p>
<pre><code class="language-text">How do both parties securely obtain the same secret?
</code></pre>
<p>This question is what naturally motivates asymmetric cryptography.</p>
<hr />
<h2>4. Public Keys Are Supposed to Be Public</h2>
<p>This initially feels strange because cybersecurity teaches us to protect secrets.</p>
<p>But a public key is deliberately shareable.</p>
<p>The critical secret is:</p>
<pre><code class="language-text">Private Key
</code></pre>
<hr />
<h2>5. Asymmetric and Symmetric Encryption Are Partners</h2>
<p>I initially thought of them as alternatives:</p>
<pre><code class="language-text">Symmetric OR Asymmetric
</code></pre>
<p>The more useful model is:</p>
<pre><code class="language-text">Asymmetric
     +
Symmetric
     =
Practical secure communication
</code></pre>
<hr />
<h2>6. HTTPS Is Easier to Understand Once the Pieces Connect</h2>
<p>The padlock is no longer simply:</p>
<pre><code class="language-text">"This website is secure."
</code></pre>
<p>It represents a larger trust and cryptographic system involving:</p>
<pre><code class="language-text">Certificates
Public-key mechanisms
Session secrets
Symmetric encryption
</code></pre>
<hr />
<h1>My Final Mental Model</h1>
<p>If I had to remember this entire room using one diagram, it would be:</p>
<pre><code class="language-text">                 Need Confidentiality
                         |
                         v
               Encrypt the Information
                         |
                         v
                Symmetric Encryption
                         |
                 Fast and Efficient
                         |
                         v
             But How Do We Share Key?
                         |
                         v
              Asymmetric Cryptography
                    /           \
                   /             \
             Public Key       Private Key
                   \             /
                    \           /
                     v         v
               Secure Key Establishment
                         |
                         v
               Symmetric Session Key
                         |
                         v
              Fast Protected Traffic
                         |
                         v
                       HTTPS
</code></pre>
<hr />
<h1>Ethical Learning Note</h1>
<p>This article is deliberately a <strong>learning guide rather than an answer dump</strong>.</p>
<p>I have included:</p>
<pre><code class="language-text">✅ Concepts
✅ Methodology
✅ Tools
✅ Independent command examples
✅ Mental models
✅ Practical observations
</code></pre>
<p>but intentionally excluded:</p>
<pre><code class="language-text">❌ TryHackMe flags
❌ Direct room-question answers
❌ Secret Message Rescue solutions
❌ Challenge-specific submission strings
</code></pre>
<p>The aim is to document what I learned while still leaving the actual room exercises for other learners to solve themselves.</p>
<hr />
<h1>What's Next?</h1>
<p>This room gave me the conceptual foundation.</p>
<p>The natural topics to explore next are:</p>
<pre><code class="language-text">AES in greater depth
RSA
Diffie-Hellman
Elliptic Curve Cryptography
Hash Functions
Digital Signatures
TLS
Certificates
Certificate Authorities
Public Key Infrastructure
SSH Cryptography
</code></pre>
<p>The biggest improvement in my understanding came from stopping myself from memorizing isolated terms and instead asking:</p>
<blockquote>
<p><strong>What problem is this cryptographic mechanism solving?</strong></p>
</blockquote>
<p>Symmetric encryption solves <strong>efficient data protection</strong>.</p>
<p>Asymmetric cryptography helps solve <strong>key distribution and trust problems</strong>.</p>
<p>Certificates help connect <strong>public keys with identities</strong>.</p>
<p>And modern systems combine them to create practical secure communication.</p>
<hr />
<h2>Final Thought 🔐</h2>
<p>Cybersecurity becomes much easier to understand when commands are connected to concepts.</p>
<p>Knowing that a command produces ciphertext is useful.</p>
<p>Understanding:</p>
<pre><code class="language-text">Why encryption is needed
Why a key exists
Why the key must be protected
Why symmetric encryption has a distribution problem
Why asymmetric cryptography exists
Why certificates matter
Why HTTPS combines multiple techniques
</code></pre>
<p>is much more valuable.</p>
<blockquote>
<p><strong>Understand the mechanism, not just the command.</strong></p>
</blockquote>
<h2>Resources</h2>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/cryptographyconcepts?utm_source=chatgpt.com">Cryptography Concepts</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="http://cybersecurity-learning.hashnode.dev">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h2>Connect with Me</h2>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em> 🚀</p>
]]></content:encoded></item><item><title><![CDATA[TryHackMe The CIA Triad Room: Comprehensive Learning Guide & Deep Dive]]></title><description><![CDATA[Introduction
I recently completed The CIA Triad room on TryHackMe as part of the Attacks and Defenses module in the Pre Security path.
Before implementing technical controls, deploying firewalls, or p]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-the-cia-triad-room-comprehensive-learning-guide-deep-dive</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-the-cia-triad-room-comprehensive-learning-guide-deep-dive</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[CIATriad]]></category><category><![CDATA[#infosec]]></category><category><![CDATA[SecurityMindset]]></category><category><![CDATA[PreSecurity]]></category><category><![CDATA[blueteam]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Tue, 01 Sep 2026 14:18:22 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/da0f8777-cf3b-4545-984c-0ff29fe3c070.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Introduction</h2>
<p>I recently completed <strong>The CIA Triad</strong> room on TryHackMe as part of the <strong>Attacks and Defenses</strong> module in the <strong>Pre Security</strong> path.</p>
<p>Before implementing technical controls, deploying firewalls, or performing penetration testing, every security practitioner must understand <em>what</em> security actually protects. The CIA Triad acts as the universal benchmark for assessing risk, designing defensive controls, and balancing technical operations.</p>
<p>Whether evaluating a data breach, mitigating a Distributed Denial of Service (DDoS) attack, or preventing unauthorized data tampering, security decisions trace back to one or more pillars of this model.</p>
<p>In this room, I learned about:</p>
<ul>
<li><p>The core principles of Confidentiality, Integrity, and Availability</p>
</li>
<li><p>Real-world scenario analysis mapping operational conditions to the CIA Triad</p>
</li>
<li><p>Adopting a security mindset to balance protection with system usability</p>
</li>
<li><p>Counter-models like the DAD Triad (Disclosure, Alteration, Destruction)</p>
</li>
</ul>
<blockquote>
<p><strong>Note:</strong> This blog post is an educational learning summary. In compliance with TryHackMe policies and ethical guidelines, it contains no direct flag answers or walkthrough solutions.</p>
</blockquote>
<hr />
<h2>Room Information</h2>
<table>
<thead>
<tr>
<th>Category</th>
<th>Details</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Platform</strong></td>
<td>TryHackMe</td>
</tr>
<tr>
<td><strong>Room</strong></td>
<td>The CIA Triad</td>
</tr>
<tr>
<td><strong>Path</strong></td>
<td>Pre Security &gt; Attacks and Defenses</td>
</tr>
<tr>
<td><strong>Difficulty</strong></td>
<td>Easy</td>
</tr>
<tr>
<td><strong>Focus Area</strong></td>
<td>Cybersecurity Fundamentals, Security Mindset, Risk Management</td>
</tr>
<tr>
<td><strong>Estimated Time</strong></td>
<td>30 minutes</td>
</tr>
<tr>
<td><strong>Status</strong></td>
<td>Completed (100%)</td>
</tr>
<tr>
<td><strong>Blog Type</strong></td>
<td>Deep-Dive Educational Notes</td>
</tr>
</tbody></table>
<hr />
<h2>Overview of Core Concepts</h2>
<pre><code class="language-text">          [ Confidentiality ]
         /                   \
        /                     \
       /     THE CIA TRIAD     \
      /                         \
     [ Integrity ] --------- [ Availability ]
</code></pre>
<h3>1. Confidentiality</h3>
<p>Confidentiality ensures that digital assets and sensitive data are accessible only to authorized users and processes.</p>
<ul>
<li><p><strong>Impact of Failure:</strong> Unauthorized exposure leading to privacy violations, credential theft, or corporate espionage.</p>
</li>
<li><p><strong>Defensive Controls:</strong> Data encryption (AES, TLS), strict Access Control Lists (ACLs), Role-Based Access Control (RBAC), and Least Privilege policies.</p>
</li>
</ul>
<h3>2. Integrity</h3>
<p>Integrity guarantees that data remains accurate, complete, and untampered with throughout its lifecycle.</p>
<ul>
<li><p><strong>Impact of Failure:</strong> Unauthorized modification or corruption, leading to compromised financial transactions, altered system logs, or inaccurate records.</p>
</li>
<li><p><strong>Defensive Controls:</strong> Cryptographic hashing (SHA-256), digital signatures, database transaction locks, and file integrity monitoring (FIM).</p>
</li>
</ul>
<h3>3. Availability</h3>
<p>Availability ensures that systems, networks, and data remain operational and accessible to authorized parties whenever needed.</p>
<ul>
<li><p><strong>Impact of Failure:</strong> System downtime, operational disruption, financial loss, or critical service failure (e.g., healthcare or banking offline).</p>
</li>
<li><p><strong>Defensive Controls:</strong> Hardware redundancy, automated load balancing, regular off-site backups, anti-DDoS mitigation, and failover clusters.</p>
</li>
</ul>
<hr />
<h2>Hands-On &amp; Command Reference</h2>
<p>Practicing fundamental system verification commands to inspect controls across each CIA pillar:</p>
<h3>Confidentiality Inspection (Permissions &amp; Encryption Verification)</h3>
<pre><code class="language-bash"># Check file access permissions and ownership on Linux
ls -la /etc/shadow

# Verify active TLS certificate details for a web domain
openssl s_client -connect tryhackme.com:443 -tls1_3

# Inspect current file permissions on Windows Command Prompt
icacls "C:\Sensitive\Financials.txt"
</code></pre>
<h3>Integrity Verification (Hashing &amp; Signature Inspection)</h3>
<pre><code class="language-bash"># Generate SHA-256 hash to verify data integrity
sha256sum document.pdf

# Compare file checksums against known reference values
md5sum binary_file | grep "expected_hash_string"

# Check GPG signature verification for software packages
gpg --verify package.tar.gz.sig package.tar.gz
</code></pre>
<h3>Availability &amp; Health Monitoring</h3>
<pre><code class="language-bash"># Test network connectivity and response time
ping -c 4 192.168.1.1

# Monitor active network connections and listening ports
netstat -tulpn

# Inspect system resource usage (CPU, RAM, load average)
top
htop
</code></pre>
<hr />
<h2>Task Breakdown &amp; Learning Highlights</h2>
<h3>Task 1: Introduction</h3>
<p>Lays out the motivation for studying cybersecurity fundamentals.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Cybersecurity protects assets inside systems and networks, not just raw hardware.</p>
</li>
<li><p><strong>Key Learning:</strong> The goal of security is protecting information assets across storage, processing, and transmission states.</p>
</li>
</ul>
<hr />
<h3>Task 2: Understanding the CIA Triad</h3>
<p>Defines each pillar using practical, real-world examples.</p>
<table>
<thead>
<tr>
<th><strong>Scenario</strong></th>
<th><strong>Primary Pillar</strong></th>
</tr>
</thead>
<tbody><tr>
<td>Encrypting customer credit card data on a database</td>
<td><strong>Confidentiality</strong></td>
</tr>
<tr>
<td>Verifying that a downloaded ISO image matches the developer's SHA-256 hash</td>
<td><strong>Integrity</strong></td>
</tr>
<tr>
<td>Deploying high-availability load balancers across multiple data centers</td>
<td><strong>Availability</strong></td>
</tr>
<tr>
<td>Preventing unauthorized modification of employee payroll spreadsheets</td>
<td><strong>Integrity</strong></td>
</tr>
</tbody></table>
<ul>
<li><strong>Key Takeaway:</strong> Compromising any single pillar breaks the security posture, even if the other two remain intact.</li>
</ul>
<hr />
<h3>Task 3: The Security Mindset</h3>
<p>Explores how security analysts balance controls without breaking business usability.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Perfect security that makes a system unusable is a operational failure.</p>
</li>
<li><p><strong>Key Learning:</strong> Developing a security mindset involves continuously evaluating threats, business requirements, and operational risk.</p>
</li>
</ul>
<hr />
<h3>Task 4: Conclusion</h3>
<p>Summarizes the key concepts and bridges them to advanced security frameworks like STRIDE, CVSS, and ISO/IEC 19249.</p>
<hr />
<h2>Defensive &amp; Security Analyst Perspective</h2>
<p>Security Analysts use the CIA Triad to categorize threats and measure attack impact:</p>
<h3>The DAD Triad (The Threat Neutral)</h3>
<p>Attacks directly map as inverted opposites of the CIA Triad:</p>
<ol>
<li><p><strong>Disclosure</strong> (Opposite of Confidentiality): Data breach or unauthorized exposure.</p>
</li>
<li><p><strong>Alteration</strong> (Opposite of Integrity): Data tampering, ransomware encryption, or log modification.</p>
</li>
<li><p><strong>Denial</strong> (Opposite of Availability): Denial of Service (DoS) attacks or ransomware wiping system disks.</p>
</li>
</ol>
<hr />
<h3>Applying CVSS Impact Scoring</h3>
<p>Common Vulnerability Scoring System (CVSS) metrics rate vulnerabilities directly against <strong>C</strong>, <strong>I</strong>, and <strong>A</strong> impacts (None, Low, High).</p>
<hr />
<h2>What I Learned</h2>
<ul>
<li><p><strong>Pillar Alignment:</strong> How technical controls like encryption (Confidentiality), hashing (Integrity), and redundancy (Availability) map directly to business risks.</p>
</li>
<li><p><strong>The Balancing Act:</strong> Security controls must preserve operational usability while maintaining strict protection boundaries.</p>
</li>
<li><p><strong>Threat Mapping:</strong> Translating attack outcomes into the DAD model for incident response triage.</p>
</li>
</ul>
<hr />
<h2>Conclusion</h2>
<p>Completing <strong>The CIA Triad</strong> room reinforced the essential mindset needed for cybersecurity. Understanding these three core pillars provides the framework for assessing vulnerabilities, configuring system defenses, and designing resilient enterprise security architectures.</p>
<hr />
<h2>Resources</h2>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/theciatriad">The CIA Triad</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h2>Connect with Me</h2>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><em>Happy Learning!</em></p>
]]></content:encoded></item><item><title><![CDATA[TryHackMe Intro to LAN: Comprehensive Learning Guide & Deep Dive]]></title><description><![CDATA[Introduction
I recently completed the Intro to LAN room on TryHackMe as part of the Network Fundamentals module in the Pre Security path.
Local Area Networks form the backbone of modern IT infrastruct]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-intro-to-lan-comprehensive-learning-guide-deep-dive</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-intro-to-lan-comprehensive-learning-guide-deep-dive</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[networking]]></category><category><![CDATA[IntroToLAN]]></category><category><![CDATA[ARP]]></category><category><![CDATA[dhcp]]></category><category><![CDATA[subnetting]]></category><category><![CDATA[PreSecurity]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Mon, 31 Aug 2026 14:49:33 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/19cfec4d-19d2-425e-8a93-13835f15e5ff.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Introduction</h2>
<p>I recently completed the <strong>Intro to LAN</strong> room on TryHackMe as part of the <strong>Network Fundamentals</strong> module in the <strong>Pre Security</strong> path.</p>
<p>Local Area Networks form the backbone of modern IT infrastructure. Whether performing internal penetration testing, investigating lateral movement, responding to network incidents, or analyzing packet captures, cybersecurity professionals need a strong understanding of how devices discover, address, and communicate with each other on a local network.</p>
<p>The <strong>Intro to LAN</strong> room introduces fundamental networking concepts including physical network topologies, IPv4 addressing and subnetting, Address Resolution Protocol (ARP), and Dynamic Host Configuration Protocol (DHCP).</p>
<p>In this room, I learned about:</p>
<ul>
<li><p>LAN physical and logical topologies</p>
</li>
<li><p>Star, Bus, Ring, and Mesh topologies</p>
</li>
<li><p>IPv4 subnetting and subnet masks</p>
</li>
<li><p>CIDR notation such as <code>/24</code> and <code>/16</code></p>
</li>
<li><p>Network ID and Broadcast Address</p>
</li>
<li><p>ARP requests, replies, and ARP cache</p>
</li>
<li><p>DHCP and the DORA process</p>
</li>
<li><p>Network inspection commands</p>
</li>
<li><p>Basic packet analysis using tools such as <code>tcpdump</code> and Wireshark</p>
</li>
<li><p>Security risks such as ARP spoofing and Rogue DHCP servers</p>
</li>
</ul>
<blockquote>
<p><strong>Note:</strong> This blog post is an educational learning summary. It does not contain direct flag answers, walkthrough solutions, or proprietary TryHackMe assessment materials.</p>
</blockquote>
<hr />
<h2>Room Information</h2>
<table>
<thead>
<tr>
<th>Category</th>
<th>Details</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Platform</strong></td>
<td>TryHackMe</td>
</tr>
<tr>
<td><strong>Room</strong></td>
<td>Intro to LAN</td>
</tr>
<tr>
<td><strong>Path</strong></td>
<td>Pre Security → Network Fundamentals</td>
</tr>
<tr>
<td><strong>Difficulty</strong></td>
<td>Easy</td>
</tr>
<tr>
<td><strong>Learning Type</strong></td>
<td>Computer Networking Fundamentals</td>
</tr>
<tr>
<td><strong>Focus Area</strong></td>
<td>Network Topologies, Subnetting, ARP, DHCP</td>
</tr>
<tr>
<td><strong>Estimated Time</strong></td>
<td>15 minutes</td>
</tr>
<tr>
<td><strong>Status</strong></td>
<td>Completed</td>
</tr>
<tr>
<td><strong>Blog Type</strong></td>
<td>Educational Learning Notes</td>
</tr>
</tbody></table>
<hr />
<h1>Overview of Core Concepts</h1>
<h2>1. Network Topologies</h2>
<p>A network topology describes how devices are arranged and connected within a network.</p>
<h3>Star Topology</h3>
<p>In a <strong>Star topology</strong>, all endpoints connect to a central networking device such as a switch.</p>
<p><strong>Advantages:</strong></p>
<ul>
<li><p>Easy to manage</p>
</li>
<li><p>Easy to troubleshoot</p>
</li>
<li><p>Failure of one endpoint cable normally affects only that device</p>
</li>
<li><p>Easy to expand</p>
</li>
</ul>
<p><strong>Disadvantage:</strong></p>
<ul>
<li>Failure of the central device can affect the entire network</li>
</ul>
<p>Star topology is widely used in modern Ethernet LAN environments.</p>
<h3>Bus Topology</h3>
<p>A <strong>Bus topology</strong> connects multiple devices to a single shared backbone cable.</p>
<p>It was commonly used in older Ethernet networks.</p>
<p><strong>Disadvantages:</strong></p>
<ul>
<li><p>Shared communication medium</p>
</li>
<li><p>Collision problems</p>
</li>
<li><p>Difficult troubleshooting</p>
</li>
<li><p>Backbone failure can affect the entire network</p>
</li>
</ul>
<h3>Ring Topology</h3>
<p>In a <strong>Ring topology</strong>, each device connects to two neighboring devices, forming a circular structure.</p>
<p>Data can travel around the ring from one device to another.</p>
<p>A failure in the ring can disrupt communication unless redundancy is implemented.</p>
<h3>Mesh Topology</h3>
<p>A <strong>Mesh topology</strong> provides multiple connections between network devices.</p>
<p>This provides high redundancy and fault tolerance.</p>
<p><strong>Advantages:</strong></p>
<ul>
<li><p>Excellent resilience</p>
</li>
<li><p>Multiple communication paths</p>
</li>
<li><p>No single path failure necessarily disconnects devices</p>
</li>
</ul>
<p><strong>Disadvantages:</strong></p>
<ul>
<li><p>Expensive</p>
</li>
<li><p>Complex cabling</p>
</li>
<li><p>More difficult to maintain</p>
</li>
</ul>
<hr />
<h1>2. IPv4 Subnetting &amp; CIDR</h1>
<p>Subnetting divides a larger IP network into smaller logical networks.</p>
<p>For example:</p>
<pre><code class="language-text">192.168.1.0/24
</code></pre>
<p>The <code>/24</code> indicates that the first 24 bits represent the network portion of the address.</p>
<p>The remaining 8 bits are available for hosts.</p>
<h3>Subnet Mask</h3>
<p>A <code>/24</code> network corresponds to:</p>
<pre><code class="language-text">255.255.255.0
</code></pre>
<p>This provides:</p>
<pre><code class="language-text">Total addresses = 256
Usable host addresses = 254
</code></pre>
<p>The two unavailable addresses are normally:</p>
<ul>
<li><p>Network address</p>
</li>
<li><p>Broadcast address</p>
</li>
</ul>
<p>For example:</p>
<pre><code class="language-text">Network:   192.168.1.0
Hosts:     192.168.1.1 - 192.168.1.254
Broadcast: 192.168.1.255
</code></pre>
<h3>Important Subnetting Terms</h3>
<p><strong>Network ID</strong></p>
<p>The first address of a subnet used to identify the network itself.</p>
<p><strong>Broadcast Address</strong></p>
<p>The last address of a subnet used to communicate with all hosts within that subnet.</p>
<p><strong>Host Address</strong></p>
<p>An address assigned to an individual device.</p>
<p><strong>CIDR</strong></p>
<p>Classless Inter-Domain Routing notation represents the number of network bits using a prefix such as:</p>
<pre><code class="language-text">/24
/16
/28
/30
</code></pre>
<hr />
<h1>3. Address Resolution Protocol (ARP)</h1>
<p><strong>ARP (Address Resolution Protocol)</strong> is used to map an IPv4 address to a MAC address on a local network.</p>
<p>A device may know the destination IP address but still need the destination MAC address to construct an Ethernet frame.</p>
<h3>ARP Request</h3>
<p>Suppose a computer wants to communicate with:</p>
<pre><code class="language-text">192.168.1.10
</code></pre>
<p>but does not know its MAC address.</p>
<p>It sends an ARP request as a broadcast:</p>
<pre><code class="language-text">Who has 192.168.1.10?
Tell 192.168.1.5
</code></pre>
<p>The Ethernet destination address is:</p>
<pre><code class="language-text">FF:FF:FF:FF:FF:FF
</code></pre>
<p>This broadcast reaches other devices on the local Layer 2 network.</p>
<h3>ARP Reply</h3>
<p>The device that owns the requested IP responds with its MAC address.</p>
<p>Conceptually:</p>
<pre><code class="language-text">192.168.1.10 is at AA:BB:CC:DD:EE:FF
</code></pre>
<p>The response is normally sent directly back to the requesting device.</p>
<h3>ARP Cache</h3>
<p>Operating systems maintain an ARP cache containing recently learned IP-to-MAC mappings.</p>
<p>Example:</p>
<pre><code class="language-text">192.168.1.1    AA:BB:CC:DD:EE:01
192.168.1.10   AA:BB:CC:DD:EE:02
</code></pre>
<p>This prevents the system from needing to perform an ARP request every time it communicates with another local device.</p>
<hr />
<h1>4. Dynamic Host Configuration Protocol (DHCP)</h1>
<p>DHCP automatically provides network configuration information to clients.</p>
<p>Instead of manually configuring every computer with an IP address, administrators can use a DHCP server.</p>
<p>DHCP can provide:</p>
<ul>
<li><p>IP address</p>
</li>
<li><p>Subnet mask</p>
</li>
<li><p>Default gateway</p>
</li>
<li><p>DNS server</p>
</li>
<li><p>Lease duration</p>
</li>
</ul>
<p>The standard DHCP process is commonly remembered using the acronym <strong>DORA</strong>.</p>
<h2>DHCP DORA Process</h2>
<h3>1. Discover</h3>
<p>The client broadcasts a DHCP Discover message to find available DHCP servers.</p>
<pre><code class="language-text">Client → Broadcast → DHCP Server
</code></pre>
<h3>2. Offer</h3>
<p>A DHCP server responds with an available IP configuration.</p>
<pre><code class="language-text">DHCP Server → Client
</code></pre>
<h3>3. Request</h3>
<p>The client requests the offered configuration.</p>
<pre><code class="language-text">Client → DHCP Server
</code></pre>
<h3>4. Acknowledge</h3>
<p>The DHCP server confirms the lease.</p>
<pre><code class="language-text">DHCP Server → Client
</code></pre>
<p>The client can then configure its network interface and communicate normally.</p>
<hr />
<h1>Hands-On &amp; Command Reference</h1>
<h2>Linux Network Inspection</h2>
<h3>Display Network Interfaces</h3>
<pre><code class="language-bash">ip addr show
</code></pre>
<p>The older command is:</p>
<pre><code class="language-bash">ifconfig
</code></pre>
<p>These commands can be used to inspect network interfaces and IP addresses.</p>
<hr />
<h2>View the ARP Cache</h2>
<p>Linux:</p>
<pre><code class="language-bash">arp -a
</code></pre>
<p>Windows:</p>
<pre><code class="language-cmd">arp -a
</code></pre>
<p>This displays known IP-to-MAC address mappings.</p>
<hr />
<h2>Send an ARP Request</h2>
<p>Using <code>arping</code>:</p>
<pre><code class="language-bash">arping -I eth0 192.168.1.1
</code></pre>
<p>This can be useful for testing Layer 2 connectivity and ARP resolution.</p>
<hr />
<h2>DHCP Lease Information</h2>
<p>A DHCP client can be run in verbose mode using:</p>
<pre><code class="language-bash">dhclient -v eth0
</code></pre>
<p>Depending on the Linux distribution and network management system, DHCP may instead be handled by NetworkManager, <code>systemd-networkd</code>, or another service.</p>
<hr />
<h2>Windows DHCP Commands</h2>
<p>Release the current DHCP lease:</p>
<pre><code class="language-cmd">ipconfig /release
</code></pre>
<p>Request a new DHCP lease:</p>
<pre><code class="language-cmd">ipconfig /renew
</code></pre>
<p>Display detailed network configuration:</p>
<pre><code class="language-cmd">ipconfig /all
</code></pre>
<hr />
<h1>Packet Analysis</h1>
<p>Understanding packets is extremely useful for cybersecurity and network troubleshooting.</p>
<h2>Capture ARP Traffic with tcpdump</h2>
<pre><code class="language-bash">sudo tcpdump -i eth0 -n arp
</code></pre>
<p>This captures ARP packets on the specified interface.</p>
<hr />
<h2>Capture DHCP Traffic</h2>
<p>DHCP commonly uses UDP ports <strong>67 and 68</strong>.</p>
<pre><code class="language-bash">sudo tcpdump -i eth0 -n "udp port 67 or udp port 68"
</code></pre>
<p>This allows you to observe DHCP communication.</p>
<hr />
<h1>Wireshark ARP Filters</h1>
<p>To display ARP requests:</p>
<pre><code class="language-text">arp.opcode == 1
</code></pre>
<p>To display ARP replies:</p>
<pre><code class="language-text">arp.opcode == 2
</code></pre>
<p>Wireshark makes it possible to inspect individual packets and understand how devices communicate at the protocol level.</p>
<hr />
<h1>Subnetting Quick Reference</h1>
<table>
<thead>
<tr>
<th>CIDR Prefix</th>
<th>Subnet Mask</th>
<th>Total IPs</th>
<th>Usable Hosts</th>
<th>Example Use Case</th>
</tr>
</thead>
<tbody><tr>
<td><code>/24</code></td>
<td><code>255.255.255.0</code></td>
<td>256</td>
<td>254</td>
<td>Standard LAN</td>
</tr>
<tr>
<td><code>/25</code></td>
<td><code>255.255.255.128</code></td>
<td>128</td>
<td>126</td>
<td>Smaller department</td>
</tr>
<tr>
<td><code>/28</code></td>
<td><code>255.255.255.240</code></td>
<td>16</td>
<td>14</td>
<td>Small server subnet</td>
</tr>
<tr>
<td><code>/30</code></td>
<td><code>255.255.255.252</code></td>
<td>4</td>
<td>2</td>
<td>Point-to-point link</td>
</tr>
</tbody></table>
<blockquote>
<p><strong>Note:</strong> The usual "total addresses minus 2" rule applies to traditional IPv4 host subnets. There are exceptions and special-purpose subnet sizes, so always consider the specific networking context.</p>
</blockquote>
<hr />
<h1>Task Breakdown &amp; Learning Highlights</h1>
<h2>Task 1: Introducing LAN Topologies</h2>
<p>This section introduces different ways of physically and logically connecting devices.</p>
<h3>What This Task Teaches</h3>
<ul>
<li><p>Differences between network topologies</p>
</li>
<li><p>Advantages and disadvantages of each topology</p>
</li>
<li><p>How topology affects reliability</p>
</li>
<li><p>How network structure affects troubleshooting</p>
</li>
</ul>
<h3>Key Learning</h3>
<p>Star topology is commonly used in modern Ethernet LANs because switches provide centralized connectivity and make individual endpoint failures easier to isolate.</p>
<h3>Key Takeaway</h3>
<p>Network topology has a direct impact on:</p>
<ul>
<li><p>Scalability</p>
</li>
<li><p>Maintenance</p>
</li>
<li><p>Fault isolation</p>
</li>
<li><p>Network reliability</p>
</li>
<li><p>Cost</p>
</li>
</ul>
<hr />
<h1>Task 2: A Primer on Subnetting</h1>
<p>Subnetting is one of the most important networking concepts for cybersecurity professionals.</p>
<h3>What This Task Teaches</h3>
<ul>
<li><p>IP addressing</p>
</li>
<li><p>Subnet masks</p>
</li>
<li><p>CIDR notation</p>
</li>
<li><p>Network boundaries</p>
</li>
<li><p>Network and broadcast addresses</p>
</li>
</ul>
<h3>Key Learning</h3>
<p>A host uses its subnet mask to determine whether a destination IP address is on the local subnet.</p>
<p>If the destination is local, the host can communicate directly at Layer 2.</p>
<p>If the destination is on another network, traffic is normally sent to the default gateway for routing.</p>
<h3>Key Takeaway</h3>
<p>Subnetting allows organizations to divide networks into smaller broadcast domains and implement logical segmentation.</p>
<hr />
<h1>Task 3: ARP</h1>
<p>ARP explains how devices translate IPv4 addresses into MAC addresses on a local network.</p>
<h3>What This Task Teaches</h3>
<ul>
<li><p>ARP requests</p>
</li>
<li><p>ARP replies</p>
</li>
<li><p>MAC addresses</p>
</li>
<li><p>ARP cache</p>
</li>
<li><p>Layer 2 and Layer 3 interaction</p>
</li>
</ul>
<h3>Key Learning</h3>
<p>Before sending an IPv4 packet directly to another host on the local subnet, a device generally needs to know the destination MAC address.</p>
<p>The device can learn this information through ARP.</p>
<h3>Key Takeaway</h3>
<p>ARP is essential for IPv4 communication on Ethernet networks, but traditional ARP does not provide authentication.</p>
<p>This creates opportunities for attacks such as:</p>
<p><strong>ARP Spoofing / ARP Cache Poisoning</strong></p>
<hr />
<h1>Task 4: DHCP</h1>
<p>DHCP explains how devices automatically receive their network configuration.</p>
<h3>What This Task Teaches</h3>
<ul>
<li><p>DHCP Discover</p>
</li>
<li><p>DHCP Offer</p>
</li>
<li><p>DHCP Request</p>
</li>
<li><p>DHCP Acknowledge</p>
</li>
<li><p>IP address leasing</p>
</li>
<li><p>Default gateway and DNS configuration</p>
</li>
</ul>
<h3>Key Learning</h3>
<p>The DORA process allows an unconfigured device to obtain the information required to participate in the network.</p>
<h3>Key Takeaway</h3>
<p>DHCP simplifies network administration, but unauthorized DHCP servers can become a security risk.</p>
<p>A rogue DHCP server could potentially provide incorrect:</p>
<ul>
<li><p>IP configuration</p>
</li>
<li><p>Default gateway</p>
</li>
<li><p>DNS server</p>
</li>
</ul>
<p>This could redirect network traffic or interfere with normal communication.</p>
<hr />
<h1>Task 5: Continue Your Learning — OSI Model</h1>
<p>The concepts in this room connect closely to the <strong>OSI model</strong>.</p>
<table>
<thead>
<tr>
<th>OSI Layer</th>
<th>Example Concept</th>
</tr>
</thead>
<tbody><tr>
<td>Layer 1 — Physical</td>
<td>Cables, electrical/optical signals</td>
</tr>
<tr>
<td>Layer 2 — Data Link</td>
<td>Ethernet, MAC addresses, switches, ARP</td>
</tr>
<tr>
<td>Layer 3 — Network</td>
<td>IPv4, subnetting, routers</td>
</tr>
</tbody></table>
<p>Understanding these layers makes it easier to troubleshoot network problems and analyze security incidents.</p>
<hr />
<h1>Defensive &amp; Security Analyst Perspective</h1>
<p>Learning networking fundamentals is extremely important for cybersecurity.</p>
<p>Here are some practical security applications of the concepts covered in this room.</p>
<h2>1. Detecting ARP Spoofing</h2>
<p>ARP does not inherently authenticate the source of ARP messages.</p>
<p>An attacker on the same local network may attempt to manipulate ARP caches so that their MAC address becomes associated with another IP address, such as the default gateway.</p>
<p>This can enable <strong>Man-in-the-Middle (MitM)</strong> attacks.</p>
<h3>Defensive Techniques</h3>
<p>Security teams can monitor for:</p>
<ul>
<li><p>Unexpected IP-to-MAC changes</p>
</li>
<li><p>Multiple MAC addresses claiming the same IP</p>
</li>
<li><p>Suspicious ARP traffic</p>
</li>
<li><p>Unexpected gateway MAC changes</p>
</li>
</ul>
<p>Enterprise switches may also support technologies such as <strong>Dynamic ARP Inspection (DAI)</strong>.</p>
<hr />
<h1>2. Rogue DHCP Server Detection</h1>
<p>A rogue DHCP server is an unauthorized device providing DHCP configuration to network clients.</p>
<p>For example, an attacker or incorrectly configured device could respond to DHCP requests and provide a malicious gateway or DNS server.</p>
<h3>Defensive Technique</h3>
<p>Network administrators can use <strong>DHCP Snooping</strong> on supported switches.</p>
<p>DHCP Snooping can help identify trusted DHCP server ports and block unauthorized DHCP responses from untrusted ports.</p>
<hr />
<h1>3. Network Segmentation</h1>
<p>Subnetting and VLANs can be used to logically separate different groups of devices.</p>
<p>For example:</p>
<pre><code class="language-text">User Network
     |
     +---- Workstations

Server Network
     |
     +---- Application Servers

Management Network
     |
     +---- Network Devices
</code></pre>
<p>Security controls such as firewalls and ACLs can then restrict communication between these segments.</p>
<p>This helps reduce the potential impact of a compromised endpoint.</p>
<hr />
<h1>What I Learned</h1>
<p>Completing the <strong>Intro to LAN</strong> room helped me strengthen several networking fundamentals.</p>
<h3>1. Network Topologies</h3>
<p>I learned how Star, Bus, Ring, and Mesh topologies differ and how their design affects reliability, maintenance, and scalability.</p>
<h3>2. Subnetting</h3>
<p>I learned how subnet masks and CIDR notation determine network boundaries, host ranges, and broadcast addresses.</p>
<h3>3. ARP</h3>
<p>I learned how IPv4 addresses are resolved to MAC addresses on local networks and how ARP caching improves communication efficiency.</p>
<h3>4. DHCP</h3>
<p>I learned the DORA process:</p>
<pre><code class="language-text">Discover → Offer → Request → Acknowledge
</code></pre>
<p>and how DHCP automatically provides clients with network configuration.</p>
<h3>5. Packet Analysis</h3>
<p>I also learned how tools such as <code>tcpdump</code> and Wireshark can be used to inspect ARP and DHCP traffic.</p>
<h3>6. Security Perspective</h3>
<p>Most importantly, I connected these networking concepts with real cybersecurity risks such as:</p>
<ul>
<li><p>ARP Spoofing</p>
</li>
<li><p>ARP Cache Poisoning</p>
</li>
<li><p>Man-in-the-Middle attacks</p>
</li>
<li><p>Rogue DHCP servers</p>
</li>
<li><p>Network reconnaissance</p>
</li>
<li><p>Poor network segmentation</p>
</li>
</ul>
<hr />
<h1>Conclusion</h1>
<p>Completing the <strong>TryHackMe Intro to LAN</strong> room gave me a stronger foundation in local area networking and helped me understand how devices communicate within a network.</p>
<p>The room covered important concepts including:</p>
<ul>
<li><p>Network topologies</p>
</li>
<li><p>IPv4 addressing</p>
</li>
<li><p>Subnetting</p>
</li>
<li><p>CIDR</p>
</li>
<li><p>ARP</p>
</li>
<li><p>DHCP</p>
</li>
<li><p>Packet analysis</p>
</li>
<li><p>Network segmentation</p>
</li>
</ul>
<p>These concepts are fundamental to cybersecurity because many security activities depend on understanding how network communication actually works.</p>
<p>Whether investigating suspicious traffic, analyzing an internal network, performing penetration testing, or responding to a security incident, strong networking knowledge is essential.</p>
<p>This room was a useful step in my ongoing cybersecurity learning journey, and I plan to continue building my knowledge through additional TryHackMe networking and security rooms.</p>
<hr />
<h1>Resources</h1>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/introtolan">https://tryhackme.com/room/introtolan</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">https://tryhackme.com/p/sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">https://github.com/SunnySharma04/tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">https://cybersecurity-learning.hashnode.dev/</a></p>
</li>
</ul>
<hr />
<h1>Connect With Me</h1>
<p>If you're also learning cybersecurity, networking, penetration testing, or working through TryHackMe, feel free to connect and share your learning journey.</p>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">https://tryhackme.com/p/sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">https://github.com/SunnySharma04/tryhackme-writeups</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">https://cybersecurity-learning.hashnode.dev/</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a/">https://www.linkedin.com/in/sunny-sharma-2487312a/</a></p>
</li>
</ul>
<hr />
<p><strong>Happy Learning! 🚀🔐</strong></p>
]]></content:encoded></item><item><title><![CDATA[TryHackMe Data Encoding Room: Comprehensive Learning Guide & Deep Dive]]></title><description><![CDATA[Introduction
I recently completed the Data Encoding room on TryHackMe within the Software Basics section of the Pre Security path.
In cybersecurity, data encoding is a fundamental mechanism used to tr]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-data-encoding-room-comprehensive-learning-guide-deep-dive</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-data-encoding-room-comprehensive-learning-guide-deep-dive</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[Data Encoding]]></category><category><![CDATA[ascii]]></category><category><![CDATA[unicode]]></category><category><![CDATA[Base64]]></category><category><![CDATA[Software Basics]]></category><category><![CDATA[Pre Security]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Sun, 30 Aug 2026 14:15:10 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/51cd3efc-ad71-4e47-a9a2-1b1af08073ad.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Introduction</h2>
<p>I recently completed the <strong>Data Encoding</strong> room on TryHackMe within the <strong>Software Basics</strong> section of the <strong>Pre Security</strong> path.</p>
<p>In cybersecurity, data encoding is a fundamental mechanism used to translate human-readable characters and complex data structures into byte representations suitable for storage, transmission, and rendering across digital systems.</p>
<p>Understanding character sets and encoding formats is essential for log analysis, web application security, malware analysis, and identifying evasion techniques such as Base64 obfuscation or double encoding.</p>
<p>This room covers character encoding history, the structure of ASCII, variable-length Unicode encodings (UTF-8/UTF-16/UTF-32), Base64 data encoding, and command-line methodologies for encoding and decoding raw data streams.</p>
<h3>In this room, I learned:</h3>
<ul>
<li><p>Fundamental character encoding principles</p>
</li>
<li><p>ASCII and its 7-bit and 8-bit character mapping</p>
</li>
<li><p>Unicode Transformation Formats (UTF-8, UTF-16, UTF-32)</p>
</li>
<li><p>Base64 encoding algorithms and padding schemes (<code>=</code>)</p>
</li>
<li><p>Command-line tools and scripting techniques for encoding and decoding</p>
</li>
</ul>
<blockquote>
<p><strong>Note:</strong> This blog post is an educational learning summary. In compliance with TryHackMe policies and ethical guidelines, it contains no direct flag answers, walkthrough solutions, or proprietary room assessment materials.</p>
</blockquote>
<hr />
<h2>Room Information</h2>
<table>
<thead>
<tr>
<th>Category</th>
<th>Details</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Platform</strong></td>
<td>TryHackMe</td>
</tr>
<tr>
<td><strong>Room</strong></td>
<td>Data Encoding</td>
</tr>
<tr>
<td><strong>Path</strong></td>
<td>Pre Security &gt; Software Basics</td>
</tr>
<tr>
<td><strong>Difficulty</strong></td>
<td>Easy</td>
</tr>
<tr>
<td><strong>Learning Type</strong></td>
<td>Computer Science Fundamentals &amp; Data Formats</td>
</tr>
<tr>
<td><strong>Focus Area</strong></td>
<td>Character Encoding, ASCII, Unicode, UTF-8, Base64</td>
</tr>
<tr>
<td><strong>Estimated Time</strong></td>
<td>45 minutes</td>
</tr>
<tr>
<td><strong>Status</strong></td>
<td>Completed (100%)</td>
</tr>
<tr>
<td><strong>Blog Type</strong></td>
<td>Deep-Dive Educational Notes</td>
</tr>
</tbody></table>
<hr />
<h2>Overview of Core Concepts</h2>
<h3>1. Data Encoding vs. Encryption vs. Hashing</h3>
<ul>
<li><p><strong>Encoding:</strong> A reversible transformation of data into a standardized format using a publicly known algorithm, such as ASCII, Base64, or UTF-8. It requires no secret key and is designed for system interoperability, not confidentiality.</p>
</li>
<li><p><strong>Encryption:</strong> A reversible security transformation designed to preserve confidentiality using a secret key, such as AES or RSA.</p>
</li>
<li><p><strong>Hashing:</strong> A one-way cryptographic function that maps input data of arbitrary size to a fixed-size digest, such as SHA-256 or MD5.</p>
</li>
</ul>
<h3>2. Character Sets &amp; Encodings</h3>
<ul>
<li><p><strong>ASCII:</strong> Uses 7 bits (0 to 127) to represent basic English characters, numbers, control codes, and symbols. Extended ASCII utilizes 8 bits (0 to 255) to support additional characters.</p>
</li>
<li><p><strong>Unicode:</strong> A universal character standard designed to represent characters across international written languages and symbols.</p>
</li>
<li><p><strong>UTF-8:</strong> A variable-length Unicode encoding scheme using 1 to 4 bytes per character. It is backward-compatible with 7-bit ASCII.</p>
</li>
<li><p><strong>UTF-16 &amp; UTF-32:</strong> Unicode encodings using 2 or 4 bytes (UTF-16) or a fixed 4 bytes (UTF-32) per code point.</p>
</li>
</ul>
<h3>3. Base64 Encoding</h3>
<p><strong>Base64</strong> is an encoding scheme that converts binary data into an ASCII string format using 64 printable characters:</p>
<p><code>A-Z</code>, <code>a-z</code>, <code>0-9</code>, <code>+</code>, <code>/</code></p>
<p>Base64 uses the <code>=</code> symbol as padding when the input binary data is not evenly divisible into 24-bit groups.</p>
<hr />
<h2>Hands-On &amp; Command Reference</h2>
<h3>Command-Line Encoding &amp; Decoding</h3>
<pre><code class="language-bash"># Encode text string to Base64
echo -n "CyberSecurity" | base64

# Decode a Base64 encoded string
echo "Q3liZXJTZWN1cml0eQ==" | base64 -d

# Convert string to Hexadecimal representation using xxd
echo -n "TryHackMe" | xxd -p

# Decode Hexadecimal string back to raw text
echo "5472794861636b4d65" | xxd -p -r

# Inspect ASCII/Byte layout of a text file
od -c input.txt
hexdump -C payload.bin
</code></pre>
<hr />
<h2>Python Data Transformation Snippets</h2>
<h3>ASCII / Ordinal Value Conversions</h3>
<pre><code class="language-python">char = 'A'
ascii_val = ord(char)
char_back = chr(ascii_val)

print(ascii_val)
print(char_back)
</code></pre>
<h3>Base64 Encoding and Decoding in Python</h3>
<pre><code class="language-python">import base64

raw_data = b"PreSecurity"

encoded = base64.b64encode(raw_data)
decoded = base64.b64decode(encoded)

print(f"Encoded: {encoded.decode()}")
print(f"Decoded: {decoded.decode()}")
</code></pre>
<p>Output:</p>
<pre><code class="language-text">Encoded: UHJlU2VjdXJpdHk=
Decoded: PreSecurity
</code></pre>
<h3>UTF-8 Byte Inspection</h3>
<pre><code class="language-python">string_data = "Security"

utf8_bytes = string_data.encode('utf-8')
hex_bytes = utf8_bytes.hex()

print(f"Hex: {hex_bytes}")
</code></pre>
<p>Output:</p>
<pre><code class="language-text">Hex: 5365637572697479
</code></pre>
<hr />
<h2>Key Encoding Formats &amp; Syntax Explained</h2>
<table>
<thead>
<tr>
<th>Format</th>
<th>Structure / Character Set</th>
<th>Common Use Case</th>
<th>Security Context</th>
</tr>
</thead>
<tbody><tr>
<td><strong>ASCII</strong></td>
<td>7/8-Bit (0–127 / 255)</td>
<td>Standard Terminal Text</td>
<td>Low-level terminal payloads &amp; shell scripts</td>
</tr>
<tr>
<td><strong>UTF-8</strong></td>
<td>1 to 4 Bytes (Variable)</td>
<td>Modern Web &amp; Operating Systems</td>
<td>Web Application input validation</td>
</tr>
<tr>
<td><strong>Base64</strong></td>
<td><code>A-Z</code>, <code>a-z</code>, <code>0-9</code>, <code>+</code>, <code>/</code>, <code>=</code></td>
<td>Email attachments, API Tokens, Web Data</td>
<td>Payload obfuscation</td>
</tr>
<tr>
<td><strong>URL / Percent</strong></td>
<td><code>%XX</code> (Hex representation)</td>
<td>HTTP Request Query Parameters</td>
<td>Web security and parameter analysis</td>
</tr>
</tbody></table>
<hr />
<h2>Task Breakdown &amp; Learning Highlights</h2>
<h3>Task 1: Introduction</h3>
<p>The first task introduces the necessity of encoding systems in modern computing and highlights the distinction between human-readable text and computer-readable byte streams.</p>
<p><strong>What This Task Teaches:</strong></p>
<p>Computers process numbers, while encoding standards map human characters to numerical representations.</p>
<p><strong>Key Learning:</strong></p>
<p>Encoding ensures different computer architectures, operating systems, and web servers process text consistently without data corruption.</p>
<p><strong>Key Takeaway:</strong></p>
<blockquote>
<p>Encoding is for interoperability, not confidentiality.</p>
</blockquote>
<hr />
<h3>Task 2: ASCII</h3>
<p>This task explores the <strong>American Standard Code for Information Interchange (ASCII)</strong> standard.</p>
<p><strong>What This Task Teaches:</strong></p>
<ul>
<li><p>Standard 7-bit ASCII maps 128 distinct characters (<code>2^7</code>).</p>
</li>
<li><p>It includes printable characters as well as non-printable control characters such as <code>CR</code>, <code>LF</code>, and <code>NULL</code>.</p>
</li>
<li><p>Extended 8-bit ASCII provides up to 256 possible values.</p>
</li>
</ul>
<p><strong>Key Learning:</strong></p>
<p>In ASCII:</p>
<ul>
<li><p>Uppercase letters start at decimal <code>65</code> (<code>A</code>)</p>
</li>
<li><p>Lowercase letters start at decimal <code>97</code> (<code>a</code>)</p>
</li>
<li><p>Numbers start at decimal <code>48</code> (<code>0</code>)</p>
</li>
</ul>
<p><strong>Key Takeaway:</strong></p>
<p>Binary value comparisons between characters, such as case checks, rely on offset calculations in ASCII tables.</p>
<hr />
<h3>Task 3: Unicode</h3>
<p>Unicode provides a universal character standard designed to unify character representations across different languages and symbol sets.</p>
<p><strong>What This Task Teaches:</strong></p>
<ul>
<li><p>Unicode assigns a unique <strong>Code Point</strong> to characters.</p>
</li>
<li><p>For example, <code>U+0041</code> represents <code>A</code>.</p>
</li>
<li><p><strong>UTF-8</strong> uses a variable number of bytes and remains backward-compatible with ASCII.</p>
</li>
<li><p>UTF-8 can use 1 to 4 bytes depending on the character.</p>
</li>
<li><p><strong>UTF-16</strong> and <strong>UTF-32</strong> provide alternative Unicode encoding formats.</p>
</li>
</ul>
<p><strong>Key Learning:</strong></p>
<p>UTF-8 is widely used across the modern web and supports characters from many writing systems.</p>
<p><strong>Key Takeaway:</strong></p>
<p>Understanding multi-byte UTF-8 sequences is important when analyzing applications that process user-controlled text and byte streams.</p>
<hr />
<h3>Task 4: Conclusion</h3>
<p>The final task summarizes how character encoding standards connect with security operations, reverse engineering, and web application assessments.</p>
<hr />
<h2>Defensive &amp; Security Analyst Perspective</h2>
<p>Understanding encoding formats is useful for SOC analysts, threat hunters, penetration testers, and security researchers.</p>
<h3>1. Detecting Payload Obfuscation</h3>
<p>Attackers may encode command strings to make them harder for security tools to detect.</p>
<p>For example, PowerShell supports encoded commands through options such as:</p>
<pre><code class="language-text">-EncodedCommand
-e
</code></pre>
<p><strong>Use Case:</strong></p>
<p>Security analysts can identify suspicious Base64-like strings in process command lines and decode them during incident investigation.</p>
<hr />
<h3>2. Web Application Security &amp; Input Validation</h3>
<p>Web Application Firewalls (WAFs) inspect incoming requests for potentially malicious input.</p>
<p>Attackers may attempt encoding-based bypasses, including double URL encoding.</p>
<p>For example:</p>
<pre><code class="language-text">%253Cscript%253E
</code></pre>
<p>This can represent an encoded form of:</p>
<pre><code class="language-html">&lt;script&gt;
</code></pre>
<p>Understanding how multiple decoding layers work helps security professionals identify canonicalization and input-validation issues.</p>
<hr />
<h3>3. Digital Forensics &amp; Reverse Engineering</h3>
<p>Binary executables can store strings using formats such as UTF-8 or UTF-16LE.</p>
<p>Security researchers can use tools such as:</p>
<pre><code class="language-bash">strings -e l
strings -e s
</code></pre>
<p>to extract strings from binaries during malware analysis and forensic investigations.</p>
<hr />
<h2>What I Learned</h2>
<h3>ASCII Structure</h3>
<p>I learned how 7-bit and 8-bit ASCII values map characters, numbers, symbols, and control codes to numerical representations.</p>
<h3>Unicode Flexibility</h3>
<p>I learned how UTF-8 uses variable-length byte sequences while maintaining backward compatibility with ASCII and supporting international character sets.</p>
<h3>Base64 Mechanics</h3>
<p>Base64 converts groups of 3 bytes (24 bits) into 4 groups of 6-bit values.</p>
<pre><code class="language-text">3 bytes = 24 bits
4 × 6-bit groups = 24 bits
</code></pre>
<p>This allows binary data to be represented using printable ASCII characters.</p>
<h3>Security Application</h3>
<p>I also learned how encoding and decoding techniques are relevant to:</p>
<ul>
<li><p>Payload analysis</p>
</li>
<li><p>Obfuscation detection</p>
</li>
<li><p>Web application security</p>
</li>
<li><p>Digital forensics</p>
</li>
<li><p>Reverse engineering</p>
</li>
<li><p>Security monitoring</p>
</li>
</ul>
<hr />
<h2>Conclusion</h2>
<p>Completing the <strong>Data Encoding</strong> room gave me a strong foundation in how data is represented across different character sets and binary transmission formats.</p>
<p>Understanding <strong>ASCII, Unicode, UTF-8, Base64, and hexadecimal representations</strong> is valuable when working with web traffic, analyzing suspicious payloads, investigating logs, and performing digital forensic investigations.</p>
<p>This room also helped me understand an important cybersecurity concept:</p>
<blockquote>
<p><strong>Encoding does not provide security by itself. It changes how data is represented, not whether the data can be understood.</strong></p>
</blockquote>
<hr />
<h2>Resources</h2>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/dataencoding">Data Encoding</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<hr />
<h2>Connect with Me</h2>
<p>If you are exploring software basics, cybersecurity, or completing TryHackMe learning paths, let's connect!</p>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a/">Sunny Sharma</a></p>
</li>
</ul>
<hr />
<p><strong>Happy Learning! 🚀🔐</strong></p>
]]></content:encoded></item><item><title><![CDATA[TryHackMe Data Representation Room: Comprehensive Learning Guide & Deep Dive]]></title><description><![CDATA[Introduction
I recently completed the Data Representation room on TryHackMe as part of my ongoing cybersecurity learning journey.
At the most hardware-adjacent layer, modern digital computers process ]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-data-representation-room-comprehensive-learning-guide-deep-dive</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-data-representation-room-comprehensive-learning-guide-deep-dive</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[data representation]]></category><category><![CDATA[binary]]></category><category><![CDATA[hexadecimal]]></category><category><![CDATA[Computer Science]]></category><category><![CDATA[Software Basics]]></category><category><![CDATA[Pre Security]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Sat, 29 Aug 2026 14:08:50 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/4512a4b9-093d-4705-a903-0bd33d5db2e5.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Introduction</h2>
<p>I recently completed the <strong>Data Representation</strong> room on TryHackMe as part of my ongoing cybersecurity learning journey.</p>
<p>At the most hardware-adjacent layer, modern digital computers process and store all information as sequences of electrical charges represented by binary digits (bits). Whether analyzing network traffic, examining binary executables during malware analysis, inspecting memory dumps, or decoding obfuscated web payloads, security professionals must comfortably navigate different data representation schemes—including binary, decimal, and hexadecimal formats.</p>
<p>This room covers how computers encode numerical values, convert between base numbering systems, and represent visual elements such as colors using hexadecimal RGB structures.</p>
<p>In this room, I learned about:</p>
<ul>
<li><p>Fundamental digital data concepts (Bits, Bytes, and Nibbles)</p>
</li>
<li><p>Base number systems: Binary (Base-2), Decimal (Base-10), and Hexadecimal (Base-16)</p>
</li>
<li><p>Mathematical methods for converting between Decimal, Binary, and Hexadecimal</p>
</li>
<li><p>Color representation models using RGB triplets and Hexadecimal color codes</p>
</li>
<li><p>Low-level data interpretation for cybersecurity, reverse engineering, and forensic analysis</p>
</li>
</ul>
<blockquote>
<p><strong>Note:</strong> This blog post is an educational learning summary. In compliance with TryHackMe policies and ethical guidelines, it contains no direct flag answers, walkthrough solutions, or proprietary room assessment materials.</p>
</blockquote>
<h2>Room Information</h2>
<table style="min-width:50px"><colgroup><col style="min-width:25px"></col><col style="min-width:25px"></col></colgroup><tbody><tr><td><p><strong>Category</strong></p></td><td><p><strong>Details</strong></p></td></tr><tr><td><p><strong>Platform</strong></p></td><td><p>TryHackMe</p></td></tr><tr><td><p><strong>Room</strong></p></td><td><p>Data Representation</p></td></tr><tr><td><p><strong>Path</strong></p></td><td><p>Pre Security &gt; Software Basics</p></td></tr><tr><td><p><strong>Difficulty</strong></p></td><td><p>Easy</p></td></tr><tr><td><p><strong>Learning Type</strong></p></td><td><p>Computer Science Fundamentals &amp; Binary Math</p></td></tr><tr><td><p><strong>Focus Area</strong></p></td><td><p>Base Conversions, Binary, Hexadecimal, Color Encoding</p></td></tr><tr><td><p><strong>Estimated Time</strong></p></td><td><p>45 minutes</p></td></tr><tr><td><p><strong>Status</strong></p></td><td><p>Completed (100%)</p></td></tr><tr><td><p><strong>Blog Type</strong></p></td><td><p>Deep-Dive Educational Notes</p></td></tr></tbody></table>

<h2>Overview of Core Concepts</h2>
<h3>1. Bits, Bytes, and Numbering Systems</h3>
<ul>
<li><p><strong>Bit (Binary Digit):</strong> The basic unit of data in computing, possessing a value of either <code>0</code> or <code>1</code>.</p>
</li>
<li><p><strong>Byte:</strong> A collection of 8 bits capable of representing \(2^8 = 256\) distinct values (ranging from <code>0</code> to <code>255</code> in unsigned decimal format).</p>
</li>
<li><p><strong>Nibble:</strong> A 4-bit collection (half a byte) that directly maps to a single Hexadecimal digit (<code>0-9</code> and <code>A-F</code>).</p>
</li>
</ul>
<h3>2. Base Systems Comparison</h3>
<ul>
<li><p><strong>Decimal (Base-10):</strong> Uses digits <code>0-9</code>. Base positional values increment by powers of 10 (\(10^0, 10^1, 10^2, \dots\)).</p>
</li>
<li><p><strong>Binary (Base-2):</strong> Uses digits <code>0</code> and <code>1</code>. Base positional values increment by powers of 2 (\(2^0, 2^1, 2^2, 2^3, 2^4, 2^5, 2^6, 2^7\)).</p>
</li>
<li><p><strong>Hexadecimal (Base-16):</strong> Uses digits <code>0-9</code> and letters <code>A-F</code> (where <code>A=10</code>, <code>B=11</code>, <code>C=12</code>, <code>D=13</code>, <code>E=14</code>, <code>F=15</code>). Positional values increment by powers of 16 (\(16^0, 16^1, 16^2, \dots\)).</p>
</li>
</ul>
<h2>Task Breakdown &amp; Learning Highlights</h2>
<h3>Task 1: Introduction</h3>
<p>Introducing digital state logic and why understanding data structures at the byte level is necessary for low-level computing.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Modern computing relies on physical transistors acting as electronic switches (On/Off), making Base-2 the default physical storage representation.</p>
</li>
<li><p><strong>Key Learning:</strong> Hexadecimal was created as a human-readable shorthand for long binary sequences—each hex digit corresponds exactly to 4 binary bits (one nibble).</p>
</li>
<li><p><strong>Key Takeaway:</strong> Hexadecimal simplifies reading raw memory addresses and binary streams without altering the underlying data.</p>
</li>
</ul>
<h3>Task 2: Representing Colors</h3>
<p>Exploring how digital images and UI elements represent visual colors using numerical values and hexadecimal byte groupings.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong></p>
<ul>
<li><p><strong>RGB Color Model:</strong> Colors are rendered by combining Red, Green, and Blue light intensities on scales from <code>0</code> to <code>255</code> (1 byte per channel).</p>
</li>
<li><p><strong>Hex Color Codes:</strong> Expressed as a 6-character hexadecimal string <code>#RRGGBB</code>. For instance, <code>#FF0000</code> represents pure Red ($255, 0, 0$), while <code>#00FF00</code> represents pure Green ($0, 255, 0$).</p>
</li>
</ul>
</li>
<li><p><strong>Key Learning:</strong> A full 24-bit RGB color uses 3 bytes (\(3 \times 8 \text{ bits} = 24 \text{ bits}\)), yielding \(256 \times 256 \times 256 = 16,777,216\) possible distinct color combinations.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Hexadecimal structures compress 24 bits of binary color data into a concise 6-character string.</p>
</li>
</ul>
<h3>Task 3: Numbers: From Decimal to Hexadecimal</h3>
<p>Mastering step-by-step conversions between Decimal, Binary, and Hexadecimal representations.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong></p>
<ul>
<li><p><strong>Decimal to Binary Conversion:</strong> Using positional subtraction or continuous division by 2 to extract remainder bits.</p>
</li>
<li><p><strong>Binary to Hexadecimal Conversion:</strong> Grouping a binary string into 4-bit nibbles from right to left and converting each nibble to its hex equivalent (<code>0000</code> to <code>1111</code> \(\rightarrow\) <code>0</code> to <code>F</code>).</p>
</li>
<li><p><strong>Decimal to Hexadecimal Conversion:</strong> Dividing by 16 repeatedly and tracking remainders to form hexadecimal digits.</p>
</li>
</ul>
</li>
<li><p><strong>Key Learning:</strong> Converting binary <code>11010110</code> to hex:</p>
<ul>
<li><p>Split into nibbles: <code>1101</code> and <code>0116</code> \(\rightarrow\) <code>1101</code> (\(8+4+0+1 = 13 \rightarrow \text{D}\)) and <code>0110</code> (\(0+4+2+0 = 6\)).</p>
</li>
<li><p>Result: <code>D6</code> (or <code>0xD6</code>).</p>
</li>
</ul>
</li>
<li><p><strong>Key Takeaway:</strong> Grouping binary data into nibbles makes manual base conversion straightforward.</p>
</li>
</ul>
<h3>Task 4: Conclusion</h3>
<p>Summarizing low-level data structures and highlighting their applications across assembly language, memory debugging, and network protocols.</p>
<h2>Defensive &amp; Security Analyst Perspective</h2>
<p>For Blue Teams, SOC Analysts, and Security Engineers, understanding data representation is critical across several operational domains:</p>
<ol>
<li><p><strong>Malware Analysis &amp; Reverse Engineering:</strong></p>
<ul>
<li><p><strong>Context:</strong> Compiled binaries, machine code instructions, and memory pointers are inspected using Hex Editors (e.g., x64dbg, HxD, Ghidra).</p>
</li>
<li><p><strong>Use Case:</strong> Identifying file signatures/magic bytes (e.g., <code>4D 5A</code> / <code>MZ</code> for Windows PE executables or <code>7F 45 4C 46</code> / <code>.ELF</code> for Linux binaries).</p>
</li>
</ul>
</li>
<li><p><strong>Network Protocol Analysis:</strong></p>
<ul>
<li><p><strong>Context:</strong> Packet analyzers like Wireshark display raw network traffic in hexadecimal representations alongside ASCII text.</p>
</li>
<li><p><strong>Use Case:</strong> Analyzing payload headers, hex-encoded IP addresses, or TCP flag fields during intrusion investigation.</p>
</li>
</ul>
</li>
<li><p><strong>SIEM &amp; Log Decoding:</strong></p>
<ul>
<li><p><strong>Context:</strong> Security logs frequently contain obfuscated payload parameters, Base64 strings, or Hex-encoded strings used to bypass basic WAF signatures.</p>
</li>
<li><p><strong>Use Case:</strong> Decoding hex-encoded web shell requests (e.g., <code>%20</code>, <code>%27</code>, <code>%3Cscript%3E</code>) during web application attack investigations.</p>
</li>
</ul>
</li>
</ol>
<h2>What I Learned</h2>
<ul>
<li><p><strong>Binary Arithmetic:</strong> How numbers are constructed, shifted, and calculated using Base-2 place values.</p>
</li>
<li><p><strong>Hexadecimal Conversion:</strong> The direct 1-to-1 relationship between 4-bit binary nibbles and single hexadecimal characters.</p>
</li>
<li><p><strong>Data Encoding Models:</strong> How complex real-world data like colors (RGB) are mapped to byte sequences.</p>
</li>
<li><p><strong>Security Application:</strong> How low-level data representation applies directly to memory inspection, file headers, and network packet analysis.</p>
</li>
</ul>
<h2>Conclusion</h2>
<p>Completing the <strong>Data Representation</strong> room reinforced the fundamental concepts behind how digital systems process and store information. Mastering conversions between Binary, Decimal, and Hexadecimal provides a crucial foundation for technical cybersecurity disciplines, including binary analysis, reverse engineering, and network traffic inspection.</p>
<h2>Resources</h2>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/datarepresentation">Data Representation</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="http://cybersecurity-learning.hashnode.dev">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<h2>Connect with Me</h2>
<p>If you are exploring computer science fundamentals or working through TryHackMe paths, let's connect!</p>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<p><em>Happy Learning!</em></p>
]]></content:encoded></item><item><title><![CDATA[TryHackMe Operating Systems: Introduction Room: Comprehensive Learning Guide & Deep Dive]]></title><description><![CDATA[Introduction
I recently completed the Operating Systems: Introduction room on TryHackMe as part of my ongoing cybersecurity learning journey.
Operating systems serve as the foundational boundary betwe]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-operating-systems-introduction-room-comprehensive-learning-guide-deep-dive</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-operating-systems-introduction-room-comprehensive-learning-guide-deep-dive</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[#Operating systems ]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[System Architecture]]></category><category><![CDATA[Kernel Security]]></category><category><![CDATA[Linux]]></category><category><![CDATA[Windows]]></category><category><![CDATA[Pre Security]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Fri, 28 Aug 2026 14:36:02 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/08ddef70-70da-4799-9287-18580bf9cde3.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Introduction</h2>
<p>I recently completed the <strong>Operating Systems: Introduction</strong> room on TryHackMe as part of my ongoing cybersecurity learning journey.</p>
<p>Operating systems serve as the foundational boundary between hardware interfaces and application code. For cybersecurity practitioners and system administrators, understanding how an OS abstracts processes, manages physical and virtual memory, handles file systems, and facilitates user interactions is essential for identifying low-level vulnerabilities and auditing system security postures.</p>
<p>This room covers fundamental OS architecture concepts, exploring the role of the kernel as "The Invisible Manager" alongside user interaction mechanisms across Windows, Linux, and macOS environments.</p>
<p>In this room, I learned about:</p>
<ul>
<li><p>Fundamental functions and architectural components of an operating system</p>
</li>
<li><p>Kernel operations, hardware resource abstraction, process management, and hardware communication</p>
</li>
<li><p>File system management, memory allocation, and hardware device abstraction</p>
</li>
<li><p>Command-Line Interfaces (CLI) vs. Graphical User Interfaces (GUI)</p>
</li>
<li><p>The modern OS landscape across desktop, server, and embedded ecosystems</p>
</li>
</ul>
<blockquote>
<p><strong>Note:</strong> This blog post is an educational learning summary. In compliance with TryHackMe policies and ethical guidelines, it contains no direct flag answers, walkthrough solutions, or proprietary room assessment materials.</p>
</blockquote>
<h2>Room Information</h2>
<table style="min-width:50px"><colgroup><col style="min-width:25px"></col><col style="min-width:25px"></col></colgroup><tbody><tr><td><p><strong>Category</strong></p></td><td><p><strong>Details</strong></p></td></tr><tr><td><p><strong>Platform</strong></p></td><td><p>TryHackMe</p></td></tr><tr><td><p><strong>Room</strong></p></td><td><p>Operating Systems: Introduction</p></td></tr><tr><td><p><strong>Path</strong></p></td><td><p>Pre Security &gt; Operating Systems Basics</p></td></tr><tr><td><p><strong>Difficulty</strong></p></td><td><p>Very Easy / Info</p></td></tr><tr><td><p><strong>Learning Type</strong></p></td><td><p>Fundamentals &amp; System Architecture</p></td></tr><tr><td><p><strong>Focus Area</strong></p></td><td><p>Kernel Architecture, Resource Scheduling, UI Landscapes</p></td></tr><tr><td><p><strong>Estimated Time</strong></p></td><td><p>45 minutes</p></td></tr><tr><td><p><strong>Status</strong></p></td><td><p>Completed (100%)</p></td></tr><tr><td><p><strong>Blog Type</strong></p></td><td><p>Deep-Dive Educational Notes</p></td></tr></tbody></table>

<h2>Overview of Core Concepts</h2>
<h3>1. Operating System Architecture</h3>
<p>An operating system acts as an intermediary between user applications and system hardware components (CPU, RAM, Storage, Network Interfaces). It ensures hardware resources are efficiently shared and protected against unauthorized access or process collision.</p>
<h3>2. The Kernel ("The Invisible Manager")</h3>
<p>The kernel is the core component of an OS, operating in a privileged execution mode (Kernel Space). It manages system calls, allocates memory blocks, schedules CPU execution time for threads/processes, and communicates directly with peripheral hardware via device drivers.</p>
<h3>3. Operating System Interfaces &amp; Landscapes</h3>
<p>Users and administrators interact with operating systems using either Graphical User Interfaces (GUI) or Command-Line Interfaces (CLI). Modern environments span various architectures optimized for client desktop productivity, high-concurrency server hosting, or low-overhead embedded execution.</p>
<h2>Task Breakdown &amp; Learning Highlights</h2>
<h3>Task 1: Introduction</h3>
<p>Setting up foundational concepts regarding what an operating system is and why OS security is essential for system administration and cybersecurity analysis.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Operating systems govern hardware access, enforce privilege boundaries, and execute user programs safely.</p>
</li>
<li><p><strong>Key Learning:</strong> Every application security control ultimately relies on the underlying OS kernel enforcing access restrictions.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Understanding the OS layer is critical for analyzing privilege escalation vectors and software execution flows.</p>
</li>
</ul>
<h3>Task 2: The Invisible Manager</h3>
<p>Exploring how the kernel abstracts hardware resources and arbitrates requests between competing processes.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong></p>
<ul>
<li><p><strong>Process Scheduling:</strong> Managing CPU execution cycles and context switching across threads.</p>
</li>
<li><p><strong>Memory Allocation:</strong> Controlling physical RAM and Virtual Memory mapping to isolate process address spaces.</p>
</li>
<li><p><strong>File System Control:</strong> Managing physical storage drivers, directory structures, and file access permissions.</p>
</li>
<li><p><strong>Device Management:</strong> Using drivers to interface securely with peripheral devices.</p>
</li>
</ul>
</li>
<li><p><strong>Key Learning:</strong> The kernel prevents process interference by isolating execution contexts into distinct memory spaces.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Misconfigurations or flaws within kernel-space drivers can jeopardize the security of the entire operating system.</p>
</li>
</ul>
<h3>Task 3: OS Interaction and Landscape</h3>
<p>Examining user interaction methods and comparing desktop, server, and embedded operating system environments.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong></p>
<ul>
<li><p><strong>CLI vs. GUI:</strong> Evaluating command-line efficiency vs. graphical user accessibility.</p>
</li>
<li><p><strong>Operating System Landscapes:</strong> Comparing Microsoft Windows, Linux distributions, and Apple macOS regarding market deployment, security models, and administrative tooling.</p>
</li>
</ul>
</li>
<li><p><strong>Key Learning:</strong> Command-line interfaces provide direct access to core system utilities, scripting automation, and precise administrative controls.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Security auditing and incident response heavily rely on CLI interfaces to inspect running processes and system logs without graphical overhead.</p>
</li>
</ul>
<h3>Task 4: Conclusion</h3>
<p>Summarizing the foundational concepts of operating systems and outlining next steps in system administration and security learning paths.</p>
<h2>Defensive &amp; Security Analyst Perspective</h2>
<p>From a Blue Team and system administration perspective, understanding operating system internals is vital for security enforcement:</p>
<ol>
<li><p><strong>Privilege Isolation &amp; Kernel Protection:</strong></p>
<ul>
<li><p><strong>Control:</strong> Enforce separation between Kernel Space and User Space. Ensure hardware-enforced protection mechanisms like Execution Prevention (DEP/NX) and Address Space Layout Randomization (ASLR) are active.</p>
</li>
<li><p><strong>Monitoring:</strong> Audit device driver installations and monitor low-level driver loading events in system logs.</p>
</li>
</ul>
</li>
<li><p><strong>Resource &amp; Memory Safeguards:</strong></p>
<ul>
<li><p><strong>Control:</strong> Implement quotas and resource limits to prevent denial-of-service conditions resulting from runaway processes or memory leaks.</p>
</li>
<li><p><strong>Monitoring:</strong> Track abnormal CPU or memory spikes using built-in system monitors (<code>top</code>, <code>htop</code>, Task Manager, or Performance Monitor).</p>
</li>
</ul>
</li>
<li><p><strong>Interface &amp; Management Security:</strong></p>
<ul>
<li><p><strong>Control:</strong> Restrict access to administrative command-line shells (e.g., PowerShell, Bash) using Role-Based Access Control (RBAC) and least privilege principles.</p>
</li>
<li><p><strong>Monitoring:</strong> Enable command-line auditing and process creation logging (e.g., Sysmon Event ID 1 in Windows) to detect unauthorized system commands.</p>
</li>
</ul>
</li>
</ol>
<h2>What I Learned</h2>
<ul>
<li><p><strong>Kernel Mechanics:</strong> How the kernel manages CPU scheduling, physical memory mapping, and device communication.</p>
</li>
<li><p><strong>Resource Abstraction:</strong> The importance of Virtual Memory and process isolation in maintaining system stability and security.</p>
</li>
<li><p><strong>Interface Capabilities:</strong> The trade-offs and operational benefits between CLI and GUI environments for system management.</p>
</li>
<li><p><strong>OS Diversity:</strong> Distinct architectural differences and deployment scenarios for Windows, Linux, and macOS platforms.</p>
</li>
</ul>
<h2>Conclusion</h2>
<p>Completing the <strong>Operating Systems: Introduction</strong> room reinforced the foundational role operating systems play in software execution and system security. Recognizing how the kernel manages hardware resources and isolates processes provides a solid foundation for further study in privilege escalation, systems administration, and malware analysis.</p>
<h2>Resources</h2>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/operatingsystemsintroduction">Operating Systems: Introduction</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="http://cybersecurity-learning.hashnode.dev">cybersecurity-learning.hashnode.dev</a></p>
</li>
</ul>
<h2>Connect with Me</h2>
<p>If you are exploring core system security fundamentals or working through TryHackMe paths, let's connect!</p>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<p><em>Happy Learning!</em></p>
]]></content:encoded></item><item><title><![CDATA[TryHackMe Network Services 2 Room: Comprehensive Learning Guide & Deep Dive]]></title><description><![CDATA[Introduction
I recently completed the Network Services 2 room on TryHackMe as part of my ongoing cybersecurity learning journey.
While foundational network security focuses on standard web traffic and]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-network-services-2-room-comprehensive-learning-guide-deep-dive</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-network-services-2-room-comprehensive-learning-guide-deep-dive</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[network security]]></category><category><![CDATA[infrastructure security]]></category><category><![CDATA[Nfs]]></category><category><![CDATA[smtp]]></category><category><![CDATA[MySQL]]></category><category><![CDATA[Privilege Escalation]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Thu, 27 Aug 2026 16:18:22 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/787a9773-188a-4948-8794-4b895dba49be.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Introduction</h2>
<p>I recently completed the <strong>Network Services 2</strong> room on TryHackMe as part of my ongoing cybersecurity learning journey.</p>
<p>While foundational network security focuses on standard web traffic and firewalls, infrastructure targets often rely on core network protocols to function across internal subnets. This room builds on network enumeration fundamentals by diving deep into common misconfigurations present in NFS, SMTP, and MySQL services.</p>
<p>Exploring these services from both an offensive and defensive posture illustrates how slight administrative oversight—such as weak root-squashing configurations or unauthenticated enumeration parameters—can lead directly to initial access or local privilege escalation.</p>
<p>In this room, I learned about:</p>
<ul>
<li><p>Network File System (NFS) architecture, enumeration, and root-squashing misconfigurations</p>
</li>
<li><p>Simple Mail Transfer Protocol (SMTP) operations, user enumeration via VRFY/EXPN, and credential attacks</p>
</li>
<li><p>MySQL relational database architecture, manual SQL service interaction, and local file access</p>
</li>
<li><p>Root privilege escalation vectors originating from misconfigured network shares</p>
</li>
<li><p>Defensive hardening controls and SOC monitoring artifacts for internal service protocol abuse</p>
</li>
</ul>
<blockquote>
<p><strong>Note:</strong> This blog post is an educational learning summary. In compliance with TryHackMe policies and ethical guidelines, it contains no direct flag answers, raw passwords, or walkthrough exploit solutions.</p>
</blockquote>
<h2>Room Information</h2>
<table style="min-width:50px"><colgroup><col style="min-width:25px"></col><col style="min-width:25px"></col></colgroup><tbody><tr><td><p><strong>Category</strong></p></td><td><p><strong>Details</strong></p></td></tr><tr><td><p><strong>Platform</strong></p></td><td><p>TryHackMe</p></td></tr><tr><td><p><strong>Room</strong></p></td><td><p>Network Services 2</p></td></tr><tr><td><p><strong>Difficulty</strong></p></td><td><p>Easy / Medium</p></td></tr><tr><td><p><strong>Learning Type</strong></p></td><td><p>Infrastructure Security &amp; Network Protocol Exploitation</p></td></tr><tr><td><p><strong>Focus Area</strong></p></td><td><p>Network File System (NFS), SMTP Mail Server, MySQL Database Security</p></td></tr><tr><td><p><strong>Estimated Time</strong></p></td><td><p>60 minutes</p></td></tr><tr><td><p><strong>Status</strong></p></td><td><p>Completed (100%)</p></td></tr><tr><td><p><strong>Blog Type</strong></p></td><td><p>Deep-Dive Educational Notes</p></td></tr></tbody></table>

<h2>Overview of Protocol Technologies</h2>
<h3>1. Network File System (NFS)</h3>
<p>NFS allows a system to share directories and files with others over a network. Client machines mount remote file systems locally and interact with them as if they resided on local storage. NFS typically operates on <strong>Port 2049</strong>, alongside <strong>Port 111 (RPCBind)</strong> to translate RPC program numbers into universal addresses.</p>
<h3>2. Simple Mail Transfer Protocol (SMTP)</h3>
<p>SMTP handles email delivery across IP networks, operating by default on <strong>Port 25</strong> (unencrypted) or <strong>Port 465/587</strong> (encrypted). Beyond transferring messages, legacy or misconfigured SMTP servers allow attackers to enumerate valid local system users using built-in command verbs.</p>
<h3>3. MySQL Database</h3>
<p>MySQL is a widely used relational database management system operating on <strong>Port 3306</strong>. When exposed externally with weak administrative credentials or misconfigured file privileges, it provides an entry point for data exfiltration or host takeover.</p>
<h2>Task Breakdown &amp; Learning Highlights</h2>
<h3>Task 1: Get Connected</h3>
<p>Establishing the lab environment connection using OpenVPN/AttackBox and validating target connectivity.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Ensuring clean routing to the target IP address before initializing network scans.</p>
</li>
<li><p><strong>Key Learning:</strong> Environment verification reduces anomalous scan failures during multi-service enumeration.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Always verify client-to-target connectivity before beginning active testing.</p>
</li>
</ul>
<h3>Tasks 2, 3 &amp; 4: Understanding, Enumerating, and Exploiting NFS</h3>
<p>Examining NFS share configurations and leveraging root-squashing misconfigurations for local root escalation.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong></p>
<ul>
<li><p>Using <code>showmount -e &lt;target_ip&gt;</code> or Nmap RPC scripts (<code>nmap -p 2049 --script nfs-showmount</code>) to identify exported directories.</p>
</li>
<li><p>Understanding <strong>Root Squashing</strong> (<code>root_squash</code> vs. <code>no_root_squash</code>). By default, NFS maps <code>root</code> access on client mounts to the unprivileged <code>nobody</code> account. When <code>no_root_squash</code> is set on a writable export, files created as <code>root</code> on the client retain root privileges on the server.</p>
</li>
</ul>
</li>
<li><p><strong>Key Learning:</strong> Mount a vulnerable NFS share, generate an executable binary (or copy <code>/bin/bash</code>), assign SUID permissions (<code>chmod +s</code>), and execute it on the target host to escalate to root.</p>
</li>
<li><p><strong>Key Takeaway:</strong> <code>no_root_squash</code> on writable shares creates a direct path to total root compromise.</p>
</li>
</ul>
<h3>Tasks 5, 6 &amp; 7: Understanding, Enumerating, and Exploiting SMTP</h3>
<p>Interacting with mail transport agents to gather system context and gain unauthorized access.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong></p>
<ul>
<li><p>Enumerating active system users via SMTP commands (<code>VRFY</code>, <code>EXPN</code>, or <code>RCPT TO</code>) manually or via automated tools like <code>smtp-user-enum</code>.</p>
</li>
<li><p>Using valid enumerated usernames to conduct targeted password attacks against available remote access protocols (such as SSH).</p>
</li>
</ul>
</li>
<li><p><strong>Key Learning:</strong> Mail servers that respond to verification queries provide attackers with high-accuracy user lists without triggering lockouts.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Disable account verification commands on production mail servers to prevent internal user mapping.</p>
</li>
</ul>
<h3>Tasks 8, 9 &amp; 10: Understanding, Enumerating, and Exploiting MySQL</h3>
<p>Interacting directly with MySQL databases to extract records and evaluate host interaction capabilities.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong></p>
<ul>
<li><p>Scanning Port 3306 with Nmap scripts (<code>nmap -p 3306 --script mysql-info,mysql-enum</code>).</p>
</li>
<li><p>Logging into MySQL via command-line clients (<code>mysql -u &lt;user&gt; -p -h &lt;target_ip&gt;</code>) using discovered credentials.</p>
</li>
<li><p>Querying database tables, dumping hashes, and understanding file system read/write directives (<code>SELECT ... INTO OUTFILE</code> or <code>LOAD_FILE()</code>).</p>
</li>
</ul>
</li>
<li><p><strong>Key Learning:</strong> Exposed databases with weak credentials leak sensitive application data and can grant remote code execution if the database daemon runs under elevated system privileges.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Databases must never be directly exposed to the public internet; they should strictly listen on localhost or internal network segments.</p>
</li>
</ul>
<h3>Task 11: Further Learning</h3>
<p>Summarizing protocol-level security and recommending continued practice across internal infrastructure security.</p>
<h2>Defensive &amp; SOC Analyst Perspective</h2>
<p>From a Blue Team perspective, monitoring internal infrastructure protocols requires continuous logging and strict configuration auditing:</p>
<ol>
<li><p><strong>NFS Hardening:</strong></p>
<ul>
<li><p><strong>Control:</strong> Enforce <code>root_squash</code> on all exported directories in <code>/etc/exports</code>.</p>
</li>
<li><p><strong>Log Artifacts:</strong> Audit mount requests in system logs (<code>/var/log/syslog</code> or systemd journal) and monitor for unauthorized SUID binary creations on shared drives.</p>
</li>
</ul>
</li>
<li><p><strong>SMTP Defense:</strong></p>
<ul>
<li><p><strong>Control:</strong> Disable <code>VRFY</code> and <code>EXPN</code> in mail server configurations (e.g., <code>disable_vrfy_command = yes</code> in Postfix).</p>
</li>
<li><p><strong>Log Artifacts:</strong> Monitor mail logs for high-volume verification commands originating from a single IP address within short timeframes.</p>
</li>
</ul>
</li>
<li><p><strong>MySQL Hardening:</strong></p>
<ul>
<li><p><strong>Control:</strong> Bind MySQL strictly to <code>127.0.0.1</code> unless remote database access is explicitly required, and restrict file system permissions using <code>secure_file_priv</code>.</p>
</li>
<li><p><strong>Log Artifacts:</strong> Review MySQL authentication logs (<code>/var/log/mysql/error.log</code>) for repeated failed login attempts (Event ID/Error 1045).</p>
</li>
</ul>
</li>
</ol>
<h2>What I Learned</h2>
<ul>
<li><p><strong>Root Squashing Vulnerabilities:</strong> How <code>no_root_squash</code> settings on NFS mounts allow local root escalation via SUID binary manipulation.</p>
</li>
<li><p><strong>Protocol-Based Reconnaissance:</strong> Leveraging SMTP verbs (<code>VRFY</code>/<code>EXPN</code>) to harvest valid system accounts.</p>
</li>
<li><p><strong>Database Threat Vectors:</strong> The security implications of exposing database management systems directly to public/untrusted networks.</p>
</li>
<li><p><strong>Defense-in-Depth:</strong> The importance of binding services to local interfaces and auditing network file share permissions.</p>
</li>
</ul>
<h2>Conclusion</h2>
<p>Completing the <strong>Network Services 2</strong> room highlighted how essential default service configurations are to overall system security. By understanding how attackers manipulate NFS shares, SMTP user verification, and database connections, security professionals can better audit internal networks, enforce hardening standards, and protect core assets.</p>
<p>As I continue my cybersecurity journey, I will keep sharing detailed learning write-ups and notes to document my progress and support the community.</p>
<h2>Resources</h2>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/networkservices2">Network Services 2</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="http://cybersecurity-learning.hashnode.dev">cybersecurity-learning.hashnode.dev</a></p>
</li>
<li><p>📘 <strong>NIST Guide to General Server Security:</strong> <a href="https://www.google.com/search?q=https://csrc.nist.gov/publications/detail/sp/800-123/final">NIST SP 800-123</a></p>
</li>
</ul>
<h2>Connect with Me</h2>
<p>If you are exploring network infrastructure security or working through TryHackMe paths, let's connect!</p>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<p><em>Happy Learning!</em></p>
]]></content:encoded></item><item><title><![CDATA[TryHackMe Broken Access Control Room: Comprehensive Learning Guide & Deep Dive]]></title><description><![CDATA[Introduction
I recently completed the Broken Access Control room on TryHackMe as part of my ongoing cybersecurity learning journey.
Consistently ranked as the #1 vulnerability in the OWASP Top 10, Bro]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-broken-access-control-room-comprehensive-learning-guide-deep-dive</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-broken-access-control-room-comprehensive-learning-guide-deep-dive</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[Web Security]]></category><category><![CDATA[OWASP TOP 10]]></category><category><![CDATA[broken access control]]></category><category><![CDATA[Burp Suite]]></category><category><![CDATA[Privilege Escalation]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Wed, 26 Aug 2026 15:24:02 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/f8f1c9f9-0708-46e0-8d51-c61263590297.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Introduction</h2>
<p>I recently completed the <strong>Broken Access Control</strong> room on TryHackMe as part of my ongoing cybersecurity learning journey.</p>
<p>Consistently ranked as the <strong>#1 vulnerability in the OWASP Top 10</strong>, Broken Access Control represents a foundational flaw in web application security. It occurs when an application fails to properly enforce permissions between users, allowing unauthorized individuals to view confidential data, modify sensitive settings, or claim administrative powers.</p>
<p>This room provided a hands-on lab environment focused on identifying, exploiting, and mitigating authorization flaws. Instead of relying solely on automated scanners, the tasks highlighted manual request inspection using web proxies to observe how applications handle access control decisions—and where developers frequently make dangerous assumptions.</p>
<p>In this room, I learned about:</p>
<ul>
<li><p>Fundamental access control models and their operational mechanics</p>
</li>
<li><p>The technical distinction between authentication and authorization</p>
</li>
<li><p>Intercepting, analyzing, and modifying HTTP requests using Burp Suite Proxy</p>
</li>
<li><p>Identifying and exploiting parameter tampering and client-side access control flaws</p>
</li>
<li><p>Executing vertical privilege escalation from an unprivileged user to full application admin</p>
</li>
<li><p>Practical server-side mitigation, Secure Software Development Life Cycle (S-SDLC) integration, and defense-in-depth enforcement</p>
</li>
</ul>
<blockquote>
<p><strong>Note:</strong> This write-up serves strictly as an educational learning summary. In alignment with platform policies and responsible disclosure guidelines, it contains no direct flag values, exact answer keys, or step-by-step exploit solutions for the lab questions.</p>
</blockquote>
<hr />
<h2>Room Information</h2>
<table>
<thead>
<tr>
<th>Category</th>
<th>Details</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Platform</strong></td>
<td>TryHackMe</td>
</tr>
<tr>
<td><strong>Room</strong></td>
<td>Broken Access Control</td>
</tr>
<tr>
<td><strong>Difficulty</strong></td>
<td>Easy</td>
</tr>
<tr>
<td><strong>Learning Type</strong></td>
<td>Web Application Security / Offensive &amp; Defensive Analysis</td>
</tr>
<tr>
<td><strong>Focus Area</strong></td>
<td>OWASP Top 10 (A01:2021 – Broken Access Control), Burp Suite Proxy</td>
</tr>
<tr>
<td><strong>Estimated Time</strong></td>
<td>30–45 minutes</td>
</tr>
<tr>
<td><strong>Status</strong></td>
<td>Completed (100%)</td>
</tr>
<tr>
<td><strong>Blog Type</strong></td>
<td>Deep-Dive Educational Notes</td>
</tr>
</tbody></table>
<hr />
<h2>Understanding Access Control Models &amp; Authorization vs. Authentication</h2>
<p>Before diving into vulnerabilities, it is crucial to establish the baseline definitions of how systems manage identities and permissions.</p>
<h3>Authentication vs. Authorization</h3>
<ul>
<li><p><strong>Authentication (AuthN):</strong> The process of verifying <em>who</em> a user is (e.g., logging in with a username, password, and MFA token).</p>
</li>
<li><p><strong>Authorization (AuthZ):</strong> The process of verifying <em>what</em> an authenticated user is allowed to do (e.g., checking if user <code>john_doe</code> has permission to delete an account or access <code>/admin/dashboard</code>).</p>
</li>
</ul>
<p>Broken Access Control is exclusively an <strong>authorization</strong> failure. An application may have multi-factor authentication, complex password policies, and biometric security, but if it fails to validate what a user can access <em>after</em> they log in, the system remains completely vulnerable.</p>
<h3>Access Control Models</h3>
<p>Organizations rely on several structured models to define authorization policies:</p>
<ul>
<li><p><strong>Discretionary Access Control (DAC):</strong> The owner of an object determines access rights. (e.g., file permissions in Linux where the resource owner can issue <code>chmod</code> commands).</p>
</li>
<li><p><strong>Mandatory Access Control (MAC):</strong> Access rights are governed by a central authority based on data classification levels and user clearance levels. (e.g., military networks with Confidential, Secret, and Top Secret tiers).</p>
</li>
<li><p><strong>Role-Based Access Control (RBAC):</strong> Permissions are assigned to specific roles within an organization (e.g., <code>User</code>, <code>Manager</code>, <code>Administrator</code>). Users inherit permissions based on their assigned role.</p>
</li>
<li><p><strong>Attribute-Based Access Control (ABAC):</strong> A dynamic model that grants access based on a combination of attributes, such as user role, request time, location, device type, and specific resource tags.</p>
</li>
</ul>
<hr />
<h2>Detailed Task Breakdown &amp; Learning Highlights</h2>
<h3>Task 1: Introduction</h3>
<p>The introductory task outlines the objectives of the room and defines the scope of Broken Access Control within modern web application security.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Access control vulnerabilities happen when authorization checks are either missing, improperly implemented, or easily bypassed by manipulating client-side inputs.</p>
</li>
<li><p><strong>Key Learning:</strong> Broken access control can lead to unauthorized data disclosure, modification or destruction of all data, or performing business functions outside the user's limits.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Understanding access boundaries is a core requirement for both web penetration testers and secure code reviewers.</p>
</li>
</ul>
<hr />
<h3>Task 2: Broken Access Control Introduction</h3>
<p>This task delves into the common manifestations of authorization flaws and categorizes privilege escalation dynamics.</p>
<ul>
<li><p><strong>Types of Privilege Escalation:</strong></p>
</li>
<li><p><strong>Horizontal Privilege Escalation:</strong> An attacker accesses resources belonging to another user with the same permission level (e.g., User A accessing User B's private invoices by changing a URL parameter <code>user_id=1001</code> to <code>user_id=1002</code>). This is closely tied to Insecure Direct Object References (IDOR).</p>
</li>
<li><p><strong>Vertical Privilege Escalation:</strong> An attacker with low-level privileges successfully accesses administrative functions or resources restricted to higher-tier roles (e.g., a standard user changing an HTTP request header or parameter to access <code>/admin/user_delete</code>).</p>
</li>
<li><p><strong>Key Learning:</strong> Applications frequently fail when developers assume users will only interact with the application through the provided user interface (UI) buttons and links.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Never rely on UI restrictions (like hiding an "Admin Panel" button) as a security control; backend endpoints must explicitly validate permissions.</p>
</li>
</ul>
<hr />
<h3>Task 3: Deploy the Machine</h3>
<p>This task involves booting the lab environment and setting up the local attack infrastructure.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Connecting via OpenVPN/AttackBox, navigating to the target IP address, and initializing local proxy configurations.</p>
</li>
<li><p><strong>Key Learning:</strong> Configuring browser extensions (such as FoxyProxy) to route browser traffic directly through Burp Suite Proxy (listening on <code>127.0.0.1:8080</code>) enables complete, real-time inspection of client-server requests.</p>
</li>
<li><p><strong>Key Takeaway:</strong> A proper, repeatable setup is vital for performing reliable web application security assessments.</p>
</li>
</ul>
<hr />
<h3>Task 4: Assessing the Web Application</h3>
<p>Analyzing baseline server behavior, inspecting HTTP response structures, and discovering exposed metadata.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Analyzing raw HTTP GET and POST requests using Burp Suite Proxy. Observing server technology disclosures in HTTP headers (e.g., <code>Server: Apache/2.4.41</code>) and examining raw JSON/HTML responses.</p>
</li>
<li><p><strong>Key Learning:</strong> Applications often return rich datasets to the client side that include hidden flags, account status fields, or internal navigation logic, expecting the frontend JavaScript to hide unauthorized elements.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Always inspect raw server responses; the backend may be returning sensitive data to the browser even if it is not displayed on the rendered webpage.</p>
</li>
</ul>
<hr />
<h3>Task 5: Exploiting the Web Application</h3>
<p>Executing manual parameter manipulation to trigger vertical privilege escalation.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Intercepting application requests in Burp Suite and identifying vulnerable parameters (such as <code>is_admin=false</code>, <code>role=user</code>, or cookie/session values). Manually modifying these parameters to <code>is_admin=true</code> before sending the request to the server.</p>
</li>
<li><p><strong>Key Learning:</strong> Because the server trusted the client-supplied parameter without re-verifying the user's backend role against a database, the application granted full administrative rights.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Any security logic based on parameters editable by the client can be trivially bypassed.</p>
</li>
</ul>
<hr />
<h3>Task 6: Mitigation</h3>
<p>Reviewing security architectures and coding practices designed to eliminate broken access control risks.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Redesigning authorization logic to enforce robust, server-side evaluation.</p>
</li>
<li><p><strong>Key Learning:</strong> Mitigation requires a multi-layered approach:</p>
</li>
<li><p>Implementing a strict <strong>Deny-by-Default</strong> policy across all routes.</p>
</li>
<li><p>Verifying session tokens server-side and cross-referencing user roles with backend Access Control Lists (ACLs) for <em>every</em> incoming request.</p>
</li>
<li><p>Disabling web server directory listing and ensuring file metadata is kept off public web roots.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Centralize authorization checks in reusable server-side middleware rather than scattering checks across individual application pages.</p>
</li>
</ul>
<hr />
<h3>Task 7: Conclusion</h3>
<p>Summarizing the takeaways from the room and highlighting the core principles of access control security.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Access control flaws are widespread but completely preventable with proper architecture and defensive discipline.</p>
</li>
<li><p><strong>Key Learning:</strong> Combining automated static analysis (SAST), manual penetration testing, and secure design reviews minimizes authorization vulnerability exposure.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Security is a continuous process of verification, enforcement, and auditing.</p>
</li>
</ul>
<hr />
<h2>Technical Deep-Dive: SOC &amp; Defensive Security Perspective</h2>
<p>From a Security Operations Center (SOC) analyst and blue-team perspective, access control testing and active exploitation leave distinct log trails across web application and web application firewall (WAF) logs:</p>
<h3>1. Parameter Tampering &amp; IDOR Tracking</h3>
<ul>
<li><p><strong>Log Signature:</strong> Rapid sequential requests from a single IP address or session token targeting direct resource URLs with incrementing numeric identifiers (e.g., <code>GET /api/v1/profile?id=101</code>, <code>id=102</code>, <code>id=103</code>).</p>
</li>
<li><p><strong>Detection Rule:</strong> Configure SIEM alerts for high-frequency resource requests containing varying parameter values under a single authenticated session token.</p>
</li>
</ul>
<h3>2. Privilege Escalation Probing</h3>
<ul>
<li><p><strong>Log Signature:</strong> HTTP <code>403 Forbidden</code> or <code>401 Unauthorized</code> responses immediately followed by successful <code>200 OK</code> responses to administrative paths (<code>/admin</code>, <code>/config</code>, <code>/manage</code>) from non-administrative session accounts.</p>
</li>
<li><p><strong>Detection Rule:</strong> Monitor for anomalies where standard user session IDs make successful calls to endpoints under restricted API routes or URI prefixes reserved for admin operations.</p>
</li>
</ul>
<hr />
<h2>Strategic Remediation &amp; Developer Best Practices</h2>
<p>To effectively remediate Broken Access Control, development teams should adhere to the following architectural guidelines:</p>
<pre><code class="language-plaintext">                  ┌─────────────────────────────────────┐
                  │        Incoming HTTP Request        │
                  └──────────────────┬──────────────────┘
                                     │
                                     ▼
                  ┌─────────────────────────────────────┐
                  │ 1. Centralized Session Auth Check   │
                  └──────────────────┬──────────────────┘
                                     │
                                     ▼
                  ┌─────────────────────────────────────┐
                  │ 2. Server-Side Role/ACL Evaluation  │
                  └──────────┬──────────────────────┬───┘
                             │                      │
                   [ ALLOWED ]                      [ DENIED ]
                             │                      │
                             ▼                      ▼
           ┌───────────────────────────┐  ┌───────────────────┐
           │ Process Request &amp; Return  │  │ Log Security Event│
           │         Resource          │  │ Return 403 Status │
           └───────────────────────────┘  └───────────────────┘
</code></pre>
<ol>
<li><p><strong>Centralize Access Control Architecture:</strong> Avoid writing ad-hoc authorization checks inside individual page handlers. Use well-tested, centralized framework middleware to handle authorization consistently.</p>
</li>
<li><p><strong>Deny Access by Default:</strong> Require explicit access grants for every page, route, and API endpoint. If an endpoint lacks an explicit rule, the middleware should reject the request by default (<code>403 Forbidden</code>).</p>
</li>
<li><p><strong>Enforce State-Free Client Tokens:</strong> Treat all client inputs—cookies, headers, form fields, and URL parameters—as untrusted. Session identifiers should map to server-managed session state or securely signed, non-tamperable tokens (e.g., properly validated JWTs).</p>
</li>
<li><p><strong>Audit and Test Authorization Boundaries:</strong> Integrate automated integration tests that intentionally attempt to access admin endpoints using standard user credentials during CI/CD builds.</p>
</li>
</ol>
<hr />
<h2>What I Learned</h2>
<ul>
<li><p><strong>Authorization Defenses:</strong> The absolute necessity of enforcing access logic strictly on the server side using central authorization modules.</p>
</li>
<li><p><strong>Exploitation Mechanics:</strong> How attackers utilize web proxy tools to modify client-side inputs to achieve horizontal and vertical privilege escalation.</p>
</li>
<li><p><strong>Traffic Analysis:</strong> Utilizing Burp Suite Proxy to inspect raw HTTP header key-value pairs, parameter strings, and hidden JSON payloads.</p>
</li>
<li><p><strong>Defensive Detection:</strong> Identifying telemetry artifacts generated by parameter tampering and parameter probing in web server logs.</p>
</li>
</ul>
<hr />
<h2>Conclusion</h2>
<p>Completing the <strong>Broken Access Control</strong> room reinforced a fundamental truth in application security: <strong>never trust client-side inputs or UI restrictions for security decisions</strong>. Whether performing penetration testing or architecting secure web applications, validating permissions at the server layer on every request is essential to preserving data confidentiality and application integrity.</p>
<p>I will continue sharing detailed notes, write-ups, and learning summaries as I advance through my cybersecurity journey.</p>
<hr />
<h2>Resources</h2>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/owaspbrokenaccesscontrol">Broken Access Control Room</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
<li><p>📘 <strong>OWASP Top 10 A01:2021:</strong> <a href="https://owasp.org/Top10/A01_2021-Broken_Access_Control/">OWASP Broken Access Control</a></p>
</li>
<li><p>📘 <strong>OWASP Access Control Cheat Sheet:</strong> <a href="https://cheatsheetseries.owasp.org/cheatsheets/Access_Control_Cheat_Sheet.html">Cheat Sheet Guidance</a></p>
</li>
</ul>
<hr />
<h2>Connect with Me</h2>
<p>If you are currently learning web application security, working through OWASP Top 10 paths, or practicing on TryHackMe, feel free to connect!</p>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<p><em>Happy Learning!</em></p>
]]></content:encoded></item><item><title><![CDATA[TryHackMe Blaster Beginner-Friendly Learning Guide]]></title><description><![CDATA[Introduction
I recently completed the Blaster room on TryHackMe as part of my ongoing cybersecurity learning journey.
Unlike purely theoretical or network-level rooms, Blaster offers a complete hands-]]></description><link>https://cybersecurity-learning.hashnode.dev/tryhackme-blaster-beginner-friendly-learning-guide</link><guid isPermaLink="true">https://cybersecurity-learning.hashnode.dev/tryhackme-blaster-beginner-friendly-learning-guide</guid><category><![CDATA[tryhackme]]></category><category><![CDATA[cybersecurity]]></category><category><![CDATA[windows security]]></category><category><![CDATA[penetration testing]]></category><category><![CDATA[SOC Analyst]]></category><category><![CDATA[Web Enumeration]]></category><category><![CDATA[Privilege Escalation]]></category><dc:creator><![CDATA[Sunny]]></dc:creator><pubDate>Tue, 25 Aug 2026 15:40:15 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a4a9ed81ef518cc629d826a/49e461aa-b9cf-4b99-a78e-b1dd178efeae.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Introduction</h2>
<p>I recently completed the <strong>Blaster</strong> room on TryHackMe as part of my ongoing cybersecurity learning journey.</p>
<p>Unlike purely theoretical or network-level rooms, <strong>Blaster</strong> offers a complete hands-on experience involving both offensive techniques (reconnaissance, web enumeration, exploitation, and privilege escalation) and defensive insights. Working through a Windows target environment allowed me to analyze how initial access vector weaknesses and local system vulnerabilities interlock to form an attack chain.</p>
<p>Understanding both initial access pathways and post-exploitation mechanisms is essential in cybersecurity. When defenders comprehend how adversaries perform web reconnaissance, brute-force credentials, and escalate privileges locally, they can craft stronger detection rules and security controls.</p>
<p>In this room, I explored and learned about:</p>
<ul>
<li><p>Windows room overview &amp; task structure</p>
</li>
<li><p>Web enumeration and directory discovery</p>
</li>
<li><p>RDP credential brute-forcing concepts</p>
</li>
<li><p>Gaining initial access to a Windows target</p>
</li>
<li><p>Windows privilege escalation techniques</p>
</li>
<li><p>Post-exploitation persistence mechanisms</p>
</li>
<li><p>Security analyst perspectives and defensive lessons</p>
</li>
</ul>
<blockquote>
<p><strong>Note:</strong> This blog post is an educational learning summary. In alignment with responsible disclosure and platform rules, it does not disclose TryHackMe flags, direct lab answers, passwords, or step-by-step walkthrough exploits.</p>
</blockquote>
<hr />
<h2>Room Information</h2>
<table>
<thead>
<tr>
<th>Category</th>
<th>Details</th>
</tr>
</thead>
<tbody><tr>
<td><strong>Platform</strong></td>
<td>TryHackMe</td>
</tr>
<tr>
<td><strong>Room</strong></td>
<td>Blaster</td>
</tr>
<tr>
<td><strong>Difficulty</strong></td>
<td>Easy / Medium</td>
</tr>
<tr>
<td><strong>Learning Type</strong></td>
<td>Offensive &amp; Defensive Cyber Operations</td>
</tr>
<tr>
<td><strong>Focus Area</strong></td>
<td>Windows Exploitation, Web Recon, RDP &amp; Local Privilege Escalation</td>
</tr>
<tr>
<td><strong>Estimated Time</strong></td>
<td>45–60 minutes</td>
</tr>
<tr>
<td><strong>Status</strong></td>
<td>Completed (100%)</td>
</tr>
<tr>
<td><strong>Blog Type</strong></td>
<td>Educational Write-up &amp; Notes</td>
</tr>
</tbody></table>
<hr />
<h2>Task Breakdown &amp; Learning Highlights</h2>
<h3>Task 1: Mission Start!</h3>
<p>The opening task sets up the scenario, allowing the lab instance to launch and establishing the foundational context of the challenge.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Starting a room requires verifying target reachability and setting up a clear scope before conducting any active enumeration.</p>
</li>
<li><p><strong>Key Learning:</strong> Initial environment verification prevents false negatives during scanning.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Structured methodology always begins with verifying lab access and setting targets.</p>
</li>
</ul>
<hr />
<h3>Task 2: Activate Forward Scanners and Launch Proton Torpedoes</h3>
<p>This task focuses on the initial reconnaissance and web service enumeration phase.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Attackers and testers rely on scanning tools (such as Nmap and directory brute-forcing tools like Gobuster/FFUF) to map exposed services and web paths on a target IP.</p>
</li>
<li><p><strong>Key Learning:</strong> Discovering hidden directories or web pages often exposes critical context, hidden blogs, or comment threads containing user hints or credentials.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Web enumeration is crucial; hidden pages or default setups are frequently the primary entry point in real-world attacks.</p>
</li>
</ul>
<hr />
<h3>Task 3: Breaching the Control Room</h3>
<p>This task centers on moving from enumeration to initial access using Remote Desktop Protocol (RDP).</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> After discovering potential usernames or credential clues during the web enumeration phase, services like RDP (Port 3389) can be targeted using login utilities or brute-force tools (e.g., Hydra or xfreerdp).</p>
</li>
<li><p><strong>Key Learning:</strong> RDP access grants direct graphical user interface (GUI) or shell interaction with a Windows host, making it a high-priority entry vector for attackers.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Strong password policies and multi-factor authentication (MFA) are critical defenses against credential-based remote access attacks.</p>
</li>
</ul>
<hr />
<h3>Task 4: Adoption into the Collective</h3>
<p>The final core task explores post-exploitation, local privilege escalation to <code>NT AUTHORITY\SYSTEM</code>, and establishing persistence.</p>
<ul>
<li><p><strong>What This Task Teaches:</strong> Once inside a low-privilege account on a Windows target, analysts inspect local system binaries, misconfigured permissions, or known system exploits (such as UAC bypasses or flawed executable binaries).</p>
</li>
<li><p><strong>Key Learning:</strong> Escalating privileges allows an attacker to achieve full host control. Additionally, understanding how tools like Metasploit establish persistent access (e.g., via background jobs or registry run keys) teaches defenders what artifacts to look for during incident response.</p>
</li>
<li><p><strong>Key Takeaway:</strong> Gaining initial access is only half the battle; auditing host permissions and monitoring local privilege escalation attempts are essential for host security.</p>
</li>
</ul>
<hr />
<h2>SOC Analyst &amp; Defensive Perspective</h2>
<p>From a Security Operations Center (SOC) analyst perspective, the activity performed in the Blaster room produces distinct log signatures across the network and host levels:</p>
<ol>
<li><strong>Reconnaissance &amp; Web Enumeration:</strong></li>
</ol>
<ul>
<li><p><strong>Log Artifacts:</strong> Web server access logs displaying high-frequency GET requests returning <code>200 OK</code> or <code>404 Not Found</code> within short timeframes.</p>
</li>
<li><p><strong>Detection Strategy:</strong> Implement rate-limiting and alert on abnormal request spikes from a single IP address.</p>
</li>
</ul>
<ol>
<li><strong>RDP Brute-Force &amp; Remote Access:</strong></li>
</ol>
<ul>
<li><p><strong>Log Artifacts:</strong> Windows Security Event ID <code>4625</code> (An account failed to log on) occurring repeatedly, followed by Event ID <code>4624</code> (An account was successfully logged on).</p>
</li>
<li><p><strong>Detection Strategy:</strong> Enforce account lockout policies and generate SIEM alerts for high volumes of Event ID 4625 originating from external or non-standard subnets.</p>
</li>
</ul>
<ol>
<li><strong>Privilege Escalation &amp; Persistence:</strong></li>
</ol>
<ul>
<li><p><strong>Log Artifacts:</strong> Windows Security Event ID <code>4688</code> (A new process has been created) showing unexpected child processes executed with elevated privileges, or registry modifications under <code>HKLM\Software\Microsoft\Windows\CurrentVersion\Run</code>.</p>
</li>
<li><p><strong>Detection Strategy:</strong> Deploy Endpoint Detection and Response (EDR) solutions to flag unquoted service paths, suspicious process trees, or unauthorized executable executions.</p>
</li>
</ul>
<hr />
<h2>What I Learned</h2>
<ul>
<li><p><strong>Systematic Enumeration:</strong> Web directory brute-forcing and service scanning yield actionable initial access vectors.</p>
</li>
<li><p><strong>RDP Attack Surface:</strong> Remote desktop services must be closely monitored and protected with strong credentials and network controls.</p>
</li>
<li><p><strong>Windows Privilege Escalation Mechanics:</strong> Local system misconfigurations or flawed binaries allow low-privilege accounts to gain full administrator/SYSTEM control.</p>
</li>
<li><p><strong>Persistence Awareness:</strong> Modern attack chains attempt to maintain long-term access, underscoring the need for host registry and startup monitoring.</p>
</li>
</ul>
<hr />
<h2>Conclusion</h2>
<p>Completing the <strong>Blaster</strong> room was an insightful exercise in combining web reconnaissance, remote service exploitation, and Windows local privilege escalation. Modern defensive cybersecurity relies on understanding both sides of the coin: knowing how systems are compromised enables analysts to implement effective hardening measures, configure robust log auditing, and respond swiftly to threats.</p>
<p>As I continue my cybersecurity learning path, I will keep documenting key conceptual summaries to build a reliable knowledge base for fellow learners.</p>
<hr />
<h2>Resources</h2>
<ul>
<li><p>🌐 <strong>TryHackMe Room:</strong> <a href="https://tryhackme.com/room/blaster">Blaster Room</a></p>
</li>
<li><p>👨‍💻 <strong>TryHackMe Profile:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p>💻 <strong>GitHub Repository:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">tryhackme-writeups</a></p>
</li>
<li><p>✍️ <strong>Hashnode Blog:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning.hashnode.dev</a></p>
</li>
<li><p>📘 <strong>CISA Cybersecurity Best Practices:</strong> <a href="https://www.cisa.gov/topics/cybersecurity-best-practices">CISA Guidance</a></p>
</li>
<li><p>📘 <strong>NIST Cybersecurity Framework:</strong> <a href="https://www.nist.gov/cyberframework">NIST CSF</a></p>
</li>
</ul>
<hr />
<h2>Connect with Me</h2>
<p>If you are also navigating your cybersecurity journey or building practical lab experience, let's connect!</p>
<ul>
<li><p><strong>TryHackMe:</strong> <a href="https://tryhackme.com/p/sunnysharma11200">sunnysharma11200</a></p>
</li>
<li><p><strong>GitHub:</strong> <a href="https://github.com/SunnySharma04/tryhackme-writeups">SunnySharma04</a></p>
</li>
<li><p><strong>Hashnode:</strong> <a href="https://cybersecurity-learning.hashnode.dev/">cybersecurity-learning</a></p>
</li>
<li><p><strong>LinkedIn:</strong> <a href="https://www.linkedin.com/in/sunny-sharma-2487312a7/">Sunny Sharma</a></p>
</li>
</ul>
<p><em>Happy Learning!</em></p>
]]></content:encoded></item></channel></rss>