335.2 ペネトレーションテスト
335: 脅威と脆弱性評価
335.2 ペネトレーションテスト
LPIC303の試験範囲である主題331~335まであるうちの「335: 脅威と脆弱性評価」から「335.2 ペネトレーションテスト」についてのまとめ
総重量:3
説明:
ペネトレーションテスト(侵入を試みるテスト)についての理解していて、一般的に利用されているペネトレーションテストツールの理解もしている。さらに、nmapを利用してネットワークのセキュリティ計測を効果的に行うことができる。主要な知識範囲:
ペネトレーションテストとエシカルハッキングの概念の理解。
ペネトレーションテストの法的な影響の理解
アクティブ・受領的な情報収集・列挙・アクセス権取得・権限昇格・アクセスメンテナンス・カバートラック(侵入後の痕跡を隠す・消すこと)などの、ペネトレーションテストのフェーズを理解する。
Metasploitのコンポーネントと構造を理解する。これには、MetasploitモジュールタイプとMetasploitが様々なセキュリティツールをどのように統合しているかの理解も含まれる。
nmapをネットワークとホストスキャンに利用する。これには、様々なスキャンの方法・バージョンスキャン・オペレーティングシステムの認識も含まれる。
Nmap Scripting Engineの概念の理解と、存在するスクリプトの実行。
Kali Linux・Armitage・Social Engineer Toolkit(SET)の知識。
重要なファイル、用語、ユーティリティ:
nmap
ペネトレーションテストとエシカルハッキング
ペネトレーションテスト
サイバー攻撃の手法を使って、対象となる企業や組織に侵入を試みることでセキュリティレベルの評価を行うこと。
エシカルハッキング
倫理的なハッキング。
組織やシステムの脆弱性を法律の範囲内で調査活動する。
エシカルハッキングを行う人を「エシカルハッカー」と呼ぶ。
日本では「ホワイトハッカー」として知られる。
ペネトレーションテストの法的な影響
<・・・調査中・・・>
ペネトレーションテストはサイバー攻撃の手法を使うことから、許可なく実行すると「不正アクセス行為の禁止等に関する法律(不正アクセス禁止法)」に抵触する恐れがある
ペネトレーションテストのフェーズ
フェーズ
アクティブな情報収集/パッシブな情報収集
列挙
アクセス権取得
侵入できるかを調査権限昇格
権限昇格などによって乗っ取りが可能か調査するアクセスの維持
いつでもアクセスできる状況がないか調査カバートラック
侵入後の痕跡を隠す・消すことレポート作成
分析結果を報告をする
参考
Metasploitのコンポーネントと構造
Metasploit
msfconsole
Moduleコマンド
search
モジュールを検索するuse
使うモジュールを指定するshow
モジュールを使用するにあたっての必要なパラメータを確認set
モジュールにパラメーターを指定run
実行
Metasploitモジュール
Auxiliary modules
直接攻撃をしない補助ツール
管理、分析、収集、サービス拒否、スキャン、各種プロトコルのサポートをするEncoder modules
取得したデータをエンコードするEvasion modules
ウイルス対策ツールなどを回避するExploit modules
脆弱性を利用するために使用するNop modules
ノーオペレーション命令を生成する
スタックバッファオーバーフローと併用されるPayloads modules
侵入が成功した後に実行される任意のコード (シェルコード) をカプセル化したものPost modules
侵入が成功した後のデータの収集、収集、列挙に使う
参考
Home | Metasploit Documentation Penetration Testing Software, Pen Testing Security
【悪用厳禁!】Metasploitでサーバを乗っ取る【ハッキング講座】【ハッカー】【エンジニア】【linux】【情報処理安全確保支援士】 - YouTube
nmapをネットワークとホストスキャンに利用
インストール
RockyLinux 9
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# dnf install nmap
[root@lpic303-rocky34 ~]#
Ubuntu 22.04
root@lpic303-ubuntu35:~#
root@lpic303-ubuntu35:~# apt install nmap
root@lpic303-ubuntu35:~#
ターゲット
-iL <ファイル名>
対象をファイルから取得しスキャンする-iR <ホスト数>
ランダムに選択する--exclude <host1[,host2][,host3],...>
除外するホストを指定--excludefile <exclude_file>
除外するファイルを指定
ホスト検出
-sn
Ping スキャン-Pn
ホスト検出-sO
IPスキャン
スキャンタイプ
-sS
TCP SYNスキャン
ステルススキャン-sT
TCPコネクトスキャン-sU
UDPスキャン-sF
TCP FINスキャン
FINフラグを使ったスキャン-sX
クリスマスツリースキャン
TCP FIN, PSH, URG フラグを使ったスキャン-sN
NULLスキャン
TCPフラグをセットしないスキャン-sA
TCP ACKスキャン
ポート指定、スキャン順序
-p <ポート範囲>
ポート範囲を指定--exclude-ports <ポート範囲>
除外するポート範囲を指定-F
高速モード、デフォルトのスキャンよりも少ないポートをスキャン-r
ポートを順番にスキャン
サービス検出
-sV
開いているポートを調査してサービス/バージョン情報を確認する
スクリプトスキャン
-sC
--script=default と同等--script=<Luaスクリプト>
カンマ区切りでスクリプト、ディレクトリ、カテゴリを指定
OS検出
-O
OS検出を有効にする
出力
-oN <ファイル名>
ファイル出力-oX <ファイル名>
XML 形式で出力-oG <ファイル名>
Grepable 形式で出力-v
詳細出力-d, -dd
デバッグレベルを上げる--reason
ポートの状態を表示--open
開いているポートのみ表示
その他
-6
IPv6スキャン-A
OS検出、バージョン検出、スクリプトスキャン、トレースルートを有効にする
参考
Nmap Scripting Engine
スクリプトのディレクトリ
/usr/share/nmap/scripts
スクリプトのカテゴリ
auth
broadcast
brute
default
discovery
dos
exploit
external
fuzzer
intrusive
malware
safe
version
vuln
実行例
自分自身(localhost)に対して TCP SYN スキャン(-sS)を実行する。
ssh接続できるようにしているので "22/tcp open ssh" と出る。
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# nmap -sS localhost
Starting Nmap 7.92 ( https://nmap.org ) at 2024-02-19 21:04 JST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000030s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 999 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
[root@lpic303-rocky34 ~]#
自分自身(localhost)に対して "default" カテゴリを使ってスキャンを実行する。ssh接続できるようにしているので "22/tcp open ssh" と合わせて追加情報として "ssh-hostkey" が表示される。
[root@lpic303-rocky34 ~]#
[root@lpic303-rocky34 ~]# nmap --script=default localhost
Starting Nmap 7.92 ( https://nmap.org ) at 2024-02-19 21:00 JST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000020s latency).
Other addresses for localhost (not scanned): ::1
Not shown: 999 closed tcp ports (reset)
PORT STATE SERVICE
22/tcp open ssh
| ssh-hostkey:
| 256 bc:b0:c6:aa:c8:91:05:33:6d:b3:1b:74:4f:0b:9f:31 (ECDSA)
|_ 256 f6:97:3d:60:ba:4b:54:2f:a7:9c:0a:ab:67:19:47:a3 (ED25519)
Nmap done: 1 IP address (1 host up) scanned in 1.33 seconds
[root@lpic303-rocky34 ~]#
参考
Kali Linux・Armitage・Social Engineer Toolkit(SET)の知識
Kali Linux
┌──(root㉿kali)-[~]
└─# cat /etc/os-release
PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
VERSION_ID="2023.4"
VERSION="2023.4"
VERSION_CODENAME=kali-rolling
ID=kali
ID_LIKE=debian
HOME_URL="https://www.kali.org/"
SUPPORT_URL="https://forums.kali.org/"
BUG_REPORT_URL="https://bugs.kali.org/"
ANSI_COLOR="1;31"
┌──(root㉿kali)-[~]
└─#
Armitage
┌──(root㉿kali)-[~]
└─# apt install armitage
┌──(root㉿kali)-[~]
└─#
Social Engineer Toolkit(SET)
┌──(root㉿kali)-[~]
└─# apt install set
┌──(root㉿kali)-[~]
└─#