<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mtls on Qtnes</title><link>http://qtnes.com/tags/mtls/</link><description>Recent content in Mtls on Qtnes</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 15 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://qtnes.com/tags/mtls/index.xml" rel="self" type="application/rss+xml"/><item><title>4 - Handshake: Breaking AES-CBC via IV Recovery and CBC Malleability</title><link>http://qtnes.com/posts/4---handshake---breaking-aes-cbc-via-iv-recovery-and-cbc-malleability/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>http://qtnes.com/posts/4---handshake---breaking-aes-cbc-via-iv-recovery-and-cbc-malleability/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;Handshake was a cryptography challenge disguised as a network one. The APK connected to a mutual TLS C2 server, logged in with hardcoded credentials, and received an AES-CBC-encrypted flag. The AES key was in the APK. The IV was not.&lt;/p&gt;
&lt;p&gt;Everything needed to decrypt the flag was recoverable, but it required understanding how CBC block chaining works and exploiting the fact that one of the two ciphertext blocks behaves independently of the IV.&lt;/p&gt;</description></item></channel></rss>