<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Characters on Wirez</title><link>https://wirez.top/tags/characters/</link><description>Recent content in Characters on Wirez</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 21 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://wirez.top/tags/characters/index.xml" rel="self" type="application/rss+xml"/><item><title>Serverless keyvalue stores exploit DNS TXT data</title><link>https://wirez.top/posts/serverless-keyvalue-stores-exploit-dns-txt-data/</link><pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate><guid>https://wirez.top/posts/serverless-keyvalue-stores-exploit-dns-txt-data/</guid><description>&lt;meta charset="utf-8">
&lt;!-- wp:html -->
&lt;script type="application/ld+json">
{
 "@context": "https://schema.org",
 "@type": "FAQPage",
 "mainEntity": [
 {
 "@type": "Question",
 "name": "How many DNS TXT records are needed to run DOOM entirely from memory?",
 "acceptedAnswer": {
 "@type": "Answer",
 "text": "Executing the game requires distributing the payload across exactly 1,966 unique TXT records. This specific count allows the 2.9MB compressed file to be reassembled in RAM without writing anything to the disk."
 }
 },
 {
 "@type": "Question",
 "name": "What is the total size of the compressed DOOM payload delivered via DNS?",
 "acceptedAnswer": {
 "@type": "Answer",
 "text": "The entire compressed payload required for execution totals exactly 2.9MB in size. This data combines a 1.7MB engine and a 1.2MB DLL bundle split into discrete DNS entries."
 }
 },
 {
 "@type": "Question",
 "name": "How large are the original game engine and DLL files before compression?",
 "acceptedAnswer": {
 "@type": "Answer",
 "text": "The original uncompressed files consist of a 4MB game engine and a 4.4MB DLL bundle. These components total 8.4MB before being compressed down to 2.9MB for efficient DNS storage."
 }
 },
 {
 "@type": "Question",
 "name": "Why is storing a 1GB video file impractical using this DNS TXT method?",
 "acceptedAnswer": {
 "@type": "Answer",
 "text": "Storing a 1GB MP4 file would require an estimated 670,000 TXT records spread across hundreds of domains. This massive scale makes the approach unfeasible for large media compared to smaller binaries."
 }
 },
 {
 "@type": "Question",
 "name": "What percentage of modern malware utilizes DNS protocols during their operation?",
 "acceptedAnswer": {
 "@type": "Answer",
 "text": "Approximately 90% of modern malware utilizes DNS during its operational lifecycle to communicate or fetch data. Despite this high usage, many security stacks ignore TXT records due to perceived legitimacy."
 }
 }
 ]
}
&lt;/script>
&lt;!-- /wp:html -->
&lt;!-- wp:html -->
&lt;style>
.faq-section { margin: 24px 0; padding: 24px 0; border-top: 2px solid #e5e7eb; }
.faq-section-title { color: #1a1a1a; font-size: clamp(1.2rem, 3vw, 1.4rem); font-weight: 700; margin-bottom: 24px; text-align: center; }
.faq-item { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; margin-bottom: 12px; overflow: hidden; transition: all 0.3s ease; }
.faq-item:hover { border-color: #2563eb; box-shadow: 0 4px 6px rgba(0,0,0,0.05); transform: translateY(-2px); }
.faq-question { background: #f9fafb; padding: 12px 16px; cursor: pointer; position: relative; transition: all 0.3s ease; border: none; width: 100%; text-align: left; font-family: inherit; display: block; }
.faq-question:hover { background: #e8f0fe; }
.faq-question-text { color: #1a1a1a; font-size: 1rem; font-weight: 600; line-height: 1.5; margin: 0; padding-right: 2rem; display: inline-block; }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.4s ease; padding: 0 16px; }
.faq-item.active .faq-answer { max-height: 1000px; padding: 0 16px 16px; }
.faq-answer-text { color: #4b5563; font-size: 1rem; line-height: 1.7; margin: 12px 0 0; }
&lt;/style>
&lt;script>
(function() {
 function initFAQ() {
 var qs = document.querySelectorAll(".faq-question");
 for (var i = 0; i &lt; qs.length; i++) {
 qs[i].addEventListener("click", function() {
 var item = this.closest(".faq-item");
 var wasActive = item.classList.contains("active");
 var allItems = document.querySelectorAll(".faq-item");
 for (var j = 0; j &lt; allItems.length; j++) { allItems[j].classList.remove("active"); }
 if (!wasActive) item.classList.add("active");
 this.setAttribute("aria-expanded", String(!wasActive));
 });
 }
 }
 if (document.readyState === "loading") {
 document.addEventListener("DOMContentLoaded", initFAQ);
 } else {
 initFAQ();
 }
})();
&lt;/script>
&lt;!-- /wp:html -->
&lt;!-- wp:paragraph {"className":"std-text"} -->
&lt;!-- /wp:paragraph -->
&lt;!-- wp:paragraph {"className":"std-text"} -->
&lt;p class="std-text">Storing 2,000 characters per query turns the global &lt;strong>DNS infrastructure&lt;/strong> into a free, serverless &lt;strong>key-value store&lt;/strong>. You will learn how threat actors exploit the lack of validation in &lt;strong>TXT fields&lt;/strong> to stash &lt;strong>Base64-encoded&lt;/strong> payloads, examine the architecture behind fetching entire programs without writing to disk, and witness a proof-of-concept executing &lt;strong>Managed DOOM&lt;/strong> entirely through &lt;strong>memory streams&lt;/strong>.&lt;/p></description></item></channel></rss>