Shikata Ga Nai

Private? There is no such things.

msfconsoleでホストとサービスの確認についてかいてみた

Hello there, ('ω')ノ

 

追加されたすべてのホストのリストは、hostsコマンドで表示できて。

普通にOSコマンドも実行できて。

 

f:id:ThisIsOne:20200528151247p:plain


新しいホストを追加するに下記のコマンドで。

 hosts -a <IP>

 

削除するには、下記のコマンドで。

 hosts -d <IP>

 

f:id:ThisIsOne:20200528151355p:plain

 

また、servicesコマンドを使用すると。

Metasploitに追加されたホストで利用可能なサービスのリストを表示できて。


下記のコマンドで、単一のホストのサービスのリストを表示できて。

 services <IP>

 

f:id:ThisIsOne:20200528151503p:plain

 

さらには、下記コマンドでサービスを追加することもできて。

 services -a <IP> -p <port number> 。

 

f:id:ThisIsOne:20200528151044p:plain

 

Best regards, (^^ゞ

msfconsoleの基本的な使用方法についてかいてみた

Hello there, ('ω')ノ

 

msfconsoleをコマンドで起動すると、他にもDBのサービス開始等の準備が必要で。

 

f:id:ThisIsOne:20200528074538p:plain

 

面倒だったりもするので、Kali Linuxのアプリケーションメニューから。

 

f:id:ThisIsOne:20200528110533p:plain

 

データベースへの接続を確認すると正常に接続されていたりと。

また、プラグインファイルのロードは下記のコマンドで。

 load <plugin file>

 

f:id:ThisIsOne:20200528122505p:plain

 

プラグインが正常にロードされたらhelpコマンドを実行して。

プラグインでサポートされているすべてのコマンドを確認できて。

 

f:id:ThisIsOne:20200528122341p:plain

 

プラグインファイルは、下記のディレクトリにコピーしてloadすることで実行できて。

 <MSF_INSTALL_DIR>/plugins/

 

f:id:ThisIsOne:20200528123531p:plain

 

また、Metasploitでの検索は非常に簡単で。

searchコマンドで文字列を検索すると、ヒットするモジュールが一覧表示されて。

 

f:id:ThisIsOne:20200528121452p:plain

 

さらに検索では、モジュールタイプについても検索することもできて。

下記の入力でエクスプロイトとCVEを定義することができて。

 search windows type:exploit cve:2018

 

f:id:ThisIsOne:20200528121637p:plain

 

Best regards, (^^ゞ

WindowsにMetasploitをインストールしてみた

Hello there, ('ω')ノ

 

これまでは、Kali LinuxでMetasploitを使用していたのですが。

どうやらWindowsにもインストール可能ということで、下記からダウンロードして。

 https://github.com/rapid7/metasploit-framework/wiki/Nightly-Installers

 

f:id:ThisIsOne:20200527111347p:plain

 

インストールが終了したらmsfconsoleのバイナリを確認して。

 

f:id:ThisIsOne:20200527114300p:plain

 

パスを設定して実行すると。

なにやらRubyに関するエラーが。

 

f:id:ThisIsOne:20200527125428p:plain

 

というわけで、下記サイトよりRubyのインストーラをダウンロードして。

 https://rubyinstaller.org/downloads/

 

f:id:ThisIsOne:20200527125223p:plain

 

インストール後に再度、msfconsoleを実行すると起動はしたものの。

少しだけきになる警告が。

機能の一部が使えないようで、ログを見ても意味不明でして。

unix系コマンドなので使えなくても当たり前のことだろうかと。

 

f:id:ThisIsOne:20200527130955p:plain

 

Best regards, (^^ゞ

Metasploit Frameworkの用語について列挙してみた

Hello there, ('ω')ノ

 

Metasploit Framework(MSF)を使用するには、用語を完全に理解する必要があって。

 

Exploits:

 Metasploitが起動すると利用可能なエクスプロイトの数が表示され。

 エクスプロイトは、脆弱性を利用して目的の出力を提供するコードの一部で。

 

Payload:

 エクスプロイトを介してターゲットシステムやアプリに配信されるコードで。

 ペイロードは、Singles、Stagers、Stagesの3つの主なタイプに分類でき。

 

 Singles:

  これらのペイロードはスタンドアロンで。

  notepadでファイルを開いたりユーザを追加したりと。

  単純なタスクを実行するために使用されて。

 

 Stagers:

  2つのシステム間の接続を設定して。

  次に下記のStagesが被害者のマシンにダウンロードされて。

 

 Stages:

  ペイロードのコンポーネントでして。

  下記のような機能を提供して。

   ・コマンドシェルへのアクセス

   ・実行可能ファイルを実行する機能

   ・ファイルのアップロードとダウンロード

                     など

  この機能の1つの例としては、Meterpreterで。

 

他のタイプのペイロードについては、以下のとおりで。

 

Inline (non-staged):

 特定のタスクを実行するための完全なシェルコードを含むエクスプロイトコード。

 

Staged:

 ステージペイロードと共に機能し、特定のタスクを実行して。

 ステージャは、攻撃者と被害者の間に通信チャネルを確立して。

 リモートホストで実行されるステージングされたペイロードを送信して。

 

Meterpreter:

 Meta Interpreterの略で、DLLインジェクションを通じて動作して。

 メモリに読み込まれ、ディスクにトレースを残すことはなく。

 

PassiveX:

 ActiveXコントロールで、Internet Explorerの非表示のインスタンスを作成して。

 HTTPリクエストとレスポンスを介して攻撃者と通信して。

 

NoNX:

 DEP保護をバイパスするために使用され。

 

Ord:

 Windowsのすべてのバージョンで機能する小さなサイズのペイロードで。

 ただ、不安定でws2_32.dllを利用して悪用プロセスに読み込まれ。

 

IPv6:

 IPv6ホストで動作するように構築されていて。


Reflective DLL Injection:

 Stephen Fewerにより作成された手法で。

 ホストのハードドライブに触れずに、

 メモリ内で実行されている侵害されたホストプロセスに、

 ステージングされたペイロードが注入され。

 

Auxiliary(補助):

 MSFには、さまざまなタスクを実行するための補助モジュールが装備されていて。

 これらのモジュールは、何も利用しない小さなツールと考えられ。

 代わりに、それらは搾取プロセスで助けてくれて。

 

Encoders:

 情報(この場合はアセンブリ命令)を別の形式に変換して。

 実行すると、同じ結果が得られます。

 エンコーダは、ターゲットシステム/アプリに配信されるときに。

 ペイロードが検出されないようにするために使用されて。

 

 IDS / IPSは署名ベースなのでペイロードをエンコードすると署名全体が変更され。

 セキュリティメカニズムが簡単にバイパスされて。

 

 最もよく知られているエンコーダは、x86 / shikata_ga_naiで。

 これはポリモーフィックなXOR加算フィードバックエンコーダで。

 使用されるたびに異なる出力を生成して。

 反復テスト時にはうまく機能しない可能性があるので。

 常に最初にテストする必要があって。

 

NOP generators:

 一連のランダムバイトを生成するために使用され。

 予測可能なパターンがないことを除いて、従来のNOPスレッドと同等で。

 NOPスレッドは、標準IDSやIPS NOPスレッドシグネチャ

 (NOPスレッド-\ x90 \ x90 \ x90)をバイパスするためにも使用できて。

 

Project:

 侵入テスト中にデータと資格情報を格納するために使用されるコンテナで。

 Metasploit Proバージョンでより一般的に使用され。

 

Workspace:

 ワークスペースはプロジェクトと同じで、Metasploit Frameworkでのみ使用され。

 

Task:

 Metasploitで実行するすべてのアクション。

 

Listener:

 悪用されたターゲットからの着信接続を待機して。

 接続されたターゲットシェルを管理して。

 

Shell:

 インターフェイスなどのコンソールで、リモートターゲットへのアクセスを可能で。

 

Meterpreter:

 公式ウェブサイトでは、Meterpreterは下記のように定義されていて。

 『メモリ内DLLインジェクションステージャを使用して、

  実行時にネットワーク上で拡張される高度で動的に拡張可能なペイロード。

  ステージャーソケットを介して通信し、

  包括的なクライアント側のRuby APIを提供して。』

Best regards, (^^ゞ

ペネトレーションテスト実行基準(PTES)についてかいてみた

Hello there, ('ω')ノ

 

ペネトレーションテスト実行基準(PTES)は、最も広く使用されていて。

ペンテストのほとんどすべてをカバーしていて。

このPTESは、7つのフェーズに分かれていて。

 

■エンゲージメント前の相互作用

 エンゲージメント前の対話は、アクティビティの開始前に実行され。

 たとえば、アクティビティのスコープの定義で。

 ネットワークIP、Webアプリケーション、

 ワイヤレスネットワーク等のマッピングが含まれて。

 スコーピングが完了すると、

 両方のベンダ間で通信ラインが確立されインシデントレポートプロセスが完了して。

 

■情報収集

 インテリジェンス収集はターゲットに関する多くの情報を収集するために使用され。

 ペンテストの最も重要な部分は情報が多いほど、

 活動を実行するために使用できる攻撃ベクトルが増えて。

 

■脅威モデリング

 潜在的な脅威を特定し列挙して緩和策に優先順位を付けることができて。

 脅威のモデリングは、収集される情報の量と質に依存して。

 この情報からアクティビティを段階に分解し自動ツールと論理攻撃から実行でき。

 下記は、脅威モデルのマインドマップで。

  http://www.pentest-standard.org/index.php/Threat_Modelling

 

f:id:ThisIsOne:20200526183400p:plain

 

■脆弱性分析

 脆弱性分析は、攻撃者が使用できる欠陥を発見するプロセスで。

 開いているポートやサービスの設定ミスからSQLインジェクションに至ったりと。

 Nmap、Acunetix、Burp Suiteなど脆弱性分析の実行に役立つツールが利用でき。

 

■搾取

 悪用とは、脆弱性の評価に基づいて保護メカニズムを回避することで、

 システムにアクセスするプロセスで。

 エクスプロイトの公開やゼロデイだったりと。

 

■搾取後

 悪用後は妥協の重要性を判断し、将来の使用のためにアクセスを維持する段階で。

 クライアントを保護し、自分自身を保護する

 (アクティビティの要件に従ってトラックをカバーする)エンゲージメントの

 ルールに従う必要があって。

 

■報告

 パッチ適用はレポートに表示される詳細に完全に依存するため重要なフェーズで。

 レポートには下記の3つの要素が含まれている必要があって。

  ・バグの重要性
  ・バグを再現するために必要な手順
  ・パッチの提案

 

Best regards, (^^ゞ