今日表示しない

トップへ戻る

トップへ戻る

脅威インテリジェンス

脅威インテリジェンス

脅威インテリジェンス

GithubKimsuky

GithubKimsuky

GithubKimsuky

エンキホワイトハット

エンキホワイトハット

コンテンツ

コンテンツ

コンテンツ

概要

  • Githubを攻撃インフラとして悪用し、マルウェアを拡散する巧妙なスピアフィッシング攻撃を検知した。

  • マルウェアは、ハードコーディングされたGithub PAT(Personal Access Token)を利用して非公開リポジトリにアクセスする。

  • 非公開リポジトリに保存されたログから、攻撃者がテスト用に使用しているIPが確認された。

  • 攻撃に使用されたXenoRAT C&Cサーバーを分析した結果、北朝鮮が支援する攻撃グループ「Kimsuky」との関連が明らかになった。

1. 概要

Xで確認したマルウェア解析の過程で、去る2025年3月から攻撃に悪用されたGithubアカウントを確認した。

マルウェアには攻撃者の有効なGithub PAT(Personal Access Token)がハードコーディングされており、このトークンを利用してプライベートリポジトリからマルウェアをダウンロードし、被害システムから収集した情報をプライベートリポジトリへアップロードしていることが確認された。

リポジトリに存在するファイルはマグレウェアとデコイファイル、感染システム情報であることが確認され、攻撃者がGithubを攻撃インフラとして悪用していたことが判明した。

本稿では、攻撃インフラを特定した過程と攻撃フローを分析し、北朝鮮を背景に持つ攻撃グループであるKimsukyとの関連性について扱う。

2. 攻撃の識別

分析対象を明確にし、情報間の新たな関連性を特定できるよう、攻撃インフラを特定したプロセスから記述する。

2.1. Dropboxを悪用したRATダウンローダー

最初に確認したマルウェアは、2025年4月7日にXに投稿されたポストから確認した。

악성코드가 언급된 X 게시글

caption - マルウェアが言及されたXのポスト

Powershellスクリプト形式のマルウェアは、Dropboxからrtf拡張子のファイルをダウンロードした後、ファイルの先頭7バイトをGZIPヘッダーで上書きし、解凍する。その後、ファイルレス形式でマルウェアを実行する。

다운받은 파일 헤더를 변경하고 압축 해제 후 실행하는 루틴

caption - ダウンロードしたファイルのヘッダーを変更して解凍後に実行するルーティン

ファイルをダウンロードするURLは以下の通りである。

  • https://dl.dropboxusercontent[.]com/scl/fi/c6ba7iwuke57d75j3mmte/eula.rtf$dropboxBaseUrl?rlkey=t0jnirhxk48xdu8p74rqgv9dw&st=oofgjsq8&dl=0

ダウンロードするファイルは、"minam park"という名前のユーザーがアップロードしたもので、3月27日に最初にアップロードされた後、継続的に修正されていた。最終修正日時は2025年5月26日午後4時47分である。

다운받는 파일 정보

caption - ダウンロードするファイルの情報

GZIP解凍されたファイルは.NET実行ファイルであり、State Machine方式で難読化されている。dnspyで確認したクラス構造はXenoRATと同一である。

악성코드에서 확인한 CodjkhioSSdieofmm 클래스

caption - マルウェアで確認したCodjkhioSSdieofmmクラス

XenoRAT 소스코드에서 확인한 Compression 클래스

caption - XenoRATのソースコードで確認したCompressionクラス

確認されたミューテックス名とC&Cサーバーのアドレスは以下の通りである。

  • ミューテックス名: Dansweit_Hk65

  • C&Cサーバーのアドレス: 158.247.230[.]196:443

2.2. Githubを悪用するRATダウンローダー

Dropboxを悪用するマルウェアの他に、VirusTotalからGithubを悪用するマルウェアを確保した。マルウェアにハードコーディングされたGithub PATを利用して、プライベートリポジトリからマルウェアをダウンロードして実行する。

ファイルをリクエストするURLは以下の通りである。

  • https://raw.githubusercontent[.]com/Dasi274/star/main/xxx.rtf

  • https://raw.githubusercontent[.]com/luckmask/asp/main/xxx.rtf

マルウェアにハードコーディングされたGithub PATはrepoスコープを持っており、攻撃者のすべてのリポジトリにアクセスできる。このPATを利用して攻撃インフラを特定し、分析した。

3. 攻撃インフラの分析

Githubを攻撃インフラとして悪用するマルウェアに関連のある2つのアカウントを確認し、そのうち1つのアカウントにアクセスしてマルウェアをダウンロードします。

공격자 계정 - Dasi274

caption - 攻撃者アカウント - Dasi274

공격자 계정 - luckmask

caption - 攻撃者アカウント - luckmask

いずれのアカウントも2025年3月に作成されており、公開リポジトリはありません。分析時点で "luckmask" トークンは失効しており、 "Dasi274" アカウントのトークンは現在まで有効です。

確保したトークンは repo スコープを保持しているため、すべてのリポジトリに対する読み取りおよび書き込み権限があります。これは、非公開リポジトリと構成要素をすべて収集できることを意味します。APIで Dasi274 アカウントのすべてのリポジトリを照会すると、5つの非公開リポジトリを確認できます。

  • hole_311

  • hole_408

  • hole_409

  • hole_414

  • star

コミットログから確認したアカウントのメールアドレス情報は以下の通りです。

  • janman8907@gmail.com

各リポジトリは少しずつ異なる構成になっており、おとりファイルおよび被害者情報を確認した結果、各リポジトリが特定の人物を対象に精巧に仕組まれた1つのスピアフィッシング攻撃と連携していることが把握できました。リポジトリ別のファイル構成は以下の表の通りです。

| 리포지토리 이름 | 미끼 파일 이름 | onf.txt(인포스틸러) | ofx.txt(다운로더) | log 폴더 로그 종류 | boot 폴더(피해자 정보 유무) | RAT 이름 |
| --- | --- | --- | --- | --- | --- | --- |
| hole_311 | tmp.docx, tmp.pdf | O | O | 공격자 로그, 피해자 로그 | O | Eula.rtf(XenoRAT) |
| hole_408 | tmp.txt | O | O | 공격자 로그 | X | X |
| hole_409 | tmp.txt | O | O | 공격자 로그 | X | X |
| hole_414 | tmp.pdf | O | O | 공격자 로그 | X | X |
| star | tmp.pdf | O | O | 공격자 로그 | X | xxx.rtf(XenoRAT)

| 리포지토리 이름 | 미끼 파일 이름 | onf.txt(인포스틸러) | ofx.txt(다운로더) | log 폴더 로그 종류 | boot 폴더(피해자 정보 유무) | RAT 이름 |
| --- | --- | --- | --- | --- | --- | --- |
| hole_311 | tmp.docx, tmp.pdf | O | O | 공격자 로그, 피해자 로그 | O | Eula.rtf(XenoRAT) |
| hole_408 | tmp.txt | O | O | 공격자 로그 | X | X |
| hole_409 | tmp.txt | O | O | 공격자 로그 | X | X |
| hole_414 | tmp.pdf | O | O | 공격자 로그 | X | X |
| star | tmp.pdf | O | O | 공격자 로그 | X | xxx.rtf(XenoRAT)

| 리포지토리 이름 | 미끼 파일 이름 | onf.txt(인포스틸러) | ofx.txt(다운로더) | log 폴더 로그 종류 | boot 폴더(피해자 정보 유무) | RAT 이름 |
| --- | --- | --- | --- | --- | --- | --- |
| hole_311 | tmp.docx, tmp.pdf | O | O | 공격자 로그, 피해자 로그 | O | Eula.rtf(XenoRAT) |
| hole_408 | tmp.txt | O | O | 공격자 로그 | X | X |
| hole_409 | tmp.txt | O | O | 공격자 로그 | X | X |
| hole_414 | tmp.pdf | O | O | 공격자 로그 | X | X |
| star | tmp.pdf | O | O | 공격자 로그 | X | xxx.rtf(XenoRAT)

caption - 各リポジトリの構成

攻撃インフラ分析パートでは、類似したタイプのリポジトリを分類して整理し、攻撃フローと詳細なマルウェア分析内容は、攻撃分析パートで扱います。

3.1. hole_311

3.1.1. おとりファイル

3月 11日に作成されたリポジトリで、tmp.docx と tmp.pdf の2つのおとりファイルが存在しますが、2つのファイルは同一の docx おとりファイルです。韓国国内の法律事務所を騙った債務償還督促状で、被害者の個人情報は明記されていませんが、詳細な債権記録が記述されており、指定の振込口座を添付して送金を誘導します。

국내 법무법인을 사칭한 채무 상환 독촉장 미끼 파일

caption - 国内法律事務所を騙った債務償還督促状のおとりファイル

3.1.2. /log フォルダ

ログファイルは名前の形式によって2つのタイプに分類することができました。また、被害者の感染ログファイルだけでなく、攻撃者のテストログファイルも存在することを確認しました。ログファイルのタイプは以下の通りです。

  1. 初回感染時に1回実行されるスクリプトによってアップロードされるログファイル: [ip]-[currentTime]-0956_info.txt

  2. タスクスケジューラに登録されたスクリプトによって30分間隔でアップロードされるログファイル: [ip]-[currentTime]-XXX-kkk.txt

1番目のタイプのログファイルには、マルウェアが実行され収集した情報が記録されています。収集する情報は以下の通りです。

  • 最終起動時間

  • Windowsオペレーティングシステム名、バージョン、ビルド番号、アーキテクチャ情報

  • コンピュータ情報

  • オペレーティングシステムのインストール日時

  • 現在実行中のプロセス一覧

2番目のタイプのログファイルには、最終起動時間のみが記録されています。リポジトリに存在する2番目のタイプのログファイルを確認すると、被害者のログは正確に30分間隔で生成されていることがわかります。

리포지토리에 존재하는 로그 파일 목록

caption - リポジトリに存在するログファイルの一覧

しかし、リポジトリには30分間隔で生成されていない2番目のタイプのログファイルが存在します。これは攻撃者がアップロードしたテストログファイルと見られ、攻撃者がプライベートIPとグローバルIPを切り替えながらファイルのアップロードをテストしたことを確認しました。

  • 10.7.185[.]68

  • 10.33.77[.]174

  • 80.71.157[.]55

  • 158.247.253[.]215

  • 192.168.35[.]35

3.1.3. /boot フォルダ

hole_311 リポジトリにのみ存在するフォルダで、感染システムのキーロギング(キー入力)ログファイルが存在します。キーロギングログファイルから確認できる情報は以下の通りです。

  • 実行中のプロセスタイトル情報

  • アクセス中のウェブページタイトル情報

  • キー入力情報([LM], [Ctrl])

  • クリップボードの履歴

すべて [ip]-[currentTime]-XXX-kkk-key.txt 形式で、logフォルダに存在する被害者の感染通知ログファイル名に "key" が追加されています。分析当時、キーロギングログファイルをリポジトリにアップロードするマルウェアが存在しなかったため、詳細な生成プロセスは確認できませんでした。

3.1.4. リモートアクセスツール

リポジトリに保存された eula.rtf ファイルもまた、圧縮された XenoRAT ファイルであることが確認されました。ミューテックス名とC&Cサーバーのアドレスは以下の通りです。

  • ミューテックス名: Dansweit_Hk65

  • C&Cサーバーアドレス: 216.244.74[.]115:80

dnspy로 확인한 hole_311 리포지토리 악성코드 구조

caption - dnspyで確認した hole_311 リポジトリのマルウェア構造

3.2. star

3.2.1. おとりファイル

3月 11日に作成されたリポジトリで、おとりファイルは国内法律事務所を騙った委任契約書ドキュメントです。特定の個人の個人情報が含まれており、hole_311 リポジトリのおとりファイルと同じテンプレートを使用して、同じ法律事務所を騙っていました。

국내 법무법인을 사칭한 위임계약서 미끼 파일

caption - 国内法律事務所を騙った委任契約書のおとりファイル

3.2.2. /log フォルダ

1つのプライベートIPのログファイルのみが存在しており、特徴的な点は、実行中のプロセス一覧に "xeno rat server" が存在することです。これは攻撃者のテストログファイルと見られ、XenoRAT を使用していたことがわかります。プライベートIPアドレスは以下の通りです。

  • 10.33.77[.]174

실행중인 프로세스 목록

caption - 実行中のプロセス一覧

3.2.3. リモートアクセスツール

ファイル名は xxx.rtf で、先ほどの eula.rtf と同様に解凍時に XenoRAT が現れます。ミューテックス名とC&Cサーバーのアドレスは以下の通りです。

  • ミューテックス名: Dansweit_Hk65

  • C&Cサーバーアドレス: 165.154.78[.]9:443

dnspy로 확인한 star 리포지토리 악성코드 구조

caption - dnspyで確認した star リポジトリのマルウェア構造

3.3. hole_408, hole_409, hole_414

3.3.1. おとりファイル

それぞれ4月8日、4月9日、4月14日に作成されたリポジトリで、おとりファイルの情報は以下の表と図を参考にしてください。

| 리포지토리 이름 | 파일 이름 | 파일 내용 요약 |
| --- | --- | --- |
| hole_408 | tmp.txt | 암호화폐 시드 문구 |
| hole_409 | tmp.txt | 교통사고 사실 확인원 |
| hole_414 | tmp.pdf | 금융감독원 계좌 사용 제한 이체 요청 안내

| 리포지토리 이름 | 파일 이름 | 파일 내용 요약 |
| --- | --- | --- |
| hole_408 | tmp.txt | 암호화폐 시드 문구 |
| hole_409 | tmp.txt | 교통사고 사실 확인원 |
| hole_414 | tmp.pdf | 금융감독원 계좌 사용 제한 이체 요청 안내

| 리포지토리 이름 | 파일 이름 | 파일 내용 요약 |
| --- | --- | --- |
| hole_408 | tmp.txt | 암호화폐 시드 문구 |
| hole_409 | tmp.txt | 교통사고 사실 확인원 |
| hole_414 | tmp.pdf | 금융감독원 계좌 사용 제한 이체 요청 안내

caption - 各リポジトリのおとりファイル情報

hole_409 - 교통사고 사실 확인원

caption - hole_409 - 交通事故事実確認願

hole_414 – 금융감독원 계좌 사용 제한 및 이체 요청 안내

caption - hole_414 – 金融監督院の口座使用制限および振込リクエスト案内

3.3.2. /log フォルダ

攻撃者のテストログファイルのみが存在し、hole_311 では確認されていなかった新しいIPアドレスが確認されました。

  • 80.71.157[.]55

  • 139.99.36[.]158: 新しく確認されたIPアドレス

  • 158.247.253[.]215

4. 攻撃分析

分析プロセスで確保したスピアフィッシングメールと、実際に悪意のある行為が実行されて被害者情報がアップロードされた攻撃は、それぞれ異なる攻撃です。スピアフィッシングメールは hole_414 リポジトリの攻撃事例であり、マルウェアの配布プロセスは hole_311 リポジトリに該当します。

全体の攻撃の流れを確認するために、これらを総合して攻撃分析パートを作成しました。

공격 개요도

caption - 攻撃概要図

4.1. スピアフィッシングメール

攻撃者のテストログファイルから確認されたIPアドレスの分析結果、158.247.253[.]215 からスピアフィッシングメールが送信されたことを確認しました。攻撃者は被害者の法的代理人を装い、被害者が受信した他のメールが犯罪に悪用されたという内容で、添付ファイルのダウンロードおよび実行を誘導しました。

메일 내용

caption - メール内容

ここで攻撃者がいかに緻密であるかがわかりました。内容は以下の通りです。

  1. hole_414 リポジトリのおとりファイルから確認した被害者名と、メールから確認した被害者名が同一です。

  2. 攻撃者はまず金融監督院を装い、口座の使用制限および"移転要請のご案内"メールを被害者に送信しました。

  3. 次に攻撃者は上記のプロセス(2)で自分が送ったメールが犯罪に悪用されたという内容のメールを被害者に送信しました。

  4. 結局、攻撃者は被害者にメールを2回送信しており、両方のメールがマルウェアの実行を誘導する目的で送信されたものです。

添付ファイルは圧縮ファイルで、パスワードはメールに含まれています。添付ファイル名は「Eメールコピー_口座使用制限および移転案内.zip」で、hole_414 リポジトリのコミットログから同名のPDFファイルを確認することができました。

첨부 파일 정보

caption - 添付ファイル情報

이메일 사본_계좌 사용 제한 및 이체 안내.pdf 관련 커밋 로그

caption - Eメールコピー_口座使用制限および移転案内.pdf 関連コミットログ

添付ファイルについては、送信者と受信者のみがダウンロードできるため、確保することはできませんでした。AhnLabの類似事例レポートを参考にしたところ、圧縮ファイルに含まれるファイルは、PowerShellコマンドを含むリンクファイルのマルウェアであると推定されます。AhnLabのレポートに言及されているリンクファイルが実行された際に行われる行為は以下の通りです。

  1. Temp パスにマルウェア(PowerShellスクリプト)を作成および実行

  2. おとりファイルのダウンロードおよび実行

  3. マルウェア(PowerShellスクリプト)を作成し、タスクスケジューラに登録

    • タスクスケジューラに登録されるタスクは、30分ごとにマルウェア(PowerShellスクリプト)を実行

  4. インフォスチーラーのダウンロードおよび実行

4.2. onf.txt - インフォスチーラー

hole_311 リポジトリに残されているコミットログを分析して作成しました。

感染時に最初の1回だけダウンロードおよび実行されるPowerShellスクリプトで、感染システム情報を収集して送信します。

감염 시스템 정보 수집 루틴

caption - 感染システム情報収集ルーチン

%AppData%\Microsoft パスに [ip]-[MMdd_HHmm]-0956_info.txt という名前のファイルを作成し、収集した感染システム情報を書き込みます。収集される情報は以下の通りです。

  • 最後の起動時間

  • Windowsオペレーティングシステム名、バージョン、ビルド番号、アーキテクチャ情報

  • コンピュータ情報

  • オペレーティングシステムのインストール日時

  • 現在実行中のプロセス一覧

感染システム情報が書き込まれたファイルは、Github PATを利用して攻撃者のプライベートリポジトリの /log パスにアップロードされます。

파일 업로드 루틴

caption - ファイルアップロードルーチン

4.3. ofx.txt

タスクスケジューラによって実行されるマルウェアが、ダウンロードして実行するスクリプトファイルです。

4.3.1. 最終コミット時点の ofx.txt

%AppData% パスに [ip]-[MMdd_HHmm]-XXX-kkk.txt 形式のファイルを作成し、そのファイルに最後の起動時間を書き込みます。最後の起動時間が書き込まれたファイルは、Github PATを利用して攻撃者のプライベートリポジトリの /log パスにアップロードされます。

감염 알림 로그 작성 루틴

caption - 感染通知ログ作成ルーチン

攻撃者はリポジトリに繰り返しアップロードされるログを利用して被害者の感染有無を判断した後、ofx.txt ファイルを RAT ダウンローダーに変更して、感染システムで実行されるようにしました。

  • 30分ごとにタスクスケジューラに登録されたタスクが実行され、タスクスケジューラによって実行されるマルウェアは、Githubから ofx.txt をダウンロードして実行します。攻撃者が ofx.txt ファイルを変更すると、持続的に意図したPowerShellスクリプトを実行できます。

4.3.2. 感染直後の ofx.txt

攻撃者は、感染直後に ofx.txt ファイルのスクリプトを RAT ダウンローダーの機能を実行するように修正しました。"hole_311" リポジトリからマルウェアをダウンロードしてログファイルをアップロードしますが、RAT ファイルは "star" リポジトリに存在する xxx.rtf をダウンロードするのが特徴です。

감염 직후 변경된 ofx.txt 파일

caption - 感染直後に変更された ofx.txt ファイル

4.3.3. 攻撃中断後の ofx.txt

2025年3月16日以降、被害者情報がアップロードされなくなったため、攻撃者はテストログのアップロードを3回行った後、eula.rtf をリポジトリにアップロードしました。テストログのアップロードに使用されたIPは以下の通りです。

  • 10.7.185[.]68

  • 158.247.253[.]215

  • 192.168.35[.]35

피해자 정보 업로드 중단 이후 커밋 로그

caption - 被害者情報アップロード中断後のコミットログ

また、"star" リポジトリの xxx.rtf ではなく、"hole_311" リポジトリにアップロードした eula.rtf をダウンロードするように修正したスクリプトを一時的にアップロードしました。最後には oft.txt を、最新のコミットで確認できるログ送信スクリプトに修正しました。

4.4. XenoRAT

最終的に実行されるマルウェアは、"star" リポジトリに存在する xxx.rtf です。"star" リポジトリのコミットログを確認すると、xxx.rtf が 2025年3月11日に初めて作成され、2025年3月21日にファイルが変更されたことがわかります。

변경 전 커밋 로그

caption - 変更前のコミットログ

変更前と変更後のファイルの相違点は以下の通りです。

  • 変更前の rtf: アセンブリ名が "Danty" で、文字列が難読化された状態でハードコーディングされています。

  • 変更後の rtf: アセンブリ名が "Solar" で、文字列がリソース領域から動的にロードされます。

コミットログの順序から、被害者に配信されたマルウェアは変更前の xxx.rtf であり、そのマルウェアを分析しました。

マルウェアは Github でオープンソースとして公開されている XenoRAT の亜種で、難読化が適用されています。

Github XenoRAT 리포지토리

caption - Github XenoRAT リポジトリ

マルウェアが使用する文字列は暗号化されており、復号メソッドを呼び出して復号します。復号メソッドは複雑に難読化されていますが、主要なプロセスは以下の通りです。

  1. Unicode 文字列を char 配列に変換

  2. リソース領域に存在する16バイトのキーから、[seed & 0xf] 番目の値を取得した後、seed と OR演算を行って XOR キーを生成

  3. XOR 演算で char 配列を復号

복호화 메소드 루틴

caption - 復号メソッドルーチン

文字列復号によって確認されたミューテックス名と C&C サーバのアドレスは以下の通りです。

  • ミューテックス名: Dansweit_Hk65

  • C&C サーバアドレス: 165.154.78[.]9

ポート情報は、ILコードから整数形式で直接確認できます。

IL코드에서 확인한 포트 정보

caption - ILコードから確認したポート情報

5. 追加分析

5.1. XenoRAT

C#ファイルにおいて、GUIDは通常、Visual Studioなどの開発環境でプロジェクトが作成される際に自動的に生成される値である。攻撃者が修正しない限り、同一のプロジェクト環境でコンパイルされるファイルはGUIDがすべて同一であると言える。このような特徴を持つGUID値を利用して、VirusTotalにて文字列ベースの検索クエリを使用し、追加のマルウェアを確保することができた。クエリは以下の通りである。

  • content:"12DE1212-167D-45BA-1284-780DA98CF901"

본 글에서 분석한 XenoRAT GUID 값

caption - 本文で分析したXenoRATのGUID値

クエリの結果、合計4つのマルウェアを追加で確保し、すべてstarリポジトリのXenoRATとGUIDの他にも文字列の暗号化方式が同一であった。各マルウェアのハッシュと、文字列復号によって確認されたミューテックス、C&Cサーバーのアドレスは以下の表の通りである。

| 악성코드 해시 | 뮤텍스 | C&C |
| --- | --- | --- |
| 0cb6e67f23ccebc3727f755be5140497 | Cheetah_0716 | 118.194.249[.]201:80 |
| 976ad041832082f2d304df12b61457cb | Cheetah_0716 | 118.194.249[.]201:443 |
| baf164d2a5066cab5772dc6ae4807f43 | Cheetah_0716 | 158.247.202[.]109:443 |
| a87659641e00d724de5662b14fe142e8 | Dansweit_Hk65 | 45.61.161[.]103:443 |
| f51a2ccb4b9b2bf163c81b525bfac08e | Dansweit_Hk65 | 216.244.74[.]115:80 |
| 10ce9409d8d1e72ea6439bec7cd7e4cd | Dansweit_Hk65 | 101.36.114[.]190:5724

| 악성코드 해시 | 뮤텍스 | C&C |
| --- | --- | --- |
| 0cb6e67f23ccebc3727f755be5140497 | Cheetah_0716 | 118.194.249[.]201:80 |
| 976ad041832082f2d304df12b61457cb | Cheetah_0716 | 118.194.249[.]201:443 |
| baf164d2a5066cab5772dc6ae4807f43 | Cheetah_0716 | 158.247.202[.]109:443 |
| a87659641e00d724de5662b14fe142e8 | Dansweit_Hk65 | 45.61.161[.]103:443 |
| f51a2ccb4b9b2bf163c81b525bfac08e | Dansweit_Hk65 | 216.244.74[.]115:80 |
| 10ce9409d8d1e72ea6439bec7cd7e4cd | Dansweit_Hk65 | 101.36.114[.]190:5724

| 악성코드 해시 | 뮤텍스 | C&C |
| --- | --- | --- |
| 0cb6e67f23ccebc3727f755be5140497 | Cheetah_0716 | 118.194.249[.]201:80 |
| 976ad041832082f2d304df12b61457cb | Cheetah_0716 | 118.194.249[.]201:443 |
| baf164d2a5066cab5772dc6ae4807f43 | Cheetah_0716 | 158.247.202[.]109:443 |
| a87659641e00d724de5662b14fe142e8 | Dansweit_Hk65 | 45.61.161[.]103:443 |
| f51a2ccb4b9b2bf163c81b525bfac08e | Dansweit_Hk65 | 216.244.74[.]115:80 |
| 10ce9409d8d1e72ea6439bec7cd7e4cd | Dansweit_Hk65 | 101.36.114[.]190:5724

caption - 追加で確保したマルウェア情報

追加で確保したマルウェアから確認された、C&Cサーバーのアドレス 101.36.114[.]190 にリクエストを送信するPowerShellスクリプトも発見された。

  • 85f5075610661c9706571a33548d7585

該当するPowerShellスクリプトは、Tempパスに存在する dose.vbs、processlist.zip、processlist.txt ファイルを削除する。この際、使用されていない変数から disk.txt、user.txt、ip.txt も確認できる。

변수 목록

caption - 変数リスト

この他に、システム情報を収集して processlist.txt ファイルに保存する。収集する情報は以下の通りである。

  • IP情報

  • アンチウイルスソフトウェアの名前

  • 実行中のプロセス一覧

  • ローカルディスク情報

  • ローカルユーザー情報

  • オペレーティングシステム情報

시스템 정보 수집 루틴

caption - システム情報収集ルーチン

システム情報収集の後、txtファイルをzipファイルに圧縮し、zipファイルのデータを読み込んでメモリに保存した上で、両方のファイルを削除する。メモリに保存されたデータはBase64でエンコードされ、C&Cサーバーにアップロードされる。

파일 업로드 루틴

caption - ファイルアップロードルーチン

5.2. Dropbox URL

Dropboxを悪用するRATダウンローダーを探索するため、VirusTotalで以下の検索クエリを利用して追加のマルウェアを確保した。

  • content:{7b5b436d646c657442696e64696e6728295d20506172616d2028} type:powershell

クエリの結果、9つのマルウェアを追加で確保したが、そのほとんどはすでにファイルが削除された状態であった。確保したマルウェアから抽出したURLのうち、現在までアクセス可能なURLは存在しない。

추가로 확인된 파일 정보

caption - 追加で確認されたファイル情報

URL情報は以下の通りである。

  • https://dl.dropboxusercontent[.]com/scl/fi/okglg167i8kuwna1m2lxm/bie70er.rtf?rlkey=473ofwk5bcqsehgyw4dxs2ibv&st=ecned2g2&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/c6ba7iwuke57d75j3mmte/eula.rtf?rlkey=t0jnirhxk48xd8p74rqgv9dw&st=oofgjsq8&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/67j5162v19rtngxkexau5/bie70er.rtf?rlkey=2kdy91rrcugaueif7aucd8b0d&st=mflxxjq7&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/ti6rphsns0xsvx1ekb02f/bie70er.rtf?rlkey=ug5wa6p2tzyq9rukv51dx4ity&st=hpuv2uwd&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/bifls0sn1nx1b52adydyn/tt7024.rtf?rlkey=le9xhv7v9clh9sof5787wl3da&st=rz6k0vgl&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/3z2lxx1aor5g82e86c6ru/panel.rtf?rlkey=zaafvohxvwgvnfv383oe1vmt5&st=umtc7teu&dl=0 https://dl.dropboxusercontent[.]com/scl/fi/nanwt6elsuxziz05hnlt4/cjfansgmlans1-x.txt?rlkey=l6gzro1rswkqbk6tinxnkuylv&st=iv78c1cg&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/hpv3jd8o9annkala8vskb/hhopp.rtf?rlkey=nmwknu8l1ormxcmvo77ehhwr8&st=y99kquph&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/bqicute746gcts2utf903/pong_race.rtf?rlkey=53r0g9f69khan7zkgzkc9ox90&st=nry1hb3s&dl=0

6. 関連性分析

6.1. テストIPの関連性

80.71.157[.]55は、ほぼすべてのリポジトリログファイルで確認されたIPアドレスであり、攻撃者が使用するテストIPアドレスである。当該IPアドレスは、2024年のMoonPeakの事例でもテスト用途で使用されていた。MoonPeakは、北朝鮮を背景に持つ攻撃グループであるKimsukyのサブグループ、または同一グループと推定されるUAT-5394が運営したキャンペーンである。

6.2. 制作環境が同一のXenoRAT

先ほどマルウェアを追加で確保する過程でGUID値を利用したが、C#ファイルにおけるGUIDは、一般的にVisual Studioのような開発環境でプロジェクトが生成される際、自動的に生成される値である。攻撃者が修正しない限り、同一のプロジェクト環境でコンパイルされるファイルはGUIDがすべて同じになる。

このような特徴を利用して、追加で6つのマルウェアを確保することができ、共通点も発見することができた。

6つのマルウェアのうち5つのマルウェアは、本稿で分析したXenoRATと同一の文字列暗号化方式を使用していた。5つのマルウェアハッシュは以下の通りである。

  • 0cb6e67f23ccebc3727f755be5140497

  • 976ad041832082f2d304df12b61457cb

  • baf164d2a5066cab5772dc6ae4807f43

  • 10ce9409d8d1e72ea6439bec7cd7e4cd

  • f51a2ccb4b9b2bf163c81b525bfac08e

残りの1つのマルウェアは、starリポジトリにおいて変更前のxxx.rtfと同様に文字列が難読化された後、ハードコーディングされている。

  • a87659641e00d724de5662b14fe142e8

これは同一の攻撃者による犯行とみなすことができる根拠となり、以下の「NAVERフィッシング攻撃に使用されたXenoRAT C&Cサーバー」の内容へと続く。

6.3. NAVERフィッシング攻撃に使用されたXenoRAT C&Cサーバー

追加で確保したXenoRAT(baf164d2a5066cab5772dc6ae4807f43)のうち、C&Cサーバーのアドレス(158.247.202[.]109)はNAVERフィッシングサイトとして使用されており、北朝鮮を背景に持つ攻撃グループであるKimsukyが使用するドメイン形式である「p-e.kr」や、「Million OK!!!!」という文字列が確認された。

C&C 서버 접속 시 나타나는 "Million OK!!!!" 문자열

caption - C&Cサーバー接続時に表示される「Million OK!!!!」という文字列

NAVERフィッシングサイトの接続URLは以下の通りである。

  • http://158.247.202[.]109/invoice/?wreply=&m=https%3a%2f%2fnid.naver[.]com%2fnidlogin[.]login%3furl%3dhttp%253a%252f%252fmail.naver[.]com%252f

네이버 로그인 피싱 사이트

caption - NAVERログインフィッシングサイト

他のレポートで言及されている同一のテストIPアドレスと、XenoRAT C&CサーバーがNAVERフィッシングページとして使用された履歴、最後に制作環境が同一で文字列暗号化方式が同一であるマルウェア群など、これらの特徴を総合すると、本稿で分析した攻撃事例の攻撃者と、北朝鮮を背景に持つ攻撃グループであるKimsukyとの関連性を示唆している。

7. 対応策

7.1. 不審な電子メールの添付ファイルのダウンロードおよび実行の回避

攻撃者は攻撃対象と攻撃時期ごとにリポジトリを分け、攻撃対象を狙ったおとりファイルを使用して緻密な攻撃を設計した。攻撃の精密さは、個人情報に言及し、法律事務所などの特定機関の関係者を詐称する電子メールやおとりファイルに現れている。

공격 대상에게 전송된 이메일

caption - 攻撃対象に送信された電子メール

したがって、受信した電子メールに添付ファイルまたはリンクが含まれている場合は、まずダウンロードおよび実行を控え、VirusTotalなどのサービスが提供するファイルスキャン機能を使用することが推奨される。

しかし、圧縮ファイルをスキャンする際にパスワードが適用されていると、VirusTotalでは正常なファイルとして認識されるため、出所が不明な電子メールの添付ファイルはダウンロードおよび実行しないことが最善である。

8. おわりに

本稿では、北朝鮮を背後に持つ攻撃グループであるKimsukyが、Githubのプライベートリポジトリを攻撃インフラとして積極的に活用している国内の攻撃事例について分析した。攻撃者は、攻撃に使用したマルウェアをはじめ、感染システムログファイルや流出情報をGithub PATを利用してプライベートリポジトリにアップロードし、管理していた。本稿で言及したアカウントのうち、トークンが満了したために分析できなかったアカウントは未だ消失しておらず、トークンを再発行して攻撃を継続している可能性も存在する。

また、3月から現在までに確認されたDropboxを悪用したXenoRATのダウンロードURLは約10件に上る。これは、分析された事例以外にも、数多くのスピアフィッシング攻撃が継続的に行われていることを示唆している。

攻撃者は、マルウェアに感染させるために、より緻密で巧妙な攻撃を行っている。ユーザーは、送信元が不明である場合や、あるいは明白であっても信頼できるものであるかを再度確認し、セキュリティソリューションやVirusTotalのようなサービスを利用して、マルウェアであるかどうかを事前に検査することが必要である。

9. 付録

付録 A. MITRE ATT&CK

| Tactics | Techniques |
| --- | --- |
| Initial Access | T1566.001: Phishing: Spearphishing Attachment |
| Execution | T1059.001: Command and Scripting Interpreter: PowerShell-nT1059.003: Command and Scripting Interpreter: Windows Command Shell-nT1059.007: Command and Scripting Interpreter: JavaScript-nT1204.002: User Execution: Malicious File |
| Persistence | T1053.005: Scheduled Task/Job: Scheduled Task |
| Defense Evasion | T1027.010: Obfuscated Files or Information: Command Obfuscation-nT1140: Deobfuscate/Decode Files or Information |
| Discovery | T1057: Process Discovery-nT1082: System Information Discovery |
| Collection | T1115: Clipboard Data-nT1056.001: Input Capture: Keylogging |
| Exfiltration | T1567.001: Exfiltration Over Web Service: Exfiltration to Code Repository-nT1567.002: Exfiltration Over Web Service: Exfiltration to Cloud Storage |
| Command and Control | T1102: Web Service-nT1071: Application Layer Protocol: Web Protocols-nT1571: Non-Standard Port-nT1132.001: DataEncoding: Standard Encoding-nT1573.001: Encrypted Channel: Symmetric Cryptography

| Tactics | Techniques |
| --- | --- |
| Initial Access | T1566.001: Phishing: Spearphishing Attachment |
| Execution | T1059.001: Command and Scripting Interpreter: PowerShell-nT1059.003: Command and Scripting Interpreter: Windows Command Shell-nT1059.007: Command and Scripting Interpreter: JavaScript-nT1204.002: User Execution: Malicious File |
| Persistence | T1053.005: Scheduled Task/Job: Scheduled Task |
| Defense Evasion | T1027.010: Obfuscated Files or Information: Command Obfuscation-nT1140: Deobfuscate/Decode Files or Information |
| Discovery | T1057: Process Discovery-nT1082: System Information Discovery |
| Collection | T1115: Clipboard Data-nT1056.001: Input Capture: Keylogging |
| Exfiltration | T1567.001: Exfiltration Over Web Service: Exfiltration to Code Repository-nT1567.002: Exfiltration Over Web Service: Exfiltration to Cloud Storage |
| Command and Control | T1102: Web Service-nT1071: Application Layer Protocol: Web Protocols-nT1571: Non-Standard Port-nT1132.001: DataEncoding: Standard Encoding-nT1573.001: Encrypted Channel: Symmetric Cryptography

| Tactics | Techniques |
| --- | --- |
| Initial Access | T1566.001: Phishing: Spearphishing Attachment |
| Execution | T1059.001: Command and Scripting Interpreter: PowerShell-nT1059.003: Command and Scripting Interpreter: Windows Command Shell-nT1059.007: Command and Scripting Interpreter: JavaScript-nT1204.002: User Execution: Malicious File |
| Persistence | T1053.005: Scheduled Task/Job: Scheduled Task |
| Defense Evasion | T1027.010: Obfuscated Files or Information: Command Obfuscation-nT1140: Deobfuscate/Decode Files or Information |
| Discovery | T1057: Process Discovery-nT1082: System Information Discovery |
| Collection | T1115: Clipboard Data-nT1056.001: Input Capture: Keylogging |
| Exfiltration | T1567.001: Exfiltration Over Web Service: Exfiltration to Code Repository-nT1567.002: Exfiltration Over Web Service: Exfiltration to Cloud Storage |
| Command and Control | T1102: Web Service-nT1071: Application Layer Protocol: Web Protocols-nT1571: Non-Standard Port-nT1132.001: DataEncoding: Standard Encoding-nT1573.001: Encrypted Channel: Symmetric Cryptography

caption - MITRE ATT&CK

付録 B. IOC

md5

  • a56edfef94008c77abfb4e151df934d9

  • 30d5f17d5e3f85be18220a7cab0b9fff

  • 5e9a80d3d4f71ecd8bf8e579a5e2449c

  • f692c1dd797f68c34744a377482c4ed4

  • b77e4e9f5897f00dcbd08b2ee9bde7e8

  • 74b1d5f857a4245aef8189ac4f409a99

  • 6cbc007799b56682ac196e44d79e496d

  • a9d80e7fe3f217ea4d33f8a4a0f3f73c

  • 57015267d06b0d80721015ccd29a04cd

  • 5076c579e378f976a57e862e5b6a7859

  • 45ed6abfc12be606bdbcfe76bd17b2af

  • b36159563452d9a837a5e566ad2a1e44

  • 522a122f3cd4c488a51d81c846bfabbb

  • c2f88038d431bb190454fae02225e639

  • d0a8cd7584547bdb2959f0d1008e6871

  • b13ffe7b8e351291250f1a3a855134aa

  • 1dee4c60fffcc80eb4bbd523eedab2f4

  • 8c84d7f559cf0947fbf1981a0acb8a35

  • acd2d728ee4d1110521524c1eac6204e

  • 157d1b1798f0f370a95125253e039c18

  • b99c1d9bf70be5172a8b36b098c67ee5

  • 8c561a53085651d7f47b24129c2cd2d0

  • 7df07ecb0b516df085a5ee95ed8e6560

  • af999c3c615b56691d75e8c877e185fb

  • 5be0527f5c84208371761cee852f0d7c

  • f51a2ccb4b9b2bf163c81b525bfac08e

  • 10ce9409d8d1e72ea6439bec7cd7e4cd

  • a87659641e00d724de5662b14fe142e8

  • 1808bd4919c5943096a4a19784d6b8de

C&C

  • 80.71.157[.]55

  • 139.99.36[.]158

  • 158.247.253[.]215

  • 165.154.78[.]9

  • 141.164.41[.]17

  • 118.194.249[.]201

  • 158.247.202[.]109

  • 45.61.161[.]103

  • 101.36.114[.]190

  • 216.244.74[.]115

  • 158.247.230[.]196

Dropbox URL

  • https://dl.dropboxusercontent[.]com/scl/fi/okglg167i8kuwna1m2lxm/bie70er.rtf?rlkey=473ofwk5bcqsehgyw4dxs2ibv&st=ecned2g2&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/c6ba7iwuke57d75j3mmte/eula.rtf?rlkey=t0jnirhxk48xd8p74rqgv9dw&st=oofgjsq8&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/67j5162v19rtngxkexau5/bie70er.rtf?rlkey=2kdy91rrcugaueif7aucd8b0d&st=mflxxjq7&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/ti6rphsns0xsvx1ekb02f/bie70er.rtf?rlkey=ug5wa6p2tzyq9rukv51dx4ity&st=hpuv2uwd&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/bifls0sn1nx1b52adydyn/tt7024.rtf?rlkey=le9xhv7v9clh9sof5787wl3da&st=rz6k0vgl&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/3z2lxx1aor5g82e86c6ru/panel.rtf?rlkey=zaafvohxvwgvnfv383oe1vmt5&st=umtc7teu&dl=0 https://dl.dropboxusercontent[.]com/scl/fi/nanwt6elsuxziz05hnlt4/cjfansgmlans1-x.txt?rlkey=l6gzro1rswkqbk6tinxnkuylv&st=iv78c1cg&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/hpv3jd8o9annkala8vskb/hhopp.rtf?rlkey=nmwknu8l1ormxcmvo77ehhwr8&st=y99kquph&dl=0

  • https://dl.dropboxusercontent[.]com/scl/fi/bqicute746gcts2utf903/pong_race.rtf?rlkey=53r0g9f69khan7zkgzkc9ox90&st=nry1hb3s&dl=0

ミューテックス (Mutex)

  • Dansweit_Hk65

  • Cheetah_0716

Eメール

  • janman8907@gmail.com

.NET アセンブリ GUID

  • 12DE1212-167D-45BA-1284-780DA98CF901

エンキホワイトハット

エンキホワイトハット

ENKI ホワイトハット
ENKI ホワイトハット

オフェンシブセキュリティの専門企業として、攻撃者の視点から次元の異なるセキュリティを提示します。

オフェンシブセキュリティの専門企業として、攻撃者の視点から次元の異なるセキュリティを提示します。

隙のないセキュリティ設計の始まり、NO.1ホワイトハッカーのノウハウから

インシデント発生前、
今すぐ備えましょう

隙のないセキュリティ設計の始まり、
No.1ホワイトハッカーのノウハウから

インシデント発生前、
今すぐ備えましょう

隙のないセキュリティ設計の始まり、
No.1ホワイトハッカーのノウハウから

インシデント発生前、
今すぐ備えましょう

購読する

コンテンツが役に立ったら?
エンキーレターを購読しましょう!

Copyright © 2025. ENKI WhiteHat Co., Ltd. All rights reserved.

Copyright © 2025. ENKI WhiteHat Co., Ltd. All rights reserved.

Copyright © 2025. ENKI WhiteHat Co., Ltd. All rights reserved.