Shikata Ga Nai

Private? There is no such things.

Wayback Machineをつかっての脆弱性診断についてかいてみた

Hello there, ('ω')ノ

 

ペネトレーションテストを実行するとき、最初に行うことの1つは偵察で。

ターゲットのすべてのドメインとサブドメインを特定した後に。

それらのエンドポイントにあるパスを特定して。

これを行うには、ディレクトリブルートフォースの実行や。

証明書の透明性ログの使用、Webサイトのクロールなどがあって。

 

今回は、ウェイバックマシンを使用して。

Webサイトの興味深いパスや脆弱性を見つける方法を。

 

ウェイバックマシンはインターネット全体のアーカイブで。

基本的に、ウェイバックマシンはすべてのWebサイトにアクセスして。

スクリーンショットを撮って、データをデータベースに記録しながらクロールして。

 https://web.archive.org/

 

f:id:ThisIsOne:20211130084149p:plain

 

次に、下記を検索するとこれらのエンドポイントを照会して。

サイトがこれまでにクロールしたすべてのパスのリストを表示できて。

 vulnweb.com

 

f:id:ThisIsOne:20211130084248p:plain

 

サブドメインを指定すると絞り込まれた結果が。

 html5.vulnweb.com

 

f:id:ThisIsOne:20211130084957p:plain

 

リスト表示されたサイトを選択すると過去にアーカイブされた時点のものを選択して。

 

f:id:ThisIsOne:20211130085143p:plain

 

過去のサイトが表示されて確認できるわけで。

 

f:id:ThisIsOne:20211130085158p:plain

 

次に、フィルタを使用して、「.bak」で終わるファイルなど。

バックアップ情報が含まれている可能性がある特定のファイルを検索できて。

その他の興味深いフィルターは次のとおりで。

 

 .zip

 .backup

 .config

 .csv

 .pdf

 /api/

 /admin/

 

このデータを使用して興味深いファイルを見つけるだけでなく。

データを調べることで脆弱性を見つけることもできて。

 

たとえば、パス「example.com/?redirect=something.com」が表示された場合は。

オープンリダイレクトとSSRFの脆弱性をテストできて。

GETパラメータ「msg=」が表示されている場合は、XSSをテストできて。

txtで絞り込むとrobots.txtが見つかったので。

 

f:id:ThisIsOne:20211130084652p:plain

 

過去のアーカイブを選択してみると。

 

f:id:ThisIsOne:20211130084731p:plain

 

存在しないようで。

こんなこともあり。

 

f:id:ThisIsOne:20211130084755p:plain

 

また、Webサイトを使用してパスのリストを取得するのが好きな人もいますが。

コマンドラインを使用することが好きな方も少なくないようで。

ウェイバックマシンからパスのリストを取得するスクリプトがあったりして。

 https://github.com/ghostlulzhacks/waybackMachine

 

f:id:ThisIsOne:20211130092259p:plain

 

スクリプトの出力をファイルにパイプし、grepを使用して。

以下に示すように興味深いファイルパスを検索できて。

 

    python waybackMachine.py facebook.com > facebookPaths.txt

    cat facebookPaths.txt | grep “redirect=”

 

これにより、「redirect=」という単語が含まれているURLが検索されるので。

ヒットが発生した場合は、脆弱性のテストを開始することに。


結論として、ウェイバックマシンには、たくさんの情報があるので。

Webサイトをクロールする前に、ウェイバックマシンを確認して。

他の人がクロールしたデータを使用することで。

多くの時間と労力を節約できる可能性があって。

データを取得したら、脆弱である可能性のある興味深いファイルと。

GETパラメータの検索を開始して。

 

Best regards, (^^ゞ