TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

We spent $20 to achieve RCE and accidentally became the admins of .mobi

1624 pointsby notmine13378 months ago

36 comments

post-it8 months ago
Obviously there are a lot of errors by a lot of people that led to this, but here&#x27;s one that would&#x27;ve prevented this specific exploit:<p>&gt; As part of our research, we discovered that a few years ago the WHOIS server for the .MOBI TLD migrated from whois.dotmobiregistry.net to whois.nic.mobi – and the dotmobiregistry.net domain had been left to expire seemingly in December 2023.<p>Never ever ever ever let a domain expire. If you&#x27;re a business and you&#x27;re looking to pick up a new domain because it&#x27;s only $10&#x2F;year, consider that you&#x27;re going to be paying $10&#x2F;year forever, because once you associate that domain with your business, you can <i>never</i> get rid of that association.
评论 #41514229 未加载
评论 #41513204 未加载
评论 #41511995 未加载
评论 #41514267 未加载
评论 #41516650 未加载
评论 #41515416 未加载
评论 #41513960 未加载
develatio8 months ago
I have the feeling that any day now I’m gonna wake up in the morning and I’ll find out that there just isn’t internet anymore because somebody did something from a hotel room in the middle of nowhere with a raspberry pi connected to a wifi hotspot of a nearby coffee shop.
评论 #41512107 未加载
评论 #41515705 未加载
评论 #41514871 未加载
评论 #41514010 未加载
hansjorg8 months ago
Why are tools using hardcoded lists of WHOIS servers?<p>Seems there is a standard (?) way of registering this in DNS, but just from a quick test, a lot of TLDs are missing a record. Working example:<p><pre><code> dig _nicname._tcp.fr SRV +noall +answer _nicname._tcp.fr. 3588 IN SRV 0 0 43 whois.nic.fr. </code></pre> Edit:<p>There&#x27;s an expired Internet Draft for this: <a href="https:&#x2F;&#x2F;datatracker.ietf.org&#x2F;doc&#x2F;html&#x2F;draft-sanz-whois-srv-01" rel="nofollow">https:&#x2F;&#x2F;datatracker.ietf.org&#x2F;doc&#x2F;html&#x2F;draft-sanz-whois-srv-0...</a>
评论 #41512172 未加载
评论 #41511372 未加载
评论 #41514799 未加载
评论 #41513688 未加载
whafro8 months ago
I’ve seen so many teams that fail to realize that once you use a domain in any significant way, you’re basically bound to renewing it until the heat death of the universe – or at least the heat death of your team.<p>Whether it’s this sort of thing, a stale-but-important URL hanging out somewhere, someone on your team signing up for a service with an old domain-email, or whatever, it’s just so hard to know when it’s truly okay let an old domain go.
tomaskafka8 months ago
O.M.G. - the attack surface gained by buying a single expired domain of an old whois server is absolutely staggering.
评论 #41514025 未加载
Fileformat8 months ago
The real solution to WHOIS is RDAP.<p>Unfortunately, it isn&#x27;t required for ccTlds, and there are plenty of non-ccTlds that aren&#x27;t working.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Registration_Data_Access_Protocol" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Registration_Data_Access_Proto...</a><p><a href="https:&#x2F;&#x2F;resolve.rs&#x2F;domains&#x2F;rdap-missing.html" rel="nofollow">https:&#x2F;&#x2F;resolve.rs&#x2F;domains&#x2F;rdap-missing.html</a>
评论 #41514989 未加载
forgotpwd168 months ago
Very cool work.<p>&gt;The dotmobiregistry.net domain, and whois.dotmobiregisry.net hostname, has been pointed to sinkhole systems provided by ShadowServer that now proxy the legitimate WHOIS response for .mobi domains.<p>If those domains were meant to be deprecated should be better to return a 404. Keeping them active and working like normal reduces the insensitive to switch to the legitimate domain.
评论 #41514044 未加载
评论 #41516344 未加载
mnau8 months ago
I think the whole computer approach is doomed to failure. It relies on perfect security that is supposed to be achieved by SBOM checking and frequent updates.<p>That is never going to work. Even log4j, 40% of all downloads are vulnerable versions. Much less when a vendor in a chain goes out of business or stops maintaining a component.<p>Everything is always going to be buggy and full of holes, just like our body is always full of battlefields with microbes.
评论 #41534784 未加载
shipp028 months ago
I love the overall sense of we didn&#x27;t want to this but things just keep escalating and they keep getting more than they bargained for at each step.<p>If only the naysayers had listened and fixed their parsing, the post authors might&#x27;ve been spared.
aftbit8 months ago
&gt;You would, at this point, be forgiven for thinking that this class of attack - controlling WHOIS server responses to exploit parsing implementations within WHOIS clients - isn’t a tangible threat in the real world.<p>Let&#x27;s flip that on its head - are we expected to trust every single WHOIS server in the world to always be authentic and safe? Especially from the point of view of a CA trying to validate TLS, I would not want to find out that `whois somethingarbitrary.ru` leaves me open to an RCE by a Russian server!
lovasoa8 months ago
&gt; $ sqlite3 whois-log-copy.db &quot;select source from queries&quot;|sort|uniq|wc -l<p>Oh cool they saved the logs in a database ! Wait... |sort|uniq|wc -l ?? But why ?
评论 #41514612 未加载
评论 #41514937 未加载
评论 #41514116 未加载
评论 #41515571 未加载
xnorswap8 months ago
This blog is a fantastic journey, it was well worth reading the whole thing.
adolph8 months ago
Conjecture: control over tlds should be determined by capture the flag. Whenever an organization running a registry achieves a level of incompetence whereby its tld is captured, the tld becomes owned by the attacker.<p>Sure there are problems with this conjecture, like what if the attacker is just as incompetent (it just gets captured again), or &quot;bad actor&quot; etc. A concept similar to capture the flag might provide for evolving better approaches toward security than the traditional legal and financial methods of organizational capture the flag.
评论 #41517815 未加载
hi-v-rocknroll8 months ago
It&#x27;s grotesquely insecure and not authoritative to rely on rando, unsecured WHOIS in the clear scraping contact details to &quot;authenticate&quot; domain ownership rather than ask the owner to provide a challenge cookie by DNS or hosted in content.
rixthefox8 months ago
&gt; We recently performed research that started off &quot;well-intentioned&quot; (or as well-intentioned as we ever are) - to make vulnerabilities in WHOIS clients and how they parse responses from WHOIS servers exploitable in the real world (i.e. without needing to MITM etc).<p>R̶i̶g̶h̶t̶ o̶f̶f̶ t̶h̶e̶ b̶a̶t̶, S̶T̶O̶P̶. I̶ d̶o̶n̶&#x27;t̶ c̶a̶r̶e̶ w̶h̶o̶ y̶o̶u̶ a̶r̶e̶ o̶r̶ h̶o̶w̶ &quot;w̶e̶l̶l̶-̶i̶n̶t̶e̶n̶t̶i̶o̶n̶e̶d̶&quot; s̶o̶m̶e̶o̶n̶e̶ i̶s̶. I̶n̶t̶e̶n̶t̶i̶o̶n̶a̶l̶l̶y̶ s̶p̶r̶i̶n̶k̶l̶i̶n̶g̶ i̶n̶ v̶u̶l̶n̶e̶r̶a̶b̶l̶e̶ c̶o̶d̶e̶, K̶N̶O̶W̶I̶N̶G̶L̶Y̶ a̶n̶d̶ W̶I̶L̶L̶I̶N̶G̶L̶Y̶ t̶o̶ &quot;a̶t̶ s̶o̶m̶e̶ p̶o̶i̶n̶t̶ a̶c̶h̶i̶e̶v̶e̶ R̶C̶E̶&quot; i̶s̶ b̶e̶h̶a̶v̶i̶o̶r̶ t̶h̶a̶t̶ I̶ c̶a̶n̶ n̶e̶i̶t̶h̶e̶r̶ c̶o̶n̶d̶o̶n̶e̶ n̶o̶r̶ s̶u̶p̶p̶o̶r̶t̶. I̶ t̶h̶o̶u̶g̶h̶t̶ t̶h̶i̶s̶ k̶i̶n̶d̶ o̶f̶ r̶o̶g̶u̶e̶ c̶o̶n̶t̶r̶i̶b̶u̶t̶i̶o̶n̶s̶ t̶o̶ p̶r̶o̶j̶e̶c̶t̶s̶ h̶a̶d̶ a̶ g̶r̶e̶a̶t̶ e̶x̶a̶m̶p̶l̶e̶ w̶i̶t̶h̶ t̶h̶e̶ U̶n̶i̶v̶e̶r̶s̶i̶t̶y̶ o̶f̶ M̶i̶n̶n̶e̶s̶o̶t̶a̶ o̶f̶ w̶h̶a̶t̶ n̶o̶t̶ t̶o̶ d̶o̶ w̶h̶e̶n̶ t̶h̶e̶y̶ g̶o̶t̶ a̶l̶l̶ t̶h̶e̶i̶r̶ c̶o̶n̶t̶r̶i̶b̶u̶t̶i̶o̶n̶s̶ r̶e̶v̶o̶k̶e̶d̶ a̶n̶d̶ f̶o̶r̶c̶e̶ r̶e̶v̶i̶e̶w̶e̶d̶ o̶n̶ t̶h̶e̶ L̶i̶n̶u̶x̶ k̶e̶r̶n̶e̶l̶.<p>EDIT: This is not what the group has done upon further scrutiny of the article. It&#x27;s just their very first sentence makes it sound like they were intentionally introducing vulnerabilities in existing codebases to achieve a result.<p>I definitely can see that it should have been worded a bit better to make the reader aware that they had not contributed bad code but were finding existing vulnerabilities in software which is much better than where I went initially.
评论 #41510942 未加载
评论 #41510992 未加载
评论 #41510957 未加载
评论 #41512040 未加载
评论 #41520332 未加载
评论 #41510999 未加载
ipsum28 months ago
As an aside, I haven&#x27;t seen a .mobi domain out in the wild in the past 6 years.
nusl8 months ago
Pretty horrible negligence on the part of .mobi to leave a domain like this to expire.
评论 #41516875 未加载
评论 #41516526 未加载
wbl8 months ago
Is this in the bugzilla&#x2F;MDSP yet?
评论 #41511911 未加载
评论 #41516162 未加载
aadlani8 months ago
The cost of managing a domain portfolio is like compound interest — the more domains you add, the higher the renewal costs climb year after year.<p>It’s tempting to hold onto every domain ‘just in case,’ but cutting domains without a proper risk assessment can open the door to serious security issues, as this article points out.
giancarlostoro8 months ago
I still remember when websites would redirect you on your phone to their .mobi website, completely screwing up the original intent. They didn&#x27;t show you the mobile version of whatever Google let you towards, they just lazily redirected you to the .mobi homepage. I bet they asked a non-dev to do those redirects, that one IT neckbeard who shoved a redirect into an Apache2 config file and moved on with life. :)<p>But seriously, it was the most frustrating thing about the mobile web.<p>Is this TLD even worth a damn in 2024?
评论 #41514541 未加载
mannyv8 months ago
&quot;He who seeks finds.&quot; - old proverb.
sundarurfriend8 months ago
The article puts the blame on<p>&gt; Never Update, Auto-Updates And Change Are Bad<p>as the source of the problem a couple of times.<p>This is pretty common take from security professionals, and I wish they&#x27;d also call out the other side of the equation: organizations bundling their &quot;feature&quot; (i.e. enshittification) updates and security updates together. &quot;Always keep your programs updated&quot; is just not feasible advice anymore given that upgrades as just as likely to be downgrades these days. If that were to be realistic advice, we need more pressure on companies to separate out security-related updates and allow people to get updates only on that channel.
评论 #41514739 未加载
评论 #41516890 未加载
devvvvvvv8 months ago
Entertaining and informative read. Main takeaways for me from an end user POV:<p>- Be inherently less trustworthy of more unique TLDs where this kind of takeover seems more likely due to less care being taken during any switchover.<p>- Don&#x27;t use any &quot;TLS&#x2F;SSL Certificate Authorities&#x2F;resellers that support WHOIS-based ownership verification.&quot;
评论 #41510657 未加载
Tepix8 months ago
Wow! Highly entertaining and scary at the same time. Sometimes ijust wish i was clueless about all those open barn doors.
asimpleusecase8 months ago
Wonderful article! Well done chaps.
dt3ft8 months ago
I wish I had the time they have…
评论 #41515389 未加载
486sx338 months ago
I have to say - it wasn’t exactly “accidentally” that this occurred
pimlottc8 months ago
As a reminder, RCE = remote code execution (it’s not defined in the article).<p><a href="https:&#x2F;&#x2F;www.cloudflare.com&#x2F;learning&#x2F;security&#x2F;what-is-remote-code-execution&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.cloudflare.com&#x2F;learning&#x2F;security&#x2F;what-is-remote-...</a>
评论 #41515185 未加载
评论 #41510616 未加载
peterpost28 months ago
That is so neat. Good job guys!
jimmaswell8 months ago
&gt; auto updates are bad, turn them off<p>What? No.
donatj8 months ago
I have written PHP for a living for the last 20 years and that eval just pains me to no end<p><pre><code> eval($var . &#x27;=&quot;&#x27; . str_replace(&#x27;&quot;&#x27;, &#x27;\\\\&quot;&#x27;, $itm) . &#x27;&quot;;&#x27;); </code></pre> Why? Dear god why. Please stop.<p>PHP provides a built in escaper for this purpose<p><pre><code> eval($var . &#x27;=&#x27; . var_export($itm, true) . &#x27;;&#x27;); </code></pre> But even then you don&#x27;t need eval here!<p><pre><code> ${$var} = $itm; </code></pre> Is all you really needed... but really just use an array(map) if you want dynamic keys... don&#x27;t use dynamically defined variables...
评论 #41513466 未加载
评论 #41512318 未加载
评论 #41513794 未加载
评论 #41512139 未加载
iscoelho8 months ago
Great write-up - the tip of the iceberg on how fragile TLS&#x2F;SSL is.<p>Let&#x27;s add a few:<p>1. WHOIS isn&#x27;t encrypted or signed, but is somehow suitable for verification (?)<p>2. DNS CAA records aren&#x27;t protected by DNSSEC, as absence of a DNS record isn&#x27;t sign-able (correction: NSEC is an optional DNSSEC extension)<p>3. DNS root &amp; TLD servers are poorly protected against BGP hijacks (adding that DNSSEC is optional for CAs to verify)<p>4. Email, used for verification in this post, is <i>also</i> poorly protected against BGP hijacks.<p>I&#x27;m amazed we&#x27;ve lasted this long. It must be because if anyone abuses these issues, someone might wake up and care enough to fix them (:
评论 #41510809 未加载
评论 #41510533 未加载
评论 #41511470 未加载
评论 #41510904 未加载
评论 #41510561 未加载
评论 #41513219 未加载
评论 #41511295 未加载
评论 #41515374 未加载
评论 #41513801 未加载
sebstefan8 months ago
&gt;The first bug that our retrospective found was CVE-2015-5243. This is a monster of a bug, in which the prolific phpWhois library simply executes data obtained from the WHOIS server via the PHP ‘eval’ function, allowing instant RCE from any malicious WHOIS server.<p>I don&#x27;t want to live on this planet anymore
评论 #41511220 未加载
评论 #41510590 未加载
评论 #41510638 未加载
评论 #41513067 未加载
评论 #41510613 未加载
评论 #41513797 未加载
fanf28 months ago
This is a fantastic exploit and I am appalled that CAs are still trying to use whois for this kind of thing. I expected the rise of the whois privacy services and privacy legislation would have made whois mostly useless for CAs years ago.<p>&lt;&lt; maintainers of WHOIS tooling are reluctant to scrape such a textual list at runtime, and so it has become the norm to simply hardcode server addresses, populating them at development time by referring to IANA’s list manually. Since the WHOIS server addresses change so infrequently, this is usually an acceptable solution &gt;&gt;<p>This is the approach taken by whois on Debian.<p>Years ago I did some hacking on FreeBSD’s whois client, and its approach is to have as little built-in hardcoded knowledge as possible, and instead follow whois referrals. These are only de-facto semi-standard, i.e. they aren’t part of the protocol spec, but most whois servers provide referrals that are fairly easy to parse, and the number of exceptions and workarounds is easier to manage than a huge hardcoded list.<p>FreeBSD’s whois starts from IANA’s whois server, which is one of the more helpful ones, and it basically solves the problem of finding TLD whois servers. Most of the pain comes from dealing with whois for IP addresses, because some of the RIRs are bad at referrals. There are some issues with weird behaviour from some TLD whois servers, but that’s relatively minor in comparison.
评论 #41514785 未加载
评论 #41517176 未加载
vool8 months ago
TLDR<p>&gt; While this has been interesting to document and research, we are a little exasperated. Something-something-hopefully-an-LLM-will-solve-all-of-these-problems-something-something.
muppetman8 months ago
Oh no not .mobi!