isoからPupy

ほぼこもセキュリティニュース By Terilogy Worx

Pupyという実装があります。
Pupyはクロスプラットフォームの多機能RATです。
これそのものは何年も前から公開されているものでいまでは多くの機能が実現されています。
このPupyを持ち込んでしまう活動が観測されています。

  • 被害者候補がTwitterを閲覧する
    Twitterの記事から始まります。

     

  • 魅力的なisoファイルを入手する
    中身を見たくなるようなファイル名が付けられたisoファイルの形式になっています。
    isoで配布される脅威が増えてきていますがこの活動もisoを選択しています。
    観測されている例ではファイル名は「recent inventory & our specialties.iso」というものになっています。

     

  • isoのなかのLNKファイルを開く
    isoのなかにはisoファイルと同名のLNKファイルが収容されています。
    前出のisoの場合には「recent inventory & our specialties.lnk」です。
    LNKファイルはいわゆるショートカットファイルで、これそのものは実行ファイルそのものではありませんが、このファイルのプロパティに設定された内容がファイルを開いた際に実行されます。
    LNKファイルはWindows環境で利用されます。
    この脅威はWindows環境がターゲットとなっています。

     

  • LNKはWerFault.exeを実行する
    WerFault.exeはMicrosoftの提供する通常のツールです。
    通常はWindowsで発生したサービスやアプリケーションのエラー情報を開発会社であるMicrosoftへ報告する実行ファイルです。

     

  • WerFault.exeはDLLを読み込む
    WerFault.exeは実行時にDLLを読み込みます。
    通常はWindowsの標準的なPATHに保存されているものが読み込まれるのですが、このケースではisoに一緒に収容されているfaultrep.dllが読み込まれます。
    もとのfaultrep.dllは「Windows User Mode Crash Reporting DLL」と説明される内容が含まれたDLLです。
    しかしfaultrep.dllの悪意ある亜種が多く作成されています。
    この脅威もその1つの例となっています。

     

  • DLLがPupyを連れてくる
    DLLはローダーとしての動作を実行します。
    通常とは内容の異なるfaultrep.dllは実行されるとメモリにPupyを展開します。
    直接的な取得によって動作するのではなく暗号化されたデータを取得し、それを復号化して展開するような動作を行います。
    データはRC4で暗号化されています。

     

  • Pupyが活動する
    いよいよPupyの動作が始まります。
    リモートアクセストロイですので、攻撃者はいろいろな活動を展開することができます。
    Pupyは主にPythonで書かれていて、すべてメモリ上で実行されるように実装され、動作上ファイルを使用する必要がない構造になっています。
    リフレクティブ インジェクションを使用して実行中の他のプロセスに注入して動作することができます。
    Pupyはファイルを使用することなく、リモートのPythonコードやPythonパッケージやPython C拡張機能をメモリに読み込み実行できます。

isoからのLNKで、WerFault.exeからのfaultrep.dllで、そこからPupy RATという流れです。
出所の確かでないものを触ると面倒なことになりそうです。

参考記事(外部リンク):Pupy RAT hiding under WerFault’s cover
labs.k7computing.com/index.php/pupy-rat-hiding-under-werfaults-cover/