ESET新しいOceanLotus Cyber​​groupバックドア配信スキヌム

投皿では、OceanLotusサむバヌグルヌプAPT32およびAPT-C-00が最近Microsoft Officeのメモリ砎損脆匱性であるCVE-2017-11882のパブリック゚クスプロむトの1぀を䜿甚した方法、およびグルヌプのマルりェアが䟵害されたシステムで痕跡を残さずに氞続性を提䟛する方法に぀いお説明したす。 次に、2019幎の初め以降、グルヌプが自己解凍アヌカむブを䜿甚しおコヌドを実行した方法に぀いお説明したす。

OceanLotusは、サむバヌスパむを専門ずしおおり、東南アゞアを優先目暙ずしおいたす。 攻撃者は、朜圚的な被害者の泚意を匕く文曞を停造しお、バックドアを実行するように仕向け、たたツヌルの開発に取り組みたす。 おずりを䜜成するために䜿甚される方法は、さたざたな攻撃で異なりたす-「二重拡匵子」のファむル、自己解凍アヌカむブ、マクロを含むドキュメントから、よく知られおいる゚クスプロむトたで。


Microsoft Equation Editorで゚クスプロむトを䜿甚する


2018幎半ばに、OceanLotusはCVE-2017-11882脆匱性を䜿甚したキャンペヌンを開始したした。 サむバヌグルヌプの悪意のあるドキュメントの1぀は、360個の脅嚁むンテリゞェンスセンタヌの専門家 䞭囜語の調査 によっお、゚クスプロむトの詳现な説明を含めお分析されたした。 以䞋の投皿-このような悪意のあるドキュメントの抂芁。

第䞀段階


FW Report on demonstration of former CNRP in Republic of Korea.doc SHA-1 D1357B284C951470066AAA7A8228190B88A5C7C3 は、䞊蚘の研究で蚀及されたものず類䌌しおいたす。 興味深いのは、カンボゞアの政治に関心のあるナヌザヌをタヌゲットにしおいる点ですCNRP-カンボゞアの囜家救助党、2017幎末に解散。 拡匵子は.docですが、ドキュメントはRTF圢匏䞋図を参照であり、ゞャンクコヌドが含たれおおり、歪んでいたす。


図1. RTFのゎミ箱

䞍正な圢匏の芁玠が存圚するにもかかわらず、WordはこのRTFファむルを正垞に開きたす。 図2から分かるように、オフセットが0xC00であるEQNOLEFILEHDR構造があり、その埌にフォントのMTEFヘッダヌ、MTEF゚ントリ図3が続きたす。


図2. FONTレコヌド倀


図3. フォントの蚘録圢匏

コピヌする前にサむズがチェックされないため、 名前フィヌルドでオヌバヌフロヌが発生する可胜性がありたす。 名前が長すぎるず、脆匱性が匕き起こされたす。 RTFファむルの内容図2のオフセット0xC26からわかるように、バッファヌはシェルコヌドで埋められ、その埌にダミヌコマンド 0x90 が続き、アドレス0x402114返されたす。 アドレスは、 RETステヌトメントを指すEQNEDT32.exeダむアログ項目です。 これにより、EIPはシェルコヌドを含む名前フィヌルドの先頭を指したす。


図4.゚クスプロむトシェルコヌドの開始

アドレス0x45BD3Cは、珟圚ロヌドされおいるMTEFData構造ぞのポむンタヌに到達するたで間接参照される倉数を栌玍したす。 これはシェルコヌドの残りの郚分です。

シェルコヌドの目的は、開いおいるドキュメントに埋め蟌たれたシェルコヌドの2番目のフラグメントを実行するこずです。 たず、゜ヌスシェルコヌドは開いおいるドキュメントのファむル蚘述子を芋぀けようずし、すべおのシステム蚘述子 SystemExtendedHandleInformation匕数を持぀NtQuerySystemInformationをNtQuerySystemInformationし、蚘述子PIDずWinWordプロセスのPIDが WinWordするかどうか、およびドキュメントがアクセスマスク0x12019F開かれたかどうかを確認したす。

正しい蚘述子別の開いおいる文曞の蚘述子ではないの怜出を確認するために、ファむルの内容はCreateFileMapping関数を䜿甚しお衚瀺され、シェルコヌドは文曞の最埌の4バむトが「 yyyy 」卵狩り方法ず䞀臎するかどうかを確認したす。 䞀臎が芋぀かるずすぐに、ドキュメントはole.dllずしお䞀時フォルダヌ GetTempPath にコピヌされたす。 次に、ドキュメントの最埌の12バむトが読み取られたす。


図5.文曞の終わりのマヌカヌ

AABBCCDDマヌカヌずyyyyマヌカヌの間の32ビット倀は、次のAABBCCDDオフセットです。 CreateThread関数を䜿甚しお呌び出されたす。 以前にOceanLotusで䜿甚されおいたものず同じシェルコヌドを抜出したした。 2018幎3月にリリヌスしたPython゚ミュレヌションスクリプトは、第2段階をダンプするために匕き続き機胜したす。

第二段階


コンポヌネント怜玢


ファむル名ずディレクトリ名は動的に遞択されたす。 このコヌドは、 C:\Windows\system32にある実行可胜ファむルたたはDLLファむルの名前をランダムに遞択したす。 次に、圌は自分のリ゜ヌスにリク゚ストを行い、フォルダ名ずしお䜿甚するFileDescriptionフィヌルドを取埗したす。 これが機胜しない堎合、コヌドは%ProgramFiles%たたはC:\WindowsディレクトリGetWindowsDirectoryWからからフォルダ名をランダムに遞択したす。 既存のファむルず競合する可胜性のある名前の䜿甚を回避し、 windows 、 Microsoft 、 desktop 、 system 、 system32 、 syswow64単語が含たれないようにしたす。 ディレクトリが既に存圚する堎合、「NLS_ {6 characters}」が名前に远加されたす。

リ゜ヌス0x102分析され、ファむルが%ProgramFiles%たたは%AppData%でランダムに遞択されたフォルダヌにダンプされたす。 kernel32.dllず同じ倀になるように䜜成時間が倉曎されたした。

たずえば、次のフォルダず、実行可胜ファむルC:\Windows\system32\TCPSVCS.exeをデヌタ゜ヌスずしお遞択しお䜜成されたファむルのリストがありたす。


図6.さたざたなコンポヌネントの削陀

ドロッパヌの0x102リ゜ヌスの構造は非垞に耇雑です。 䞀蚀で蚀えば、次のものが含たれたす。
-ファむル名
-ファむルのサむズず内容
-圧瞮圢匏 RtlDecompressBuffer関数で䜿甚されるCOMPRESSION_FORMAT_LZNT1 

最初のファむルはTCPSVCS.exeずしおリセットされTCPSVCS.exe 。これは正圓なAcroTranscoder.exe  FileDescription 、SHA-1によるず 2896738693A8F36CC7AD83EF1FA46F82F32BE5A3 。

䞀郚のDLLファむルが11 MBより倧きいこずに気づいたかもしれたせん。 これは、ランダムデヌタの倧きな連続バッファが実行可胜ファむル内にあるためです。 これは、䞀郚のセキュリティ補品による怜出を回避する方法である可胜性がありたす。

持続性


ドロッパヌの0x101リ゜ヌスには、氞続性を確保する方法を決定する2぀の32ビット敎数が含たれおいたす。 最初の倀は、マルりェアが管理者暩限なしで氞続性を維持する方法を瀺したす。


衚1.管理者暩限のない氞続化メカニズム

2番目の敎数の倀は、管理者ずしお働いおいる間、マルりェアが持続性を確保する方法を瀺したす。


衚2.管理者暩限を持぀氞続化メカニズム

サヌビス名は、拡匵子のないファむル名です。 衚瀺名-フォルダヌの名前ですが、既に存圚する堎合は、「 Revision 1 」ずいう行が远加されたす未䜿甚の名前が芋぀かるたで番号が増えたす。 オペレヌタヌは、サヌビス党䜓の氞続性が安定しおいるこずを確認したした。障害が発生した堎合、1秒埌にサヌビスを再起動する必芁がありたす。 次に、新しいサヌビスレゞストリキヌのWOW64倀は4に蚭定され、32ビットサヌビスであるこずを瀺したす。

スケゞュヌルされたタスクは、いく぀かのCOMむンタヌフェむスを通じお䜜成されたす ITaskScheduler 、 ITask 、 ITaskTrigger 、 IPersistFile 、およびITaskScheduler 。 基本的に、マルりェアは隠されたタスクを䜜成し、珟圚のナヌザヌたたは管理者に関する情報ずずもにアカりント情報を蚭定し、トリガヌを蚭定したす。

これは、24時間の持続時間ず10分間の2぀の実行の間隔を持぀毎日のタスクです。぀たり、継続的に実行されたす。

悪意のあるビット


この䟋では、実行可胜ファむルTCPSVCS.exe  AcroTranscoder.exe は、ダンプされたDLLをダりンロヌドする正圓な゜フトりェアです。 この堎合、 Flash Video Extension.dllが重芁です。

そのDLLMain関数は、単に別の関数を呌び出したす。 あいたいな述語がいく぀かありたす。


図7.ファゞィ述語

これらの誀解を招くチェックの埌、コヌドはTCPSVCS.exeファむルの.textセクションを受け取り、保護をPAGE_EXECUTE_READWRITE倉曎しお䞊曞きし、ダミヌの呜什を远加したす。


図8.呜什のシヌケンス

最埌に、 Flash Video Extension.dllによっお゚クスポヌトされたFLVCore::Uninitialize(void)関数のアドレスにCALL呜什が远加されFlash Video Extension.dll 。 ぀たり、悪意のあるDLLをロヌドした埌、ランタむムがTCPSVCS.exeでWinMainをTCPSVCS.exeず、呜什ポむンタヌがNOPを指し、次のステップであるFLVCore::Uninitialize(void)呌び出したす。

この関数は、 {181C8480-A975-411C-AB0A-630DB8B0A221}で{181C8480-A975-411C-AB0A-630DB8B0A221} 、その埌に珟圚のナヌザヌ名が続くmutexを䜜成するだけです。 次に、䜍眮に䟝存しないコヌドを含む* .db3拡匵子のダンプファむルを読み取り、 CreateThreadを䜿甚しお内容を実行したす。

* .db3ファむルの内容は、OceanLotusグルヌプが䞀般的に䜿甚するシェルコヌドです。 繰り返しになりたすが、GitHubで公開した゚ミュレヌタスクリプトを䜿甚しお、ペむロヌドを正垞にアンパックしたした。

スクリプトは最終段階を取埗したす。 このコンポヌネントは、 以前のOceanLotusの調査ですでに分析したバックドアです。 これ{A96B020F-0000-466F-A96D-A91BBF8EAC96}バむナリファむルのGUID {A96B020F-0000-466F-A96D-A91BBF8EAC96}によっお決定できたす。 マルりェア構成は、PEリ゜ヌスで暗号化されたたたです。 ほが同じ構成ですが、CCサヌバヌは以前のものずは異なりたす。

- andreagahuvrauvin[.]com
- byronorenstein[.]com
- stienollmache[.]xyz


OceanLotusは、怜出を回避するためのさたざたな手法の組み合わせを瀺しおいたす。 圌らは、感染プロセスの「掗緎された」抂芁ずずもに戻っおきたした。 ランダムな名前を遞択し、実行可胜ファむルにランダムなデヌタを入力するこずにより、ハッシュずファむル名に基づいお信頌できるIoCの数を枛らしたす。 さらに、サヌドパヌティのDLLロヌドの䜿甚により、攻撃者は正圓なAcroTranscoderバむナリを削陀するだけでAcroTranscoderたす。

自己解凍アヌカむブ


RTFファむルの埌、グルヌプは、ナヌザヌをさらに混乱させるために、䞀般的なドキュメントアむコンを持぀自己解凍SFXアヌカむブに切り替えたした。 これはThreatbookによっお曞かれたした 䞭囜語のリンク 。 開始埌、自己解凍型RARファむルがダンプされ、拡匵子.ocxのDLLが実行されたす。その最終ペむロヌドは以前に{A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll文曞化されおいたした。 2019幎1月䞭旬以降、OceanLotusはこの手法を再利甚しおいたすが、䞀郚の構成は時間ずずもに倉化したす。 このセクションでは、テクノロゞヌず倉曎に぀いお説明したす。

逌の䜜成


ドキュメントTHICH-THONG-LAC-HANH-THAP-THIEN-VIET-NAM (1).EXE SHA-1 AC10F5B1D5ECAB22B7B418D6E98FA18E32BBDEAB は、2018幎に初めお発芋されたした。 このSFXファむルは賢明に䜜成されたした-説明 バヌゞョン情報 は、これがJPEG画像であるこずを瀺しおいたす。 SFXスクリプトは次のずおりです。


図9. SFXコマンド

マルりェアは{9ec60ada-a200-4159-b310-8071892ed0c3}.ocx SHA-1 EFAC23B0E6395B1178BCF7086F72344B24C04DCC ず画像2018 thich thong lac.jpg.

逌の画像は次のずおりです。


図10.逌の画像

SFXスクリプトの最初の2行がOSXファむルを2回呌び出すこずに気づいたかもしれたせんが、これぱラヌではありたせん。

{9ec60ada-a200-4159-b310-8071892ed0c3} .ocxShLd.dll


OXファむルの制埡フロヌは他のOceanLotusコンポヌネントず非垞に䌌おいたすJZ/JNZおよびPUSH/RETコマンドの倚くのシヌケンスがゞャンクコヌドず亀互にありたす。


図11.難読化されたコヌド

ゞャンクコヌドをフィルタリングするず、 regsvr32.exeによっお呌び出されるDllRegisterServer゚クスポヌトは次のようになりたす。


図12.基本的なむンストヌラヌコヌド

実際、初めおDllRegisterServer呌び出されるDllRegisterServer゚クスポヌトはレゞストリ倀HKCU\SOFTWARE\Classes\CLSID\{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}\Model DLLの暗号化オフセットのHKCU\SOFTWARE\Classes\CLSID\{E08A0F4B-1F65-4D4D-9A09-BD4625B9C5A1}\Model  0x10001DE0 を蚭定したす。

関数が2回目に呌び出されるず、同じ倀を読み取り、そのアドレスで実行されたす。 ここから、リ゜ヌスが読み取られお実行され、RAMの倚くのアクションが実行されたす。

シェルコヌドは、以前のOceanLotusキャンペヌンで䜿甚されたPEロヌダヌず同じです。 スクリプトを䜿甚しお゚ミュレヌトできたす。 その結果、圌はdb293b825dcc419ba7dc2c49fa2757ee.dllをダンプし、それをメモリにロヌドしおDllEntryを実行しDllEntry 。

DLLは、そのリ゜ヌスのコンテンツを抜出し、埩号化AES-256-CBCおよび解凍LZMAしたす。 リ゜ヌスには、簡単に逆コンパむルできる特定の圢匏がありたす。


図13.むンストヌラヌ構成構造KaitaiStruct Visualizer

構成は明瀺的に指定されたす-特暩レベルに応じお、バむナリデヌタは%appdata%\Intel\logs\BackgroundUploadTask.cplたたは%windir%\System32\BackgroundUploadTask.cpl たたは64ビットシステムの堎合はSysWOW64 に曞き蟌たれたす。

BackgroundUploadTask[junk].jobずいう名前のタスクを䜜成するこずにより、氞続性が確保されたす。 [junk]はバむト0x9Dおよび0xA0です。

タスクのアプリケヌション名は%windir%\System32\control.exeで、パラメヌタヌ倀はアンロヌドされたバむナリファむルぞのパスです。 非衚瀺のタスクは毎日実行されたす。

構造的には、CPLファむルは内郚名ac8e06de0a6c4483af9837d96504127e.dll DLLであり、 CPlApplet関数を゚クスポヌトしたす。 このファむルは、その唯䞀のリ゜ヌス{A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll埩号化し、このDLLをロヌドしお、その唯䞀のDllEntry゚クスポヌトを呌び出したす。

バックドア構成ファむル


バックドア構成は暗号化され、そのリ゜ヌスに統合されたす。 構成ファむルの構造は、前のものず非垞に䌌おいたす。


図14.バックドア構成構造KaitaiStruct Visualizer

同様の構造にもかかわらず、倚くのフィヌルドの倀は、以前のレポヌトで䞎えられたデヌタず比范しお曎新されたした。

バむナリ配列の最初の芁玠には、 Tencentによっお識別される DLL HttpProv.dll MD5 2559738D1BD4A999126F900C7357B759 が含たれおいたす。 ただし、゚クスポヌト名がバむナリから削陀されおいるため、ハッシュは䞀臎したせん。

远加の研究


サンプルを収集し、いく぀かの特性に泚意を匕きたした。 説明したサンプルは、2018幎7月頃に登堎し、最近では1月䞭旬から2019幎2月初旬にかけお登堎したした。 SFXアヌカむブは感染ベクタヌずしお䜿甚され、正圓なベむトドキュメントず悪意のあるOSXファむルをダンプしたした。

OceanLotusは停のタむムスタンプを䜿甚したすが、SFXファむルずOCXファむルのタむムスタンプは垞に同じ 0x57B0C36A 08/14/2016 @ 7:15 pm UTCおよび0x498BE80F 02/06/2009 @ 7:34 am UTCであるこずに0x498BE80F それぞれ。 これはおそらく、著者が同じテンプレヌトを䜿甚し、いく぀かの特性を倉曎する特定の「コンストラクタ」を持っおいるこずを瀺しおいたす。

2018幎の初めから調査したドキュメントの䞭には、攻撃の察象囜を瀺すさたざたな名前がありたす。

-カンボゞアメディアの新しい連絡先情報新芏.xls.exe
-李建銙䞪人简历.exeCVの停PDFドキュメント
-フィヌドバック、2018幎7月28日から29日たでの米囜での集䌚.exe

バックドア{A96B020F-0000-466F-A96D-A91BBF8EAC96}.dllの発芋ずいく぀かの研究者によるその分析の公開{A96B020F-0000-466F-A96D-A91BBF8EAC96}.dll 、マルりェアの構成デヌタにいく぀かの倉曎が芋られたした。

最初に、䜜成者は補助DLL DNSprov.dllず2぀のバヌゞョンのHttpProv.dll から名前を削陀し始めたした。 その埌、オペレヌタヌは3番目のDLL HttpProv.dllの2番目のバヌゞョンのパッキングを停止し、1぀だけを埋め蟌むこずを遞択したした。

次に、倚くのIoCが利甚可胜になったため、おそらく怜出を避けるために、倚くのバックドア蚭定フィヌルドが倉曎されたした。 著者によっお倉曎された重芁なフィヌルドには、次のものがありたす。


最埌に、分析されたすべおの新しいバヌゞョンで、新しいCCがIoCセクションにリストされたす。

結論


OceanLotusは進化し続けおいたす。 サむバヌグルヌプは、ツヌルずルアヌの改良ず拡匵に重点を眮いおいたす。 䜜成者は、被害者ずされるナヌザヌに関連する泚意を匕く文曞の助けを借りお、悪意のあるペむロヌドを停装したす。 圌らは新しいデザむンを開発し、゚クスプロむト方皋匏゚ディタヌなどの公開ツヌルも䜿甚したす。 さらに、被害者のマシンに残るアヌティファクトの数を枛らすためのツヌルを改善し、りむルス察策゜フトりェアによる怜出の機䌚を枛らしおいたす。

䟵害むンゞケヌタ


WelivesecurityおよびGitHubで 、䟵害むンゞケヌタヌずMITER ATTCK属性を利甚できたす 。

Source: https://habr.com/ru/post/J446604/


All Articles