<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Hugo | DevOps | Cybersecurity</title>
    <description>The latest articles on Forem by Hugo | DevOps | Cybersecurity (@hugovalters).</description>
    <link>https://forem.com/hugovalters</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1175774%2F8a57b46a-da15-4ac2-ab41-fbe56c6a99a5.jpg</url>
      <title>Forem: Hugo | DevOps | Cybersecurity</title>
      <link>https://forem.com/hugovalters</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/hugovalters"/>
    <language>en</language>
    <item>
      <title>Hardcoded Passwords in Scripts: That's Not Automation, That's a Breach</title>
      <dc:creator>Hugo | DevOps | Cybersecurity</dc:creator>
      <pubDate>Sat, 18 Apr 2026 12:33:03 +0000</pubDate>
      <link>https://forem.com/hugovalters/hardcoded-passwords-in-scripts-thats-not-automation-thats-a-breach-26kg</link>
      <guid>https://forem.com/hugovalters/hardcoded-passwords-in-scripts-thats-not-automation-thats-a-breach-26kg</guid>
      <description>&lt;p&gt;There is a special place in infrastructure hell for sysadmins who write "automation" scripts with &lt;code&gt;$AdminPassword = "CompanyAdmin2026!"&lt;/code&gt; right at the top. &lt;/p&gt;

&lt;p&gt;You usually find these masterpieces sitting on a globally readable network share like &lt;code&gt;\\fs01\IT_Scripts\NewUserSetup.ps1&lt;/code&gt;, or worse, pushed to a public GitHub repository because someone didn't understand how &lt;code&gt;.gitignore&lt;/code&gt; works. &lt;/p&gt;

&lt;p&gt;Let’s get one thing straight: if your script contains a plain-text password, you didn't write an automation script. You wrote a self-service portal for threat actors. You are doing the attacker's job for them.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Mechanics: The String Search
&lt;/h3&gt;

&lt;p&gt;When a threat actor or an automated worm breaches a low-level workstation on your network, they don't immediately start dropping zero-days. They live off the land. One of the very first enumeration steps is mounting available network shares and running a recursive search for files ending in &lt;code&gt;.ps1&lt;/code&gt;, &lt;code&gt;.sh&lt;/code&gt;, &lt;code&gt;.bat&lt;/code&gt;, or &lt;code&gt;.py&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Once they find those files, they just grep for strings like &lt;code&gt;password&lt;/code&gt;, &lt;code&gt;pwd&lt;/code&gt;, &lt;code&gt;credential&lt;/code&gt;, or &lt;code&gt;api_key&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;If anyone with read access to that file share can read the script, anyone can own the domain. It doesn't matter how complex the password is if you leave it written on a digital Post-it note attached to the execution file. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Fix: DPAPI and Secret Vaults
&lt;/h3&gt;

&lt;p&gt;Stop hardcoding secrets. If you need a script to run unattended, you have to decouple the credential from the code.&lt;/p&gt;

&lt;p&gt;For enterprise environments, the correct answer is a dedicated secrets engine like HashiCorp Vault, Azure Key Vault, or AWS Secrets Manager. Your script authenticates via a managed identity or machine certificate, pulls the secret dynamically into memory, uses it, and dumps it.&lt;/p&gt;

&lt;p&gt;If you don't have a vault, you can still secure local automation using the Windows Data Protection API (DPAPI). PowerShell's &lt;code&gt;Export-Clixml&lt;/code&gt; cmdlet can serialize a credential object and encrypt it using a key tied specifically to the Windows user account and the machine executing the script. If an attacker copies the XML file to another machine, or tries to read it as a different user, it fails to decrypt.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Code
&lt;/h3&gt;

&lt;p&gt;Here is the script that guarantees your Domain Controller gets encrypted by Friday:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# THE BAD WAY (A breach waiting to happen)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="c"&gt;# Anyone who can read this file owns the hypervisor&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="nv"&gt;$Username&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"admin@corp.local"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nv"&gt;$Password&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"SuperSecretAdmin123!"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nv"&gt;$Cred&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;New-Object&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;System.Management.Automation.PSCredential&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$Username&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ConvertTo-SecureString&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$Password&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-AsPlainText&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="n"&gt;Connect-VMHost&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Server&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;vcenter.corp.local&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Credential&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$Cred&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here is the Senior Sysadmin approach using local DPAPI encryption. &lt;/p&gt;

&lt;p&gt;First, as a one-time setup step logged in as the service account running the automation, you prompt for the password and encrypt it to disk:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# ONE-TIME SETUP (Run as the Service Account on the execution machine)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Get-Credential&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Export-Clixml&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"C:\SecureScripts\Credentials\vcenter_cred.xml"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, your actual automation script just imports that encrypted object. No plain-text secrets in the code, no hardcoded strings for malware to scrape.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# THE REAL ENGINEER'S WAY (Decoupled and Encrypted)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="c"&gt;# The credential can only be decrypted by the specific Service Account on this specific machine.&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="nv"&gt;$CredPath&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"C:\SecureScripts\Credentials\vcenter_cred.xml"&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="kr"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-Not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Test-Path&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$CredPath&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="n"&gt;Write-Error&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Credential file missing. Cannot authenticate."&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="kr"&gt;exit&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ DECLASSIFIED / TRUNCATED VERSION&lt;/strong&gt;&lt;br&gt;
You are reading a truncated version of this technical guide. &lt;br&gt;
To read the full, unedited deep-dive (including all configuration files, architecture diagrams, and high-res images), &lt;strong&gt;&lt;a href="https://www.valtersit.com/guides/security/hardcoded-passwords-in-scripts-thats-not-automation-thats-a-breach/" rel="noopener noreferrer"&gt;visit the original post on Valters IT Docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>cybersecurity</category>
      <category>scripting</category>
      <category>powershell</category>
      <category>devsecops</category>
    </item>
    <item>
      <title>MFA Fatigue: Why Your 'Secure' Push Notifications Are Getting You Hacked</title>
      <dc:creator>Hugo | DevOps | Cybersecurity</dc:creator>
      <pubDate>Fri, 17 Apr 2026 12:33:04 +0000</pubDate>
      <link>https://forem.com/hugovalters/mfa-fatigue-why-your-secure-push-notifications-are-getting-you-hacked-16h9</link>
      <guid>https://forem.com/hugovalters/mfa-fatigue-why-your-secure-push-notifications-are-getting-you-hacked-16h9</guid>
      <description>&lt;p&gt;Companies will spend $50,000 a year on a premium Identity Provider (IdP) tier, roll out an authenticator app to the entire org, and proudly declare themselves "unhackable" at the next board meeting. &lt;/p&gt;

&lt;p&gt;Then Kevin in Sales gets his password scraped by an infostealer. At 2:14 AM on a Tuesday, his phone buzzes. He ignores it. At 2:15 AM, it buzzes 30 more times in rapid succession. Bleary-eyed, irritated, and just wanting the screen to go dark so he can go back to sleep, Kevin hits "Approve". &lt;/p&gt;

&lt;p&gt;Congratulations. Your multi-million dollar security perimeter was just breached because Kevin was tired. &lt;/p&gt;

&lt;p&gt;Basic push notifications are not a security boundary; they are an annoyance threshold. If your security architecture relies on a binary "Yes/No" from an exhausted human, it is structurally flawed.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Mechanics: Prompt Bombing
&lt;/h3&gt;

&lt;p&gt;This attack vector is known as "MFA Fatigue" or "Prompt Bombing," and it is the primary way threat actors like Lapsus$ and Scattered Spider have been breaching Fortune 500s. &lt;/p&gt;

&lt;p&gt;The attacker already has the valid username and password—usually bought for $5 on a darknet market or phished via a fake Office 365 login page. The only thing standing between them and your corporate VPN is the MFA prompt. So, they script the login portal to fire authentication requests repeatedly. &lt;/p&gt;

&lt;p&gt;Sometimes they don't even rely on pure fatigue. They will hit the user with three prompts, then immediately call the user's phone, spoofing the caller ID to look like the internal Helpdesk. "Hi, this is IT. We're doing an overnight server migration and need you to acknowledge the prompt on your phone to keep your account active."&lt;/p&gt;

&lt;p&gt;The user taps "Approve", the attacker gets the session token, and they are in. It relies entirely on human psychology, requiring zero technical sophistication once the password is known.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Fix: Kill the "Approve" Button
&lt;/h3&gt;

&lt;p&gt;The modern Zero-Trust approach dictates that you must immediately disable simple "Approve/Deny" push notifications. &lt;/p&gt;

&lt;p&gt;You must enforce &lt;strong&gt;Number Matching&lt;/strong&gt;. With Number Matching, the login screen displays a randomly generated 2-digit number. The user cannot simply tap "Approve"; they &lt;em&gt;must&lt;/em&gt; open their authenticator app and manually type that specific number. You cannot type the number if you aren't the one looking at the login screen. It completely neutralizes MFA fatigue.&lt;/p&gt;

&lt;p&gt;For highly privileged accounts (Domain Admins, Global Admins), you should deprecate phone-based MFA entirely. Mandate FIDO2 hardware keys (like YubiKeys). FIDO2 is cryptographically bound to the TLS session and the specific domain being accessed, making it mathematically phishing-resistant.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Code &amp;amp; Config
&lt;/h3&gt;

&lt;p&gt;If you are using Microsoft Entra ID (formerly Azure AD), Number Matching is now the default, but if you have legacy policies overriding it, you are vulnerable. Here is the Microsoft Graph API payload to strictly enforce Number Matching, along with application context and geographic location display.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;THE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;REAL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;ENGINEER'S&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;WAY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;(Enforce&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Number&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Matching&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;via&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;MS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Graph&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;API)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;PATCH&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="err"&gt;https://graph.microsoft.com/v&lt;/span&gt;&lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="err"&gt;/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/microsoftAuthenticator&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="err"&gt;(https://graph.microsoft.com/v&lt;/span&gt;&lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="err"&gt;/policies/authenticationMethodsPolicy/authenticationMethodConfigurations/microsoftAuthenticator)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ DECLASSIFIED / TRUNCATED VERSION&lt;/strong&gt;&lt;br&gt;
You are reading a truncated version of this technical guide. &lt;br&gt;
To read the full, unedited deep-dive (including all configuration files, architecture diagrams, and high-res images), &lt;strong&gt;&lt;a href="https://www.valtersit.com/guides/security/mfa-fatigue-why-your-secure-push-notifications-are-getting-you-hacked/" rel="noopener noreferrer"&gt;visit the original post on Valters IT Docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>cybersecurity</category>
      <category>identity</category>
      <category>mfa</category>
      <category>phishing</category>
    </item>
    <item>
      <title>Port 3389 to the World: How to Lose Your Company Data Over the Weekend</title>
      <dc:creator>Hugo | DevOps | Cybersecurity</dc:creator>
      <pubDate>Thu, 16 Apr 2026 12:33:03 +0000</pubDate>
      <link>https://forem.com/hugovalters/port-3389-to-the-world-how-to-lose-your-company-data-over-the-weekend-fbc</link>
      <guid>https://forem.com/hugovalters/port-3389-to-the-world-how-to-lose-your-company-data-over-the-weekend-fbc</guid>
      <description>&lt;p&gt;It’s 4:30 PM on a Friday. The head accountant insists they need to finish payroll from home over the weekend. The junior IT guy, wanting to be helpful and avoid setting up a VPN profile, logs into the edge firewall, creates a quick NAT rule forwarding TCP 3389 straight to the internal terminal server, and goes to the pub. &lt;/p&gt;

&lt;p&gt;By Monday morning, every file server, domain controller, and backup repository on the network ends in &lt;code&gt;.lockbit&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;If you are exposing Remote Desktop Protocol (RDP) directly to the public internet in the current year, you are not administering a network. You are operating a honeypot. It is the single most amateur mistake in Windows system administration, and it is the primary vector for ransomware groups globally.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Mechanics: The 48-Hour Guarantee
&lt;/h3&gt;

&lt;p&gt;You might think your obscure static IP address is flying under the radar. It isn't. &lt;/p&gt;

&lt;p&gt;Mass-scanning botnets map the entire IPv4 address space in a matter of hours. When you open port 3389, it takes roughly 45 minutes for automated scanners to find it and flag your IP in a Telegram channel. &lt;/p&gt;

&lt;p&gt;Once the port is discovered, the attack branches into two paths:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Credential Stuffing:&lt;/strong&gt; Automated scripts hammer your login prompt with leaked credentials, default passwords, and variations of &lt;code&gt;Administrator&lt;/code&gt; and &lt;code&gt;Company2026!&lt;/code&gt;. If you don't have aggressive Active Directory account lockout policies enabled, they will eventually brute-force their way in.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protocol Exploits:&lt;/strong&gt; If the server is missing a few critical Windows Updates, attackers just fire off a known RDP vulnerability payload—like the infamous BlueKeep (CVE-2019-0708). This gives them pre-authentication remote code execution at the SYSTEM level. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once they have an RDP session, the game is over. They deploy Cobalt Strike, disable Windows Defender, dump LSASS memory to harvest Domain Admin credentials, and move laterally across your hypervisors. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Fix: Kill the NAT Rule
&lt;/h3&gt;

&lt;p&gt;The Senior Sysadmin approach to RDP is absolute: &lt;strong&gt;Never, under any circumstances, expose 3389 to the internet.&lt;/strong&gt; If users need remote access, you implement layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Network Layer:&lt;/strong&gt; Users must connect to a proper VPN (WireGuard or IPsec) &lt;em&gt;before&lt;/em&gt; they can even route to the internal subnet where the RDP server lives.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Gateway Layer:&lt;/strong&gt; If you absolutely cannot use a VPN client, deploy a Remote Desktop Gateway (RD Gateway) behind a reverse proxy. This encapsulates the RDP traffic over HTTPS (TCP 443).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Identity Layer:&lt;/strong&gt; Enforce Multi-Factor Authentication (MFA) via Entra ID, Duo, or Okta at the VPN or Gateway level. Passwords alone are mathematically obsolete.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  The Code &amp;amp; Config
&lt;/h3&gt;

&lt;p&gt;Here is what the firewall rule looks like on an amateurly managed network. Delete this immediately.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# THE BAD WAY (Ransomware Welcome Mat)
# Edge Firewall NAT / Port Forwarding
Rule: 10
Action: ALLOW
Protocol: TCP
Source: ANY (0.0.0.0/0)
Destination Port: 3389
Forward IP: 192.168.10.50 (Internal Terminal Server)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your edge firewall should simply drop all inbound 3389 traffic. &lt;/p&gt;

&lt;p&gt;Inside the network, you must harden the RDP host itself. At a bare minimum, enforce Network Level Authentication (NLA). NLA requires the user to authenticate &lt;em&gt;before&lt;/em&gt; the server establishes a full RDP session and allocates memory, completely neutralizing entire classes of pre-auth exploits like BlueKeep.&lt;/p&gt;

&lt;p&gt;Run this snippet in an elevated PowerShell prompt to force NLA on your Windows Servers, or push it via Group Policy (GPO):&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ DECLASSIFIED / TRUNCATED VERSION&lt;/strong&gt;&lt;br&gt;
You are reading a truncated version of this technical guide. &lt;br&gt;
To read the full, unedited deep-dive (including all configuration files, architecture diagrams, and high-res images), &lt;strong&gt;&lt;a href="https://www.valtersit.com/guides/security/port-3389-to-the-world-how-to-lose-your-company-data-over-the-weekend/" rel="noopener noreferrer"&gt;visit the original post on Valters IT Docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>cybersecurity</category>
      <category>windows</category>
      <category>rdp</category>
      <category>ransomware</category>
    </item>
    <item>
      <title>Wazuh SIEM: A Threat Hunting Toolkit for People Who Hate SIEMs</title>
      <dc:creator>Hugo | DevOps | Cybersecurity</dc:creator>
      <pubDate>Wed, 15 Apr 2026 12:33:03 +0000</pubDate>
      <link>https://forem.com/hugovalters/wazuh-siem-a-threat-hunting-toolkit-for-people-who-hate-siems-1e2k</link>
      <guid>https://forem.com/hugovalters/wazuh-siem-a-threat-hunting-toolkit-for-people-who-hate-siems-1e2k</guid>
      <description>&lt;h3&gt;
  
  
  1. Introduction: So You Need a SIEM. My Condolences.
&lt;/h3&gt;

&lt;p&gt;Let's get one thing straight. You're here because someone—a manager, an auditor, or that little voice of dread in your head—told you that you need a Security Information and Event Management (SIEM) system. My condolences. Most SIEMs are expensive, proprietary black boxes designed to do one thing exceptionally well: generate invoices. They are compliance checkboxes, not functional security tools. They drown you in so many false positives that a real attack would look like just another Tuesday.&lt;/p&gt;

&lt;p&gt;We're not here to install a "next-gen" magic quadrant leader. We're here to build a data analysis engine.&lt;/p&gt;

&lt;h4&gt;
  
  
  Why Commercial SIEMs Are (Mostly) Expensive Alert Cannons
&lt;/h4&gt;

&lt;p&gt;The commercial SIEM market is built on a foundation of terrible ideas. The "per-GB-per-day" licensing model is the most fundamentally broken of them all. It actively punishes you for collecting more data, which is the entire point of security monitoring. The more visibility you want, the more it costs, until you inevitably start making compromises, like not logging DNS queries because it'll blow the budget.&lt;/p&gt;

&lt;p&gt;Then there's the vendor lock-in. Their detection logic is an opaque, proprietary secret sauce. You can't see it, you can't easily modify it, and you're entirely at the mercy of their release cycle to detect the latest threat. The default configuration is a firehose of useless "Severity: Medium - User logged in" noise, designed to make the dashboard look busy and justify its existence. Alert fatigue isn't a side effect; it's a feature.&lt;/p&gt;

&lt;h4&gt;
  
  
  Enter Wazuh: The Box of Sharp Parts
&lt;/h4&gt;

&lt;p&gt;Wazuh isn't a polished, shrink-wrapped product. It's a framework, a collection of sharp, powerful parts that you have to assemble yourself. It grew out of the OSSEC HIDS (Host-based Intrusion Detection System) and has been bolted onto the Elastic Stack—or OpenSearch, or whatever they're calling the fork this week. The point is, it's a battle-tested agent-based HIDS connected to a modern, scalable data backend.&lt;/p&gt;

&lt;p&gt;The power of Wazuh isn't in the pre-canned dashboard widgets. It's in the absolute, granular control you have over data collection, rule logic, and automated response. It's free, as in beer. Your only cost is the hardware (or cloud bill) and your own time. If you're not willing to invest the time to learn its quirks and tune it properly, stop reading now. Go call your Splunk sales rep and prepare your purchase order. For everyone else, let's build something useful.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Architecture: Don't Screw This Up from the Start
&lt;/h3&gt;

&lt;p&gt;Your initial architectural decisions will determine whether this project is a success or a slow, painful failure. Get this part right, and the rest is just tuning.&lt;/p&gt;

&lt;h4&gt;
  
  
  The Three Horsemen
&lt;/h4&gt;

&lt;p&gt;Wazuh is composed of three primary services. Understand what each one does and its limitations.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ DECLASSIFIED / TRUNCATED VERSION&lt;/strong&gt;&lt;br&gt;
You are reading a truncated version of this technical guide. &lt;br&gt;
To read the full, unedited deep-dive (including all configuration files, architecture diagrams, and high-res images), &lt;strong&gt;&lt;a href="https://www.valtersit.com/guides/security/wazuh-siem-a-threat-hunting-toolkit-for-people-who-hate-siems/" rel="noopener noreferrer"&gt;visit the original post on Valters IT Docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>wazuh</category>
      <category>siem</category>
      <category>security</category>
      <category>devops</category>
    </item>
    <item>
      <title>Schrödinger's Backup: If You Haven't Tested a Restore, You Don't Have a Backup</title>
      <dc:creator>Hugo | DevOps | Cybersecurity</dc:creator>
      <pubDate>Tue, 14 Apr 2026 12:33:03 +0000</pubDate>
      <link>https://forem.com/hugovalters/schrodingers-backup-if-you-havent-tested-a-restore-you-dont-have-a-backup-1d53</link>
      <guid>https://forem.com/hugovalters/schrodingers-backup-if-you-havent-tested-a-restore-you-dont-have-a-backup-1d53</guid>
      <description>&lt;p&gt;Let me introduce you to Schrödinger's Backup: the condition of your corporate data is simultaneously pristine and completely destroyed until you actually attempt a bare-metal restore. &lt;/p&gt;

&lt;p&gt;I have sat in entirely too many incident response war rooms where a company gets hit by LockBit or BlackCat. The CEO is panicking, but the IT Director smugly crosses his arms and says, "Don't worry, we use Veeam. We'll just restore from last night."&lt;/p&gt;

&lt;p&gt;Ten minutes later, the blood completely drains from the IT Director's face. He realizes that the backup server was joined to the exact same Active Directory domain that just got compromised. The attacker used their stolen Domain Admin credentials to log into the backup repository and encrypted the backups, too. &lt;/p&gt;

&lt;p&gt;You didn't have a disaster recovery plan. You just had a really expensive secondary target.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Mechanics: Destroying the Safety Net
&lt;/h3&gt;

&lt;p&gt;Modern ransomware is not a dumb script that just blindly encrypts &lt;code&gt;C:\Users&lt;/code&gt;. It is a human-operated, highly targeted "living off the land" operation. &lt;/p&gt;

&lt;p&gt;The absolute &lt;em&gt;first&lt;/em&gt; thing a competent threat actor does after escalating privileges is hunt down your safety net. They query Active Directory for servers with "backup", "veeam", "rubrik", or "datto" in the hostname. They log into your hypervisors. They run &lt;code&gt;vssadmin delete shadows /all /quiet&lt;/code&gt; to nuke your local Volume Shadow Copies. They log into your network-attached storage (NAS) and format the volume. &lt;/p&gt;

&lt;p&gt;Only &lt;em&gt;after&lt;/em&gt; they have systematically dismantled your ability to recover do they push the button to encrypt your production environment. If your backup system relies on the same authentication perimeter (Active Directory, shared local admin passwords) as your production system, it will fall the second your domain falls.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Fix: Immutability and the 3-2-1-1 Rule
&lt;/h3&gt;

&lt;p&gt;The old 3-2-1 backup rule (3 copies, 2 media, 1 offsite) is dead. You need 3-2-1-1: the final "1" stands for &lt;strong&gt;Immutable&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Immutable storage is Write-Once-Read-Many (WORM). Once the data is written, it is physically and cryptographically impossible to delete, modify, or encrypt it for a specified retention period. It doesn't matter if the attacker gets Domain Admin. It doesn't matter if the attacker gets the literal AWS root credentials. The storage API will simply reject any delete or modify requests until the timer expires. &lt;/p&gt;

&lt;p&gt;The modern Senior Engineer approach is to push your secondary backups to a cloud bucket with strict Object Lock enabled in Compliance Mode. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Code &amp;amp; Config
&lt;/h3&gt;

&lt;p&gt;Here is how you actually build an immutable vault. This Terraform snippet creates an AWS S3 bucket and locks it down with a 30-day compliance retention policy.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight hcl"&gt;&lt;code&gt;&lt;span class="c1"&gt;# THE REAL ENGINEER'S WAY (Immutable S3 Storage)&lt;/span&gt;
&lt;span class="c1"&gt;# If an attacker compromises your entire datacenter and AWS keys, &lt;/span&gt;
&lt;span class="c1"&gt;# they STILL cannot delete these backups for 30 days.&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_s3_bucket"&lt;/span&gt; &lt;span class="s2"&gt;"immutable_backups"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;bucket&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"corp-airgapped-backups-2026"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# 1. Enable Object Lock (Must be done at bucket creation)&lt;/span&gt;
&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_s3_bucket_versioning"&lt;/span&gt; &lt;span class="s2"&gt;"backup_versioning"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;bucket&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;aws_s3_bucket&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;immutable_backups&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;
  &lt;span class="nx"&gt;versioning_configuration&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;status&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"Enabled"&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_s3_bucket_object_lock_configuration"&lt;/span&gt; &lt;span class="s2"&gt;"backup_lock"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;bucket&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;aws_s3_bucket&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;immutable_backups&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ DECLASSIFIED / TRUNCATED VERSION&lt;/strong&gt;&lt;br&gt;
You are reading a truncated version of this technical guide. &lt;br&gt;
To read the full, unedited deep-dive (including all configuration files, architecture diagrams, and high-res images), &lt;strong&gt;&lt;a href="https://www.valtersit.com/guides/security/schrodingers-backup-if-you-havent-tested-a-restore-you-dont-have-a-backup/" rel="noopener noreferrer"&gt;visit the original post on Valters IT Docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>cybersecurity</category>
      <category>disasterrecovery</category>
      <category>backups</category>
      <category>ransomware</category>
    </item>
    <item>
      <title>Still Running SMBv1? You're Basically Inviting WannaCry to Dinner</title>
      <dc:creator>Hugo | DevOps | Cybersecurity</dc:creator>
      <pubDate>Sun, 12 Apr 2026 12:33:03 +0000</pubDate>
      <link>https://forem.com/hugovalters/still-running-smbv1-youre-basically-inviting-wannacry-to-dinner-1b0a</link>
      <guid>https://forem.com/hugovalters/still-running-smbv1-youre-basically-inviting-wannacry-to-dinner-1b0a</guid>
      <description>&lt;p&gt;It is 2026. The fact that I still walk into enterprise environments and see Server Message Block version 1 (SMBv1) enabled on Domain Controllers because the HR department refuses to replace a multifunction Xerox scanner from 2005 is a complete dereliction of duty. &lt;/p&gt;

&lt;p&gt;Let me be absolutely clear: SMBv1 is a 30-year-old protocol that was deprecated before most junior sysadmins even graduated high school. Keeping it active on your network isn't a "business requirement," it is gross negligence. If you have SMBv1 running, you are effectively leaving the front door to your datacenter wide open with a neon sign pointing to the servers.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Mechanics: The EternalBlue Nightmare
&lt;/h3&gt;

&lt;p&gt;To understand why SMBv1 is so lethal, you have to look at EternalBlue (CVE-2017-0144), the exploit that powered the WannaCry and NotPetya global meltdowns. &lt;/p&gt;

&lt;p&gt;This isn't a phishing attack that requires a user to click a bad link. It requires absolutely zero user interaction. If SMBv1 is enabled, an attacker (or a self-propagating worm) simply sends a specially crafted, unauthenticated packet to the target's &lt;code&gt;IPC$&lt;/code&gt; share. &lt;/p&gt;

&lt;p&gt;Because of a massive vulnerability in how the Windows kernel driver (&lt;code&gt;srv.sys&lt;/code&gt;) handles these packets, that single malformed request triggers a buffer overflow. The attacker instantly gains arbitrary code execution at the Ring 0 (SYSTEM) level. They don't just own the machine; they own the kernel. From there, the worm scans the local subnet, finds every other machine listening on TCP 445 with SMBv1 enabled, and infects the entire VLAN in a matter of seconds.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Fix: Nuke It From Orbit
&lt;/h3&gt;

&lt;p&gt;You do not mitigate SMBv1. You exterminate it. &lt;/p&gt;

&lt;p&gt;The Senior Sysadmin approach is to aggressively disable the protocol across every single endpoint and server in the domain. If that legacy 2005 scanner suddenly breaks, good. Tell them to buy a $300 printer from Best Buy. If management absolutely insists that a legacy piece of manufacturing hardware &lt;em&gt;must&lt;/em&gt; use SMBv1, you physically isolate that machine on a completely locked-down, air-gapped VLAN with zero routing access to the rest of the corporate network. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Code &amp;amp; Config
&lt;/h3&gt;

&lt;p&gt;Stop clicking through GUI menus. Here is the exact PowerShell and Group Policy configuration to rip SMBv1 out of your infrastructure permanently.&lt;/p&gt;

&lt;p&gt;First, run this on your Windows Servers to kill the service immediately without a reboot:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# THE REAL ENGINEER'S WAY (Kill SMBv1 on Windows Server)&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# Check if the protocol is even enabled&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Get-SmbServerConfiguration&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Select&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;EnableSMB1Protocol&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# Terminate it with extreme prejudice&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Set-SmbServerConfiguration&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-EnableSMB1Protocol&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="bp"&gt;$false&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Force&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="n"&gt;Write-Host&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"SMBv1 Server service terminated."&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-ForegroundColor&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Green&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To rip the client feature out of Windows 10/11 workstations, use the Optional Features cmdlet:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Kill SMBv1 Client on Windows Workstations&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Disable-WindowsOptionalFeature&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Online&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-FeatureName&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;SMB1Protocol&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-NoRestart&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, to ensure no rogue machine or helpdesk tech ever turns it back on, you enforce this registry key via Group Policy Object (GPO) applied to the entire domain:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# THE GPO NUKE (Enforce via Group Policy Preferences -&amp;gt; Registry)

Action: Update
Hive: HKEY_LOCAL_MACHINE
Key Path: SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Value Name: SMB1
Value Type: REG_DWORD
Value Data: 0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ DECLASSIFIED / TRUNCATED VERSION&lt;/strong&gt;&lt;br&gt;
You are reading a truncated version of this technical guide. &lt;br&gt;
To read the full, unedited deep-dive (including all configuration files, architecture diagrams, and high-res images), &lt;strong&gt;&lt;a href="https://www.valtersit.com/guides/security/still-running-smbv1-you_re-basically-inviting-wannacry-to-dinner/" rel="noopener noreferrer"&gt;visit the original post on Valters IT Docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>cybersecurity</category>
      <category>networking</category>
      <category>windows</category>
      <category>smb</category>
    </item>
    <item>
      <title>The 'Domain Admin' Ego Trip: Why Handing Out DA Privileges Guarantees a Ransomware Outbreak</title>
      <dc:creator>Hugo | DevOps | Cybersecurity</dc:creator>
      <pubDate>Sat, 11 Apr 2026 12:33:04 +0000</pubDate>
      <link>https://forem.com/hugovalters/the-domain-admin-ego-trip-why-handing-out-da-privileges-guarantees-a-ransomware-outbreak-1b5d</link>
      <guid>https://forem.com/hugovalters/the-domain-admin-ego-trip-why-handing-out-da-privileges-guarantees-a-ransomware-outbreak-1b5d</guid>
      <description>&lt;p&gt;I frequently audit corporate networks where 15 different people are sitting in the &lt;code&gt;Domain Admins&lt;/code&gt; group. When I ask the IT Director why the junior helpdesk tech and the database administrator hold the literal keys to the entire Active Directory forest, the answer is always some variation of, "It makes fixing printer permissions easier."&lt;/p&gt;

&lt;p&gt;No, it doesn't. It makes you lazy. Handing out Domain Admin (DA) privileges like candy isn't an IT strategy; it's an ego trip for the IT staff and a guaranteed ransomware deployment for the business.&lt;/p&gt;

&lt;p&gt;If your helpdesk uses a DA account to log into user workstations, you are actively facilitating your own network's destruction. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Mechanics: How Mimikatz Eats Your Domain
&lt;/h3&gt;

&lt;p&gt;You don't need to be hacked by a nation-state to lose your domain. An attacker only needs to phish one low-level employee. Let's say Kevin in HR clicks a bad PDF, and an attacker gets a silent, unprivileged reverse shell on his laptop.&lt;/p&gt;

&lt;p&gt;Kevin notices his computer is acting sluggish and calls the helpdesk. The lazy helpdesk tech, using their daily driver account which happens to be in the &lt;code&gt;Domain Admins&lt;/code&gt; group, RDPs into Kevin's infected workstation to take a look. &lt;/p&gt;

&lt;p&gt;The moment that DA account authenticates to the workstation, Windows caches their credentials in the Local Security Authority Subsystem Service (LSASS) process memory. &lt;/p&gt;

&lt;p&gt;The attacker, sitting quietly on Kevin's machine, runs a tool like Mimikatz. They scrape the LSASS memory and extract the helpdesk tech's NTLM hash or plain-text password. Because the tech is a DA, the attacker takes that hash, uses Pass-the-Hash to authenticate directly to the Domain Controller, and dumps the &lt;code&gt;NTDS.dit&lt;/code&gt; database. &lt;/p&gt;

&lt;p&gt;The attacker now owns every password of every user and service account in your company. The domain is dead. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Fix: Tiered Administration and LAPS
&lt;/h3&gt;

&lt;p&gt;The Senior Sysadmin fix is non-negotiable: &lt;strong&gt;The Tiered Administration Model&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Domain Admins (Tier 0) must &lt;em&gt;never&lt;/em&gt; log into workstations (Tier 2) or standard application servers (Tier 1). Ever. If a DA account logs into a workstation, that workstation is now effectively a Domain Controller from a risk perspective. &lt;/p&gt;

&lt;p&gt;To give your helpdesk the ability to fix Kevin's computer without using a DA account, you implement the Principle of Least Privilege and deploy Microsoft LAPS (Local Administrator Password Solution). &lt;/p&gt;

&lt;p&gt;LAPS randomizes the built-in local administrator password on every single workstation in the domain, makes it completely unique, changes it automatically every 30 days, and stores it securely in a hidden Active Directory attribute. When the helpdesk needs to fix a PC, they look up that specific PC's LAPS password, use it, and move on. If the PC is compromised, the attacker only gets a local admin password that is useless on every other machine in the network.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Code &amp;amp; Config
&lt;/h3&gt;

&lt;p&gt;Deploying LAPS is not hard. It takes 15 minutes of PowerShell on a Domain Controller to stop 90% of lateral movement attacks.&lt;/p&gt;

&lt;p&gt;Here is the PowerShell snippet to prepare your Active Directory schema and delegate the correct permissions so your helpdesk can actually read the LAPS passwords without needing Domain Admin rights.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="c"&gt;# THE REAL ENGINEER'S WAY (Deploying LAPS via PowerShell)&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# 1. Import the LAPS module on your Domain Controller&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Import-Module&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;AdmPwd.PS&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="c"&gt;# 2. Update the AD Schema to include the ms-Mcs-AdmPwd attributes&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="n"&gt;Update-AdmPwdADSchema&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ DECLASSIFIED / TRUNCATED VERSION&lt;/strong&gt;&lt;br&gt;
You are reading a truncated version of this technical guide. &lt;br&gt;
To read the full, unedited deep-dive (including all configuration files, architecture diagrams, and high-res images), &lt;strong&gt;&lt;a href="https://www.valtersit.com/guides/security/the-domain-admin-ego-trip-why-handing-out-da-privileges-guarantees-a-ransomware-outbreak/" rel="noopener noreferrer"&gt;visit the original post on Valters IT Docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>cybersecurity</category>
      <category>activedirectory</category>
      <category>sysadmin</category>
      <category>privilegeescalation</category>
    </item>
    <item>
      <title>The Open S3 Bucket Epidemic: Why Reading the Manual is Apparently Too Hard</title>
      <dc:creator>Hugo | DevOps | Cybersecurity</dc:creator>
      <pubDate>Fri, 10 Apr 2026 12:33:03 +0000</pubDate>
      <link>https://forem.com/hugovalters/the-open-s3-bucket-epidemic-why-reading-the-manual-is-apparently-too-hard-1goj</link>
      <guid>https://forem.com/hugovalters/the-open-s3-bucket-epidemic-why-reading-the-manual-is-apparently-too-hard-1goj</guid>
      <description>&lt;p&gt;Every time a tech company issues a somber press release about a "highly sophisticated, coordinated cyber incident," I immediately assume an intern left an AWS S3 bucket open to the public. Nine times out of ten, I'm right.&lt;/p&gt;

&lt;p&gt;There is an epidemic of startups leaking millions of customer passport scans, API keys, and PII because someone couldn't figure out IAM roles and just clicked "Public" so the frontend application could load an image. When your company's crown jewels are exposed to the internet without authentication, you haven't been hacked. You have just successfully hosted a public file share for criminals.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Mechanics: The Three-Minute Window
&lt;/h3&gt;

&lt;p&gt;Many developers believe that if their bucket name is obscure—something like &lt;code&gt;prod-backup-kyc-docs-xyz123&lt;/code&gt;—nobody will ever find it. This is fundamental ignorance of how modern adversaries operate. &lt;/p&gt;

&lt;p&gt;Attackers do not guess your bucket names. They use automated bucket stream scanners. They algorithmically monitor AWS IP spaces, passive DNS logs, and Certificate Transparency logs (like Certstream). &lt;/p&gt;

&lt;p&gt;The second you provision a new S3 bucket with a public ACL, a Python script running on a bulletproof VPS somewhere evaluates it. The script sends an unauthenticated HTTP GET request. If AWS replies with &lt;code&gt;200 OK&lt;/code&gt; instead of &lt;code&gt;403 Forbidden&lt;/code&gt;, the automated script instantly triggers a recursive download of the entire bucket. Your data is cloned and sitting on a darknet marketplace in under three minutes. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Fix: Engineering Guardrails
&lt;/h3&gt;

&lt;p&gt;You cannot fix this with compliance training or strongly worded memos. You fix this with hard engineering guardrails at the infrastructure level. &lt;/p&gt;

&lt;p&gt;The Senior Cloud Engineer's approach dictates that storage must be private by default, and public access must be explicitly blocked at the AWS Account level. If a frontend application absolutely needs to serve a private file to an authenticated user, you do not make the bucket public. You generate an &lt;strong&gt;S3 Pre-Signed URL&lt;/strong&gt; in your backend code, which grants the user temporary read access to that specific object for exactly 60 seconds.&lt;/p&gt;

&lt;p&gt;For anomaly detection, you turn on Amazon Macie to constantly scan your buckets for PII, and GuardDuty to flag anomalous access patterns.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Code &amp;amp; Config
&lt;/h3&gt;

&lt;p&gt;Here is the Terraform configuration that will eventually result in a class-action lawsuit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight hcl"&gt;&lt;code&gt;&lt;span class="c1"&gt;# THE BAD WAY (A Resume Generating Event)&lt;/span&gt;
&lt;span class="c1"&gt;# Making the entire bucket publicly readable because "IAM is confusing"&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_s3_bucket"&lt;/span&gt; &lt;span class="s2"&gt;"customer_data"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;bucket&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"startup-kyc-documents"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_s3_bucket_acl"&lt;/span&gt; &lt;span class="s2"&gt;"customer_data_acl"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;bucket&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;aws_s3_bucket&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;customer_data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;
  &lt;span class="nx"&gt;acl&lt;/span&gt;    &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"public-read"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here is the DevSecOps-approved Terraform. We deploy the bucket, and we immediately attach an absolute, non-negotiable block on all public access policies and ACLs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight hcl"&gt;&lt;code&gt;&lt;span class="c1"&gt;# THE REAL ENGINEER'S WAY (Zero Trust Storage)&lt;/span&gt;

&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_s3_bucket"&lt;/span&gt; &lt;span class="s2"&gt;"customer_data"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;bucket&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"startup-kyc-documents"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="c1"&gt;# 1. THE FIX: Slam the door shut on public access&lt;/span&gt;
&lt;span class="nx"&gt;resource&lt;/span&gt; &lt;span class="s2"&gt;"aws_s3_bucket_public_access_block"&lt;/span&gt; &lt;span class="s2"&gt;"secure_bucket"&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;bucket&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;aws_s3_bucket&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;customer_data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ DECLASSIFIED / TRUNCATED VERSION&lt;/strong&gt;&lt;br&gt;
You are reading a truncated version of this technical guide. &lt;br&gt;
To read the full, unedited deep-dive (including all configuration files, architecture diagrams, and high-res images), &lt;strong&gt;&lt;a href="https://www.valtersit.com/guides/security/the-open-s3-bucket-epidemic-why-reading-the-manual-is-apparently-too-hard/" rel="noopener noreferrer"&gt;visit the original post on Valters IT Docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>cybersecurity</category>
      <category>aws</category>
      <category>cloud</category>
      <category>databreach</category>
    </item>
    <item>
      <title>Your VPN is Your Biggest Vulnerability: The Irony of Perimeter Security</title>
      <dc:creator>Hugo | DevOps | Cybersecurity</dc:creator>
      <pubDate>Thu, 09 Apr 2026 12:33:04 +0000</pubDate>
      <link>https://forem.com/hugovalters/your-vpn-is-your-biggest-vulnerability-the-irony-of-perimeter-security-2lfb</link>
      <guid>https://forem.com/hugovalters/your-vpn-is-your-biggest-vulnerability-the-irony-of-perimeter-security-2lfb</guid>
      <description>&lt;p&gt;There is a dark, painful irony in modern infrastructure: the very appliance you spent $50,000 on to keep the bad guys out is almost certainly the exact door they will use to walk in. &lt;/p&gt;

&lt;p&gt;I have lost count of the incident response calls where a company’s entire Active Directory forest was encrypted because the network admin was too terrified of "causing thirty minutes of downtime" to patch their enterprise VPN appliance. The perimeter security model is dead, and relying on it in 2026 is professional negligence. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Mechanics: The Pre-Auth Webshell
&lt;/h3&gt;

&lt;p&gt;Enterprise VPN appliances—be it Pulse Secure, Fortinet, Palo Alto GlobalProtect, or Cisco AnyConnect—have become the absolute favorite targets for state-sponsored actors and ransomware syndicates alike. &lt;/p&gt;

&lt;p&gt;These devices sit directly on the public internet by design. Attackers do not need a phished password or an MFA bypass to compromise them. Instead, they target the unauthenticated pre-login endpoints—the very web interfaces that serve the initial login form to the user. &lt;/p&gt;

&lt;p&gt;Using path traversal vulnerabilities or basic buffer overflows on these public-facing interfaces, attackers drop a webshell (often written in Perl or Python) directly onto the appliance's underlying Linux operating system. &lt;/p&gt;

&lt;p&gt;Because a VPN appliance inherently requires deep, unrestricted routing access to your core network to function, the attacker now has a persistent, unlogged backdoor. They bypass every firewall rule, IPS, and identity provider you have set up, stepping right over your perimeter defenses.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Fix: Kill the Perimeter
&lt;/h3&gt;

&lt;p&gt;The Senior Security Engineer's fix is twofold. &lt;/p&gt;

&lt;p&gt;First, treat your VPN as a highly hostile zone. You patch it aggressively, immediately, the day a critical CVE drops. "Maintenance windows" are a luxury you do not have when your edge device is bleeding zero-days.&lt;/p&gt;

&lt;p&gt;Second, you stop relying on perimeter security entirely and migrate to a Zero Trust Network Access (ZTNA) model. In ZTNA, there is no "trusted internal network." Users do not connect to a VPN gateway and receive a &lt;code&gt;/16&lt;/code&gt; subnet route allowing them to ping whatever they want. &lt;/p&gt;

&lt;p&gt;Instead, users authenticate to an identity broker at the edge. The broker verifies their identity and their device's security posture, and then dynamically builds a micro-tunnel to &lt;em&gt;one specific application&lt;/em&gt;. If the user's laptop gets compromised, the malware cannot scan your internal subnets because those subnets are mathematically invisible to the client.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Code &amp;amp; Config
&lt;/h3&gt;

&lt;p&gt;Here is the legacy VPN configuration that assumes anyone with a valid password deserves a map to the kingdom.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# THE BAD WAY (Legacy VPN Configuration)
# "Welcome to the LAN. Please don't scan the Domain Controllers."

# Pushing the entire corporate routing table to the client
push "route 10.0.0.0 255.0.0.0"
push "route 192.168.0.0 255.255.0.0"
push "dhcp-option DNS 10.0.1.10"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here is what modern Zero Trust Network Access looks like. Before the user is allowed to even &lt;em&gt;see&lt;/em&gt; the internal application, the policy engine verifies the device is domain-joined, running EDR, and fully patched.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;THE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;REAL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;ENGINEER'S&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;WAY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;(ZTNA&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Device&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Posture&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Policy)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;The&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;network&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;is&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;assumed&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;hostile.&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Access&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;is&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;granted&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;per-app,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;not&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;per-subnet.&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ DECLASSIFIED / TRUNCATED VERSION&lt;/strong&gt;&lt;br&gt;
You are reading a truncated version of this technical guide. &lt;br&gt;
To read the full, unedited deep-dive (including all configuration files, architecture diagrams, and high-res images), &lt;strong&gt;&lt;a href="https://www.valtersit.com/guides/security/your-vpn-is-your-biggest-vulnerability-the-irony-of-perimeter-security/" rel="noopener noreferrer"&gt;visit the original post on Valters IT Docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>cybersecurity</category>
      <category>vpn</category>
      <category>zerotrust</category>
      <category>patching</category>
    </item>
    <item>
      <title>"admin/admin": How Your $10,000 Firewall is Compromised by a $1 Mistake</title>
      <dc:creator>Hugo | DevOps | Cybersecurity</dc:creator>
      <pubDate>Wed, 08 Apr 2026 12:33:03 +0000</pubDate>
      <link>https://forem.com/hugovalters/adminadmin-how-your-10000-firewall-is-compromised-by-a-1-mistake-3afj</link>
      <guid>https://forem.com/hugovalters/adminadmin-how-your-10000-firewall-is-compromised-by-a-1-mistake-3afj</guid>
      <description>&lt;p&gt;I love auditing infrastructure where a company has spent $15,000 on a high-end FortiGate or Palo Alto appliance, paid another $5,000 for the advanced threat protection licensing, and then left the web management interface exposed to the entire internal &lt;code&gt;10.0.0.0/8&lt;/code&gt; corporate LAN. &lt;/p&gt;

&lt;p&gt;Or worse, they opened HTTPS on the WAN interface because the lead network admin "likes to check the dashboard from his phone while fishing."&lt;/p&gt;

&lt;p&gt;Your enterprise firewall is completely useless if you treat its control plane like a public web server. You didn't buy a security appliance; you bought a glorified, expensive backdoor into your own network.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Mechanics: The Control Plane Compromise
&lt;/h3&gt;

&lt;p&gt;There is a fundamental networking concept that amateurs ignore: The Data Plane is for routing packets; the Management Plane is for configuring the router. These two planes should never touch.&lt;/p&gt;

&lt;p&gt;When you leave your management interfaces (HTTPS, SSH, Winbox) accessible from the general employee VLAN or the internet, you are playing a numbers game with zero-day vulnerabilities. Just look at the endless parade of critical, unauthenticated remote code execution (RCE) CVEs that have hit Fortinet, Pulse Secure, and Ivanti over the last three years. &lt;/p&gt;

&lt;p&gt;Attackers don't need to bypass your complex IPS/IDS rules. They just run a Python script against your exposed &lt;code&gt;/remote/login&lt;/code&gt; endpoint, exploit a buffer overflow, or simply brute-force the default &lt;code&gt;admin&lt;/code&gt; password you forgot to change. &lt;/p&gt;

&lt;p&gt;Once they have root on your firewall, they own the physical routing table. They can silently mirror your traffic (PCAP) to an external IP, establish persistent VPN tunnels bypassing all logging, or just turn off the firewall policies entirely and pivot straight into your hypervisors.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Fix: Out-of-Band (OOB) Management
&lt;/h3&gt;

&lt;p&gt;The Senior Network Engineer's approach is absolute: Out-of-Band (OOB) management. &lt;/p&gt;

&lt;p&gt;Your management interfaces must exist on a dedicated, completely isolated Management VLAN that does not route to the internet and does not route to the employee LAN. &lt;/p&gt;

&lt;p&gt;The only way to reach this Management VLAN should be through a hardened Bastion Host (or Jump Box). If you want to configure the firewall, you VPN into the network, MFA into the Jump Box, and only from that specific Jump Box IP can you reach the firewall's SSH or Web UI. If a developer's laptop gets compromised by malware, the malware cannot even ping the firewall's management IP.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Code &amp;amp; Config
&lt;/h3&gt;

&lt;p&gt;Here is what it looks like to secure the management plane on a MikroTik router. Stop relying on default allow-all rules.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# THE BAD WAY (A Resume Generating Event)
# Leaving Winbox and SSH exposed to the entire world or entire LAN
/ip service set winbox address=0.0.0.0/0
/ip service set ssh address=0.0.0.0/0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here is the DevSecOps approach. We define the Jump Box, lock the services to that specific IP, disable insecure legacy protocols, and drop everything else at the firewall input chain.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# THE REAL ENGINEER'S WAY (OOB Management &amp;amp; Bastion Isolation)

# 1. Define your hardened Jump Box IP
/ip firewall address-list add address=192.168.99.50 list=MGMT_JUMPBOX

# 2. Kill insecure services immediately
/ip service set telnet disabled=yes
/ip service set ftp disabled=yes
/ip service set www disabled=yes
/ip service set api disabled=yes

# 3. Lock SSH and Winbox explicitly to the Jump Box IP
/ip service set ssh address=192.168.99.50/32 port=2222
/ip service set winbox address=192.168.99.50/32
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ DECLASSIFIED / TRUNCATED VERSION&lt;/strong&gt;&lt;br&gt;
You are reading a truncated version of this technical guide. &lt;br&gt;
To read the full, unedited deep-dive (including all configuration files, architecture diagrams, and high-res images), &lt;strong&gt;&lt;a href="https://www.valtersit.com/guides/security/admin_admin-how-your-10000-firewall-is-compromised-by-a-1-mistake/" rel="noopener noreferrer"&gt;visit the original post on Valters IT Docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>cybersecurity</category>
      <category>networking</category>
      <category>firewall</category>
      <category>sysadmin</category>
    </item>
    <item>
      <title>I Dived into the Dark Web in 2025: Shocking Secrets, Scams, and Surprises That’ll Haunt Your Browser History S01E01</title>
      <dc:creator>Hugo | DevOps | Cybersecurity</dc:creator>
      <pubDate>Tue, 07 Apr 2026 13:48:01 +0000</pubDate>
      <link>https://forem.com/hugovalters/i-dived-into-the-dark-web-in-2025-shocking-secrets-scams-and-surprises-thatll-haunt-your-ie</link>
      <guid>https://forem.com/hugovalters/i-dived-into-the-dark-web-in-2025-shocking-secrets-scams-and-surprises-thatll-haunt-your-ie</guid>
      <description>&lt;p&gt;What happens when a tech enthusiast fires up Tor, hops on a secure VPS, and wanders the shadowy corners of the internet? Spoiler: It’s not The Matrix, but it’s close. This is Episode 1 of my monthly Dark Web Diaries — grab your popcorn (and a VPN), because what I uncovered might just change how you think about “going online.“&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🖼️ &lt;strong&gt;&lt;a href="https://www.valtersit.com/dark-web-diaries-2025-episode-1/" rel="noopener noreferrer"&gt;Image: 'I Explored the Dark Web' available in the full article here&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;A blurred, eerie digital tunnel representing the Dark Web, with faint onion layers peeling back to reveal glowing .onion links (Image: A stylized dive into the unknown — because showing real screenshots could get us both in hot water.) The links are in the article.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hugo Valters | Dark Web S01E01&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Call of the Void: Why I Went Back to the Dark Web (And Why You Shouldn’t — Yet)
&lt;/h2&gt;

&lt;p&gt;It’s October 2025, and the internet feels… predictable. Instagram algorithms spoon-feed you boring videos, Google knows your coffee order before you do, and every “hack” on Reddit is just recycled 2010 wisdom. But the Dark Web? That’s the wild west of the web — the encrypted underbelly where .onion sites hide behind Tor’s veil of anonymity. No Google, no ads, just raw, unfiltered chaos.&lt;/p&gt;

&lt;p&gt;I hadn’t dipped my toes in for years. Last time, YouTube demonetized me faster than you can say “honeypot.” But curiosity is a hell of a drug, and with better tools (shoutout to &lt;strong&gt;Kasm Workspaces&lt;/strong&gt; on a &lt;strong&gt;Zone.eu&lt;/strong&gt; VPS — more on that later), I decided to resurrect my inner cyber-explorer. This isn’t a how-to guide (disclaimer: I’m not your lawyer, and the FBI and other Governament instances isn’t reading this… or are they?). It’s a raw, real-time diary of what still lurks in the shadows of 2025’s Dark Web.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quick Reality Check Before We Dive:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Legal? Browsing?&lt;/strong&gt; Mostly fine. Buying? Jailbait territory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safe?&lt;/strong&gt; Only if you’re paranoid. Use isolated environments, never click blindly, and remember: 90% of it is scams.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Why Read This?&lt;/strong&gt; Because knowledge is power — and forewarned is forearmed against the next data breach hitting your inbox.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Strap in. We’re starting with the gateway drug: The Hidden Wiki.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gateway to the Abyss: The Hidden Wiki and Its Creepy Directory
&lt;/h2&gt;

&lt;p&gt;Every Dark Web odyssey begins here — like a twisted Yelp for the underworld. The Hidden Wiki is your starting point, a sprawling index of .onion links that change faster than a politician’s promises. Sites get seized by the feds or other institutions, mirrors pop up like whack-a-mole, and half the listings are dead ends.&lt;/p&gt;

&lt;p&gt;I copy-pasted (pro tip: &lt;strong&gt;never&lt;/strong&gt; click links directly — HTTPS on Tor? That’s a tracing trap). What greeted me? A mishmash of the mundane and the menacing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Legit Mirrors:&lt;/strong&gt; ProtonMail’s anonymous login (bless those Swiss privacy nerds), ProPublica’s investigative journalism hub (because whistleblowers need shadows too), and even the Bible — yes, &lt;em&gt;The Bible&lt;/em&gt; — in multiple languages. Day mode or night? Your call, sinner.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Weird:&lt;/strong&gt; Defcon’s official .onion site, buzzing with calls for hackers to converge in Singapore. Capture-the-flag contests? Check. Discord invites? Surprisingly wholesome.&lt;/li&gt;
&lt;/ul&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ DECLASSIFIED / TRUNCATED VERSION&lt;/strong&gt;&lt;br&gt;
You are reading a truncated version of this technical guide. &lt;br&gt;
To read the full, unedited deep-dive (including all configuration files, architecture diagrams, and high-res images), &lt;strong&gt;&lt;a href="https://www.valtersit.com/dark-web-diaries-2025-episode-1/" rel="noopener noreferrer"&gt;visit the original post on Valters IT Docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>cybersecurity</category>
      <category>darkweb</category>
      <category>privacy</category>
      <category>tor</category>
    </item>
    <item>
      <title>You Think the Dark Web Is Just for Hackers? Here's What I Actually Found</title>
      <dc:creator>Hugo | DevOps | Cybersecurity</dc:creator>
      <pubDate>Tue, 07 Apr 2026 12:33:04 +0000</pubDate>
      <link>https://forem.com/hugovalters/you-think-the-dark-web-is-just-for-hackers-heres-what-i-actually-found-2glc</link>
      <guid>https://forem.com/hugovalters/you-think-the-dark-web-is-just-for-hackers-heres-what-i-actually-found-2glc</guid>
      <description>&lt;p&gt;I first heard about the Dark Web more than a decade ago, back when I was just a curious tech guy messing with command lines on Ubuntu and downloading Kali Linux ISOs at 2 a.m. I thought the Dark Web was something out of a thriller — a place where only cybercriminals dare to go.&lt;/p&gt;

&lt;p&gt;But over time, I realized something:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Dark Web isn't just about crime. It's also about freedom.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And it's a warning sign for the surface internet we all take for granted.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;🖼️ &lt;strong&gt;&lt;a href="https://www.valtersit.com/you-think-the-dark-web-is-just-for-hackers-heres-what-i-actually-found/" rel="noopener noreferrer"&gt;Image: 'Dark Web Hackers' available in the full article here&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What Exactly Is the Dark Web?
&lt;/h2&gt;

&lt;p&gt;Let's break it down real quick:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Surface Web&lt;/strong&gt; is what you use every day — Google, YouTube, Wikipedia.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Deep Web&lt;/strong&gt; includes stuff that's not indexed — like your online banking data or internal government systems.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;And then there's the Dark Web&lt;/strong&gt; — a hidden layer you can only access using special tools like the Tor browser, which routes your traffic through encrypted relays.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You won't find &lt;code&gt;.com&lt;/code&gt; domains here. Instead, you'll see URLs like: &lt;code&gt;7g4x2m7v2abcxyz.onion&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;And they're not just hard to guess — they're designed to be untraceable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The First Time in 2019 I Entered the Dark Web...
&lt;/h2&gt;

&lt;p&gt;I felt like I had landed on a strange, silent planet. Sites loaded painfully slow, looked like something from 2003, and had zero branding — but what I saw was... raw.&lt;/p&gt;

&lt;p&gt;There were forums trading leaked databases: email-password combos, full credit card dumps, even medical records.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One guy was advertising ransomware-as-a-service.&lt;/li&gt;
&lt;li&gt;Another was offering "revenge packages" for angry exes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Disturbing, yeah — but also revealing.&lt;/p&gt;

&lt;p&gt;Then came the marketplaces. Think Amazon, but for illegal goods:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Counterfeit documents&lt;/li&gt;
&lt;li&gt;Stolen accounts&lt;/li&gt;
&lt;li&gt;Malware tools&lt;/li&gt;
&lt;li&gt;Even fake vaccine certificates back during COVID&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some vendors had 5-star ratings. Others had money-back guarantees. And that's when it hit me: this place runs on trust, just like any normal marketplace. The irony was almost poetic.&lt;/p&gt;

&lt;h2&gt;
  
  
  But Not Everything Is Evil
&lt;/h2&gt;

&lt;p&gt;In the middle of all this chaos, I also found whistleblower platforms, privacy communities, and journalists hosting secure dropboxes. The Dark Web isn't all crime — it's also a safe haven for people living under censorship, surveillance, or totalitarian regimes.&lt;/p&gt;

&lt;p&gt;I came across a forum where people from countries like Iran, Russia, and China were discussing human rights, digital freedoms, and sharing banned books. For them, the Dark Web isn't a playground — it's a lifeline.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Dark Web is a reflection of the real internet&lt;/strong&gt; — just unfiltered. Everything good and bad is amplified here.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your data is probably already there.&lt;/strong&gt; I found leaked logins that looked painfully familiar (yes, even people I know).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It's not just about tech&lt;/strong&gt; — it's about ethics, privacy, and power.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you're in cybersecurity or tech, you can't afford to ignore the Dark Web. Not because you'll find anything glamorous — but because this is where the future of privacy battles is playing out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;No, I don't "often hang out" on the Dark Web. I don't recommend diving in without preparation. But I'm glad I looked. Because now I understand the difference between paranoia and awareness.&lt;/p&gt;

&lt;p&gt;And if you're still using the same password for every site — well... Someone might already be reading your emails.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;⚠️ DECLASSIFIED / TRUNCATED VERSION&lt;/strong&gt;&lt;br&gt;
You are reading a truncated version of this technical guide. &lt;br&gt;
To read the full, unedited deep-dive (including all configuration files, architecture diagrams, and high-res images), &lt;strong&gt;&lt;a href="https://www.valtersit.com/you-think-the-dark-web-is-just-for-hackers-heres-what-i-actually-found/" rel="noopener noreferrer"&gt;visit the original post on Valters IT Docs&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>cybersecurity</category>
      <category>darkweb</category>
      <category>hacking</category>
      <category>privacy</category>
    </item>
  </channel>
</rss>
