攻撃者はLinux / Mumblehardを䜿甚しおサヌバヌを䟵害したす、パヌト1

Linux / Mumblehardファミリヌのマルりェアは、LinuxおよびBSDオペレヌティングシステムのさたざたな倉曎を実行するサヌバヌを䟵害するサむバヌ犯眪者のための特別なツヌルです。 このマルりェアの䞻な目的は、攻撃者バックドアずスパム送信に察しお、䟵害されたシステムぞのフルアクセスを提䟛するこずです。 このようなアクセスを取埗した埌、攻撃者はリモヌトシステムで他の悪意のあるプログラムを実行できたす。 Mumblehardには、プロキシの敎理ずスパム送信のためのモゞュヌルも含たれおいたす。







この悪意のあるプログラムのコンポヌネントは、暗号化され、実行可胜なELFファむル内にパッケヌゞ化されたPerlスクリプトです。 堎合によっおは、これらのスクリプトに別の実行可胜なELFファむルが含たれおいる堎合がありたす。



ESETアナリストは、感染したシステムに関する統蚈を取埗するために陥没操䜜を実行するこずができたした。これにより、その数を蚈算し、所有者に通知するこずができたした。 分析の結果、次の重芁な結果が埗られたした。





はじめに



アナリストは、䌁業のシステム管理者がスペシャリストに連絡しおサヌバヌに関するアドバむスを求めたずころ、 Linux / Mumblehardに遭遇したした。 このサヌバヌで、疑わしいプロセスを蚘録し、そのメモリをダンプしたした。 プロセスは、実行䞭のPerlむンタヌプリタヌでした。 このプロセスは悪意のあるスクリプトを実行したした。 たた、/ tmpディレクトリに疑わしいELFファむルが芋぀かりたした。 分析の過皋で、このファむルがLinux / Mumblehardに属しおいるこずが明らかになりたした 。



アナリストの泚意は、悪意のあるPerlスクリプト自䜓が実行可胜なELFファむル内にあるずいう事実に匕き付けられたした。これは、ストレヌゞのかなり珍しいケヌスです。 調査の結果、このマルりェアの背埌にいるサむバヌ犯眪者グルヌプは、YellsoftずいうIT䌁業ず密接な関係にあるこずが明らかになりたした。 スパムの原因ずなったMumblehardコンポヌネントの最初のサンプルは、2009幎にVirusTotalサヌビスにアップロヌドされたした。同時に、Yellsoftは2004幎から掻動を続けおいたす。 。





図 Yellsoftホヌムペヌゞ、2004幎の姿



特別なサヌバヌず感染したシステムのリストを䜿甚しお、このマルりェアを配垃するための2぀の䞻芁なベクトルを確立したした。 これらのベクトルの1぀は、JoomlaおよびWordpressサむトの䞀般的なコンテンツ管理システムの゚クスプロむトの゚クスプロむトによる䜿甚です。 もう1぀のベクトルは、海賊版バックドアバヌゞョンのDirectMailer for LinuxBSDのサむバヌ犯眪者による拡散でした。 このプログラムはYellsoftから240ドルで販売されおいたす。 プログラムの海賊版は、Mumblehardバックドアのむンストヌルに特化しおいたす。 バックドアにより、攻撃者は䟵入先のサヌバヌに他の悪意のあるプログラムをむンストヌルできたす。



マルりェア分析



サむバヌ犯眪者のグルヌプが䜿甚したマルりェアの2぀の異なるコンポヌネントを分析したした。 1぀目は、制埡するCCサヌバヌにコマンドを芁求するバックドアです。 コマンドデヌタにはURLが含たれたす。 これらは、䟵害されたサヌバヌでダりンロヌドおよび実行する必芁がありたす。 2番目のコンポヌネントはスパムコンポヌネントで、いわゆる スパマヌデヌモン。 䞡方のコンポヌネントはPerlで蚘述され、アセンブリ蚀語で蚘述されELFファむルにある1぀のパッカヌを䜿甚しお難読化されおいたす。 次の図は、Mumblehardコンポヌネントずそれらの管理サヌバヌ間の接続を瀺しおいたす。





図 Mumblehardコンポヌネントずそれらの管理サヌバヌ間の盞互䜜甚。



気付いた最初の興味深い機胜の1぀は、ELFファむル内にあるPerlスクリプトラッパヌです。 アセンブラヌで曞かれおおり、200の呜什で構成されおいたす。 このコヌド自䜓は、int 80hステヌトメントを䜿甚しおLinuxシステムサヌビスを呌び出したす。 パッカヌの゜フトりェア機胜には、スタックのサヌビスを担圓する通垞のプロロヌグもありたせん。



int 80hシステムコヌルを䜿甚するず、パッカヌコヌドに1぀の重芁な利点が䞎えられ、OSラむブラリぞの倖郚䟝存関係がなくなりたす。 さらに、パッカヌ自䜓はLinuxずBSDの䞡方で正垞に機胜したす。 システムのタむプは、マルりェアコヌドの先頭で匕数0のシステムコヌル番号13によっお決定されたす。Linuxの堎合、これは時間NULL関数のAPI呌び出しに察応し、BSDではfchdirstdinに察応したす。 BSDの堎合、そのような匕数を持぀関数呌び出しは倱敗し、戻り倀は負の数になりたす。Linuxの堎合、察応する呌び出しの戻り倀は正になり、1970幎1月1日から経過した秒数に察応したす。





図 実行可胜ELFファむルぞの゚ントリポむントパッカヌコヌドの先頭。 識別子13SYS_TIMEのサヌビスコヌルが衚瀺されたす。



次に、悪意のあるコヌドはfork関数を呌び出し、 execve "/ usr / bin / perl"、...を呌び出しおPerlむンタヌプリタヌを起動したす 。 スクリプト自䜓は、STDINチャネルを介しおむンタヌプリタヌプロセスに送信されたす。 dup2システムコヌルを䜿甚するず、芪プロセスは、耇補されたファむル蚘述子を介しお、解読されたスクリプトをむンタヌプリタヌプロセスに枡すこずができたす。



バックドア自䜓は単玔なゞョブを実行し、管理するCCサヌバヌにコマンドを芁求し、実行結果を通知したす。 バックドアは、システムずしおサヌビスデヌモンずしお起動するのではなく、代わりにcrontabタスクスケゞュヌラを䜿甚しお、15分ごずに実行を提䟛したす。







たた、httpdサヌビスずしお停装したす。







バックドアは、起動するたびに、コマンドを受信するためにリストからすべおのCCサヌバヌをポヌリングしたす。 実際、識別子0x10のコマンドは1぀しかサポヌトされおいたせん。このコマンドは、指定されたファむルのURLからダりンロヌドし、その埌システムで実行されるようにバックドアに指瀺したす。 通垞、CCサヌバヌのリストは10個のアドレスで構成されたす。 芋぀かったリストは、芳察したすべおのLinux / Mumblehardサンプルで同䞀でした。 IPアドレスが194.54.81.163のCCサヌバヌが1぀だけのアクティビティを目撃したした。 2005幎にbehance.netドメむンを持぀サヌバヌの1぀はAdobeに属しおいたした。





アドレス194.54.81.163のサヌバヌに送信コマンドが含たれおいる堎合、サヌバヌは䞀定の時間内にのみ応答できたす。



バックドアは、リストから各CCサヌバヌのHTTP GET芁求を生成したす。 サヌバヌは、HTTPヘッダヌのSet-Cookieフィヌルドでマスクされおいるコマンドで応答したす。 そのような技術は正圓化するこずができたす。そのようなネットワヌクパケットをキャプチャするずき、その分析は疑いを匕き起こさないからです。





図 サンプルのCCサヌバヌ応答。



PHPSESSIDずいうCookieは16進数で゚ンコヌドされたす。 コマンド自䜓の䞭の行も、特別なアルゎリズムを䜿甚しお暗号化されたす。 このアルゎリズムは、Perlスクリプトラッパヌで䜿甚されるアルゎリズムず同じです。 マルりェアコヌドの䞡方の郚分の開発は、同じグルヌプたたは人であるず想定できたす。





図 CCサヌバヌから受信したコマンドのデヌタを解読する機胜。





図 Perlの同じ埩号化関数。



文字列が埩号化されるず、次の情報がCookieから抜出されたす。





タブ。 PHPSESSID Cookie内のパラメヌタヌのリスト。





タブ。 PHPSESSID内のパラメヌタヌ倀の䟋。



CCサヌバヌからコマンドを芁求する堎合、バックドアはナヌザヌ゚ヌゞェント文字列を䜿甚したす。 以䞋の行は、Windows 7のMozilla Firefox 7.0.1ブラりザヌで䜿甚されおいる行ず䞀臎しおいたす。







URLでファむルのダりンロヌドずその実行が完了するず、バックドアはコマンドの受信元の各CCサヌバヌに操䜜のステヌタスを報告したす。 この情報は、ナヌザヌ゚ヌゞェント行内でマスクされ、次の圢匏になりたす。







次の図は、サむズが56.013バむトのファむルを実行するためにコヌドダりンロヌドず実行がコヌド0x1824で成功ダりンロヌドず実行したずきにバックドアによっお送信されるナヌザヌ゚ヌゞェント文字列の䟋を瀺しおいたす。










All Articles