最近、AhnLab SEcurity intelligence Center(ASEC)では JPHP を使用して製作されたマルウェアを発見した。JPHP は Java Virtual Machine(JVM)上で実行される PHP インタプリタであり、PHP コードを Java 環境で使用できるように製作されたものである。PHP コードを Java バイトコードに変換して実行することができるため、Java ライブラリを直接呼び出すことができ、JIT コンパイル方式により PHP よりも速いという特徴を持つ。

[図1] JPHP
今回確認されたマルウェアの最初のファイルは、ZIP ファイル形式で配布されることが確認されている。内部には Java Runtime Environment(JRE)パッケージとライブラリ一覧が存在し、exe ファイルは実行すると「lib\」パスの下層に存在するファイルを引数として javaw.exe を実行する Runner の役割を遂行する。
すなわち、このマルウェアは JRE とともに配布されるため、別途 Java 環境が存在しなくても動作するように構成されている。javaw が実行される commandline は以下の通りである。
| “{Package Path}\jre\bin\javaw.exe” -Dfile.encoding=UTF-8 -classpath “lib\.;lib\..;lib\activation.jar;lib\asm-all.jar;lib\commons-email.jar;lib\dn-php-sdk.jar;lib\gson.jar;lib\jfoenix.jar;lib\jkeymaster.jar;lib\jna.jar;lib\jphp-app-framework.jar;lib\jphp-core.jar;lib\jphp-desktop-ext.jar;lib\jphp-desktop-hotkey-ext.jar;lib\jphp-gui-ext.jar;lib\jphp-gui-jfoenix-ext.jar;lib\jphp-json-ext.jar;lib\jphp-jsoup-ext.jar;lib\jphp-mail-ext.jar;lib\jphp-runtime.jar;lib\jphp-systemtray-ext.jar;lib\jphp-xml-ext.jar;lib\jphp-zend-ext.jar;lib\jphp-zip-ext.jar;lib\jsoup.jar;lib\mail.jar;lib\slf4j-api.jar;lib\slf4j-simple.jar;lib\zt-zip.jar” org.develnext.jphp.ext.javafx.FXLauncher |

[図2] ZIP ファイルを解凍した結果と「lib\」パスの下層に存在するライブラリ
上記の[図2]で赤枠表示した jar パッケージが、不正な振る舞いが存在する JPHP ファイルである。この内部には、PHP をバイトコードに変換した .phb ファイルが存在する。.phb ファイルは一般的な .class ファイルのシグネチャー(0xCA 0xFE ..)とは異なる構造を持っているため、bytecodeviewer では正常に認識することができない。

[図3] bytecodeviewer で開いた phb ファイル
この .phb ファイルを .class ファイルとして認識できるように変換すると、逆コンパイルが可能であり、コード解析が可能となる。解析の結果、さらなるマルウェアをダウンロードするためのダウンローダータイプのマルウェアであることが確認された。以下で、当該マルウェアの C2 および特徴を説明する。

[図4] 最初の C2 通信

[図5] Windows Defender の振る舞いモニタリング機能を無効化
攻撃者が、さらなる C2 を確保するために Telegram を使用することが確認された。Telegram の短縮 URL 形式である「t.me」ドメインを活用しており、接続時に確認できるチャンネルのプロフィールに追加 C2 の IP をアップロードしてある様子がわかる。攻撃者は、当該 URL に接続して「i1il」文字列の間に存在する IP 値を追加の C2 として活用する。
当該 URL で確保する IP は攻撃者が容易に変更できるため、感染 PC を直にコントロールしなくても C2 アドレスを自由に変更することができるようになる。

[図6] 追加 C2 を Web ページから引用

[図7] 追加 C2 を引用するために接続するサイト
さらなるマルウェアをダウンロードして実行する機能が存在する。解析当時、当該アドレスからファイルがダウンロードできず、これ以上の解析は困難だが、当社の解析インフラを通じて確認した結果、このタイプのマルウェアは主に Strrat、Danabot などの情報流出型マルウェアを配布したものと推定される。

[図8] 追加マルウェアのダウンロード
今回の記事では、JPHP で製作されたマルウェアについて説明した。今回の事例で見たように、JPHP のような比較的馴染みの薄い技術もマルウェアの配布に悪用されることがある。攻撃者は新たな方法を模索し続けており、既知の技術だけでなく、予想外の方法を活用する場合もある。したがって、実行ファイルやスクリプトの出どころは慎重に検討する習慣が非常に重要である。
IOC 関連情報
MD5
1b5548083e151b54a63cb933d5cbe274
230c1d520f88a66698d522805bafe883
4a54c8367d6cf067fbad8ce3da50b65e
c2d457714e7079fa6b423156071a3860
d87a34d70a672339d6b8c7b563eb8e7d
追加 IoC は ATIP で提供しています。
IP
49[.]13[.]143[.]126
5[.]75[.]208[.]125
89[.]23[.]96[.]126
Categories: マルウェア