ファむル暗号化トロむの朚銬ずの戊いの歎史-キヌコントロヌルセンタヌぞの旅

はじめに



話は䞀日の始めに電話がかかったずきに始たりたした。 クラむアントの興奮した声は、コンピュヌタヌが読み蟌たれず、ドキュメントが開かず、画面䞊の通垞のデスクトップの代わりに、おおよその意味を持぀脅迫的な碑文があるず蚀いたした「私たちにお金を払えば、デスクトップずドキュメントをあなたに返したす」。 状況は倚くの人によく知られおいたすコンピュヌタヌに別のりィンロックが存圚する可胜性が高いため、ランサムりェアの切断䜜業には最倧で10分かかりたす。



Winlockerを取り倖すために、10分埌には街の反察偎に行きたくなかったので、システムを私に持っおきお、敎理しお返华するこずに同意したした。



システムを入手し、電源を入れたした。 XPを起動したした。 デスクトップが衚瀺されたした-winlockerの兆候はありたせん。䞀芋、すべおが順調です。 しかし、デスクトップから出䌚った最初のドキュメントを開こうずするず、応答で「怖い」メッセヌゞを受け取りたした。



画像



圓然、ランサムりェアトロむの朚銬に最初に出䌚った人ではない人のように、私はこのテキストにかなりの懐疑心を持っお反応したした。 確かに、これはすべお、通垞のプログラムの問題で、拡匵子が.docおよび.xlsのファむルを開くように再構成し、理解できない単語を含むテキストで経隓の浅いナヌザヌを怖がらせるためのものです。 この仮定を怜蚌し、フヌリガンプログラムをキャッチするために、システムリカバリむメヌゞからコンピュヌタヌを起動し、ファむルマネヌゞャヌでCドラむブを開いお、完党に䞍幞な画像を芋たしたロヌカルドラむブ䞊のすべおのファむルが突然M5bFu拡匵を取埗し、その内容はゞェネレヌタヌの結果のように芋えたした乱数。 ファむルの以前の内容のトレヌスはありたせん。



そのため、ファむルが暗号化されたずいうメッセヌゞは玔粋な真実であるこずが刀明したした。 拡匵子がdoc、xls、dbf、avi、jpg、txt、rar、zipのサむズが2ギガバむト未満のすべおのファむルは暗号化されたした。䞀般に、情報の所有者にずっお䟡倀のあるすべおのものが暗号化されたした。 暗号化されたファむルの䞭で-1Cベヌスおよび重芁なドキュメント。 1Cを新しいバックアップから埩元できる堎合、貎重なドキュメントず写真の損倱はクラむアントの健康に倧きな圱響を䞎える可胜性がありたす。 したがっお、遞択の䜙地はありたせんでした-デヌタの埩号化に取り組む必芁がありたした。



ステヌゞ1.暗号化アルゎリズムの怜玢



繰り返したすが、本質的に少し䞍信であるため、メッセヌゞ内の暗号化アルゎリズムの明瀺的な指瀺にもかかわらず、どの暗号化アルゎリズムがファむル内のデヌタを暗号化したかを個別に刀断するこずにしたした突然、すべおが曞かれおいるほど怖くありたせん。 最初に、最も単玔で最も䞀般的な眮換暗号を確認したすCaesarの暗号、XORなど。



分析のために、2぀のdbfファむルを取埗したす。1぀は感染したシステムから暗号化され、もう1぀は新しいバックアップからそのたたで、それらを互いに比范したす。 連続する同䞀バむト、たずえば倀0で満たされた゜ヌスdbfファむルの領域は、プリミティブ眮換暗号を瀺しおいる可胜性がありたす。幞いなこずに、dbfファむルは、栌玍された情報の高密床に違いがなく、それらに倚くのれロバむトがありたす。







この図は、゜ヌスファむルの断片に耇数のれロが連続しお含たれおおり、これらのれロが暗号化されたファむルになったこずを瀺しおいたす。 プレヌンテキストシンボルが同じ暗号グラムシンボルに倉換される単玔なむンラむン眮換暗号は、すぐに消滅したした。 より詳现な分析では、単玔な文字ベヌスのキヌワヌドずプレヌンテキストのXORもここでは行われないこずが瀺されたした。 最終的に、暗号がブロックされおおり、フィヌドバックや賭博がないこずがわかりたした。 ブロック長は16バむトです。



したがっお、トロむの朚銬の䜜成者からのメッセヌゞに瀺されおいるRC6暗号の䜿甚を仮説ずしお受け入れる必芁がありたした。 その埌、仮説が確認されたした。぀たり、暗号化はブロック長16バむトのRC6アルゎリズムによっお実行され、ブロック図に埓っお「ロック」を䜿甚したす。 実装の䜜成者は、16バむト未満の䞍完党なブロックを暗号化するこずさえせず、暗号化せずにそのたた残したした。



したがっお、アルゎリズムは既知です。 残っおいるのはキヌを芋぀けるこずだけです。



ステヌゞ2.キヌ怜玢



キヌを怜玢するには、たず悪意のあるプログラムの本䜓たたはこの本䜓の残りを芋぀けたす。 SYSTEMROOT\ System32ディレクトリには、2぀の「䜙分な」exeファむルがありたす。system.exeずランダムな名前の別の実行可胜ファむルH3w2DWg.exeです。 䞡方のファむルは、システムに感染したトロむの朚銬の䞀郚ですが、怜出時2012幎4月のファむルはどれも、りむルス察策゜フトりェアによっお悪意のあるものずしお認識されたせんでした。 珟時点では、䞀郚のアンチりむルスはTrojan.Encoder.136DrWebたたはWin32 / Filecoder.AFESET-NOD32ずしおトロむの朚銬を正しく認識したすが、ほずんどのアンチりむルスはせいぜいこれはほんの少し疑わしいファむルだず考えおいたす。 ここにvirustotalぞのリンクがありたす。



トロむの朚銬がアンチりむルスによっお認識されない堎合は、自分で分析する必芁がありたす。 hiew32、OlyDbg、および仮想マシンを装備しお、圌は怜死に進みたした。 剖怜により、トロむの朚銬のファむルはパッケヌゞ化も暗号化もされおおらず、Borland Delphiで蚘述されおいるこずが明らかになりたした。 内郚では、暗号化されたaccount.cfg、config.cfg、lock.cfgファむルぞのリンクも芋぀かりたした。これらのファむルは、SYSTEMROOT\ System32にもありたす。 exeファむルの腞でデバッグするこずにより、特定のキヌが32文字の長さ32の文字列「1kv9yha029v9vi71xioa7h812ga811n9」の圢匏でも芋぀かりたした。このキヌを䜿甚しお、トロむの朚銬はlock.cfgファむルを解読したした。

この文字列がどのようにRC6キヌに倉換されるかを理解する必芁がありたす。 RC6キヌの長さは128ビット以䞊です。 最初の詊みずしお、ASCIIコヌドを䜿甚しお各文字を8ビット衚珟に倉換しようずしたす。 その結果、長さ32 * 8 = 256ビットのキヌを取埗したす。 C ++でプログラムを䜜成し、キヌずlock.cfgファむルを入力プログラムに送信したす。 埩号化プロセスを開始したす。 倱敗。 ファむルは埩号化されたせんでした。



残っおいるオプションは䜕ですか 最も長く最も骚の折れる䜜業は、実行可胜ファむルからデバッガヌでキヌを生成するアルゎリズムを匕き出すこずです。 過床の劎力のため、このオプションを最埌の手段ずしお残したした。 代わりに、少し考えお、マルりェアの䜜成者の立堎になっおください。 トロむの朚銬の䜜成者が独自に暗号化アルゎリズムを実装した可胜性は䜎いです。 高い確率で、むルカのアルゎリズムの完成した実装がむンタヌネットからダりンロヌドされたした。 たた、既補のコンパむルされたラむブラリはほずんど䜿甚されたせんでした。それらでは、暗号化アルゎリズムがはるかに良く実装され、16バむト未満のブロックが暗号化されないたたになりたせん。 このトロむの朚銬は孊生のカリキュラムを䜿甚した可胜性が高いず結論付けたした。このカリキュラムの゜ヌスは攻撃者がむンタヌネットから盗んだものです。



Googleに乗り蟌み、キヌワヌドDelphi RC6で䜕かを探したす。 リンクhttp://www.delphi-club.ru/delphi/rc6_encryption.htmlを芋぀けたす 。 ぀たり、Delphi䞊のモゞュヌルであり、ギャミングなしでブロックを䜿甚しおファむルを暗号化し、16バむト未満の最埌のブロックを暗号化せずに残したす。 実装からキヌ生成機胜を取埗し、C ++で曞き換えお、埩号化プログラムをコンパむルしたす。 プログラムに32文字のキヌを入力し、lock.cfgファむルの暗号化を解陀したす。 再び倱敗。



OllyDbgずトロむの朚銬の本䜓にはオプションがありたした。 特に手順自䜓にそれほど時間はかからなかったため、キヌを䜜成するための秘密アルゎリズムを取埗する詳现に぀いおは説明したせん。 秘密は簡単でした。 キヌを含む文字列は、ASCII゚ンコヌディング32文字= 32バむトでファむルのリ゜ヌスから読み取られ、その埌明らかにDelphi自身UTF-16LEに倉換されたした-64バむトが取埗されたした実際には、バむトは単にれロで垌釈されたした。 そしお、この結果はすでに有名な人に提䟛されおいたす。これは、キヌを取埗するためのアルゎリズムであるむルカの゜ヌスコヌドのおかげです。 出力のキヌの長さは512ビットです。



lock.cfgファむルは受信したキヌで正垞に埩号化されたした。 ファむル内には、config.cfgファむルずaccount.cfgファむルのキヌ、hostsファむルを介しおブロックするサむトのドメむン名のリスト、およびトロむの朚銬の意芋で「有害」なプロセスアンチりむルス、ファむアりォヌルのリストがありたす。



account.cfgファむルには、いく぀かの远加キヌ同じ32行の文字列圢匏、Money @ Mail.ruのアカりント番号、誰かの電子メヌルアドレス、感染したコンピュヌタヌに関する情報、その他の小さな情報が含たれおいたした。 config.cfgファむルには、ずりわけ、コンピュヌタヌのIPアドレスがありたした。これは、すべおの兆候から、悪意のあるプログラムの制埡サヌバヌでした。



ただし、悲しいこずに、ファむル内で芋぀かったキヌはいずれも、感染したコンピュヌタヌのディスク䞊のファむルを解読するのに適しおいたせんでした。 攻撃者による別の声明は真実であるこずが刀明したした。ファむルを埩号化するためのキヌは実際にはコンピュヌタヌに保存されおいたせん。 最埌の垌望は残った-悪意のあるプログラムの制埡サヌバヌからキヌを振る。 トロむの朚銬の䜜者からのメッセヌゞによるず、キヌはそこに7日間保存されたすが、この時点でキヌを取埗する必芁がありたす。そうしないず、ファむルを解読できたせん-倧文字ず小文字の数字ずラテン文字の組み合わせから32文字のキヌを遞択するのに数十幎かかりたす。緊急に必芁な文曞。



ステヌゞ3.キヌコントロヌルセンタヌぞ



コントロヌルセンタヌに向かう前に、その操䜜のいく぀かの機胜、぀たり、サヌバヌぞの接続に䜿甚されるトランスポヌトプロトコル、接続が暗号化されおいるかどうか、クラむアントずサヌバヌが盞互にデヌタを亀換する方法を芋぀ける必芁がありたす。 これらの問題を解決するための最も明癜なオプションは、トロむの朚銬をクリヌンなシステムに展開し、管理サヌバヌずのネットワヌク亀換を芳察するこずでした。



クリヌンなオペレヌティングシステムが仮想マシンにむンストヌルされ、WireSharkがメむンマシンで起動され、トロむの朚銬が仮想マシンで起動されたした。 接続はTCPポヌト80を介した暗号化されおいない接続を䜿甚するこずが刀明したした。最初の感染時に、コンピュヌタヌデヌタOS、プロセッサ、メモリがサヌバヌに送信され、远加のトロむの朚銬モゞュヌルがSSLeay dllファむルず同様にサヌバヌからダりンロヌドされたす。 Money@Mail.ruサむトで䜜業したす。



ほずんどの堎合、サヌバヌにコンピュヌタヌデヌタを送信するず、サヌバヌ䞊にコンピュヌタヌアカりントが䜜成されたすこれは、オペレヌティングシステムの再むンストヌルに関するセクションの䜜成者からのメッセヌゞのヒントです。 アカりントずずもに、䞀意のキヌが䜜成され、その埌ハヌドドラむブ䞊のデヌタが暗号化されたす。 このキヌは、取埗する必芁があるものです。



感染したコンピュヌタヌでトロむの朚銬が再起動されるず、管理サヌバヌにも接続したす。 同時に、このトロむの朚銬はコンピュヌタヌに関するデヌタをレポヌトしなくなりたしたが、アカりントにaccount.cfgファむルに保存されおいるキヌを提䟛したす。 感染したコンピュヌタヌの識別子はこのキヌであり、ファむルを解読するためのキヌを受け取るのはこのキヌです。



管理サヌバヌずの亀換の圢匏は、「クラむアントコマンド-サヌバヌ応答」です。 マルりェアの腞を調べお、有効なコマンドのリストを取り出したしたmail、rekey、key、c​​heck_pay、get_masks、ssl、winlockなど。 WireSharkから、クラむアントのコマンドずパラメヌタヌの圢匏を孊びたした。 それは実隓の時間です。 telnetを䜿甚しおサヌバヌに䟵入し、感染したコンピュヌタヌキヌの圢匏のパラメヌタヌを持぀client_infoコマンドを装っお、キヌコマンドを入力したした。これに応答しお、ファむルを解読するための既補のキヌを受け取りたした。



その結果、ディスク䞊のすべおのファむルを埩号化するプログラムをC ++で远加したした。 クラむアントはさらに、自分のすべおのファむルずデスクトップを受け取りたした。



おわりに



私は自分をりむルスアナリストずはたったく考えおいたせん。この堎合、勝利ぞの道のりで、攻撃者のいく぀かの明らかな間違いが助けになったず思いたす。 たず、マルりェアの䜜成者自身がナヌザヌぞのメッセヌゞで倚くの重芁な情報を明らかにしたした。暗号化アルゎリズムずキヌがサヌバヌに保存されおいるずいう事実です。 第二に、サヌバヌずの亀換は、かなり単玔なテキストプロトコルを䜿甚しおオヌプンチャネルを介しお実行されたした。これにより、キヌを取埗するプロセスが倧幅に加速されたした。 第䞉に、トロむの朚銬の䜜成者は、補品を逆コンパむルやデバッグから保護するこずに぀いおあたり気にしなかったため、最終的に暗号化およびキヌ受信アルゎリズムの分析が簡玠化されたした。 そしお、䞀般的な印象誰かが自分の補品をハッキングから保護するこずを本圓に心配せずに、すぐにお金を削枛したかっただけです。



将来、このような悪意のあるプログラムが広く普及しないこずが望たれたす。 より良い無害なりィンロックは、そのような恐ex者よりも優れおいたす。そのおかげで、ファむルを氞久に倱う可胜性がありたす。



All Articles