登録されたドメイン名「localtest.me」が127.0.0.1に解決されるのはなぜですか?


30

サーバー側のリクエストフォージェリーに関する記事読んでいました。その記事で、攻撃者はそれがインターネットに開かれていることを発見しました。その後、被害者はブロックしましたが、他の多くのIPと、明らかにいくつかのドメインも、謎に包まれたものを含めてそれに解決されるため、弱いテキストベースのフィルターをバイパスすることができました。127.0.0.1127.0.0.1localtest.me

  1. 何がそんなに特別なのlocaltest.me

  2. 他にありますか?(そして、それらを見つける方法?)


更新

私が見つけた:http : //readme.localtest.me/

どうやら誰かがテスト目的で、そのドメインを面白い方法で登録することを決めたようです:

仕組みは次のとおりです。ドメイン名localtest.me全体とすべてのワイルドカードエントリは、127.0.0.1を指します。そのため、ホストファイルを変更しなくても、ローカルURLを使用してすぐにテストを開始できます。

ただし、外部ドメインをローカルドメインに登録する方法はまだわかりません。これは混乱を招きtracert localtest.me、マシンから離れることさえありません。これは低レベルでどのように処理されますか?

その後、これらのコメントやその他の場所でさらにいくつか見つけました。

lvh.me 
vcap.me
fuf.me - IPv4 and IPv6
ulh.us
127-0-0-1.org.uk
ratchetlocal.com
smackaho.st
42foo.com
beweb.com
yoogle.com
ortkut.com
feacebook.com

そして、中に同様の 質問スタックオーバーフロー上。


22
これは本当に簡単です。ドメイン名の登録とIPアドレスの割り当ては、2つの異なることです。誰でも、何らかの理由でドメイン名を登録できます。単にドメインレジストラに支払い、仮想の「事務処理」を行ってから、魔法のようにドメイン名を取得する必要があります。ただし、そのドメインにIPアドレスを割り当てるのはまったく別の方法です。誰でも任意のIPアドレスをドメイン名に割り当てることができます。ドメイン名は、人生を楽にする単なるポインタです。
JakeGould

最近力のかなりの混乱に接続されているそのようなドメイン名の1つはbealocalhost.de
ハーゲンフォンアイツェン

回答:


69

ただし、外部ドメインをローカルドメインに登録する方法はまだわかりません。tracert localtest.meがマシンを離れることもないため、これは混乱を招きます。これは低レベルでどのように処理されますか?

あなたが想像する方法でドメインをアドレスに「バインド」するものは何もありません。電話帳と同じように、DNSは単にアドレスが何であるかを示すだけですが、それがDNSの関与の終わりです。(電話で「ピザハット」をダイヤルするのではなく、電話番号を調べて番号をダイヤルします。)

そのため、誰かがドメイン名を登録すると、それらの電話帳レコードを編集するだけの能力が得られます。しかし、実際にどこかにドメイン名を「ポイント」するために、たとえば127.0.0.1、データベースに次の行を追加します。

localtest.me.   A   127.0.0.1

それでおしまい。localtest.me今について尋ねる人は誰でも「ああ、それは」という答えを受け取り127.0.0.1ます。

したがって、を入力するとtracert localtest.me.、最初にDNSに関連付けられたアドレスについて尋ねます。答え127.0.0.1を取得します。tracert 127.0.0.1代わりに実行したかのように動作します。魔法はまったくありません。

他にありますか?(そして、それらを見つける方法?)

この時点で、どんなドメイン所有者も何の努力もせずにこれを行うことができることは明らかであるはずです。したがって、他のそのようなドメインがいつでも存在する可能性が常にあります。DNSデータは多くのシステム(動的に生成されることもあります)に分散されているため、それらすべてを実際に見つけることはできません。また、ほんの数秒後に結果が正確に維持されることさえ期待できません。

しかし、セキュリティのために、それらをすべて見つける必要ありません。一部のDNSリゾルバーは、実際にそのようなエントリに対する一種のフィルタリング(「DNSリバインド保護」と呼ばれる)を既に備えており、特定の質問を探しません。答えのみを調べます。保護機能は、ローカルアドレスを指す回答をブロックするだけです。

ただし、尋ねる前に、これをグローバルに禁止することはできません。ドメイン名をプライベートアドレスにポイントすることは、DNSの完全に正当な使用であり、多くのネットワークで実際に使用されています。


4
明確にしてくれてありがとう。予約済みのIPブロックも登録できるとは思っていなかったので、これは間違いなく興味深い発見でした。
not2qubit

11
はい。アドレスの使用方法を強制するのはDNSの仕事ではありません。
grawity

2
@ not2qubit「…予約済みのIPブロックも登録できるとは思いもしませんでした。」あなたは用語を混同しています。レジストラでドメイン名を登録する必要があります。それは制御されたプロセスです。あなたは割り当てるドメイン名にIPアドレスを、それは非制御プロセスです。ドメイン名を管理している限り、登録されているドメイン名に番号の山を割り当てることができます。
JakeGould

「電話で「ピザハット」をダイヤルするのではなく、電話番号を調べて番号をダイヤルします。」いい例え!
ジョシュアピンター

1
確かに長くは続かないでしょう。代わりにSiri / Alexa / Googleが代わりにピザを注文します...
grawity

16

より詳細に説明する他の回答もありますが、この質問の核心は本当に簡単に答えることができます。

「ただし、外部ドメインをローカルドメインに登録する方法はまだわかりません。」

ドメイン名の登録とIPアドレスの割り当ては、完全に異なる2つの独立したものです。

誰でも何らかの理由でドメイン名を登録できます。宛先IPアドレスを設定しなくてもドメイン名を登録できます。単にドメインレジストラに支払い、仮想の「事務処理」を行ってから、魔法のようにドメイン名を取得する必要があります。ドメイン名を登録するときに支払うのは、ドメイン名自体と、IPアドレスをドメイン名に割り当てる機能(以下を参照)だけです。

ただし、そのドメイン名にIPアドレス割り当てることは、まったく異なるプロセスです。ドメイン名を制御できる場合、誰でもドメイン名に任意の IPアドレスを割り当てることができます。ドメイン名レジストラは、ドメイン名に割り当てる未加工アドレスの山については気にしません。

すべてのドメイン名は、人生を楽にする単なるポインタです。人々が数字の山(IPv4)または数字と文字(IPv6)を覚える必要がないように、エイリアスと考えてください。

それでおしまい!

しかし、あなたが訪れたページで説明されているように、何が起こったのかは、世界のローカル「127.0.0.1」アドレスにあるすべてのシステムの「ハッキング」ではなく、その特定のシステム自体の欠陥でした。

しかし、これをさらに明確にするために-そして、これはあなたがそれをあなたがそれを言葉で表現したようにつまずいた-あなたが述べるとき:

サーバー側のリクエストフォージェリーに関する記事を読んでいました。その記事では、攻撃者は127.0.0.1がインターネットに対して開かれていることを発見しました。

私もその記事を読みました、これが起こったことです。誰かがそのツールを任意のIPアドレス/ホスト名に向けることができるオンラインツールを使用していました。彼らがそのツールを指摘し127.0.0.1たのは、IPアドレス127.0.0.1がインターネットに公開されることではありませんでした。むしろ、ツール自体に欠陥があり、誰でもツールを使用してツールが実行されている内部サーバーをプローブできるようになりました127.0.0.1。また、このツールはオープンポートなどの検出に使用される明示的なハッキングツールであったため127.0.0.1、特定のアプリケーションを使用して自身のローカルホストネットワークをプローブしここでキーを入力するだけで、Webブラウザーからツールにアクセスする人にその情報を伝えることができました。

提示されるリスクは、すべて127.0.0.1がインターネットにさらされることではなく、1つのサイトの1つのツールでのずさんなコーディングがこれを実現することでした。


8

localtest.meの特別な点は何ですか?

127.0.0.1(localhost)を指します。このアドレスは、常にローカルコンピューター用に予約されています。

他にありますか?(そして、それらを見つける方法?)

はい。Googleとスーパーユーザーはあなたの友達です(あなたが知っているように)。

外部ドメインをローカル[IP]に登録する方法がまだわかりません。これは混乱を招きtracert localtest.me、マシンから離れることさえありません。これは低レベルでどのように処理されますか?

最初の(外部)DNS要求がありません。tracertパケットがたどるパスを表示しますが、パケットがどこにでも行けるようになる前に、コンピューターは送信先のIPを知っている必要があります。注意点として、locatest.meに一度もアクセスしたことがない場合は、外部リゾルバーにDNS要求が行われ、127.0.0.1にマップされていることが検出されます。返されたデータは、ローカルで使用されます(tracertWebコンテンツの表示など)。また、DNSは任意のホスト名を任意のIPにマップできることを覚えておいてください-IPがローカルかどうかは「認識」しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.