時々行う必要があることの1つは、たとえばサイトのサブドメインを見つけることです。

example.com

  • sub1で始まります。 example.com
  • other.example.com
  • another.example.com

これらのターゲットで偵察を実行するための追加の方法を探しています。ドメインのすべてのサブドメインのリストを取得したいと思います。

現在、次のような多くのことを行っています

  • maltegoを使用して情報をクロールする
  • 検索エンジンを使用してサブドメインを検索する
  • サイトリンクをクロールする
  • DNSレコードを調べる
  • 誤って構成されたSSL証明書を調べる
  • “vpn.example.com”

のようなものを推測するこれまでに見つけたものですが、今はアイデアがありません。

コメント

  • 別のpoがあります'が非常に優れているstackoverflowのst:[サブドメインのリスト] [1] [1]: stackoverflow.com/questions/ 131989 / …
  • それでは、唯一の方法があります。マルテゴのように、知識に基づいて推測することです…
  • ノック( code.google.com/p/knock )で試してみますが、注意してください。ブラックリストに登録されるリスクがあります。
  • ' subdomainer.pyというPythonスクリプトがあります。これはあなたを助けることができるはずです…グーグルで検索してください
  • FYIそれは見つけることができます edge-security.com Webサイトにありますが、古いリンクは SecurityTube wikiページに投稿されています死んでいます(とにかくusage()で定義されている使用例がありますが)。ソースコードから判断すると、3つの主要な検索エンジン(yahoo、msn、google)からのデータを照合し、私にはメールスクレーパーのように見える不明瞭なWebサイトpgp.rediris.esを照合します。

回答

ペンテスターとして、サイトのサブドメインを見つけることができるようになることがよくあります。そこで、私はツール SubBrute を作成しました。このツールは、自分でそう言うと非常にうまく機能します。つまり、これは他のツール(fierce2)よりも優れており、ははるかに高速で、正確で、操作が簡単です。 。このツールには、Webのスパイダーから取得した実際のサブドメインのリストが付属しています。このサブドメインリストはfierce2の16倍以上のサイズであり、サブブルートはホーム接続でこのリストを使い果たすのに約15分かかります。出力はクリーンな改行で区切られたリストであり、nmapやWebアプリケーション脆弱性スキャナーなどの他のツールの入力として簡単に使用できます。

コメント

  • すごい、'チェックしてみます。 'ノック'と比べてどれだけ優れているか考えてみませんか?
  • @ D3C4FFノックはくだらないです。
  • すべての栄光はルークにあります。今日はライブテストでこのツールを使用しましたが、それは魅力のように機能しました。 mywebreading
  • @ D3C4FFという名前の20のサブドメインのうち1つだけを見逃しました。そう、'よかったです。トリック;)
  • @subbruteに関する簡単なアイデアを探し、見つかったホスト名からIPアドレスを解決(および印刷)するオプションも追加します。私はその変更を行い、特定の範囲がサブドメインであるにもかかわらず範囲外であるいくつかのテストに役立ちました。もう一度ありがとうございます!

回答

1。ゾーン転送

一部のネームサーバーでは、通常は意図せずに、インターネット上の誰にでもDNSゾーン転送を許可しています。この質問では、さらに詳しく説明します: DNSゾーン転送攻撃

ゾーン転送用のツール

その質問に対する2番目の回答では、WindowsとLinuxの両方でテストする方法について説明しています。

Windows:

nslookup > server <DNS you are querying> > set type=any > ls -d <target> 

Unix(nslookupはUnixでは非推奨):

dig -t axfr @<DNS you are querying> <target> 

-axfrが機能していないように見えるため、Unixを編集しました。-t axfr。)

2。 DNSSECゾーンウォーク

DNSSECはDNSレコードに署名するため、正しい答えを確実に受け取ることができます(信頼のルートと仲介者がいる場合)。しかし、何かが存在しないことをどのように証明しますか? nonexistentsub.example.comを検索する場合、example.comのネームサーバーはサブドメインが存在しないことをどのように証明しますか?署名キーがありません(管理者がゾーンを更新すると署名が行われます)。

DNSSecはどのように機能しますか?既知の制限や問題はありますか? / u / tylerl の説明:

明らかにその応答には署名する必要がありますが、通常、DNSサーバー自体は署名キーにアクセスできず、オンザフライで応答に署名できません。署名はすべて、事前に"オフライン"で作成されます。これにより、DNSサーバーが危険にさらされた場合にキーが公開されるのを防ぎます。

代わりに、サブドメインをアルファベット順に並べ、mail.example間のすべての名前に対して"と言います。 comとpop.example.comには、他のサブドメインは存在しません"そして、そのアサーションに署名します。次に、誰かがnachos.example.comを要求したときに、その応答(すでに署名されている)を与えることができます。nachos.example.comはアルファベット順でmail.example.comとpop.example.comの間にあるため、クライアントはそれを知っています。その場合、"このドメインは存在しません"応答は正しく署名されていると見なされ、実際にはあなたからのものです。

これが問題になるのは、" XとYの間に応答が存在しないことを明示的に示すこれらの否定的な応答のセットを用意することで、どのドメインを正確にマップできるかということです。ゾーン全体に存在します。" X "が存在し、" Y "が存在し、それらの間に他に何もないことがわかります。ランダムにもう少し突くだけで、すべてのレコードのリストをすばやく編集できます。それは存在します。

pop.example.comに何も存在しないまで"を指定するレコード"が呼び出されますNSEC(次のSECureレコード)。

このための回避策が設計されました:NSEC3。名前をハッシュするため、mailb83a88...に変わり、popb21afc...。これらが2つのサブドメインのみであると想像すると、署名された応答は" b21afc...と "。繰り返しますが、アルファベット順に機能し、すべてを取得できますが、今回は、サブドメインが何であるかを知る前に、各ハッシュをクラックする必要があります。

私の経験では、ほとんどの場合、NSEC3拡張機能が有効になっています。

ゾーンウォーキング用のツール

NSEC3Walker は、列挙とクラッキングの両方を行います。クラッキングの効率性を保証することはできませんが、それは間違いなくCPUベースのみです。NSEC3は(少なくとも元々は)SHA1を使用しているため、おそらくより優れたクラッキングプログラムがあります。

dnsreconもそれを実行できるようです:dnsrecon -z -d example.com。情報を掲載した公式ウェブサイトがあるかどうかはわかりませんが、Debian Stretch、Buster、およびブルズアイapt install dnsreconできます。

3。サブネット内の逆引き参照

いくつか推測すると、同様の範囲の応答が見つかることがよくあります。 www.が存在し、mail.が存在し、両方が192.168.3.xに解決されることがわかっている場合は、もっとかもしれません。 192.168.3.0-255の範囲(/24)内のすべてのアドレスを逆引き検索してみてください。おそらく、より多くのサブドメインが見つかります。 IPアドレスでWHOISクエリを試して、範囲の境界を見つけることもできます(独自のブロックがある場合)。

逆引き参照用のツール

dnsreconはこれを行うことができます:

dnsrecon -t rvl -r 192.168.1.0/24 

-t rvlは"タイプreverse-lookup "および-rはCIDR表記のIP範囲を渡します。わかりません。情報が掲載されている公式ウェブサイトがあるが、Debian Stretch、Buster、Bullseyeでは、apt install dnsreconできます。

4。 DNSサービスレコード

SRV(サービス)レコードをサービス検出用に設定できます(例:_sip._tcp.example.comは、ポート5060でsipserver.example.comを指す可能性があります。サービス名(" sip以降"の例)は通常、IANAに登録されている標準のものであり、それらを反復処理できます。

srvレコードをクエリするためのツール

dnsreconはこれを行うことができます:

dnsrecon -t srv -d example.com 

不明なものによって選択された、既存のサービス名のサブセットを取得しますマンページ(man dnsrecon)に記載されているメソッド。

5。他の方法

あなたはすでにそれらのいくつかについて言及しました。それらは非常に自明であり、ターゲット上で実行されているアプリケーション(FTPなど)に依存しているか、サードパーティに依存しているか、または実際にはそれらについて言うことがあまりないため、詳細には説明しません。 。

  • 検索結果にサブドメインが表示される場合があります。繰り返しますが、dnsrecon-t gooオプションを使用してこれを行うことができます(特にGoogleを使用します)。

  • 他のTLDで同じ名前を確認すると、他のバリアントまたはIPアドレスが見つかる場合があります。例えば。 example.comが存在する場合、example.orgも存在する可能性があります。 dnsreconは、dnsrecon -t tld -d example.comでもこれを行うことができます。

  • Webサイトのクロールまたは参照の検索他の場所でヒントが得られるかもしれません。 (ヘルプが必要:どのツールを使用しますか?)

  • TLS証明書を調べると、多くの場合、結果が得られます。必ずHTTPS、SMTP(S)、FTP(S)などのポートを確認し、STARTTLSを使用してください。

  • サブドメインを一覧表示できるサードパーティのツールがあります。ドメイン。彼らの方法はあまり明確ではありませんが、インターネットのクロールと履歴記録(おそらくドメイン転送はかつて可能でしたか?)はしばしばその一部です。 (助けが必要です:推奨事項はありますか?それが存在することを確認したことだけを覚えています。)

6。推測。

最後のオプションは、辞書(推奨)またはブルートフォースのいずれかによる推測です。これはワイルドカードによって難しくなりますが、多くのツールがこれを検出して解決しようとします。

推測/ブルートフォーシング用のツール

これを行うためにFierceが構築されました: https://github.com/mschwager/fierce
KaliLinuxにデフォルトでインストールされます。

/ u / rook このスレッドの別の回答で言及、彼らはこの目的のためにサブブルートを書きました: https://github.com/TheRook/subbrute

dnsrecondnsrecon -t brt -d example.comでこれを行うことができます。-fから"レコードを保存するときにワイルドカードで定義されたIPアドレスに解決されるブルートフォースドメインルックアップレコードを除外します"(引用そのmanページ)。辞書ファイルに-Dを渡すことができます。

付録:dictイオナリー

私はまだ(推測/ブルートフォースのための)良い辞書を探していますが、ここに私が知っているいくつかがあります。このリストを完成させるのを手伝ってください!可能性でソートされている限り、大きいほど良いです。

回答

JasonHaddixが書いた非常に最近のバージョンのrecon-ngに依存する私のお気に入りのサブドメイン/ホスト名検出ツール-ここで入手可能-

https://github.com/jhaddix/domain

サブブルートはまともです、fierce -dns <domain>うまく機能し、dnsmap <domain> -r file.txtも有効であり、knock -wc <domain>を嫌う理由はわかりません(ただし、ノックの他の機能は容疑者)。ただし、これらのツールはすべて、年齢を示している手法を使用しています。これらの攻撃の改善の秘訣は、ターゲット専用のホスト名を持つカスタマイズされたファイルを作成することです。

ただし、DNS検出のチェーンソーはdnsreconです。すべてを実行します。

RiskIQなど、これらのツールすべてよりもはるかに多くのことを実行できる商用製品を検討することもできます。彼らのテクニックには、ほとんどの人が思いつかないような多くの調査が含まれています。

[UPDATE]もう1つのお気に入り(主にサブドメインではなく、ホスト名の場合-OPは両方に関心がありますか?)は- https://github.com/tomsteele/blacksheepwall

回答

ノックで試してみますが、注意してください。ブラックリストに登録されるリスクがあります。

残念ながら、回避策はありません。ゾーン転送が機能しない場合のブルートフォーシング。

コメント

  • このツールは低品質です。SubBruteの方がはるかに優れています。

回答

スタックオーバーフローのオーバー、PaulMeliciは提案しました WolframAlpha を使用します。(自分でのスクリーンショット)

  1. 検索ボックスにドメインを入力して、検索を実行します。 (例: stackexchange.com

    Wolfram-ホームページ

  2. 上から3番目のセクション(「すべてのスタック交換のWeb統計」という名前)。 com “)サブドメイン

    Wolfram-サブドメインボタン

  3. サブドメインセクションで詳細をクリックします

    Wolfram-その他のサブドメインボタン

そこにサブドメインのリストが表示されます。すべてのサブドメインが表示されているわけではないと思いますが。

コメント

  • これについては言及されています最初のコメントで

回答

http://ha.ckers.org/fierce/ 。総当たり攻撃だけでなく、辞書ファイルも使用できます。 Kaliにも含まれています。

回答

最初は、パッシブDNSデータベースを使用してサイトのサブドメインを検索することがよくあります。この方法の欠点は、データベースにリストされているサイトしか見つけられないことです。ただし、どのワードリストにもリストされていないサイトを見つけることができるという利点があります。

参照用のデータベース:

https://www.virustotal.com/en/domain/stackexchange.com/information/

http://www.nonexiste.net/?q=stackexchange.com

回答

簡単。 wolframalphaにサイトアドレスを書いてください。そして、「サブドミン」ボタンをクリックします。

例; https://www.wolframalpha.com/input/?i=www.imdb.com

サイトのサブドメインを表示するには、[サブドメイン]をクリックします。

また、wolfram alphaには、到達して使用したい場合にapiがあります。お役に立てば幸いです…

コメント

  • 失われました-Wolframの機能を説明することで、これを拡張できれば、この回答は賛成する可能性があります。
  • "サブドメイン"リンクは、一部のドメインにのみ存在するようです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です