Penetration Testingコースの補足資料

Nmapのタイミングテンプレート

-sUを使用したUDPスキャンはかなりの時間がかかるため、テンプレートを使用した方がよい。以下、テンプレート毎の簡単なまとめ。

T0 – Paranoid(偏執的)

IDS回避。何千ものマシンやポートをスキャンするには非常に長い時間がかかる。 そのように長いスキャンを行う場合は、あらかじめ用意された-T0 や -T1の値に頼るよりも、必要に応じて的確なタイミング値を設定するほうが好ましい

(プローブ間隔)
スキャンを連続的に実行して一度に1つのポートしかスキャンされないようにすることと、各プローブを送信する間に5分間待機する

(並行処理)
おこなわない。

T1 – Sneaky(卑怯者)

IDS回避。何千ものマシンやポートをスキャンするには非常に長い時間がかかる。 そのように長いスキャンを行う場合は、あらかじめ用意された-T0 や -T1の値に頼るよりも、必要に応じて的確なタイミング値を設定するほうが好ましい。

(プローブ間隔)
15秒


(並行処理)
おこなわない。

T2 – Polite(礼儀正しい)

テンプレート T2 名称 polite 直訳 礼儀正しい 並行処理 × (特徴)
スキャン処理速度を落とし、帯域幅とターゲットマシンのリソースの使用量を少なくするが、デフォルトスキャンの10倍の時間がかかる。T3でもマシンのクラッシュや帯域幅が問題になることはめったにないので使わなくていい。

(プローブ間隔)
0.4秒


(並行処理)
おこなわない。

T3 – Normal(普通)

デフォルトなので、-T3としても特に何もしない

(並行処理)
おこなう。

T4 – Aggressive(攻撃的)

適度に高速で信頼性の高いネットワークを使用していることを想定して、スキャン速度を上げる。TCPポートに対するスキャン処理の動的な遅延時間が10msを越えないようにすることができる。

(並行処理)
おこなう。

--max-rtt-timeout 1250ms --min-rtt-timeout 100ms --initial-rtt-timeout 500ms --max-retries 6

T5 – Insanse(非常識)

非常に高速なネットワークを使用しているか、速度と引き換えに精度の一部を犠牲にしても構わない場合を想定したモード。TCPポートに対するスキャン処理の動的な遅延時間が5msに制限される。

(並行処理)
おこなう。

--max-rtt-timeout 300ms --min-rtt-timeout 50ms --initial-rtt-timeout 250ms --max-retries 2 --host-timeout 15m --script-timeout 10m --max-scan-delay

Nictoのメッセージの説明

The X-XSS-Protection header is not defined.

現在はこのヘッダは非推奨とされており、モダンなブラウザではCSP(Content Security Policy)によるより効果的なXSS保護が採用されています。

X-XSS-Protection は、クロスサイトスクリプティング(XSS)攻撃から保護するために、以前のウェブブラウザで使用されていたHTTPレスポンスヘッダの一つです。このヘッダは、ブラウザにXSS攻撃を検出したときの振る舞いを指示します。

X-XSS-Protection ヘッダが定義されていないということは、そのウェブサイトが古いタイプのXSS保護に依存していないか、もしくは全く保護を提供していない可能性があります。セキュリティのベストプラクティスとしては、CSPを適切に設定してXSS攻撃からの保護を強化することが推奨されています。

(対策)

セCSPの設定を検討し、ウェブサイトのセキュリティを強化することを検討すべきです。また、X-XSS-Protection ヘッダが必要な古いブラウザをサポートする必要がある場合は、適切な値を設定しておくことが有効です。ただし、これは一時的な対策であり、最終的にはCSPの実装が望ましいです。

使用しているwebサーバー側で、CSPヘッダーを設定する。

Nginxの場合

server {
    add_header Content-Security-Policy "default-src 'self'; script-src 'self' https://trustedscripts.example.com; object-src 'none';" always;
}

The X-Content-Type-Options header is not set.

X-Content-Type-Options: nosniff という形でウェブサーバーから提供されるセキュリティ関連のヘッダーです。このヘッダーを設定することにより、ブラウザはサーバーから送信されるMIMEタイプを信頼し、MIMEタイプのスニッフィング(ブラウザがコンテンツの種類を推測するプロセス)を行わないように指示されます。これにより、次のようなセキュリティリスクを軽減できます:

  • ユーザーがアップロードしたファイルが、誤って実行可能なスクリプトとして解釈されるのを防ぎます。
  • サーバーが誤って指定したMIMEタイプによるセキュリティリスクを排除します。
  • クロスサイトスクリプティング(XSS)攻撃の一種であるMIMEタイプの混乱攻撃を防ぎます。
(対策)

X-Content-Type-Options: nosniff ヘッダーは、ウェブサーバーの設定を通じて追加できます。たとえば、ApacheやNginxの設定ファイルで以下のように設定します。

Nginxの場合

server {
    add_header X-Content-Type-Options "nosniff";
}

Metasploitの構成

metasploitは、rubyで書かれていて、以下のフォルダを見ることにより、モジュールの構成やコードを見ることができます。

/usr/share/metasploit-framewwork/modulews
  |- auxiliary
  |- encoders
  |- evasion
  |- exploits
  |- nops
  |- payloads
  |- post

以下は各モジュールの説明です。

フォルダ名モジュール名説明
auxiliaryauxiliary脆弱性スキャんやフィンガープリンティングなど、攻撃ではなくサポート的な役割のモジュール。
encodersencoderペイロードを難読化して、侵入検知システムやウイルス対策ソフトの検出を避けるために使う。
evasionevasionIDS/IPS、ファイアウォールなどのセキュリティ製品を回避するためのモジュール。
exploitsexploitセキュリティの脆弱性を利用して、ターゲットシステムにアクセスするためのコード。
nopsnopペイロードのサイズを調整する際に使用する「何もしない」命令のシーケンス。
payloadspayloadExploitによって実行されるコード。例えばシェルやマルウェアなど、攻撃者が望む動作をする。
postpostシステム侵入後(権限昇格、永続性の確立など)に使うモジュール。

metasploitは、多くのモジュールが存在するため、searchコマンドを使用して、「今何がやりたいのか?」によって、必要とするモジュールを絞り込み、効率よく検索することが重要です。

searchコマンドのヘルプは、search -h で、いつでも確認が出来ます。

msf6 > search -h
Usage: search [<options>] [<keywords>:<value>]

OPTIONS:

    -h, --help                      Help banner
    -I, --ignore                    Ignore the command if the only match has the same name as the search
    -o, --output <filename>         Send output to a file in csv format
    -r, --sort-descending <column>  Reverse the order of search results to descending order
    -S, --filter <filter>           Regex pattern used to filter search results
    -s, --sort-ascending <column>   Sort search results by the specified column in ascending order
    -u, --use                       Use module if there is one result

Keywords:
  aka              :  Modules with a matching AKA (also-known-as) name
  author           :  Modules written by this author
  arch             :  Modules affecting this architecture
  bid              :  Modules with a matching Bugtraq ID
  cve              :  Modules with a matching CVE ID
  edb              :  Modules with a matching Exploit-DB ID
  check            :  Modules that support the 'check' method
  date             :  Modules with a matching disclosure date
  description      :  Modules with a matching description
  fullname         :  Modules with a matching full name
  mod_time         :  Modules with a matching modification date
  name             :  Modules with a matching descriptive name
  path             :  Modules with a matching path
  platform         :  Modules affecting this platform
  port             :  Modules with a matching port
  rank             :  Modules with a matching rank (Can be descriptive (ex: 'good') or numeric with comparison operators (ex: 'gte400'))
  ref              :  Modules with a matching ref
  reference        :  Modules with a matching reference
  target           :  Modules affecting this target
  type             :  Modules of a specific type (exploit, payload, auxiliary, encoder, evasion, post, or nop)

よく使うもの

Keyword説明使用例
archCPUアーキティクチャでの検索search arch:x86 [検索文字列]
cveCVE番号での検索search cve:2021-34527 [検索文字列]
platformOSでの検索search platform:windows [検索文字列]
rankモジュールの信頼性ランクでの検索(excellent, great, goog, normal・・・)search rank:exellent [検索文字列]
typeモジュールタイプでの検索(上記テーブルのモジュール名)search type:exploit [検索文字列]

リバースシェル図解

コメントを残す

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

前の記事

UbuntuにiCloudを同期

次の記事

[THM][Note] Windows Internals