<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[blog] haltman.io]]></title><description><![CDATA[Haltman.io is a group of Brazilian hackers, old friends, with no affiliation to any other group. We just want to keep alive the flame of seeking knowledge while we still can, free of charge.]]></description><link>https://blog.haltman.io</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1768034916251/d87965ea-5f25-4bb8-a3f5-1bd64c4841fb.png</url><title>[blog] haltman.io</title><link>https://blog.haltman.io</link></image><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Apr 2026 22:07:20 GMT</lastBuildDate><atom:link href="https://blog.haltman.io/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Free Mail Forwarding (Haltman.io): the modern fork of the classic THC service — and why it matters]]></title><description><![CDATA[Email alias services (SimpleLogin, addy.io, etc.) exist for one simple reason: your “real” email address becomes a universal identifier. It leaks, it is correlated, it becomes a target for phishing, credential stuffing, aggressive marketing, and doxx...]]></description><link>https://blog.haltman.io/free-mail-forwarding-takeover-hackerschoice-free-mail-forwarding</link><guid isPermaLink="true">https://blog.haltman.io/free-mail-forwarding-takeover-hackerschoice-free-mail-forwarding</guid><category><![CDATA[cybersecurity]]></category><category><![CDATA[privacy]]></category><category><![CDATA[email security]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[infrastructure]]></category><category><![CDATA[postfix]]></category><category><![CDATA[aliases]]></category><dc:creator><![CDATA[extencil]]></dc:creator><pubDate>Sat, 10 Jan 2026 21:54:06 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/LPZy4da9aRo/upload/a030067361b26b622f71b8c5abc8e72f.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Email <em>alias</em> services (SimpleLogin, <a target="_blank" href="http://addy.io">addy.io</a>, etc.) exist for one simple reason: <strong>your “real” email address becomes a universal identifier</strong>. It leaks, it is correlated, it becomes a target for <em>phishing</em>, <em>credential stuffing</em>, aggressive marketing, and <em>doxxing</em>.</p>
<p>The most straightforward alternative is to separate identities: <strong>one alias per service</strong>.</p>
<p>The <strong>Free Mail Forwarding Service</strong> project by the <a target="_blank" href="http://Haltman.io"><strong>Haltman.io</strong></a> addresses exactly this point: <strong>creating aliases in the format</strong> <code>handle@domain</code> and forwarding everything to a mailbox that you control — with a minimalist (pure forwarding), open-source, infrastructure-focused model.</p>
<hr />
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768080312058/eae41cca-d766-4b4d-917e-688b4161d701.png" alt class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-the-origin-the-hackers-choice-thc-free-mail-forwarding-service">The origin: The Hacker’s Choice (THC) “Free Mail Forwarding Service”</h2>
<p>Before the current hype surrounding alias managers, the community already had “old school” solutions. The Hacker’s Choice (THC) maintained a public forwarding service and its current status is clear: <strong>the service is unavailable</strong> because the volunteer who operated it has “disappeared,” and THC itself is asking for someone to take over the operation.</p>
<p><a target="_blank" href="https://haltman.io">Haltman.io</a>'s proposal here is pragmatic: <strong>take the concept that already worked, modernize and repackage it</strong> (stack + API + UI), maintaining the “infrastructure first” spirit.</p>
<hr />
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768080172757/ac6b50b0-1b7d-400d-8a29-88272af43873.png" alt class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-what-haltmaniohttphaltmanios-free-mail-forwarding-does-and-what-it-does-not-attempt-to-do">What <a target="_blank" href="http://Haltman.io">Haltman.io</a>'s Free Mail Forwarding does (and what it does not attempt to do)</h2>
<p>The model is straightforward:</p>
<ul>
<li><p>You choose:</p>
<ul>
<li><p><strong>handle</strong> (local-part),</p>
</li>
<li><p><strong>domain</strong> (one of the available ones),</p>
</li>
<li><p><strong>destination</strong> (your actual inbox)</p>
</li>
</ul>
</li>
<li><p>The system <strong>sends a confirmation email</strong> to the destination</p>
</li>
<li><p>after confirming, <strong>any email to</strong> <code>handle@domain</code> is forwarded to the destination</p>
</li>
</ul>
<p>This design places the service in the “forwarding” category (below), not “mail provider.” The project’s architecture itself makes this clear: <strong>the Node.js API does not receive email, it only manages rules (aliases) in the database that Postfix queries</strong>.</p>
<hr />
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768080058318/73bbe54c-b141-4576-8339-1785a63edba3.png" alt class="image--center mx-auto" /></p>
<hr />
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768080340954/19145d43-8338-4c4d-8ec2-3ff90fd35857.png" alt class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-architecture-no-magic-no-nebulous-saas">Architecture (no magic, no “nebulous SaaS”)</h2>
<p>The service stack is divided into three layers:</p>
<h3 id="heading-1-base-mail-stack-mta-database">1) Base mail stack (MTA + database)</h3>
<ul>
<li><p><strong>Postfix</strong> as MTA</p>
</li>
<li><p><strong>MariaDB</strong> with <strong>domain</strong> and <strong>alias</strong> tables (dynamic routing)</p>
</li>
<li><p><strong>PostSRSd</strong> for SRS (I'll explain why this is critical below)</p>
</li>
</ul>
<h3 id="heading-2-public-api-alias-lifecycle-control">2) Public API (alias lifecycle control)</h3>
<p>An API in <strong>Node.js + Express</strong> exposes endpoints for:</p>
<ul>
<li><p>requesting alias creation (<code>/forward/subscribe</code>)</p>
</li>
<li><p>confirming via token (<code>/forward/confirm</code>)</p>
</li>
<li><p>requesting removal (<code>/forward/unsubscribe</code>)</p>
</li>
<li><p>confirming removal (<code>/forward/unsubscribe/confirm</code>)</p>
</li>
</ul>
<p>And an important security/implementation detail: <strong>everything is via GET + querystring</strong> (no JSON body).</p>
<h3 id="heading-3-ui-user-experience">3) UI (user experience)</h3>
<p>A modern UI (Next.js + ShadCN + Tailwind) serves as a “front door” to generate requests and facilitate use, without hiding how it works.</p>
<hr />
<p><img src="https://github.com/haltman-io/mail-forwarding/raw/main/github/screenshots/dumb-diagram.png" alt="dumb diagram" class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-the-difference-between-amateur-forwarding-and-forwarding-that-delivers-srs-postsrsd">The difference between “amateur forwarding” and “forwarding that delivers”: SRS (PostSRSd)</h2>
<p>When you forward email, <strong>SPF/DMARC often break</strong> at the final destination: the recipient's provider sees the email “coming” from your server, but the original envelope/identity does not authorize your IP → rejections, quarantine, or spam folder.</p>
<p>That's why the stack includes <strong>SRS</strong>: it <strong>rewrites the sender envelope</strong> in a forwarding-compatible way, reducing rejections by SPF/DMARC policies.</p>
<hr />
<p><img src="https://blog.mythic-beasts.com/wp-content/uploads/2017/10/srs-3.png" alt="Sender Rewriting Scheme - Mythic Beasts" class="image--center mx-auto" /></p>
<hr />
<p><img src="https://www.duocircle.com/wp-content/uploads/2024/07/DMARC-reporting-service-2.jpg" alt="A guide to DKIM syntax– create your DKIM record for free - DuoCircle" /></p>
<hr />
<h2 id="heading-confirmation-flow-and-anti-abuse-controls-what-i-liked-here">Confirmation flow and anti-abuse controls (what I liked here)</h2>
<p>Public service + free aliases = <strong>inevitable abuse</strong>. The project solves this with a very classic (and effective) set of mechanisms:</p>
<ul>
<li><p><strong>email confirmation via token</strong> (no rule enters without confirmation)</p>
</li>
<li><p><strong>rate limiting and throttling</strong> by IP, alias, destination, and token</p>
</li>
<li><p>HTTP responses with clear codes (e.g., <code>alias_taken</code>, <code>rate_limited</code>, <code>banned</code>, <code>token_expired</code>)</p>
</li>
<li><p><strong>Redis</strong> option for distributed rate limiting in production (avoids limit resets in multi-instance environments)</p>
</li>
</ul>
<p>This is the “bare minimum” required to prevent a public service from becoming a spam forwarder within 48 hours.</p>
<hr />
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768080703362/dd4bb754-4aab-43d5-90e1-182ecb062496.png" alt class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-operating-or-self-hosting-requires-correct-dns-and-here-is-the-checklist">Operating (or self-hosting) requires correct DNS — and here is the checklist</h2>
<p>Even if you only “use” the service, understanding DNS helps you diagnose delivery. And if you are going to operate your own instance, DNS is mandatory.</p>
<p>The project guide makes the basics clear for each domain:</p>
<ul>
<li><p>MX pointing to the mail host</p>
</li>
<li><p>A/AAAA of the host</p>
</li>
<li><p>SPF authorizing the IPs</p>
</li>
<li><p>DMARC (start permissive)</p>
</li>
<li><p>PTR/reverse DNS for outbound deliverability</p>
</li>
</ul>
<p>And there are objective instructions on how to point <strong>domain</strong> or <strong>subdomain</strong> to the mail host (with examples of MX/SPF/DMARC): <a target="_blank" href="https://github.com/haltman-io/mail-forwarding/blob/main/FWD-Add-Domain-or-Subdomain.md">https://github.com/haltman-io/mail-forwarding/blob/main/FWD-Add-Domain-or-Subdomain.md</a></p>
<hr />
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768080799810/8b3d09ba-06b3-42fe-8ec2-6237473978ec.png" alt class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-how-does-it-compare-to-simplelogin-and-addyiohttpaddyio-in-practice">How does it compare to SimpleLogin and <a target="_blank" href="http://addy.io">addy.io</a> (in practice)?</h2>
<p>SimpleLogin and <a target="_blank" href="http://addy.io">addy.io</a> are benchmarks in the alias manager ecosystem, focusing on a complete experience and extra features.</p>
<ul>
<li><p><strong>SimpleLogin</strong> positions itself as an alias service to protect your inbox, and is explicitly <strong>open source</strong>.</p>
</li>
<li><p><a target="_blank" href="http://addy.io"><strong>addy.io</strong></a> describes its core as “creating unlimited aliases and protecting your real email” (also in the spirit of privacy-first).</p>
</li>
</ul>
<p>The difference with <strong>Free Mail Forwarding (</strong><a target="_blank" href="http://Haltman.io"><strong>Haltman.io</strong></a><strong>)</strong> is another: <strong>minimal infrastructure, auditable flow, and focus on forwarding</strong>:</p>
<ul>
<li><p>you are not “buying an ecosystem”, you are using a <strong>simple mechanism</strong> (alias → forward) supported by Postfix+DB and a management API.</p>
</li>
<li><p>This tends to appeal to those who prefer:</p>
</li>
<li><p>predictability,</p>
</li>
<li><p>smaller attack surface,</p>
</li>
<li><p>and “hacker mode”: understanding exactly what is running.</p>
</li>
</ul>
<p>The natural tradeoff: services like SimpleLogin usually offer extra layers (apps, integrations, advanced features), while here the proposal is to <strong>be the solid foundation of forwarding</strong>.</p>
<hr />
<h2 id="heading-conclusion-why-this-project-is-relevant">Conclusion: why this project is relevant</h2>
<p>The THC page reveals an uncomfortable truth: <strong>community services die when their operation depends on a single person</strong>. What <a target="_blank" href="http://Haltman.io">Haltman.io</a> is doing? packaging base stack + API + UI, with anti-abuse controls and practical documentation. Is the right way to <strong>take “free mail forwarding” out of urban legend mode and bring it into a reproducible operation</strong>.</p>
<p>If you:</p>
<ul>
<li><p>want to reduce correlation of your real email,</p>
</li>
<li><p>want simple aliases per domain,</p>
</li>
<li><p>or want an open-source base to run on your own,...</p>
</li>
</ul>
<p>this project is a must-read.</p>
<hr />
<ul>
<li><p><a target="_blank" href="https://haltman.io/">Haltman – Home</a></p>
</li>
<li><p><a target="_blank" href="https://www.haltman.io/about-us">Haltman – About</a></p>
</li>
<li><p><a target="_blank" href="https://www.thc.org/mail/">THC Free Mail Forwarding Service</a></p>
</li>
<li><p><a target="_blank" href="https://simplelogin.io/?utm_source=chatgpt.com">SimpleLogin – Open-source anonymous email service</a></p>
</li>
<li><p><a target="_blank" href="http://addy.io">addy.io</a> <a target="_blank" href="https://addy.io/?utm_source=chatgpt.com">– Free, open-source anonymous email forwarding</a></p>
</li>
<li><p><a target="_blank" href="https://github.com/haltman-io/mail-forwarding">Mail Forwarding API Repository</a></p>
</li>
<li><p><a target="_blank" href="https://github.com/haltman-io/mail-forwarding-ui">Mail Forwarding UI Repository</a></p>
</li>
<li><p><a target="_blank" href="https://github.com/haltman-io/mail-forwarding/blob/main/FWD-Basestack.md">Base Stack Documentation (FWD-Basestack)</a></p>
</li>
<li><p><a target="_blank" href="https://github.com/haltman-io/mail-forwarding/blob/main/FWD-Add-Domain-or-Subdomain.md">DNS Domain/Subdomain Documentation</a></p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[ip.thc.org - a “Censys/Shodan” for the world of domains (5.14 billion records)]]></title><description><![CDATA[The technical OSINT ecosystem has matured around infrastructure “search engines” (Shodan, Censys, Fofa): you query a target and pivot by banners, certificates, ports, services, fingerprints. IP.THC.ORG, a new project from The Hacker’s Choice (THC), t...]]></description><link>https://blog.haltman.io/ip-thc-org-largest-dataset-of-domains-5-billions-records</link><guid isPermaLink="true">https://blog.haltman.io/ip-thc-org-largest-dataset-of-domains-5-billions-records</guid><dc:creator><![CDATA[extencil]]></dc:creator><pubDate>Sat, 10 Jan 2026 18:18:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1768068616584/af0e875a-69cd-4954-ae43-f84da4acd39d.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The technical OSINT ecosystem has matured around infrastructure “search engines” (Shodan, Censys, Fofa): you query a target and pivot by banners, certificates, ports, services, fingerprints. <a target="_blank" href="http://ip.thc.org">IP.THC.ORG</a>, a new project from The Hacker’s Choice (THC), takes a different approach: the massive relationship between IPs and names (rDNS), subdomains, and CNAMEs, with a very pragmatic proposal: CLI-first, simple endpoints, monthly bulk data, and a dataset that already has 5.14 billion records.</p>
<blockquote>
<p><strong>Why does this matter?</strong></p>
<p>Because in investigation and Attack Surface Management, “name ↔ IP ↔ DNS records” is the glue that enables attribution, pivoting, and exposure detection, even before we talk about ports and banners.</p>
</blockquote>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768065875879/e57fc44e-60a6-4d02-9999-c9d05273f1bc.png" alt class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-what-is-ipthcorghttpipthcorg-in-practice">What is <a target="_blank" href="http://ip.thc.org">ip.thc.org</a>, in practice</h2>
<p>Think of <a target="_blank" href="http://ip.thc.org">ip.thc.org</a> as a giant index for answering questions such as:</p>
<ul>
<li><p>“Which hostnames perform reverse DNS for this IP?” (infrastructure pivot)</p>
</li>
<li><p>“What subdomains exist for this apex domain?” (surface mapping)</p>
</li>
<li><p>“What domains point (CNAME) to this target?” (detection of dependencies and possible takeovers)</p>
</li>
</ul>
<p>The most interesting part is that it comes with three layers of consumption:</p>
<ol>
<li><p><strong>CLI-friendly via cURL</strong>, with colored output and useful headers</p>
</li>
<li><p><strong>REST API (JSON) + CSV downloads</strong> for integration into pipelines</p>
</li>
<li><p><strong>Monthly bulk data (CSV/Parquet)</strong> for offline analysis at scale (DuckDB recommended)</p>
</li>
</ol>
<p>And, on the “sources and intake” side, the project documentation explains that rDNS is “powered by” <strong>Segfault</strong>, <strong>Domainsproject</strong>, and <strong>CertStream-Domains</strong>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768067692788/eadb7129-3f23-4a62-b037-71228a76d91e.png" alt class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-numbers-and-distribution-of-the-dataset-what-you-can-download">Numbers and distribution of the dataset (what you can download)</h2>
<p>The <strong>Bulk Data Access</strong> doc publishes clear and useful statistics for planning:</p>
<ul>
<li><p><strong>Last updated:</strong> January 2, 2026</p>
</li>
<li><p><strong>Date for:</strong> December 2025</p>
</li>
<li><p><strong>Records:</strong> <strong>5.14 billion</strong></p>
</li>
<li><p><strong>Size (compressed):</strong> Parquet ~40GB / CSV ~30GB</p>
</li>
<li><p><strong>Size (uncompressed):</strong> Parquet ~60GB / CSV ~190GB</p>
</li>
</ul>
<p>The model is: <strong>a complete dump at the end of each month</strong>, with direct download links (CSV and Parquet).</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768067758863/e03355c2-256c-40d9-ac8f-cf1388fcca7b.png" alt class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-layer-1-cli-friendly-curl-fast-auditable-scriptable">Layer 1: CLI-friendly (cURL) — fast, auditable, scriptable</h2>
<h3 id="heading-1-rdns-ip-hostnames">1) rDNS: IP → hostnames</h3>
<p>Direct example (limiting return):</p>
<pre><code class="lang-bash">curl <span class="hljs-string">'https://ip.thc.org/1.1.1.1?l=10'</span>
</code></pre>
<p>You get useful context in the header (ASN, org, approximate geo) and then the list of entries. The doc itself shows <strong>rate limit</strong> and filter options.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768067840568/96c32148-efd4-4748-8481-b5e9b5af38bb.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-2-subdomain-lookup-apex-subdomains">2) Subdomain lookup: apex → subdomains</h3>
<pre><code class="lang-bash">curl <span class="hljs-string">'https://ip.thc.org/sb/wikipedia.org?l=20'</span>
</code></pre>
<p>In the documentation, the subdomain endpoint also has a rate limit and suggests pivots (e.g., go to CNAME lookup).</p>
<h3 id="heading-3-cname-lookup-target-domains-that-point-to-it">3) CNAME lookup: target → domains that point to it</h3>
<pre><code class="lang-bash">curl <span class="hljs-string">'https://ip.thc.org/cn/github.io?l=20'</span>
</code></pre>
<p>Useful for discovering dependencies, frontdoors, and even takeover hypotheses (always validating with provider rules and the actual status of the resource).</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768067908835/2deca9f4-207a-421e-9abc-fb7cf436ecf5.png" alt class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-layer-2-api-json-and-csv-downloads-integration-into-pipelines">Layer 2: API (JSON) and CSV downloads — integration into pipelines</h2>
<p>The CLI-friendly documentation also lists API endpoints that you can put directly into automations (SOAR, enrichers, ETL, etc.):</p>
<h3 id="heading-lookup-by-ip-includes-24-16-8-blocks">Lookup by IP (includes /24, /16, /8 blocks)</h3>
<pre><code class="lang-bash">curl <span class="hljs-string">'https://ip.thc.org/api/v1/lookup'</span> \
  -X POST \
  -d <span class="hljs-string">'{ "ip_address":"1.1.1.0/24", "limit": 10 }'</span> -s
</code></pre>
<h3 id="heading-subdomain-lookup-by-domain">Subdomain lookup by domain</h3>
<pre><code class="lang-bash">curl <span class="hljs-string">'https://ip.thc.org/api/v1/lookup/subdomains'</span> \
  -X POST \
  -d <span class="hljs-string">'{ "domain":"github.com", "limit": 10 }'</span> -s
</code></pre>
<h3 id="heading-cname-lookup-by-target">CNAME lookup by target</h3>
<pre><code class="lang-bash">curl <span class="hljs-string">'https://ip.thc.org/api/v1/lookup/cnames'</span> \
  -X POST \
  -d <span class="hljs-string">'{ "target_domain":"google.com", "limit": 10 }'</span> -s
</code></pre>
<p>And when you want something that fits into a spreadsheet/SIEM/grep, there are <strong>CSV download</strong> endpoints with a high <code>limit</code> (up to 50k) and an option to hide the header.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768068015953/4a7d8f5f-371a-4367-b491-a853e7a89964.png" alt class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-layer-3-bulk-data-parquetcsv-build-your-own-engine">Layer 3: Bulk data (Parquet/CSV) — “build your own engine”</h2>
<p>If you want <strong>scale</strong>, the route is to download the monthly dump and query locally. The project itself recommends <strong>DuckDB</strong> and gives a direct query example in Parquet:</p>
<pre><code class="lang-bash">duckdb
select * from <span class="hljs-string">'rdns.parquet'</span> <span class="hljs-built_in">where</span> ip_address=<span class="hljs-string">'1.1.1.1'</span> <span class="hljs-built_in">limit</span> 10;
</code></pre>
<p>This opens the door to:</p>
<ul>
<li><p>internal enrichment (Threat Intel / ASM)</p>
</li>
<li><p>historical analysis by month</p>
</li>
<li><p>indexing in ClickHouse/Elastic/OpenSearch</p>
</li>
<li><p>correlation with CT logs / passive DNS / proxy logs / EDR</p>
</li>
</ul>
<hr />
<h2 id="heading-where-does-this-come-from-public-clues-on-the-trail">“Where does this come from?” (public clues on the trail)</h2>
<p>Two pieces of the ecosystem help to understand the type of intake/expansion of the project:</p>
<ul>
<li><p>The old <strong>CertStream-Domains</strong> repository (daily dumps of domains observed in certificate transparency) was <strong>archived</strong> with the note that <strong>THC “stepped up to overtake &amp; expand the data”</strong>, and points to <strong>cs1/cs2</strong> as the source of the daily dumps.</p>
</li>
<li><p>The <strong>dnsstream</strong> utility (from THC itself) captures DNS traffic and “displays the answers,” explicitly described as “part of the <a target="_blank" href="http://ip.thc.org">ip.thc.org</a> project.”</p>
</li>
</ul>
<p>This alone does not “prove” the entire internal pipeline (nor should it—opsec and abuse exist), but it does indicate a coherent design: <strong>aggregation + continuous observation + publication</strong>.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768068085475/09003c07-b2fd-4b1a-8931-581e1e3159d7.png" alt class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-real-use-cases-where-it-shines">Real use cases (where it shines)</h2>
<h3 id="heading-1-infrastructure-pivoting-ir-threat-intel">1) Infrastructure pivoting (IR / Threat Intel)</h3>
<p>You start with a suspicious IP (IOC), extract rDNS, cross-reference with subdomains and CNAME, and arrive at:</p>
<ul>
<li><p>exposed frontends / administrative areas</p>
</li>
<li><p>“forgotten” domains pointing to old infrastructure</p>
</li>
<li><p>third-party dependencies (CDN, storage, PaaS)</p>
</li>
</ul>
<h3 id="heading-2-attack-surface-management-asm-without-relying-on-heavy-scanners">2) Attack Surface Management (ASM) without relying on heavy scanners</h3>
<p>Before scanning ports, you build a list of hostnames/subdomains and prioritize:</p>
<ul>
<li><p>patterns like “dev, staging, admin, old, beta”</p>
</li>
<li><p>newly discovered assets (when combined with daily/monthly datasets)</p>
</li>
</ul>
<h3 id="heading-3-hunting-for-dangling-cname-misconfig">3) Hunting for dangling CNAME / misconfig</h3>
<p>CNAME lookup helps answer “who points to X?” and “which domains depend on a target.” This speeds up screening in bug bounty programs — with responsible validation.</p>
<hr />
<h2 id="heading-rate-limiting-ethics-and-best-practices">Rate limiting, ethics, and best practices</h2>
<p>The example responses themselves show rate limiting (e.g., “You can make 249 requests... replenishes at 0.50/sec”), so treat it as a public service: local cache, backoff, and bulk data when you need volume.</p>
<p>And the THC context also matters: the group has a historical culture of research/hacking “without trying to get rich,” with a strong community and tooling bias.</p>
<hr />
<h2 id="heading-conclusion-where-ipthcorghttpipthcorg-fits-into-your-stack">Conclusion: where <a target="_blank" href="http://ip.thc.org">ip.thc.org</a> fits into your stack</h2>
<p>If Shodan/Censys are “service search engines,” <a target="_blank" href="http://ip.thc.org"><strong>ip.thc.org</strong></a> is the foundation block for <strong>name intelligence</strong>:</p>
<ul>
<li><p>fast for pivots (CLI)</p>
</li>
<li><p>integrable (API/CSV)</p>
</li>
<li><p>scalable (monthly Parquet + DuckDB)</p>
</li>
</ul>
<p>In 2026, with <strong>5.14B records</strong> published and a very objective distribution model, it is worth adding <a target="_blank" href="http://ip.thc.org">ip.thc.org</a> to your OSINT kit — especially if you work with <strong>ASM, Threat Intel, IR</strong>, or responsible offensive research.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768068144901/71ec11d3-3fa1-4efa-b651-f443d02b60ba.png" alt class="image--center mx-auto" /></p>
<hr />
<h2 id="heading-references">References</h2>
<ul>
<li><p><a target="_blank" href="https://ip.thc.org/docs/bulk-data-access/">Bulk Data Access</a></p>
</li>
<li><p><a target="_blank" href="https://ip.thc.org/docs/cli">Commandline Access</a></p>
</li>
<li><p><a target="_blank" href="https://ip.thc.org/docs/docs">rDNS Lookup</a></p>
</li>
<li><p><a target="_blank" href="https://ip.thc.org/docs/cli-rdns-lookup">Reverse DNS Lookup</a></p>
</li>
<li><p><a target="_blank" href="https://ip.thc.org/docs/cli-subdomain-lookup">Subdomain Lookup</a></p>
</li>
<li><p><a target="_blank" href="https://ip.thc.org/docs/cli-cname-lookup">CNAME Lookup</a></p>
</li>
<li><p><a target="_blank" href="https://ip.thc.org/docs/bluk-data-parquet">Accessing parquet files</a></p>
</li>
<li><p><a target="_blank" href="https://github.com/pkgforge-security/CertStream-Domains">CertStream-Domains – Daily Dumps of Certificate Logs Subdomains</a></p>
</li>
<li><p><a target="_blank" href="https://github.com/SkyperTHC/dnsstream">dnsstream – Network Capture DNS answers</a></p>
</li>
<li><p><a target="_blank" href="https://www.redhotcyber.com/en/post/thc-30-years-of-hacking-without-trying-to-get-rich/">The Hacker’s Choice – 30 years of hacking without trying to get rich</a></p>
</li>
</ul>
]]></content:encoded></item></channel></rss>