<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Vanilla InfoSec</title>
    <link>/</link>
    <description>Recent content on Vanilla InfoSec</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Wed, 13 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>BelphC2 - Jitter Logic and Chaos Theory</title>
      <link>/posts/belphc2---jitter-logic-and-chaos-theory/</link>
      <pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate>
      <guid>/posts/belphc2---jitter-logic-and-chaos-theory/</guid>
      <description>BelphC2 - Jitter Logic and Chaos Theory Disclaimer Is this necessary? Probably not&amp;hellip; Do I find this cool and do I want to blab about it? Yes!&#xA;Introduction to Jittering While developing BelphC2&amp;rsquo;s polling behavior, I had to decide how to generate seemingly random jittering values.&#xA;Most post exploitation frameworks implement some form of a jitter.&#xA;The term &amp;ldquo;jitter&amp;rdquo; refers to how a post exploitation framework&amp;rsquo;s beacon/implant manages its communication or ‘polling’ intervals.</description>
    </item>
    <item>
      <title>Introduction to Process Injection - A Primer On the Theory</title>
      <link>/posts/introduction-to-process-injection---a-primer-on-the-theory/</link>
      <pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate>
      <guid>/posts/introduction-to-process-injection---a-primer-on-the-theory/</guid>
      <description>What is Process Injection? In essence, process injection involves:&#xA;Inserting a block of code (usually shellcode) into the memory space of a process.&#xA;Process injection is a means to an end for evading on disk detection. Instead of executing malicious code directly via a PE file or script (which could more easily be caught on disk by antivirus or EDR), the code is injected into process memory.&#xA;While by no means is this a reliably stealthy on its own, it is a fundamental concept needed to be understood before developing more advanced execution workflows.</description>
    </item>
    <item>
      <title>Remote Thread Injection - Writing a Powershell Shellcode Loader</title>
      <link>/posts/remote-thread-injection---writing-a-powershell-shellcode-loader/</link>
      <pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate>
      <guid>/posts/remote-thread-injection---writing-a-powershell-shellcode-loader/</guid>
      <description>Process Injection in Practice: PowerShell Remote Thread Injection In the previous article, we explored what exactly process injection is, why it is used, and how blue teams attempt to detect it. In this post, we move from theory into practice by walking through a real-world example of the classic Remote Thread Injection technique, implemented using PowerShell.&#xA;This example is intentionally straightforward and educational. It does not attempt to evade EDR, bypass AMSI, or conceal behavior whatsoever.</description>
    </item>
    <item>
      <title>BelphC2 - Dumping Passwords out of Web Browsers</title>
      <link>/posts/belphc2---dumping-passwords-out-of-web-browsers/</link>
      <pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate>
      <guid>/posts/belphc2---dumping-passwords-out-of-web-browsers/</guid>
      <description>Save password..? Yes It feels like web browsers have accidentally become credential vaults? Mainly because&amp;hellip; Well we typically hit &amp;ldquo;save password&amp;rdquo; when prompted: Admittedly, without much prior thought! Credentials for:&#xA;Email accounts. Banking logins. Corporate VPN credentials. Cloud dashboards. Developer secrets. Session tokens. But there&amp;rsquo;s an important detail here in regards to how these browsers secure credentials in default configurations:&#xA;Browser password managers are often designed to protect data at rest, not necessarily protect data from the logged-in user context itself.</description>
    </item>
    <item>
      <title>About</title>
      <link>/about/about/</link>
      <pubDate>Thu, 04 Sep 2025 00:00:00 +0000</pubDate>
      <guid>/about/about/</guid>
      <description>“Know the enemy and know yourself, and you need not fear the result of a hundred battles.” — Sun Tzu&#xA;$ whoami My name is Alex Messham, and I’m a passionate multidisciplinary computer science professional - an engineer and nerd at heart, interested in building and breaking systems.&#xA;This is my blog dedicated to writing offensive security articles, and discussing information security concepts as a whole. I have a particular interest in malware development, programming/automation, and defense evasion.</description>
    </item>
    <item>
      <title>Resume</title>
      <link>/resume/resume/</link>
      <pubDate>Thu, 04 Sep 2025 00:00:00 +0000</pubDate>
      <guid>/resume/resume/</guid>
      <description>Robert Messham Dayton, OH 45419&#xA;ramessham@gmail.com | +1 937 479 7994&#xA;Professional Summary I&amp;rsquo;m a multidisciplinary InfoSec professional and systems engineer with expertise in:&#xA;Red teaming Infrastructure Security Engineering Software development I have proven experience in developing and executing internal red team operations, using outputs from red team engagements as roadmaps for infrastructure improvements, tool development, and automations engineering. I am skilled in a wide range of programming languages, operating systems, and computer science disciplines.</description>
    </item>
    <item>
      <title>Rust Malware Development - Linux Keylogger</title>
      <link>/posts/rust-malware-development---linux-keylogger/</link>
      <pubDate>Thu, 04 Sep 2025 00:00:00 +0000</pubDate>
      <guid>/posts/rust-malware-development---linux-keylogger/</guid>
      <description>Overview Keyloggers remain a valid TTP for offering deep insight into user behavior. I wanted to write one in Rust aiming for a binary that was memory-safe and efficient (I&amp;rsquo;m really just learning Rust because it&amp;rsquo;s trendy and my coworkers like using it).&#xA;We will be leveraging the evdev interface — the Linux kernel’s raw input event device system. This gives us direct, low-noise access to keystroke events from /dev/input/event*</description>
    </item>
    <item>
      <title>Systemd Backdoor Services - Establishing Persistent Remote Access</title>
      <link>/posts/establishing-persistent-remote-access-to-linux-systems---systemd-backdoor-services/</link>
      <pubDate>Wed, 03 Sep 2025 00:00:00 +0000</pubDate>
      <guid>/posts/establishing-persistent-remote-access-to-linux-systems---systemd-backdoor-services/</guid>
      <description>Overview Systemd services are the standard means for managing persistent processes in most modern Linux distributions. Because services start automatically with the system during the init sequence, adversaries often abuse them for persistent access to target systems.&#xA;A stealthy backdoor service may masquerade itself as a legitimate system component and launch attacker-controlled payloads at boot. This enables hackers with the opportunity to re-enter an environment if something does not go according to plan.</description>
    </item>
  </channel>
</rss>
