PHPでブレインフード

ブレインフードといっても[健康ビジネス詐欺](https://www.google.co.jp/search?q=ブレインフード+健康ビジネス詐欺)そのものではありません。
単にブレインフードのメールスパムに使われてるからBrain Foodと名付けられたみたいです。
検索しにくい命名やめてくれ。

以下は[Brain Food botnet gives website operators heartburn](https://www.proofpoint.com/us/threat-insight/post/brain-food-botnet-gives-website-operators-heartburn)の日本語訳です。

# Brain Food botnet gives website operators heartburn

## Overview

Proofpointの研究者は今年、クラックされた数千ものWebサーバ上で動作するボットネットを追跡しています。
このボットネットはメールスパムの送信台として使用され、[偽のダイエット薬や頭をよくする薬](https://blog.cloudmark.com/2017/03/02/diet-pill-spammers-now-pushing-brain-pills/)などを売ろうとすることからBrain Foodと名付けられました。

Brain FoodはPHP製のスクリプトで、過去4ヶ月で5000以上のサイトに感染していることを突き止めました。
そのうち2400以上は直近7日間に活動していたことを示しています。

図1に示すように、被害サイトのうち4割が5つのプラットフォームでホストされています。
我々はBrain FoodについてGo Daddyに通報し、問題解決の方法について議論しました。

図1：Brain Foodに感染したWebサイトのホスト
![01.png](https://qiita-image-store.s3.amazonaws.com/0/26088/d7a41778-3031-1fb1-d334-7d63ba0dd9ce.png)

各Webサイトでは複数のPHPスクリプトが動いている場合があります。
このスクリプトは、WordPressやJoomlaなど様々な種類のCMSに感染します。

Brain Foodは通常、URL短縮サービスからリダイレクトされます。
先週一週間で、このスパムが使用しているリダイレクトURLは7300を超えました。
そのうちの55%がgoo.glで、残りの45%がbit.lyを利用していました。

図2に示すように、2018年4月下旬の2週間を除いて、このパターンは一貫しています。
4月13日にGoogleは未登録ユーザへのgoo.glサービスを終了したので、スパマーはスパムの総量を維持するためにほとんどのリンクをbit.lyに切り替えました。
しかし4月末までに、スパマーはGoogleの制限を回避する方法を見付けたようで、2つの短縮サービスの使用割合は元に戻りました。

図2: Brain Foodのスパムが使ったURL短縮サービス
![02.png](https://qiita-image-store.s3.amazonaws.com/0/26088/62f369d3-c465-5fe5-bc7f-143100fc7329.png)

リンクを踏ませるために送信されるメールは、件名は無く、メール毎に異なる挨拶が含まれるだけの非常に簡素なものです。

図3：スパムメールのサンプル
![03.png](https://qiita-image-store.s3.amazonaws.com/0/26088/c0daf9b3-ddac-6fde-fe28-0310f5dbb71d.png)

最終的なランディングページは現在はダイエット薬を宣伝しています。
以前は、食べると頭が良くなるというサプリメントの宣伝ページへと再度リダイレクトされていました。

ランディングページは大抵はブランドページを模倣したもので、Shark Tankなど人気のあるテレビ番組でその商品が紹介されたと主張しています。
図4は、Entertainment Todayを模倣したランディングページのサンプルのひとつです。

図4：ランディングページのサンプル
![04.png](https://qiita-image-store.s3.amazonaws.com/0/26088/8251df7c-681e-3de8-72f0-2321ca9ffc72.png)

### Analysis

このスクリプトには、研究者や検索エンジンのクローラからの検出を避けるための防御層がいくつかあります。
コードはポリモーフィックで、BASE64で幾重にも難読化されています。
最近マルウェアリポジトリにアップロードされたバージョンは、アンチウィルスソフトで検出ができませんでした。
クローラに対しては正しいページにリダイレクトしたり、5秒待ってから感染サイトへとリダイレクトしたり、待たせた上に何も返さなかったり、UnicefのWebサイトにリダイレクトされたりします。

クラッカーはコマンド&コントロール ( C&C ) サーバを通じて統計を分析し、ボットネットの向き先を新しいランディングページに切り替えたり、特定のURLをブラックリストに登録したりする操作も行えます。
このスクリプトにはクローキングコードも含まれており、たとえばGoogleからは見えないようにすることができます。

```php
	if(strpos($_SERVER['HTTP_USER_AGENT'],'Google') !== false) { 
	    header('HTTP/1.0 404 Not Found'); 
	    exit; 
	} 
```

調査した各サンプルは、2つのC&Cサーバのいずれかを使用していました。
prostodomen1.com ( 91.236.116.14 ) と thptlienson.com ( 145.239.1.13 ) です。
我々が調査を始めたため、スパマーは同じIPアドレスでhostcommets.comとsentacomra.comを使い始めました。
ひとつめのIPアドレスはマン島に登録されているASNですが、これは明らかにダミー会社です。
ふたつめは世界的に有名なホスティングサービスでホストされています。

シェルコマンドをリモートで実行するバックドアもありました。
PHPの`system`コマンドを許可しているWebサーバではシェルコマンドを実行されてしまいます。

## Conclusion

[連邦取引委員会](https://www.ftc.gov/sites/default/files/documents/reports/consumer-fraud-united-states-2011-third-ftc-survey/130419fraudsurvey_0.pdf)によると、偽のダイエット薬は最も一般的なタイプの詐欺商品であり、毎年数億ドルの直接的な被害を出しています。
Brain Foodボットネットは、防御側や検索エンジンが対策を行う前に攻撃側が素早くランディングページやURL短縮サービスを切り替えることで、高度な柔軟性と洗練性を手に入れています。
いつものように、電子メールの優れたスパムフィルタ、およびISPレベルでの保護が、この種の詐欺に対する重要な対策になります。

## Indicators of Compromise (IOCs)

|IOC  |IOC Type  |Description   |
|---|---|---|
| thptlienson.com  | URL  | C&C |
| hostcommets.com  | URL  | C&C |
| sentacomra.com  | URL  | C&C |
| 91.236.116.14   | IP  | C&C |
| 145.239.1.13   | IP  | C&C |


# 感想

具体的なところが何も書いてないから、本当なのかどうかすらわからん。
特にサーバ側、感染をどうやって検出するか、どう対策すればいいか、そもそも何処から感染するのかすら全く不明です。

名指しされているWordPressを見てみると、[リリースノート](https://wordpress.org/news/)は記事執筆時の最新版が2018/05/17更新の4.9.6で、Brain Foodに関する記述はないようです。
[リポジトリ](https://github.com/WordPress/WordPress)も、[CVE](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=WordPress)にもそれっぽいものを見付けることはできませんでした。
本体の脆弱性から感染するわけではないのか？

あと"multiple layers of base64 encoding"で難読化って意味がわからなかった。

Proofpointは[日本法人](https://www.proofpoint.com/jp/about-proofpoint)・[日本語サイト](https://www.proofpoint.com/jp)もありますが、[技術ブログ](https://www.proofpoint.com/jp/threat-insight)は2017年7月から止まっているようで残念。

止まっていると言えば全然関係ないけど[Wireless・のおと](http://www.silex.jp/blog/wireless/)が2017年10月から更新なくてさびしい。