ESET韓国ユーザーを標的にして、バックドアが仕組まれたトレントファイルを使用する悪意のある攻撃ESETの研究者は、ユーザーを引き付けるために韓国のテレビ番組などを利用し、トレントを介してバックドアで配信している悪意のある攻撃を発見しました。2019韓国のテレビ番組のファンは、韓国の映画やテレビ番組を偽装しトレントサイト経由でマルウェアを拡散している攻撃に注意してください。このマルウェアに侵入されたコンピュータは、ボットネットに接続され、リモートから制御されます。このマルウェアは、GoBot2と呼ばれる一般に公開されているバックドアが改変されたものです。ソースコードが変更されているのは、主に韓国特有の回避技術に対応するためであり、この変更部分について、このブログで詳しく説明します。この攻撃は明らかに韓国を標的にしているため、このWin64/GoBot2の亜種をGoBotKRと名付けました。ESETが収集した情報によると、GoBotKRは2018年3月から実際に利用されています。検出件数は数百に及んでおり、韓国が最も影響を受けています(80%)。次に中国(10%)、台湾(5%)で多く検出されています。配信方法GoBotKRは、韓国の映画やテレビ番組、および一部のゲームを偽装し、韓国および中国のトレントサイトから拡散しています。この攻撃者は、ユーザーを欺くようなファイル名、拡張子、およびアイコンが設定された悪意のあるファイルを使用し、トレントコンテンツを罠として仕掛けて、ユーザーを騙してマルウェアを実行させます。ESETの分析によると、映画/テレビ番組を偽装したトレントファイルには、一般的に次の種類のファイルが含まれています。それらしいMP4ファイルさまざまなコーデックインストーラのように偽装したファイル名が付けられたPMAアーカイブファイルとして隠された悪意のある実行ファイルそれらしいビデオファイルを装ったファイル名とアイコンが設定された悪意のあるLNKファイル図1は、この悪意のある攻撃で使用されていたトレントコンテンツの例を示しています。図1:マルウェアを配信している一部のトレントコンテンツ(2番目のスクリーンショットにはMP4ビデオは表示されていません)。マルウェアは、ユーザーを騙すためにそれらしく設定されたファイル名とアイコンが設定されたLNKファイルから実行されます。この攻撃によって、ユーザーのセキュリティはどのように侵害されるのでしょうか?表示されているMP4ファイルを直接開いても、悪意のある操作は行われません。この攻撃における重要な点は、MP4ファイルが別のディレクトリに隠されていることが多く、このMP4を偽装した悪意のあるLNKファイルが最初にユーザーに表示されるようになっていることです。図1の2番目のスクリーンショットにあるように、Windowsエクスプローラで表示したときには、韓国語の名前のファイルには、LNKファイルの拡張子が通常は表示されないため、ユーザーが騙されてしまう可能性は高くなっています。ユーザーを騙すために作成されたこのLNKファイルをクリックすると、マルウェアが実行されます。ユーザーが視聴しようとしたファイル(この場合はビデオ)も開くため、この被害者は問題が発生したことを疑うことはないでしょう。悪意のあるEXEファイルの名前をPMAファイルに変更しているのは、標的ユーザーから疑われることを防ぐためである可能性があります。ユーザーを騙すためにゲームが悪用されており、ゲームに関連するファイル名と拡張子を使用する手法についても確認しています。ESETが調査したところ、悪意のある実行ファイルには、starcodec.pma、WedCodec.pmaおよびCodec.pma(映画/TV番組の偽装)とleak.dll(ゲームの偽装)といったファイル名が使用されています。「starcodec」という名前は、韓国で使用されている正規のコーデックパックStarcodecを模しています。GoBotKRの機能GoBotKRはGoBot2と呼ばれるバックドアに基づいて構築されており、そのソースコードは2017年3月から一般に公開されています。オリジナル版と修正版の両方ともGoと呼ばれるGoLang言語で記述されています。多くはありませんが、GoLang言語で記述されたマルウェアの新しい亜種が出現するようになっています。これは、コンパイルされた実行ファイルが扱いにくいという性質があるために、分析を難しくするためと考えられます。GoBotKRの機能は、公開されているGoBot2のソースコードとほとんど同じであり、最小限の変更が加えられているだけです。全体的に見て、マルウェアは技術的には特に複雑ではなく、簡単に実装できるものです。ほとんどの機能は、GoLangのライブラリを使用し、Windowsコマンド(cmd、ipconfig、netsh、shutdown、start、systeminfo、taskkill、ver、whoami、およびwmicなど)、およびBitTorrentやuTorrentなどのサードパーティのユーティリティを実行して、実装されます。最終的には、GoBotKRを利用する攻撃者は、さまざまな種類のDDoS攻撃(SYNフラッド、UDPフラッド、Slowlorisなど)を実行するためのボットのネットワークを構築しています。そのため、GoBotKRが実行されると、最初に、ネットワーク構成、OSバージョン情報、CPUおよびGPUのバージョンなどの侵入したコンピュータに関するシステム情報を収集します。インストールされているアンチウイルスソフトウェアの一覧も収集します。この情報はC&Cサーバーに送信され、攻撃者はどの攻撃でどのボットを使用できるかを判断できるようになります。分析したマルウェアの検体から抽出されたすべてのC&Cサーバーは韓国でホストされており、同じ人物によって登録されていました。ボットのコマンドC&Cサーバーとの通信が確立されると、このサーバーはバックドアコマンドによって乗っ取ったコンピュータに指示を送信します。GoBotKRは次の3つの目的を主に実行するための標準的なボットネット機能をサポートしています。乗っ取ったコンピュータを攻撃者の目的で使用できるようにするボットネットオペレータがボットネットの管理またはさらに拡張できるようにするユーザーに検出されないように自身を隠すこのボットでサポートされているコマンドは次のとおりです。Drive)のパブリックフォルダに自分自身をコピーするリバースプロキシサーバーを実行するHTTPサーバーを実行するファイアウォール設定を変更し、hostsファイルを編集し、ポートを開くタスクマネージャを有効/無効にするWindowsレジストリエディタを有効/無効にするコマンドプロンプトの有効/無効にするプロセスを終了するプロセスウィンドウを非表示にする特に興味深いのは、トレントのシード(トレントサイトでファイルをアップロードして他のユーザーが利用できるようにすること)とDDoS機能の2つのコマンドです。「トレントのシード」コマンドを使用すると、攻撃者は標的としたマシンを悪用して、BitTorrentおよびuTorrentプログラムを使用して(システムにこれらのプログラムがインストールされていない場合でも)任意のファイルをシードできます。これは、このマルウェアをさらに拡散させる方法として使用される恐れがあります。「DDoS攻撃の実行」コマンドを使用すると、攻撃者はユーザーのネットワーク帯域幅を制限し、Webサイトなどの標的とするサービスを利用できなくすることができます。ESETは、これがGoBotKRボットネットの主要な目的である可能性が最も高いと分析しています。回避のための手法このセクションでは、GoBotKRバックドアで使用されている回避の手法を見ていきます。一般に公開されているソースコードにはすでに多くの回避手法がありましたが、GoBotKRの作成者は、韓国固有の機能を使って回避手法をさらに拡張しています。これは、攻撃者が特定の標的のためにマルウェアをカスタマイズしている一方で、攻撃が検出されないように労力を費やしていることを示しています。GoBot2で利用されていた手法GoBotKRで使用されている次の検出および分析回避のための技法は、GoBot2ソースコードから採用されています。このマルウェアは、システムに自身の2つのインスタンスをインストールします。2番目のインスタンス(監視ツール)は、最初のインスタンスがまだアクティブであるかどうかを監視し、システムから削除された場合は再インストールします。このマルウェアは、ウイルス対策ツールの回避手法を採用しています(大量のメモリを割り当て、悪意のあるペイロードの実行を遅延させて、リソースの制約によって、ウイルス対策エンジンがコードをエミュレートできなくします)。マルウェアは、デバッガなどの一部のセキュリティおよび分析ツールを検出できます。検出した場合は、自身を終了します。ユーザーのIP情報がいくつかのブラックリストに記載されている組織(Amazon、BitDefender、Cisco、ESETなど)を示している場合、マルウェアは自動的に終了します。API機能を使用するのではなく、IP情報をクエリするために外部の正規のWebサイトを使用し、この情報にあるハードコードされた文字列を検索します(例:cloud、Cisco、Microsoftなど)。マルウェアのファイル名が32個の16進文字で構成されている場合、マルウェアは自身を終了させ、ペイロードが一部のサンドボックスで自動的に実行されるのを防ぎます。韓国を対象としたGoBotKRの固有の変更GoBotKRの作成者は、韓国ユーザーへの攻撃に注力するために、次の3つの新しい回避手法を追加しています。前のセクションで説明したように、このマルウェアは乗っ取ったコンピュータのIP情報から、ブラックリストに登録されているいずれかの組織で実行されているかどうかを検出します。ServicesまたはdnsDynamicにアクセスし、その返信を解析することによって決定されます。分析したGoBotKRの検体では、これらのURLは韓国のオンラインプラットフォームNaverおよびDaumに置き換えられています。GoBotKRは、セキュリティを侵害したシステムで実行中のプロセスをスキャンして、特定のウイルス対策製品を検出する新しい回避方法を採用しています(表1を参照)。いずれかの製品が検出された場合、マルウェアは自身を終了させ、自分の活動の痕跡をホストから削除します。検出されるプロセスの一覧には、韓国のセキュリティ会社、AhnLabの製品が含まれています。マルウェアはシステムで実行されている分析ツールを検出します。対象の分析ツールのいずれかが検出されると、マルウェアは自身を終了します。このリストには「ahnNames」という名前が付けられていますが、これは、韓国のセキュリティ企業であるAhnLabを示している可能性があります。図2:実行されているプロセスについてこのマルウェアが設定しているブラックリストは、「ahnNames」と命名されているこのマルウェアから取得したメタデータから、AhnLabのリファレンスの他に、2)と3)で説明した防御手法がAhnLab.goというファイルとしてソースコードに追加されています。タイムラインこのマルウェアはトレントを介して拡散しているため、検体の多くが破損しているか不完全なものでしたが、このマルウェアのC&Cサーバーと内部のバージョン情報を特定することができました。このマルウェアが最初に検出されてから、ESETはマルウェアのバージョン2.0、2.3、2.4、および2.5の検体を検出しています。これらの各バージョンには、いくつかの軽微な技術的な改善が加えられていたり、実装方法が変更されていたりします。バージョン管理は、GoBot2のソースコードで使われているものとは異なり、「ArchDuke」という名前が内部で使用されています。表2に、2018年5月からこのブログを執筆するまでにESETのシステムによって検出されたGoBotKRのバージョンを示します。PEタイムスタンプは検体から削除されているため、このタイムラインにはマルウェア内部にあるバージョン情報と検出日を記載しています。https://kingdomain[.]site:6556/表2:GoBotKRバージョンのタイムライン表2に示すように、2018年5月に検出された最初のマルウェアの検体は、まだ韓国ユーザーを標的にするためのカスタマイズが行われておらず、GoBot2のソースコードとほぼ同じでしたが、同じC&Cサーバーが使用されていることから、これらの検体を新しい検体と関連付けることができました。安全な環境を維持するためにこのマルウェア攻撃を受けた可能性があると思われる場合には、信頼性の高いセキュリティ製品を使用してコンピュータをスキャンすることをお勧めします。ESET製品は、このマルウェアをWin64/GoBot2(検出名)として検知してブロックします。ESETの無料オンラインスキャナを使用すると、この脅威がお使いのコンピュータに存在しているかどうかを確認でき、検出された場合にはすべて削除できます。既存のESETのお客様は自動的に保護されます。トレントサイトを介して配信される海賊版の違法コンテンツは、あらゆる種類のマルウェアを拡散させるために利用されている一般的な手段です。将来的に同様の攻撃を受けないようにするには、コンテンツをダウンロードするときには正規のサイトを利用してください。ダウンロードしたファイルを起動する前に、拡張子が適切なファイルタイプになっているかどうか注意してください。コンピュータを常に保護するためには、定期的にパッチを適用し、信頼できるセキュリティソフトウェアを使用することをお勧めします。IoC(セキュリティ侵害の痕跡情報)ESETの検出名Win64/GoBot2C&Cサーバーjtbcsupport[.]sitekingdomain[.]sitehigamebit[.]combitgamego[.]comhelloking[.]siteSHA-1マルウェアの検体の中には、拡散の仕組み(トレント)により破損している場合があります。2.3018927A35B2CEC08D5493CB75BAA62D6956D0109063C462E98453AD6E4091A5AB35613CAF19DF415082A026BD14F69AF46641ABF20520B3D2D0D6E6A084A7E6B7DD955554FCED021DF58458C7E66EBB2097248EB38277DA879F5D606179C746DB6BB2C540DBA9DDBBB12FA4FE22CD4EE16EF8DCC73B7D2950E9D0C1A82DFB53DF9BB8B75D3A90B22367044980F4BB3FC6771D306565E1002B3327A9F2AED92AF14129424593DC8B1865F491A9CA92BE753B2A7F016703AE741257EAF2EC76E097D17F379E3FCB29D1BE6DB3F30B41A8777819C9D04056923C74E052E1C4FDDDBB8402D3A1E70E5DCD4C0187C6F55ABA31F966B8540CF9716640DF39FA0B97FBA62200C1F1FCE2D1735C226DC688EC191B18EF773D0B518302145B398927E056AFEA963CCEE39D60760F4FD212172B67E6E17944C74468634C1BB52269187D633227198CB1BB02601E6E707892DC50CB9F11D1C6225E43D900CD7AA89A209F97CC8B1E718B2E98F6B2B0D9C7D0D9C847822283EBCB7D4E650A5DC81042C4B970778D8F4441EB93DA34A279E7A678E370A2F6320819D541AE804873EA5AD3E93C0B21028F32F635862C92A31CE39F87262D77FC022810F40D331AE67F632FC6B278BD6D50D298585BF53A844DB3356BFD26189533E8E77BFC6E59A5ED25F6BE1E2354D5135660292C9D4DD5C394ECAAC5DC3719D8A37902317F4B751C80C4404F6FC6A831602B9B5403918E9F79C154F6031DA52A21F1F7477715B28BC3B0B403BAFC72FD86EEC6474886AA7233083888F3DD1A7A8533676FD471C69AD39DCEE0FBBE7E1FD4186AECA8B229B51EFD559E7B839E669374673AD426D064FDBB9AFB694F67F37942BBBD0C2E4AD6942C4F415580B0EB17E139E92A2DA111BF6CCAF7F446C3F1EFB3A44FEA98F23AEBBC925DD0C330BE64596E0D116A511E204A57877538EA26D174E269E46D398B78C2DFF0118100B6507F049E867E5195F4709995AC0FB5F32129AAD235755A8BEB9B355ED47918740BA72FD3857F209069D6674AF8EFD411B49A56E7A0BCF3538555078BFFA7DDBB60ADF0DDE4C3D825798056EEF7E3FE33BDA777F9E70D4E7D44F4781B24879DF51652DF3FB24F156F76F78B3764F6E7EA69CD44E5065EAD8655BC4105375D33A065B96C0349C07D6B37F1D3EC9F792CB5848FC48C65CD88B03821C3B84D7397D166233A15C0041B38B5D93972D0352DF08DC06FF5AF120B328654B272F5E7BEB4E8A35B234D263DDE0AED33C6C9A0D1D5760CA70EDA899EE58AD419F513F5FB279B89C87A460D3445A6A15C8396356AC6F9807965A8E7BFA6760F638CAD3116DB2FE580C31800A66836D53498664FC3A6B5F0FA745D66DC66ED2FBC75A7C71C747660C360B3DF4354FDAFA6454B7E19588FFE296E16D90CC4FF3A7F91FDFD904E73CDE3351F14EA8286FC19EB46CAFC1A18F99119EB7353DE116F1BDFD718957E417194A6EBD3B55C77AB3EB405E30257B734F33BCDBF062DDEA90B2B89AF5DC4F0B2925947688C3DCD43605BDC5E3AED03F6D87E18AEAC9AC779366C5B356383A2286441EB84140C13000510C7CD7334FC7CE9701A7C4FE091CC3EC01D07363D97DF8023457D50FF9F66CDB4C914206A163BD17137F95715B0BF80B7BBECC757D613084D76334101C830F1387DFEC3D7F8D5678EED8A7C45C76B5DBE68368E9DEAE2F880D37232E57240CA893472C8BD38AFECBF940273C979D01856E1332EFF6EFE24D09900E1C9666EECACA47DD59D908EED5480CF929539166AB0420C9223F23AC5C4EC5503F75505E577094D723C409EF4C4308113F3DBB3CB7E1084C3E12966B722D6180AC774CFF51CFD20A1C1B966E3F4398826BC207F1914867572561B4E0643DBE8FD8E49DD65F76AAF739AEF7EB9D4601ED366B3B48B1219E6E772E41F452ED695310BCFA2B88429F12100A9EDA0E8C2F0EDE283DC1457E4967002BDF3D376FA9A0A33466B54A5617F986F6B160E10C5B8D81DAAEF7725E9B945C7BCCCD7A23B1C1C1E40EEAC774B052FC4D36F40C225397127EFB31628E8B96DC48B563B60ED58C99199CCAB44496F858A5D42E54E7B56A6FB4EC95793407752294782EF914EF497C8FB57736D4F14F4E157D23C14E627A817A03C2DE24B703848F4BC390E3E9516E3E4C746AD7C616FF96B8F46453C1E5C03DAD1C07AB8705BE3E4F4224D2BB7438119A8A2F79CF06BDAA14D8CACA57E05B17BB89551AA131832395B1589C0E25D3F013A22A24BCD2027681DD5628F0741B79B1D7C2AC4573D8E2BD3859586D4C1701498EEFD05BB2E016848CE95DBF42743314770340DDB5C80F22F39C6E07F74252BFCB367868E4CFBA880E41B37241E089382F424CC0B5CE4D03AED769DCCD5BA2BB5296C7D9F55F68C13BED8DADA964EBF2A88786715FF83F0A1A8BCACBA77FE9FA0759AE0CD073D3B126F73BEB340814CC98D9E90B7DA6E314434A246653B718ABF72FBBCD880876565DF58EAFC033C0D207E2B2613F8C0DCE1B68F65E2CC9A060996E58101B80C907C63377D1D603E24FD82B6BE32B99A25A86F6CD46F3A8AFD7423A1F56FFF460031419856FE4F7C557E1A2BFD8ACB99F04A5EC3E355B947885E02977D6C37AF0DA6603AC6CB47A3C448CB232EB0116BD62C7B7E4DD1E3544F8363517556A91EBA40E85EE3638528EDE5F6E4F559BD9FD716271AA35AFF961DF620B84DEEC9543303C8211AD2C781F4AA936EFC191F64FDFF022EC8223676E0D792DD126EE91B0D3059C4CE22D6F80F0FA05446D3AF7D57EB920BA89DBEE9EE31ABA7D0BBE49F7E66BD04379BC4837A7C91E46E3204213E526C6ED3F8BE49D8E493DB5E92EC52AE51519CF8C9522B4266D7CFC7125AF111DB259E7E6AB36FE3BBDE63B28BFDF27D8890048FEA1E66DE95A1D9E57821EBA66B421A587A014EB297DE69FEA2BB07BB8AD5BFE1F0E92AD7B64D960600924C9EBB140CDF75386E0FA7746910EB6596323184A7FEDFA500254F315407783F302E85A27D8C802E4F8EE8198049EBE16E2BA86163361FE4B5F7768FA2EF0C6B2DEAB37A6BF78E4DF66FC4DD538F5658F6AF15ED7BE791A2DD2446A7EF5DF748ACB474C0E98F3DD44C8FC41D466685D8F3B9D3EA59C479230B6F8353AB3D4D6575FD68BE1ECCF6446A5100925C9FA22EB25A1FCBD26D5E6B88B464B61BCC4B303C2FAEE079AABB92B4C887BA3FBEE4D1D63732D72A3FD37E55481C7941B420950B0979586BDE2BA6B8AFFD169CBB8E6DC9F1465AC82DDDC4C99AB59C619バージョン2.4896FB40BACBF8B51A06AAF49523DE720D1C21D53A997A5316D4936F70CDF697DF7E65796CE11B607バージョン2.527ED3426EA5DB2843B312E476FFFCF41BA4FDD31C4074FCC7A600707ADCAF3DD5C0931E6CBF01B48レジストリ値GoBotKRによって使用されるレジストリキーは、[HKCU\SOFTWARE]にあるサブコードであり、ハードコードされたリストの変数名が設定されており、多くの場合、正規のソフトウェア名を模倣しています。以下のレジストリ値が使用されます。GoBotKRは、ゲームまたは韓国の映画/テレビシリーズを使用してユーザーを誘引し、トレントファイル共有Webサイトから韓国ユーザーに配布されています。GoBotKRはcmd.exeを使用してコマンドを実行します。GoBotKRはスクリプトをダウンロードして実行できます。GoBotKRは、ユーザーにクリックさせるため、マルウェアをユーザーがダウンロードしようとしているトレントコンテンツのように偽装します。GoBotKRは、常駐するため、レジストリ実行キーの下に自分自身をインストールします。GoBotKRは、マルウェアを常駐させるためにレジストリ実行キーを追加するタスクをスケジュールします。GoBotKRはbase64を使用し、文字列、コマンド、およびファイルを難読化します。GoBotKRはnetshを使用してローカルファイアウォールルールの例外を追加できます。GoBotKRは、Hidden(非表示)とSystem(システム)属性が設定されたファイルに自分自身を格納します。GoBotKRは、ファイルがインターネットからダウンロードされたことを隠蔽するために、ファイルのADS(代替データストリーム)からゾーン識別子を削除します。GoBotKRは、正規のソフトウェアに関連付けられているファイル名とレジストリキー名を使用します。GoBotKRはその構成データをレジストリキーに格納します。GoBotKRは、タスクマネージャ、レジストリエディタ、およびコマンドプロンプトを無効にするようにレジストリキーを変更できます。GoBotKRはbase64を使用し、文字列、コマンドおよびファイルを難読化します。GoBotKRは、自身の2つ目のコピーをシステムにインストールします。セカンドコピーはプライマリコピーを監視しており、プライマリコピーが削除されると、再インストールします。GoBotKRは、サンドボックスでのエミュレートまたは実行を回避するために、乗っ取ったマシン上でいくつかのチェックを実行します。GoBotKRは、セキュリティ製品およびデバッグツールに関連するプロセスをチェックし、検出された場合は自分自身を自動的に終了します。GoBotKRは、wmic、systeminfoおよびverコマンドを使用して、システムとインストールされているソフトウェアに関する情報を収集します。GoBotKRは、netshとipconfigを使用してネットワーク構成に関する情報を収集します。クライアントのIPアドレスを取得するためにNaverとDaumポータルを使用しています。GoBotKRはwhoamiを使用して、攻撃したユーザーに関する情報を取得します。GoBotKRは、攻撃したユーザーの権限レベルを判断するためにテストを実行します。GoBotKRは、乗っ取ったシステムの日時を取得できます。GoBotKRは、クラウドストレージサービス(Googleドライブ、Dropbox、OneDrive)のパブリックフォルダに自分自身をコピーしようとします。乗っ取ったマシンのトレントで悪意のあるファイルをシードするように仕向けることによって、自身を拡散できます。GoBotKRは自分自身をリムーバブルメディアにドロップでき、ユーザーが別のシステムでリムーバブルメディアを開くと、Autorunを使用して悪意のあるファイルを実行します。GoBotKRはスクリーンショットをキャプチャすることができます。GoBotKRは、プロキシサーバーとして使用できます。C&Cサーバーとの通信はbase64でエンコードされます。GoBotKRは追加ファイルをダウンロードして自身を更新できます。GoBotKRはC&Cサーバーとの通信にHTTPまたはHTTPSを使用します。GoBotKRは、C&Cとの通信に6446、6556、および7777などの標準ではないポートを使用します。GoBotKRは、エンドポイントDDoS攻撃(TCPフラッドやSYNフラッドなど)を実行するために使用されています。GoBotKRは、ネットワークDDoSを実行するために使用されています。乗っ取ったコンピュータのネットワーク帯域幅を利用して、トレントでシードしたりDDoSを実行したりできます。