paint-brush
RATミュータントがPythonでデータを盗み、検出を回避する方法@hernanortiz
3,755 測定値
3,755 測定値

RATミュータントがPythonでデータを盗み、検出を回避する方法

Hernán Ortiz7m2023/02/02
Read on Terminal Reader

長すぎる; 読むには

悪意のある Python パッケージがセキュリティ研究者によって毎日発見されていますが、RAT ミュータントと呼ばれる新しいタイプのマルウェアが注目を集めています。彼らは時間の経過とともに変化し、適応して、より回避的で危険になりました.暗号通貨のウォレットと個人データを盗み、マウスとキーボードをリモートで制御し、検出を回避するように進化する方法のストーリーを次に示します。
featured image - RATミュータントがPythonでデータを盗み、検出を回避する方法
Hernán Ortiz HackerNoon profile picture



「賢い忍者は、自分が完全に理解していない敵を探しません。」 - ティーンエイジ ミュータント ニンジャ タートルズのスプリンター


サイエンス フィクションに情熱を傾けるテクニカル ライターとして、Sonatype での仕事で最もエキサイティングな部分の 1 つは、セキュリティ リサーチ チームと協力する機会があるときです。


見つけて以来 先月の一連の Python パッケージこれは、私たちが RAT ミュータント (リモート アクセス型トロイの木馬や情報窃盗プログラムの機能を利用する新しいマルウェア) と呼んでいるものに対応しています。


これは珍しいことではありません。彼らは、オープンソース レジストリから何百もの疑わしいパッケージを常に評価して、本当に悪意があるかどうかを判断しています。この手順の中で、彼らはパッケージ間のおなじみのパターンを特定し、場合によっては、強い類似性を認識すると、その背後にある攻撃者/キャンペーンを追跡するためにさらに調査を行います.


2022 年の最後の週から 2023 年の初めまでの間に、当社の AI システムは、 easytimestamp pyrologin style.py discord-dev discorder およびpythonstylesを含む、PyPI レジストリにアップロードされた疑わしいパッケージにフラグを立てました。当社のセキュリティ研究者がそれらを調べたところ、それらが実際に悪意のあるものであることを確認しました。さらに分析した結果、これらのパッケージには、Python マルウェアではあまり見られない一連の機能が追加されていることがわかりました。


悪意のある攻撃者はsetup[.]pyファイルにペイロードを隠しているため、開発者は単純な pip インストールを使用するだけで感染します。この場合、攻撃者は ZIP ファイルをダウンロードしてライブラリをインストールする PowerShell スクリプトをうっかり起動してしまい、攻撃者は被害者のマウスやキーボードを制御したり、スクリーンショットを撮ったり、隠しリモート接続を作成したりできるようになります。さらに、これらのパッケージは、パスワード、Cookie、暗号通貨ウォレット データなどの機密情報を盗み出し、さらにはリモート アクセス用のツールをインストールしようとします。私たちの調査結果は、 Phylumのテクニカルレポートまったく同じパッケージの。


それにもかかわらず、セキュリティ研究者のカルロス フェルナンデスは、忘れられない既視感を抱いていました。パッケージを公開してから 1 週間、このマルウェアの以前のバージョンを見た記憶が彼の脳裏をよぎりました。脅威アクターは時間の経過とともにマルウェアを進化させてきた可能性がありますが、それを確認する必要があったため、私は OSINT 帽子をかぶり、彼の直感に真実があるかどうかを確認できるようにしました。

起源の話

データベースを振り返ると、2022 年 9 月 25 日にpygradientというパッケージが PyPI リポジトリにアップロードされました。私たちの AI は疑わしいとフラグを立て、セキュリティ リサーチャーは、これにマルウェアが含まれていること、およびpystyleと呼ばれる別のパッケージのソースがバンドルされていることを確認しました。両方のライブラリはによって作成されましたビリーザゴート356 、別名 BillyTheGoat、別名 BillyV3 (loTus04 および BlueRed からの寄稿による)。このフランス出身の著者 (少なくとも、GitHub での彼の場所と、彼の Discord チャネルで話されている言語から、それが示唆されます) は、背後にいる人物としてクレジットされています。ハイペリオン最近アップロードされたマルウェアでよく見られる Python 難読化ツールであり、 W4SP スティーラーは、7 月から活動を続けている情報窃取型マルウェアです。継続的なサプライ チェーン攻撃レジストリを開きます。


W4SP スティーラーは、永続性 (ユーザーが PC を再起動するたびに再アクティブ化されます)、難読化 (完全に検出できないことを作成者は約束しています)、および画像ファイル内のポリモーフィックで高度に難読化されたペイロードを隠すステガノグラフィー技術を誇っています。マルウェアは、ハードコーディングされた Discord Webhook アドレスを介して、被害者のすべての Discord アカウント、クレジット カード、パスワード、および暗号ウォレットを攻撃者に送り返します。このマルウェアに興味を持った悪意のある人物は、約 20 米ドルを暗号通貨で支払って購入しました。



画像をデコードすると、隠れていた base64 で難読化された Python コードが明らかになります。



元々、 pystyleには悪意のある性質はありませんでした。つまり、可読性とユーザー エクスペリエンスを向上させるために、コンソール出力のスタイルと色を変更する無害なパッケージです。しかし、Phylum の調査によると、このマルウェアが人気を博すと (このパッケージは PyPI でまだアクティブであり、毎月 40,000 を超えるダウンロードが蓄積されています)、2 回のリリースで W4SP マルウェアを追加することを決定しました。


pystyleのようなオープンソース パッケージは、数か月間スリーパー エージェントとして機能し、その後、悪意のある目的で独自の作成者によってアクティブ化されます。彼らの人気のあるパッケージは、私たちのようなセキュリティ研究者によって発見され、悪意のあるものとして報告され、永久に削除される可能性があるため、危険な動きです.そのため、無害なライブラリのソース コードを含める代わりに、新しいパッケージを作成し、ある種の悪意のあるペイロードを追加して、新しい名前 (一般的で無害に聞こえ、無害に見えるもの) でアップロードすることがよくあります。 pygradientなどの名前。


Carlos の詳細を調べたところ、このプロト RAT ミュータント マルウェアには 12 月バージョンの機能の一部が欠けていることがわかりました。PowerShell スクリプトを起動し、機密データを盗み出しましたが、base64 でエンコードされたペイロードやホワイトリストを使用していませんでした。 txt ファイルを作成して自己感染を防ぎます。ある意味では、より穏やかで洗練されていない亜種でした。


しかしその後、11 月初旬にアップロードされたpaintpydevicespoofdevicespooferなどのパッケージを調査し、深く掘り下げた結果、マルウェアが本当に進化していることを確認しました。

マルウェアを追う模倣者

11 月以降、BillyTheGoat は GitHub で活動していませんが、彼の作品に基づいた、またはそれらから直接盗んだマルウェアをまだ発見しています。ゼークト.


このユーザーは、PyPI で最近削除されたpystilezというパッケージをアップロードしました。 ジャッキングを開始—新しいパッケージを人気のある GitHub ライブラリにリンクすることで、新しいパッケージの評判を高め、何百ものスターとフォークに関連付けられる手法.


チェックマルクス追跡しているこの悪意のある攻撃者は、悪意のあるコード内に Discord サーバー リンクを含むapicolorと呼ばれるパッケージ (同様の名前のバリエーションと共に) で W4SP 攻撃を発見した後.検証済みの Steam アカウントにリンクされた管理者プロファイルと、攻撃者の Steam エイリアスの 1 つとして「zeeckt」という名前が表示されました。


チェックポイントまた、この脅威アクターは、人気のある GitHub アカウントのプロファイルをコピーして正当性を高め、偽のユーザーを作成していたと報告しました。そして、犠牲者の1人が作成することにしましたYouTube ビデオ偽のプロファイルの 1 つにだまされた後、この攻撃について人々に警告します。


セキュリティ研究者は、教育目的で zeeckt のペイロードの 1 つを投稿し、W4SP スティーラーの共著者から興味深い返信を受け取りました。




スティーラーが盗まれるなんて皮肉なことです。


明らかに 17 歳の Python 開発者である同じ著者は、GitHub プロファイルの README ファイルで不満を繰り返しています。



zeeckt が他の悪意のある攻撃者からどのような悪意のあるコードを盗んだかは正確にはわかりませんが、1 つ確かなことは、その名前が、オープンソース レジストリ全体のマルウェア キャンペーンに現れ続けているということです。


卑劣な亜種があなたの暗号資産をかじる

Carlos は最近、さらに 4 つのパッケージを見つけました。ゼークト: forenitqforenith forenityおよびforenitz 。さらなる調査の後、彼はそれらを悪意のあるものとしてタグ付けし、削除するよう PyPI に報告しました。公開から削除までにかかった時間は最速で約20分。


carlos はforenitqsetup[.]pyを調べて、次の第 1 段階のペイロードを見つけました。




攻撃者は、「開始」コマンドを使用して、特定の URL から Windows バイナリをダウンロードして実行する 3 つの一時ファイルを作成します。ナメクジ/ratおよび/clipは悪意を示唆していますが、内部を調べずにその仮定を確認することはできませんでした。


この記事の執筆時点では、 hxxp://20[.]226[.]18[.]203でホストされているページはまだアクティブであり、既に期限切れまたは非公開になっている Discord 招待へのリンクのみが表示されます。


カルロスは、パッケージが人気者を装っていることに気づきました。コロラマ可能性のあるスタージャッキングの試みのためにメタデータを使用します。


RAT ファイルの難読化を解除した後、彼はクリップボード ハイジャッカーの可能性をロードする行を見つけましたが、その詳細は base64 でエンコードされていました。


デコードすると、被害者のクリップボードをハイジャックして、意図した暗号通貨ウォレット アドレスを攻撃者のアドレスに置き換えるように設計された Python コードを取得します。


ビットコイン(bc1)、イーサリアム(0x)、モネロ (4)、ライトコイン(L または M または 3) などの指定されたパターンを探し、パターンが見つかると、意図したアドレスを攻撃者の暗号通貨ウォレット アドレスに置き換えます。 .


コードは、パイパークリップクリップボードのデータをコピーして貼り付けるためのライブラリ。ライブラリがまだインストールされていない場合はインストールされ、暗号通貨ウォレット アドレスがクリップボードにコピーされます。その後、コードは継続的なループに設定され、クリップボードでウォレットのアドレス パターンを監視します。


さらに、この RAT 変異体が検出を回避するために使用するその他の手法も明らかにしました。第 1 段階のペイロードがファイルforenitq/ansi[.]pysetup[.]py ]py の代わりに追加され、第 2 段階のポリモーフィック ペイロードが実行されるたびに変更されます。バイナリ。


攻撃者は、非常に完全なヘルプ メニューを備えた新しいコマンド アンド コントロールも追加しました



ご覧のように、悪意のある攻撃者は暗号資産とシステム認証情報を盗み、インフラストラクチャにさらに侵入しようとしています。彼らの RAT マルウェアは、より回避しやすく、開発者に損害を与えるように変化し続けています。そのため、現在ソフトウェア サプライ チェーンを保護していない場合は、できるだけ早く対策を講じることを検討してください。


IOC (侵害の痕跡)

hxxp://20[.]226[.]18[.]203/inject/tCxFLYLT6ViY9ZnP

hxxp://20[.]226[.]18[.]203/clip

hxxp://20[.]226[.]18[.]203/rat