情報収集[Updated2019]
情報収集の概要
ペネトレーションテストは、ペンテスターがクライアント、目標、制限、およびペネトレーションテストの範囲を知るプレエンゲージメントフェーズから始まります。 その後、ペンテスターは実際の侵入テストを開始し、通常、ペンテスターがクライアントに関連する公開されている情報を見つけ、システムに入るために悪用される可能性のある方法を模索する情報収集努力を進めます。 この段階では、ペンのテスターはまた彼/彼女がネットワークおよびそれらにあるソフトウェアのシステムの理解を得るのを助けることができる港の その情報を使用して、ペンテスターは、異なる調査結果がクライアントに与える影響を特定することができ、脆弱性分析パートは、見つかった情報がシステ したがって、良い情報収集がなければ、発見して悪用する脆弱性はありません。
今は、受動的な情報収集と能動的な情報収集の間の重要な区別をする時です。 受動的な情報収集とは、ペンテスター(自分自身)と情報を収集しているターゲットとの間に接触を確立することなく、できるだけ多くの情報を収集するこ アクティブな情報収集には、ペンテスターと実際のターゲットとの間の接触が含まれます。 情報を得るためにシステムを積極的に照会すると、ほとんどの国で必要な許可なしにシステムに侵入しようとする試みが禁止されているため、暗 したがって、システムをテストする許可がない場合(脱獄なしのカード)、それに対してアクティブなクエリを実行することはお勧めできません。 たとえば、Nmapを使用して目的のリモートシステム上の開いているポートやアプリケーションを見つける場合、そのシステムと積極的に対話して弱点を見つ 積極的な情報収集の例は、会社のスタッフに電話をかけ、特権情報を漏らすように騙そうとしています。
攻撃前のフェーズは、次のように記述できます:
- 受動的な情報収集は、システム、そのソフトウェア、およびターゲットに関わる人々に関する予備的な情報を発見するために行われます。
- 受動的にネットワーク範囲を決定して、焦点を当てることができるネットワーク内のマシンを見つけます。
- ペンテスターは、どのマシンが生きているかを積極的にチェックし、何をターゲットにするかを知る。
- ペンテスターは、ネットワーク内の各マシンの開いているポートとその上のアプリケーションを積極的に探して、侵入する最適な方法を見つけます。
- ペンテスターは、tracerouteやCheopsなどのツールを使用して、各マシンの背後にあるオペレーティングシステムを指紋認証します。
- ペンテスターは、収集されたすべてのデータを書き留めて視覚化することによってネットワークをマップし、攻撃フェーズから開始します…
受動的な情報収集ツール
theHarvester
ハーベスターを使用して、ターゲットドメインに関する電子メールを収集することができます。 その後、これらの電子メールを使用してソーシャルエンジニアリングを開始したり、他の攻撃を開始することができます。 HarvesterはPythonで構築されたツールなので、実行するにはマシン上でPythonが必要で、PATH環境変数に追加することをお勧めします。 Pythonはhttps://www.python.org/downloads/からダウンロードできます。 マシンにgitがある場合は、ターミナルを開き、目的のフォルダに移動してgit clonehttps://github.com/laramies/theHarvester.git
と入力してツールをダウンロードできます。 それ以外の場合は、GitHubリポジトリを開き、”Clone or download”をクリックしてソースコードをZIPとしてダウンロードするだけです。 インストールしたら、コマンドライン/ターミナルを開き、Harvesterをインストールしたフォルダに移動してpythonと入力しますtheHarvester.py ヘルプ画面を取得するには。
図1:ハーベスタのヘルプ画面は次のようになります
ドメイン内の電子メールを検索する場合は、次のようになりまdimoff.biz 次のようなクエリを実行できます。
python theHarvester.py -d dimoff.biz -l100-b google
これは、dimoffにあるGoogleの電子メールを検索します。bizとは、Googleの最初の100件のクエリ結果に検索を制限します。
図2:難読化しているため、ドメインにメールが見つかりません
InfoSec Instituteのwebサイト内でメールを検索してみましょう。 同じクエリを入力しますが、ドメインを変更します:python theHarvester.py -d infosecinstitute.com -l100-b google
図3: InfoSec Instituteの電子メールのクエリは、私たちが潜在的に利用できる四つの電子メールを思い付きました
私たちの研究を改善するために、私たちは別の検索エン Yahooの検索エンジンの最初の30の結果内で電子メールを検索すると、1つの電子メールだけになりますが、Googleで収集した4つの電子メールとは異なります。 私たちはpythonと入力しますtheHarvester.py -d infosecinstitute.com -l20-b yahooと次の出力で終わります。
図4: YahooによるHarvester searchは別の結果をもたらしました
気づいたかもしれないように、そのドメイン内の電子メールを吐き出すことに加えて、Harvesterは特定のドメ この情報は有用であり、異なるサブドメインが異なるサーバーソフトウェア、ソフトウェア開発フレームワークを使用している可能性があり、異なるマシン上にある可能性があるため、これらのサブドメインは異なる脆弱性を受けやすく、異なるレベルの悪用可能性がある可能性があります。
Netcraft
Netcraftは、任意のwebサイトに関連するソフトウェア、webサーバー、webホストに関する詳細な情報を見ることができるwebアプリケーションです。 それはウェブサイトの背後にあるソフトウェアを知るためにミリ秒かかるようNetcraftは、痛みのないこの情報を収集することができます。 たとえば、webサイトのwebホスティングプロバイダーが誰であるかを知ることは、ソーシャルエンジニアリング攻撃を開始することを決定した場合に役 それから、リンクを開け、設定を変えるように彼/彼女に頼むwebホスティングの会社から起きるようである管理者に電子メールを書くことができる。 さらに、Netcraftで見つけることができるwebサイトが使用するさまざまなソフトウェア開発フレームワークには、独自の脆弱性があり、それを悪用しようとすることができます。 下の画像は、InfoSec Instituteのルックアップを示していますhttp://www.netcraft.com/
図5: NetcraftのInfoSec Instituteに関する情報を検索する
InfoSec InstituteのホスティングプロバイダーはDigital Oceanであることがわかりますので、どこかに注意するかもしれません。 また、ウェブサイトがExpression Engineと呼ばれるコンテンツ管理システム(CMS)、CodeIgniterと呼ばれるソフトウェア開発フレームワーク、バックエンド言語がPHPなどを使用して 当社は、ウェブサイトに脆弱性を引き起こす可能性のある技術の欠陥を探すことがあります。 また、webサーバーソフトウェアが最近Apache/2.2.31から変更されたこともあります。 サーバーソフトウェアの正確なバージョンを知ることは、さまざまなサーバーソフトウェアの脆弱性が定期的にオンラインで公開され、多くの場合、ほとんどの さらに、サーバーソフトウェアを知ることは、研究の範囲を狭めます。 サーバーがApacheを実行していることがわかっている場合、Microsoft IISサーバーの脆弱性は検索されません。 しかし、ウェブサイトによって提供されるサーバー情報は、餌/ハニーポットになることがあります。
Maltego
Maltegoは、情報収集を取得して視覚化するのに役立つデータマイニングツールです。 それはいくつかのバージョンがあり、そのうちの一つは自由に遊ぶことができます。 無料版はいわゆる”コミュニティ版”であり、https://www.paterva.com/web7/downloads.php#tab-3からダウンロードすることができます。 あなたがそれを実行するためにしなければならないのは、Patervaにアカウントを登録することです。 無料版は、しかしあなたに示すことができる採掘結果の数を制限します。p>
図6: Maltegoの事前構築されたマシンは、無料版では12のエンティティに結果を制限します
Maltego Primer
Maltegoをインストールし、アカウントを設定してログインしたら、次のような最後のステップが表示されます。
図7:Maltegoを正常にインストールしました
“空白を開く”をクリックしますグラフと私は遊んでみましょう。”
左のパレットボックスには、検索に組み込むことができるさまざまなエンティティが表示されます。 パレット内のドメインエンティティをグラフにドラッグアンドドロップします。 あなたはサイトのsingle Earthアイコンpaterva.com ラベルとして。
図8:グラフへのドメインエンティティの追加
ここで、ドメイン名を新しい情報を取得するドメインに変更します。 これを行うには、ドメイン名をダブルクリックし、目的のドメイン名を入力する必要があります。
探索するドメインを準備した後、ドメインエンティティを右クリックして目的のクエリを選択することで、ドメインのさまざまな情報の変換まp>
図9: Maltegoで利用可能なさまざまな変換のスライス
これらの変換がどのように機能するかを説明するために、検索エンジンを使用してエンティティを電話番号に変換することを選択した場合、InfoSec Instituteの電話番号がいくつか表示されます。 これらの電話番号を使用して、ソーシャルエンジニアリングの攻撃をより説得力のあるものにし、ビッシング、口実などを採用することができます。
図10:検索エンジンを使用して電話番号への変換がInfoSec Instituteに適用され、五つの電話番号が視覚化されます。ここで、別の変換を適用すると、結果は増加します。 さらに良いことに、以前の変換から発生した結果に新しい変換を適用することができます。これを説明するために、最初に返された電話番号を右クリックすると、それに適用できるさまざまな変換が得られます。
これを説明するために、 電話番号をUrlに変換することを選択したとしましょう(つまり、電話番号が言及されているUrlを取得します)。 これにより、結果の階層/関係がより深くなり、電話番号に誰が回答したかなどを手動で確認できるいくつかのUrlが表示されます。p>
図11:Maltegoのレベルをより深くする。 InfoSec Instituteに関連する電話番号のいずれかが言及されているUrlを取得する
ご覧のように、探索するエンティティと変換がかなりたくさんあります。
アクティブな情報収集ツール
Nmapは、対象となるマシンでスキャンを実行して、どのポートが開いているか、したがってどのアプリケーションが実行されているかを確認することができます。 上記のツールとの違いは、特別に細工されたパケットを送信することによって、特定のマシンと積極的に対話していることです。 また、オープンポートを発見するNmapは、私たちは潜在的にマシンのオペレーティングシステムを検出し、開いたポート上で実行されているサービスを発見すNmapはhttps://nmap.org/download.htmlhttp://nmap.en.softonic.com/からダウンロードできます。 CLIまたはGUIアプリケーションからNmapを使用できます。インストール後、nmapを使用できるさまざまな方法を確認するには、nmapと入力してEnterキーを押すだけです。図12:Nmapのヘルプ画面
開いているポートとそれに対応するサービスの簡単なチェックはnmap-sS-Pn<IPアドレス>です。 これはステルス発見を試み、マシンを生きているものとして扱います。p>
マシンが実行されているオペレーティングシステムを検出するには、-Oフラグなどを使用できます。Nmapがもっと探索したいツールのように見える場合は、Nmapに関するIrfan Shakeelの記事をご覧ください。
結論
私たちは、侵入テストプロセスの基本、このプロセスにおける情報収集の役割を実証してきましたし、我々はそこに情報を収集するための最も人気のあるツールのいくつかを実証してきました。 これらのツールを使用すると、有益な情報収集のために十分な情報を収集するのに役立つだけでなく、侵入テストプロセス全体の効率と有効性を高める