オニオンランドへの旅:NeoQUEST-2016ミッションでダークネットから隠されたサービスをハッキングする

サンクトペテルブルクの「対立」NeoQUEST-2016への登録は継続しますが、誰でもアクセスできますが、オンラインステージのタスクの分析を続けます。



次に、「These Bitter Onion Tears」というタスクがあります。参加者は、オニオンランドダークネットにある隠されたサービスを解読する必要がありました。 そのようなサービスへのアクセスは、Torネットワークを介してのみ名前で可能ですが、それ以外は通常のサイトと違いはありません。 タスクを解決するには、根本的に異なる2つの方法がありました。



両方の方法の分析-アンダーカット!



ソースデータ



参加者には、パスワードを取得する必要があるWebサイトアドレスcx7b2vy6foxjlzsh.onionとrandomradonユーザー名が与えられました。



.onion擬似トップレベルドメインは、サイトがTorネットワーク上にあることを示します。 このようなサイトに入るには、Tor Browser、またはtor2webやonion.cityなどのサービスを使用する必要があります。 いずれにせよ、サイトにアクセスすると、この写真を見ることができます:







ここで、次に何をすべきかについての参加者の意見は分かれた。 誰かがこの脆弱性を「手動で」探し、誰かがWeb脆弱性スキャナーを使用して.onionサイトを操作しました。 両方の方法を検討してください。



方法1-「手動で」脆弱性を探す



サイトを表示しても、サイトが建設中であるという多数の兆候を除いて、興味深いものは何も提供されません。 これは、デバッグページが存在する可能性を示唆しています。 実際、さまざまな標準名を試したところ、いくつかの形式のtest.htmlページを見つけることができます。







最後のフォームはサーバーにリクエストを送信し、SQLインジェクションを含みます(これは、たとえば、フォームの送信時に入力フィールドを空のままにしておくことで検出できます)。







次に、サーバーが返すものを理解する必要があります。 最も単純なクエリは、単一のクエリ結果からmd5ハッシュが返されることを示しています。



0 AND 1=0 UNION SELECT 1; --
      
      







次のステップは、利用可能なデータベースを抽出することです。 明らかにこのようなクエリ:



 0 AND 1=0 UNION SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA LIMIT 1 OFFSET 0; --
      
      







名前自体ではなくデータベース名のハッシュを返すため、名前を抽出できません。 これは、SUBSTR()関数を使用して文字で名前を抽出し、抽出した文字をハッシュで決定することで回避できます。



 0 AND 1=0 UNION SELECT SUBSTR(SCHEMA_NAME, 1, 1) FROM INFORMATION_SCHEMA.SCHEMATA LIMIT 1 OFFSET 0; --
      
      







データベースには3つのスキームが含まれています。



次に、フォームのクエリを使用します



 0 AND 1=0 UNION SELECT SUBSTR(TABLE_NAME, 1, 1) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="TORSITE" LIMIT 1 OFFSET 0; --
      
      







torsiteでテーブルを取得できます(テストは空でした):



次に、同じ方法で、テーブルフィールドを取得し、パスワードがユーザーテーブルに格納されていることを確認し、そこからランダムラドンユーザーパスワード(ハッシュとして格納)を取得し、ハッシュを逆にできます(たとえば、オンラインサービスまたはレインボーテーブルを使用)。



方法2-スキャナーを使用する



サイトの脆弱性を見つける最も簡単な方法は、脆弱性スキャナーを使用することです! しかし、Torの隠されたサービスで動作するようにスキャナーをセットアップするのはそれほど簡単な作業ではありません。 主な問題は、多くのスキャナーがサイトのIPアドレスに依存していることです。 TorネットワークはIPアドレスを使用せず、スキャナーは正常に動作しません。



人気のあるNmapスキャナーは、Tor Darknetで動作するように構成できます。 これを行うには、次を実行します。

  1. nmap-nseportscan-socks4aの特別なバージョンをダウンロードしてインストールします
  2. エントリ「127.0.0.1 cx7b2vy6foxjlzsh.onion」をホストファイルに追加します。これにより、cx7b2vy6foxjlzsh.onion名前解決エラーが回避されます。
  3. Torをダウンロードして実行する
  4. 次のオプションを使用して、nmapをrootとして実行します。

sudo ./nmap -sK --script connectscan、<scripts list> --proxy socks4a://127.0.0.1:9050 cx7b2vy6foxjlzsh.onion –F



Nmapは脆弱性を検出しませんが、潜在的に興味深いテストページを検出します。







ページコードを調べた後、スクリプトの1つで、Nmapを「欠落」するクエリを見つけることができます。







単一のクエリを調べるには、Sqlmapを使用する方が便利です。 このツールは.onionサイトでの作業をサポートします。特別な構成は必要ありません。起動は次のコマンドで実行されます。



python sqlmap.py -u "cx7b2vy6foxjlzsh.onion/qwertyqwerty.php" --data = "id = 1" --tor --tor-port = 9050 --tor-type = SOCKS5



SqlmapはSQLiの脆弱性を検出します。







次に、Sqlmapを使用して、データベースに関するすべての必要な情報を取得できます。







Sqlmapは、ハッシュとして返されたデータを受け取ります。 データを直接取得できないことは、時間ベースのブラインドSQLiおよびブールベースのブラインドSQLi技術を使用して回避されます。 どちらの手法も文字ごとに情報を抽出し、文字の値はバイナリ検索で検出されます。各リクエストで、次の文字が特定の数字と比較されます。



最初の手法を使用する場合、条件が満たされるとSLEEP()が要求に挿入されます。 要求に対する応答が到着する時間までに、Sqlmapは条件が満たされているかどうかを理解します。 2番目の手法を使用して、Sqlmapはクエリの結果を以前に取得したテンプレートと比較し、これに基づいて条件が満たされたかどうかを判断します。



時間ベースのブラインドSQLiは、大きな(そしてしばしばランダムな)遅延があるため、Torネットワークでの使用には適していません。 しかし、ブールベースのブラインドSQLiは機能しています。 シンボルごとに、Sqlmapはデータベースを「吸い込み」ます。



続く



通常、ダークネットは謎めいた秘密のネットワークに関連付けられており、その暗いコーナーはボットネットの管理、麻薬の販売などの違法行為で溢れています。違法コンテンツはダークネットの主な目的ではないため、この考えは完全に真実ではありません。 ただし、本当に危険な隠されたサイトやサービスの存在を否定することはできません。



オンラインステージのタスクはますます分解されずに残り、「対立」の時間はますます少なくなっています。このプログラムでは、さまざまなトピックに関する多くのレポートがあります。 Intel MEのセキュリティ、ソーシャルネットワークでボットを見つける方法、公衆無線ネットワークの安全性について話す、プロセッサに入る方法、Intel SGXとIntel MPXについて話し合う、「改造」を待っている危険-あらゆる種類の「スマートガジェット、その他多数



All Articles