Magento・OpenCartのクレジットカードマルウェアハッキングの削除方法と対策
Magento・OpenCartにおけるクレジットカード乗っ取り(ハイジャック)とは
クレジットカードマルウェア、いわゆる「クレジットカードハイジャック」とは、MagentoやOpenCartで構築されたECサイトに悪意のあるPHP/JavaScriptコードが注入され、ハッカーが顧客のクレジットカード情報を盗み取れるようにする攻撃手法です。この新しい不正利用の手口は、なんと6か月間もの間、検知されないまま放置されていました。Magentoの決済セキュリティを標的とした被害事例も数多く報告されています。
クレジットカードマルウェアハイジャックとは?主な症状
MagentoやOpenCartといったEコマースプラットフォームの普及に伴い、マルウェア感染の被害も増加しています。ハッカーやサイバー犯罪者は、これらCMSのコアファイルを改ざんし、ストアの顧客からクレジットカード情報を窃取しています。この種のハッキングの主な症状は以下の通りです。
- 顧客のクレジットカードが不正取引に使用されている
- ストアでの商品購入時にエラーが発生する
- チェックアウト処理が遅く、途中で止まってしまう
- サイト上に見覚えのないポップアップやメッセージが表示される
- 管理画面へのログインに時間がかかるようになった
以下は、ハッカーによって注入された悪意のあるコードのスクリーンショットです。
顧客がチェックアウトページを開くと、このコードはすべての入力データをエンコードし、ハッカーのサーバーへ送信します。以下は、エンコードされたクレジットカードマルウェアのコードのスクリーンショットです。
決済ゲートウェイハッキングによる影響
この攻撃は非常に標的型であり、主にMagentoおよびOpenCartで運営されるECストアに影響を与えます。マルウェアは以下の機密情報を取得し、ハッカーが管理するサーバーへ送信します。
- クレジットカード(CC)情報
- クレジットカード番号
- セキュリティコード(CVV)
- 有効期限
- Magento管理者のログイン情報がハッカーへ送信される
- ユーザーの個人情報
- アカウントパスワード
- 顧客のIPアドレス
- 請求先氏名
- メールアドレス
- 住所
- 電話番号
- 生年月日
- Magento/OpenCartストアのサーバー情報
Eコマースストアにとって、Webアプリケーションファイアウォール(WAF)は不可欠なセキュリティ対策です。WAFはサイトへのすべてのトラフィックを監視し、正当なリクエストのみをWebサーバーに通過させます。Astraで今すぐECサイトを保護しましょう。
Magento/OpenCartストアのクレジットカードマルウェアハッキングの修復方法
この種のマルウェアは非常に標的型で、ストアごとに手口が異なるため、多くのマルウェアスキャナーでは検出できず、修復作業はやや難易度が高くなります。
ステップ1:改ざんされた可能性のあるコアシステムファイルを確認する
過去に悪意のあるコードが見つかったファイルの一覧をまとめました。サーバーにログインし、以下のファイルが最近変更されていないか確認してください。
Magento 1.9.X
- app/code/core/Mage/XmlConnect/Block/Checkout/Payment/Method/Ccsave.php
- app/code/core/Mage/Customer/controllers/AccountController.php
- app/code/core/Mage/Payment/Model/Method/Cc.php
- app/code/core/Mage/Checkout/Model/Type/Onepage.php
OpenCart 1.5 / 2.0
- catalog/controller/extension/payment/pp_payflow.php
- catalog/controller/extension/payment/pp_pro.php
- catalog/controller/extension/payment/authorizenet_aim.php
- catalog/controller/extension/payment/sagepay_us.php
- catalog/controller/extension/credit_card/sagepay_direct.php
以下は、PHPのcURLを使用して顧客の機密情報を外部へ送信する悪意のあるコードの一部です。
ステップ2:最近変更されたファイルを確認する
SSH経由でWebサーバーにログインし、以下のコマンドを実行して最近変更されたファイルを特定します。
find /path-of-www -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r
このコマンドは、最近変更されたファイルのパスを返します。テキストエディタで開き、不審な箇所がないか確認してください。ハッカーがコアファイルにJavaScriptコードを注入するケースもあります。例えば、https://smartnetworkclick.com/js/analytics.min.js のような外部ホストされたスクリプトなどが挙げられます。
Astraをご利用のお客様には、悪意あるファイルの変更を通知するメールが自動的に届きます。
ステップ3:サーバー上のWebシェルやバックドアファイルを検索する
ハッカーはサーバーへの継続的なアクセスを確保するため、Webシェルやバックドアをアップロードし、後から新たな悪意のあるファイルを設置できるようにしている場合があります。上記と同様にSSH経由でサーバーにログインし、以下のコマンドを実行します。
find /var/www -name "*.php" -exec grep -l "$_FILES\[" {} \;
検索結果に表示された各ファイルを開き、以下のようなコードが含まれていないか確認してください。
クレジットカードハイジャックの予防策と原因の特定方法
- OpenCart/Magentoサイトを最新バージョンに更新する:CMSコアに存在する既知の脆弱性を修正するため
- アップロードファイルをマルウェアスキャンする:悪意のあるシェルファイルがサーバーにアップロードされないようにするため(Astraダッシュボードでこの機能を有効化できます)
- 管理者アカウントのユーザー名とパスワードを変更する:マルウェア駆除後もハッカーがサイトにアクセスできないようにするため
- データベースのパスワードを変更する:ハッカーがデータベースに直接接続できないようにするため
- サーバーログ(アクセスログ・エラーログ)を確認する:見慣れないエラーや意味不明なエラーが見つかる場合があり、ハッキングの時期や侵入元を特定する手がかりになります
- Webサイトファイアウォールで将来の攻撃を防ぐ:Magentoマルウェア感染を防ぐもう一つの有効な手段として、AstraのようなWebサイトファイアウォールの導入があります。当社のセキュリティスイートは、悪意のあるリクエストがサイトに到達する前にブロックすることで、サイトを自動的に保護し、ソフトウェアに仮想パッチを適用します。
-
Magentoカードスキミング攻撃の仕組みと安全な対策方法を徹底解説
Magentoカードスキミングとは、「スキマー」と呼ばれる悪意あるスクリプトをMagentoサイトに注入し、クレジットカードやデビットカードの情報を不正に窃取する攻撃手法です。Magentoでサイトを運営している方にとって、この記事は必読の内容となっています。Magentoカードスキミングに関するセキュリティ問題の全体像を、必要な情報を網羅してわかりやすく解説します。本記事では、まずMagentoカードスキミングの概要と、それがMagentoサイトに与える影響(実証コード付き)について説明します。さらに、自社サイトをこの脅威から守るための具体的かつ実用的な対策もご紹介します。それでは早速見てい
-
Discordマルウェアとは?感染経路と完全な削除方法を徹底解説
多くのユーザーに愛用されているボイスチャットアプリ「Discord」が、深刻な脅威であるRAT(Remote Access Trojans/リモートアクセストロイの木馬)の標的になっています。サイバー犯罪者は主に悪意のあるリンクを通じてこうしたマルウェアを拡散しており、一度デバイスに侵入されると、ハッカーが管理者権限を取得し、あなたの操作を監視したり、データを盗み出したり、さらには意図しない行動を引き起こすことさえ可能になります。最悪の場合、追加のマルウェアを仕込まれ、デバイスがボットネットの一部として他のウイルス拡散に利用される恐れもあります。 脅威の概要 関連情報 名称: