<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Amethyst Systems</title>
		<link>https://amethyst.systems/blog/</link>
		<description>Recent content on Amethyst Systems</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Thu, 04 Jun 2026 16:17:59 -0700</lastBuildDate>
		
			<atom:link href="https://amethyst.systems/blog/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Possible SQL Injection Payload Detected Walkthru</title>
				<link>https://amethyst.systems/blog/posts/possible-sql-injection-payload-detected-walkthru/</link>
				<pubDate>Thu, 04 Jun 2026 16:17:59 -0700</pubDate>
				<guid>https://amethyst.systems/blog/posts/possible-sql-injection-payload-detected-walkthru/</guid>
				<description>&lt;p&gt;I have been hardening my incident response skills lately and completed parts of the incident response coursework on &lt;a href=&#34;https://letsdefend.io&#34;&gt;LetsDefend&lt;/a&gt;. As of right now, I&amp;rsquo;m still working&#xA;through the course&amp;ndash; it&amp;rsquo;s a pretty comprehensive course! But based on my answer to the questions posed by the subject, a curator reached out to me and asked me to write a blog on the&#xA;subject of detecting SQL injection during a Linux incident. So let&amp;rsquo;s walk through the incident posed by the challenge.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Cryptohostility: Navigating the Modern Cryptocurrency Landscape as a Nomad Hacker</title>
				<link>https://amethyst.systems/blog/posts/cryptohostility-navigating-the-modern-cryptocurrency-landscape-as-a-nomad-hacker/</link>
				<pubDate>Fri, 18 Apr 2025 13:59:51 -0700</pubDate>
				<guid>https://amethyst.systems/blog/posts/cryptohostility-navigating-the-modern-cryptocurrency-landscape-as-a-nomad-hacker/</guid>
				<description>&lt;p&gt;I like cryptocurrency as a concept and a technology (despite beefs with being forced into Javascript with Ethereum). I do not like the financial community that surrounds&#xA;it&amp;ndash; it&amp;rsquo;s full of grifters and scammers, holdovers from Wall Street eager to take advantage of unregulated markets. This financial community&amp;rsquo;s historical abuses in tandem&#xA;with the hacker&amp;rsquo;s natural desire to defy authority ultimately led to regulatory bodies like the Securities and Exchange Commission in the United States to crack down on the&#xA;technology. Ultimately, this led to the bane of crypto enthusiasts everywhere:&#xA;&lt;a href=&#34;https://www.kychub.com/blog/cryptocurrency-regulation-in-the-us/&#34;&gt;Know Your Customer regulations&lt;/a&gt;, somewhat lifting the veil on anyone who tries to be anonymous with&#xA;their cryptocurrency.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Mimicking the Windows Executable Loader&#39;s Memory Allocation</title>
				<link>https://amethyst.systems/blog/posts/mimicking-the-windows-executable-loaders-memory-allocation/</link>
				<pubDate>Wed, 08 Jan 2025 01:28:39 -0800</pubDate>
				<guid>https://amethyst.systems/blog/posts/mimicking-the-windows-executable-loaders-memory-allocation/</guid>
				<description>&lt;p&gt;I&amp;rsquo;m not going to blame procrastination this time, even though this is absolutely what this is. No, this is pure autistic fixation.&lt;/p&gt;&#xA;&lt;p&gt;Let&amp;rsquo;s start by saying that a lot of the previous blogs have all used a rather lazy technique, and that is &amp;ldquo;allocating the entire executable image as one piece of memory and&#xA;marking it as read-write-execute.&amp;rdquo; If you&amp;rsquo;re doing anything serious against someone who has better defense than Windows Defender, this raises red flags. I&amp;rsquo;m merely just a&#xA;scientist and engineer, not someone who actually works in the field of penetration testing, so I don&amp;rsquo;t know the reality of the situation as it relates to RWX allocated&#xA;pages, but in my experience of malware analysis, I would argue this is a good artifact to flag on and understand why it&amp;rsquo;s being employed.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Writing Migratory Payloads</title>
				<link>https://amethyst.systems/blog/posts/writing-migratory-payloads/</link>
				<pubDate>Wed, 25 Dec 2024 03:29:34 -0800</pubDate>
				<guid>https://amethyst.systems/blog/posts/writing-migratory-payloads/</guid>
				<description>&lt;p&gt;Hi. I&amp;rsquo;m procrastinating again, but this time it&amp;rsquo;s related to the project I&amp;rsquo;m procrastinating. And&#xA;&lt;a href=&#34;https://bsky.app/profile/dildog.l0pht.com/post/3ld2uygsn422t&#34;&gt;according to a well respected hacker&lt;/a&gt;,&#xA;this is a functional way to be productive. So you, the reader, benefit from everything. Besides, the&#xA;deadline for the &lt;a href=&#34;https://phrack.org&#34;&gt;Phrack CFP&lt;/a&gt; isn&amp;rsquo;t for another few months, so I&amp;rsquo;ve got time.&#xA;(Famous last words.)&lt;/p&gt;&#xA;&lt;p&gt;First of all, what the hell do I mean by &lt;em&gt;migratory payload&lt;/em&gt;? That&amp;rsquo;s not a term in&#xA;&lt;a href=&#34;https://attack.mitre.org/&#34;&gt;MITRE ATT&amp;amp;CK&lt;/a&gt;! In more technical terms, when I say &amp;ldquo;migratory payload,&amp;rdquo;&#xA;I am referring to executables that can otherwise occupy the space of another executable after existing&#xA;&lt;em&gt;and operating&lt;/em&gt; in another state. Think of an executable that runs away from your mouse and injects&#xA;itself into &lt;code&gt;explorer.exe&lt;/code&gt; after you double-click it. It relies ultimately on&#xA;&lt;a href=&#34;https://attack.mitre.org/techniques/T1055/&#34;&gt;process injection&lt;/a&gt;, which is a slightly different but similar&#xA;technique to &lt;a href=&#34;https://attack.mitre.org/techniques/T1055/001/&#34;&gt;DLL injection&lt;/a&gt;. MITRE can be fun to rag on&#xA;but they host a useful technical compendium.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Various Ways to Be an Asshole with Runtime PE Decryption</title>
				<link>https://amethyst.systems/blog/posts/various-ways-to-be-an-asshole-with-runtime-decryption/</link>
				<pubDate>Fri, 06 Dec 2024 17:23:35 -0800</pubDate>
				<guid>https://amethyst.systems/blog/posts/various-ways-to-be-an-asshole-with-runtime-decryption/</guid>
				<description>&lt;p&gt;I am currently procrastinating undoing the mess I made with CMake files for a bigger project I&amp;rsquo;m working on.&#xA;It&amp;rsquo;s not hard&amp;ndash; it&amp;rsquo;s just annoying, and I have no one to blame but myself. I did this &lt;em&gt;intentionally&lt;/em&gt; because&#xA;confusingly designed code seemed like a good anti-reversing trick. It&amp;rsquo;s an anti-coding trick. Don&amp;rsquo;t do it&#xA;intentionally, you&amp;rsquo;ll just confuse yourself in the end.&lt;/p&gt;&#xA;&lt;p&gt;But one of these things I can use as an excuse to Not Do What I Need To: talk about the way I&amp;rsquo;m encrypting&#xA;the code in the DLL Hell I&amp;rsquo;ve crafted for myself. If you&amp;rsquo;ve been&#xA;&lt;a href=&#34;https://amethyst.systems/blog/posts/forbidden-content-crudely-loading-a-pe-file/&#34;&gt;following along&lt;/a&gt;, prepare for&#xA;another application of forbidden PE knowledge.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Shellcoding with MSVC</title>
				<link>https://amethyst.systems/blog/posts/shellcoding-with-msvc/</link>
				<pubDate>Tue, 19 Nov 2024 21:45:16 -0800</pubDate>
				<guid>https://amethyst.systems/blog/posts/shellcoding-with-msvc/</guid>
				<description>&lt;p&gt;When it comes to thinking about shellcode, normally we don&amp;rsquo;t think of the MSVC toolchain. &lt;em&gt;Maybe&lt;/em&gt;&#xA;we&amp;rsquo;ll think of &lt;a href=&#34;https://learn.microsoft.com/en-us/cpp/assembler/masm/microsoft-macro-assembler-reference?view=msvc-170&#34;&gt;MASM&lt;/a&gt;,&#xA;the assembler of MSVC, but we certainly won&amp;rsquo;t think of the C compiler. We typically prefer&#xA;&lt;a href=&#34;https://nasm.us&#34;&gt;NASM&lt;/a&gt;, an extremely flexible x86/64 assembler for binary creatives.&lt;/p&gt;&#xA;&lt;p&gt;As badass as writing an assembly shellcode payload can be for Windows, due to the utterly gargantuan&#xA;size of their eventual product, it is tedious and painful. You have to re-roll standard structures for&#xA;PE files and &lt;a href=&#34;https://learn.microsoft.com/en-us/windows/win32/api/winternl/ns-winternl-peb&#34;&gt;have to recall what the secret sauce of this structure is&lt;/a&gt;.&#xA;Not to mention if you don&amp;rsquo;t use assembly structures you have to memorize specific offsets for common&#xA;data structures. Over time the badass feeling of dropping down to assembly gets drowned out by the sheer tedium of&#xA;actually writing the assembly payload.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Forbidden Content: Loading PE Exports by Hash</title>
				<link>https://amethyst.systems/blog/posts/forbidden-content-loading-exports-by-hash/</link>
				<pubDate>Thu, 07 Nov 2024 18:15:21 -0800</pubDate>
				<guid>https://amethyst.systems/blog/posts/forbidden-content-loading-exports-by-hash/</guid>
				<description>&lt;h2 id=&#34;a-brief-comment&#34;&gt;A Brief Comment&lt;/h2&gt;&#xA;&lt;p&gt;I got mad again. I was attempting to research PE headers for another project and it happened&#xA;again. The actual data structure I need is erased from Microsoft documentation. So I&amp;rsquo;m back to&#xA;teach some apparently forbidden knowledge as an excuse to document the data structure they&amp;rsquo;re&#xA;attempting to wipe off the Internet.&lt;/p&gt;&#xA;&lt;h2 id=&#34;data-directories&#34;&gt;Data Directories&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://amethyst.systems/blog/posts/forbidden-content-crudely-loading-a-pe-file/&#34;&gt;In our last episode&lt;/a&gt; we covered how&#xA;one loads a PE file into memory, preparing it for execution. This is incredibly useful for analysis,&#xA;because it provides the ability to execute individual pieces of the code, such as decryption&#xA;routines and other choice code you wish to execute. The technology to perform such a feat is couched&#xA;behind compiler wizards who refuse to share their black magic with the world. This article is another&#xA;attempt to spit in the face of those gatekeeping wizards. If you don&amp;rsquo;t understand the PE format, feel&#xA;free to read that article first!&lt;/p&gt;</description>
			</item>
			<item>
				<title>Forbidden Content: Crudely Loading a PE File</title>
				<link>https://amethyst.systems/blog/posts/forbidden-content-crudely-loading-a-pe-file/</link>
				<pubDate>Sun, 03 Nov 2024 13:23:03 -0800</pubDate>
				<guid>https://amethyst.systems/blog/posts/forbidden-content-crudely-loading-a-pe-file/</guid>
				<description>&lt;h2 id=&#34;a-brief-comment&#34;&gt;A Brief Comment&lt;/h2&gt;&#xA;&lt;p&gt;This post is being made because I&amp;rsquo;m rather annoyed. On top of search engines being ruined&#xA;by the AI gold rush, Microsoft has wiped away easy access to some documentation on critical&#xA;data structures in PE file loading. Only some critical data structures remain easily&#xA;accessed in Microsoft&amp;rsquo;s documentation. What makes this especially annoying is that the&#xA;critical data structures are still in the &lt;code&gt;&amp;lt;windows.h&amp;gt;&lt;/code&gt; header, and I&amp;rsquo;m not particularly&#xA;a fan of leaving open a copy of windows.h open to find my data structures. It&amp;rsquo;s a big file!&#xA;And the structs you need are scattered all over the place!&lt;/p&gt;</description>
			</item>
			<item>
				<title>Entry for BGGP5: Download</title>
				<link>https://amethyst.systems/blog/posts/entry-for-bggp5/</link>
				<pubDate>Mon, 01 Jul 2024 17:39:53 -0700</pubDate>
				<guid>https://amethyst.systems/blog/posts/entry-for-bggp5/</guid>
				<description>&lt;p&gt;&lt;a href=&#34;https://binary.golf&#34;&gt;Binary Golf Grand Prix&lt;/a&gt; is a yearly mad dash to create a tiny&#xA;binary, given some target parameters. This year, the theme was &lt;a href=&#34;https://binary.golf/5&#34;&gt;download&lt;/a&gt;:&#xA;write a program to download and print the contents of a target URL.&lt;/p&gt;&#xA;&lt;h2 id=&#34;planning&#34;&gt;Planning&lt;/h2&gt;&#xA;&lt;p&gt;I had literally never tried golfing a binary before, so I didn&amp;rsquo;t really know where to start. My bread and butter is Windows executables, so I figured I would attempt one&#xA;of those. Naturally, since we&amp;rsquo;re golfing, I looked toward &lt;a href=&#34;https://github.com/corkami/pocs/blob/master/PE/tiny.asm&#34;&gt;the Corkami corpus&lt;/a&gt; for guidance. But this didn&amp;rsquo;t&#xA;satisfy&amp;ndash; it was 32-bit. I know all about 32-bit binaries and they&amp;rsquo;re no longer modern! We needed to do better.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
