<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>02Labs Blog</title><description>CTF writeups, OSINT notes, crypto solves, and systems engineering deep dives.</description><link>https://blog.02labs.me/</link><language>en</language><generator>Astro</generator><item><title>BTSctf 2026: Monkeintel Misc challenge</title><link>https://blog.02labs.me/posts/monkeintel/</link><guid isPermaLink="true">https://blog.02labs.me/posts/monkeintel/</guid><description>If LSB, why not LSB shaped?</description><pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate><content:encoded>We are given an image monkethinkin.png, which contains the famous Thinking Monkey meme.</content:encoded><category>btsctf</category><category>stego</category><category>lsb</category><category>writeup</category></item><item><title>Daily AlpacaHack: Permission Denied 2 Writeup</title><link>https://blog.02labs.me/posts/permission-denied-2/</link><guid isPermaLink="true">https://blog.02labs.me/posts/permission-denied-2/</guid><description>At this point I don&apos;t know what to put here part 2</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate><content:encoded>In today&apos;s Daily AlpacaHack challenge, we have the same goal as yesterday: read flag.txt from a Debian Trixie shell. The flag file is created by root in the alpaca user&apos;s home directory (/ho...</content:encoded><category>alpacahack</category><category>misc</category><category>unix permissions</category></item><item><title>Daily AlpacaHack: Permission Denied Writeup</title><link>https://blog.02labs.me/posts/permission-denied/</link><guid isPermaLink="true">https://blog.02labs.me/posts/permission-denied/</guid><description>At this point I don&apos;t know what to put here.</description><pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate><content:encoded>In this Daily AlpacaHack challenge, we are given a simple goal: read flag.txt from a Debian Trixie shell. The flag file is created by root in /app, the container&apos;s WORKDIR, and then set to m...</content:encoded><category>alpacahack</category><category>misc</category><category>unix permissions</category></item><item><title>Blue Hens CTF 2026: 2Blue2Hen Writeup</title><link>https://blog.02labs.me/posts/2blue2hen/</link><guid isPermaLink="true">https://blog.02labs.me/posts/2blue2hen/</guid><description>Locating a player in a Minecraft world using bottom bedrock patterns.</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate><content:encoded>In 2Blue2Hen, we are given a Minecraft 1.12 screenshot with a visible $10\times10$ bedrock floor pattern, and we are asked to find the coordinates where the player who took the screenshot is...</content:encoded><category>blue-hens-ctf</category><category>misc</category><category>minecraft</category><category>bruteforce</category></item><item><title>Daily AlpacaHack: Camelid Match Writeup</title><link>https://blog.02labs.me/posts/camelid-match/</link><guid isPermaLink="true">https://blog.02labs.me/posts/camelid-match/</guid><description>How a 1 changes a complete mess into a pattern that can be checked</description><pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate><content:encoded>This Daily AlpacaHack challenge gives us a 5-card binary string and asks whether Alice and Bob both like a certain animal. From this point on, we will refer to ♡ as 1 and ♧ as 0: two bits re...</content:encoded><category>alpacahack</category><category>crypto</category><category>multiparty-computation</category></item><item><title>Daily AlpacaHack: Is NaN Writeup</title><link>https://blog.02labs.me/posts/is-nan/</link><guid isPermaLink="true">https://blog.02labs.me/posts/is-nan/</guid><description>Not all NaNs are created equal</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate><content:encoded>The challenge presents us with some files, the most important of which is chal.c. It mostly performs basic rule validation and parsing, and if the checks are successful, it prints the flag.</content:encoded><category>alpacahack</category><category>misc</category><category>floating-point</category><category>ieee-754</category></item><item><title>Blue Hens CTF 2026: A Logical Deduction Writeup</title><link>https://blog.02labs.me/posts/a-logical-deduction/</link><guid isPermaLink="true">https://blog.02labs.me/posts/a-logical-deduction/</guid><description>Propositional logic reversing???</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate><content:encoded>In this Blue Hens CTF 2026 challenge, we are given an image that seems heavily modified/obfuscated for artificial vision. The image contains a propositional logic formula represented as a ci...</content:encoded><category>bluehens</category><category>reversing</category><category>propositional-logic</category><category>boolean-satisfiability</category></item><item><title>Daily AlpacaHack: Wither Writeup</title><link>https://blog.02labs.me/posts/wither/</link><guid isPermaLink="true">https://blog.02labs.me/posts/wither/</guid><description>Statistical recovery and law of large numbers, isn&apos;t that a bit overkill?</description><pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate><content:encoded>This time in Daily AlpacaHack, we are given a &quot;cipher&quot; in which each bit of the plaintext is ANDed with a cryptographically secure pseudorandomly generated key os.urandom() by using the secr...</content:encoded><category>alpacahack</category><category>crypto</category><category>bitwise-and</category></item><item><title>Daily AlpacaHack: AES is dead Writeup</title><link>https://blog.02labs.me/posts/aes-is-dead/</link><guid isPermaLink="true">https://blog.02labs.me/posts/aes-is-dead/</guid><description>AES probably not, ECB definitely.</description><pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate><content:encoded>This challenge presents us with quite a different scenario than most cryptography challenges. We are given a Python script that encrypts data using the Python Crypto library&apos;s AES implementa...</content:encoded><category>alpacahack</category><category>crypto</category><category>aes</category><category>ecb</category><category>cipher-mode</category></item><item><title>AlpacaHack Daily: No Content Writeup</title><link>https://blog.02labs.me/posts/no-content/</link><guid isPermaLink="true">https://blog.02labs.me/posts/no-content/</guid><description>HTTP is just a social construct</description><pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate><content:encoded>I almost never write web writeups, mostly because I do not really enjoy web challenges. Still, this one was simple and funny enough that I thought it would be a good excuse to write a bit ab...</content:encoded><category>alpacahack</category><category>web</category><category>http</category><category>tcp</category><category>wireshark</category></item><item><title>Daily AlpacaHack: The horn Writeup</title><link>https://blog.02labs.me/posts/the-horn/</link><guid isPermaLink="true">https://blog.02labs.me/posts/the-horn/</guid><description>The failures in previous challenges become the solution for this one.</description><pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate><content:encoded>This time we are presented with a &quot;familiar&quot; setting, just as in Carry the Flame we are given an &quot;SPN&quot;-style block cipher, but this time with some twists. First of all we are working with a...</content:encoded><category>alpacahack</category><category>crypto</category><category>spn</category><category>block-ciphers</category></item><item><title>RITSEC CTF: Zipped Writeup</title><link>https://blog.02labs.me/posts/zipped/</link><guid isPermaLink="true">https://blog.02labs.me/posts/zipped/</guid><description>Why the hell are ZIP challenges always so hard?</description><pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate><content:encoded>For this challenge, we are given a ZIP file, zipped.zip, that contains two encrypted files: a PNG image (BeautifulDetailedSunset.png) that occupies most of the archive&apos;s size (2.3 MB), and a...</content:encoded><category>ritsec</category><category>crypto</category><category>forensics</category><category>known-plaintext-attack</category></item><item><title>TAMUctf 2026: Phantom2 Writeup</title><link>https://blog.02labs.me/posts/phantom-2/</link><guid isPermaLink="true">https://blog.02labs.me/posts/phantom-2/</guid><description>Could private forks on GitHub be not as private as we think?</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate><content:encoded>In Phantom2 (the second part of a 2-part challenge during TAMUctf 2026), we are given once again a link to an almost &quot;empty&quot; GitHub repository with a single commit and a single README.md fil...</content:encoded><category>tamuctf</category><category>git</category><category>github</category><category>forensics</category></item><item><title>Daily AlpacaHack: Bloom Writeup</title><link>https://blog.02labs.me/posts/bloom/</link><guid isPermaLink="true">https://blog.02labs.me/posts/bloom/</guid><description>How does a single number convert a perfect secrecy encryption scheme into a completely insecure one?</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>Daily AlpacaHack - Bloom presents us with a One-Time Pad encryption scheme where every byte of the plaintext is XORed with a cryptographically secure random byte (generated from os.urandom u...</content:encoded><category>alpacahack</category><category>crypto</category><category>xor</category><category>one-time-pad</category></item><item><title>DiceCTF 2026: Carry the Flame</title><link>https://blog.02labs.me/posts/carry-the-flame/</link><guid isPermaLink="true">https://blog.02labs.me/posts/carry-the-flame/</guid><description>Goal: recover the 40-bit per-session key for the remote 1024-round SPN, submit it on the same connection, and obtain the flag.</description><pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate><content:encoded>This challenge presents us with a 1024-round SPN (Rijndael S-box, fixed 40-bit permutation) with a 40-bit key. The key is sampled separately for each connection, so the final guess must be s...</content:encoded><category>dicectf</category><category>crypto</category><category>gpu</category></item><item><title>Batman&apos;s kitchen CTF 2026: Eye on the Sky &amp; Eye on the Sky 2 Writeup</title><link>https://blog.02labs.me/posts/eyes-on-the-sky-1-and-2/</link><guid isPermaLink="true">https://blog.02labs.me/posts/eyes-on-the-sky-1-and-2/</guid><description>Goal: Determine the aircraft’s marketed flight number (operating airline) and the baggage carousel number.</description><pubDate>Sun, 22 Feb 2026 00:00:00 GMT</pubDate><content:encoded>In this OSINT challenge for Batman’s kitchen CTF, we were given a single photo (sky.jpg) containing a mountain and a small aircraft silhouette above it. And 2 tasks were given with this:</content:encoded><category>bkctf</category><category>osint</category><category>aviation</category></item></channel></rss>