<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Njeru Mtwaiti</title>
    <link>https://blog.njerumtwaiti.com/authors/njeru-mtwaiti/</link>
    <description>Recent content on Njeru Mtwaiti</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 18 Oct 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.njerumtwaiti.com/authors/njeru-mtwaiti/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>SIEM Tuning From the Field: Cutting Noise Without Going Blind</title>
      <link>https://blog.njerumtwaiti.com/posts/siem-tuning-from-the-field/</link>
      <pubDate>Sat, 18 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.njerumtwaiti.com/posts/siem-tuning-from-the-field/</guid>
      <description>&lt;p&gt;SIEM tuning is the SOC work nobody talks about because it&amp;rsquo;s unglamorous. There&amp;rsquo;s no clean exploit chain to demonstrate, no CVE to drop. It&amp;rsquo;s the slow work of making your detection layer actually useful instead of a source of alert fatigue that trains analysts to ignore everything.&lt;/p&gt;&#xA;&lt;p&gt;These are notes from production — from real log sources, real false positive storms, and real threats that needed catching.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-false-positive-problem&#34;&gt;&#xA;  The False Positive Problem&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#the-false-positive-problem&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;A poorly tuned SIEM is worse than no SIEM. When analysts are triaging 500 alerts a day and 490 of them are junk, two things happen:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fintech API Security: The Attack Surfaces Nobody Talks About</title>
      <link>https://blog.njerumtwaiti.com/posts/fintech-api-security-attack-surfaces/</link>
      <pubDate>Tue, 12 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.njerumtwaiti.com/posts/fintech-api-security-attack-surfaces/</guid>
      <description>&lt;p&gt;Working in fintech security — both building payment infrastructure at Durrafx and testing external platforms through bug bounty — has given me a particular view of how fintech APIs fail. The standard OWASP Top 10 checklist catches the obvious stuff. This post is about what comes after that.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-fintech-apis-are-different&#34;&gt;&#xA;  Why Fintech APIs Are Different&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#why-fintech-apis-are-different&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;A generic web app leaking user data is bad. A payment API leaking transaction data, processing unauthorized disbursements, or allowing account takeover is directly money-out-the-door bad. The stakes mean that subtle logic flaws — the kind that don&amp;rsquo;t trigger a WAF, don&amp;rsquo;t show up in automated scans, and require understanding the business model — are often the most valuable findings.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Web Recon Methodology: How I Map an Attack Surface</title>
      <link>https://blog.njerumtwaiti.com/posts/web-recon-methodology/</link>
      <pubDate>Fri, 20 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.njerumtwaiti.com/posts/web-recon-methodology/</guid>
      <description>&lt;p&gt;Reconnaissance is where engagements are won or lost. The best exploit in the world is useless if you aimed it at the wrong target. This post breaks down my web recon process — what I run, in what order, and what I&amp;rsquo;m actually looking for.&lt;/p&gt;&#xA;&lt;h2 id=&#34;philosophy-first&#34;&gt;&#xA;  Philosophy First&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#philosophy-first&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Recon is not about running every tool you have. It&amp;rsquo;s about building an accurate mental model of the target:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linux Privilege Escalation: The Checklist I Actually Use</title>
      <link>https://blog.njerumtwaiti.com/posts/linux-privilege-escalation-checklist/</link>
      <pubDate>Sat, 05 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.njerumtwaiti.com/posts/linux-privilege-escalation-checklist/</guid>
      <description>&lt;p&gt;You&amp;rsquo;ve got a shell. You&amp;rsquo;re running as &lt;code&gt;www-data&lt;/code&gt; or some low-privilege user. Now what?&lt;/p&gt;&#xA;&lt;p&gt;Privilege escalation on Linux is part methodology, part intuition. This is the checklist I actually run — the one I&amp;rsquo;ve refined across dozens of CTF boxes and real engagements. No tool dumps the whole path for you. You need to understand what you&amp;rsquo;re looking at.&lt;/p&gt;&#xA;&lt;h2 id=&#34;0-situational-awareness-first&#34;&gt;&#xA;  0. Situational Awareness First&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#0-situational-awareness-first&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Before running any scripts, understand where you are.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SQL Injection from Zero to Shell: A Practical Walkthrough</title>
      <link>https://blog.njerumtwaiti.com/posts/sql-injection-zero-to-shell/</link>
      <pubDate>Mon, 10 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.njerumtwaiti.com/posts/sql-injection-zero-to-shell/</guid>
      <description>&lt;p&gt;SQL injection is one of the oldest and most consistently exploited vulnerability classes on the web. It&amp;rsquo;s been in the OWASP Top 10 since 2003. It keeps showing up in real engagements, bug bounty reports, and CTF challenges year after year.&lt;/p&gt;&#xA;&lt;p&gt;This post walks through SQL injection end-to-end — detection, manual exploitation, data extraction, and in some cases, a path to remote code execution.&lt;/p&gt;&#xA;&lt;h2 id=&#34;how-it-works&#34;&gt;&#xA;  How It Works&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#how-it-works&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;When a web application constructs a SQL query by directly embedding user input, an attacker can manipulate that query&amp;rsquo;s logic.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
