はじめに
英語とロシア語の辞書が示すように、ゼウスは古代ギリシャのパンションの主神であるサンダーのゼウスとして翻訳されています。 トロイの木馬の未知の作者は2007年に彼の創造のゼウスを呼び戻し、特定の義務を負い、主なものではないにしても、少なくとも最初のものの1つであるように義務付けました。
Zeus-Trojanは、インターネット上で、そして過去数年を超えて伝説になりました。 このような暴力的な色で咲いたトロイの木馬はどれも、これほど広く広まりませんでした。また、報道の幅の観点から、ゼウスは悪名高いKido / Confickerワームの背後にはあまりありません。
当初、ZeusはBanskyトロイの木馬、つまり、何らかの方法で被害者のコンピューターに侵入し、所有者に機密情報(ログイン、パスワード、クレジットカード番号、CVV2 / CVC2コードなど)を転送するプログラムとして位置付けられました。 しかし、時間の経過とともに、企業データを盗んだり、実行可能ファイルに感染したり、スパムを送信したりするように変更が加えられるようになりました。
ゼウスを扱う際に使用されるビジネススキームについて少し説明します。 著者zeus(または著者)は、長年にわたって彼の発案を慎重に拡大および改善してきましたが、この男はトロイの木馬を自分で配布しないという知恵を持っています-彼は、多かれ少なかれ明確な指示で、変更されたバージョンを作成するためのコンストラクターを販売しています。そしてそれら。 サポート。 しかし、コントロールセンターとしてのDedikovの検索、トロイの木馬の作成と配布-クライアント、受け取ったクレジットカード番号の処理、キャッシュアウトおよびその他の犯罪は、知性の低い「shkolota」によって実行されます。
この種の最も顕著な例は、2010年10月の初めに、抑圧できない貪欲と愚かさのために燃え尽きたロシアの学生グループの米国での拘禁です。 彼らの名前は次のとおりです。イリヤ・カラセフ、クリスティーナ・イズベコワ、ソフィア・ディコバなど。
ここから撮影。 しかし、shkolota全体は驚くほど安く降りました-誰もが1年未満の刑務所と悲惨な金銭的罰金を与えられましたが、米国ではそのような犯罪のために40年間座ることができます。
著者zeusは、明らかにそれらのフレームワーク内で、既存の大型ボットネットの作業に積極的に参加したことに注意する必要があります。 なぜなら、彼は、特定の構成手順を使用して、管理者が回すべきデディクが十分に強力であるべきであるという彼の頭脳の使用に関する推奨事項に書いているからです。
最近、ゼウスはさらに別の攻撃に火をつけました-クリスマス前に誰かがクリスマスのグリーティングカードを、おそらくホワイトハウスから米国政府機関に送りました。 リンクをクリックするか、添付ファイルを開くと、zeusはハードドライブでWord、Exel、PDFファイルをスキャンして、ベラルーシのサーバーに送信しました。
一般的に、ゼウスからのスレッドの多くは、旧ソビエト連邦の国々につながります。それは、彼がロシアまたはウクライナから来たと疑う理由を与えます。 また、zeus Server GUI自体には、英語とロシア語の2つの言語のみが含まれていました。
特徴
著者自身がゼウスの機能について書いていることの一部を次に示します。
-言語とIDEプログラミング:
Visual C ++(現在のバージョン9.0)。 追加のライブラリは使用されません(crtl、mfcなど)。
-サポートされているOS:
XP / Vista / Seven、および2003 / 2003R2 / 2008 / 2008R2。 Windows x64での作業を含むが、32ビットプロセスのみ。 また、「ターミナルサーバー」のアクティブセッション中のボットの本格的な動作は保持されます。
-アクションの原則:
ボットは、ring3(ユーザーモード)でのスプライシング、各ユーザープロセスでのコードのコピーの起動(DLLを使用しない)によるWinAPIのインターセプトに基づいています。
インストールプロセス:
現時点では、ボットは主にVista / Sevenの下で実行され、UACが有効になっており、ローカルスプリットを使用していません。 したがって、ボットは最小限のユーザー特権(「ゲスト」ユーザーを含む)で動作するように設計されているため、ボットは常に1人のユーザー(ボットのインストール元)のセッション内で動作します。 ボットはOSの各ユーザーにインストールできますが、ボットは互いの存在を認識しません。 インストール時に、ボットはユーザーのホームディレクトリにそのコピーを作成します。このコピーは現在のユーザーとOSに関連付けられており、別のユーザー、またはOSで実行することはできません。 インストールの成功に関係なく、ボットのオリジナルコピー(インストールに使用)は自動的に削除されます。
-保護:
各ユーザーおよびボットネットに対してボットによって作成されたすべてのオブジェクト(ファイル、ミューテックス、レジストリキー)の一意の名前。 インストールされたボットは、別のOSまたはユーザーから起動できません。 ボットのインストールに使用されたコードは破壊されます。 現時点では、WinAPIを介してボットファイルを非表示にすることはできません。 ウイルス対策ツールを使用すると、このようなファイルを非常に簡単に見つけることができ、ボットの場所を正確に特定できます。 自動更新ボット。再起動は不要です。 ボットファイルの整合性を監視します。
-ユーザープログラムから重要なデータを取得する:
FTPクライアントからのログイン名:FlashFXP、CuteFtp、Total Commander、WsFTP、FileZilla、FAR Manager、WinSCP、FTP Commander、CoreFTP、SmartFTP。 Cookie Adobe(Macromedia)Flash Player。 クッキーwininet.dll、Mozilla Firefox。 Windows証明書ストアから証明書をインポートします。 さらに追加を追跡します。 キーボードトラッキング。
著者zeusの声明についていくつかコメントします。私に届いたバージョンは、MS Visual Studio 10.0を使用して著者のコンピューターでコンパイルされたため、コメントファイルはやや古くなっています。 著者は、他の何かを販売したユーザーの屋根ふきのフェルトを更新することを気にしませんでした。
アクションの原則について-ボットは家族全体で非常に安定して動作するので、著者は、最近ではウイルス作成者に非常に人気があり、偶然ではなく、ドライバーや特権の昇格、その他のブート時チップの書き込みを気にしないことにしましたWindowsオペレーティングシステム。ゲストアカウントの下からでも機能し、ウイルス対策プログラムによって焼き付けられる可能性は最小限です。 さらに、ホットパッチテクノロジーをサポートするXP SP2のリリース後、各機能のプロローグは5バイトの長さになりました。これにより、ZeusがBeaEngineの逆アセンブラーをドラッグするのを防ぎ、これは間違いなくトロイの木馬に利益をもたらしました。著者にとって、ゼウスは逆アセンブラを「普遍的ではあるが、やや面倒」と呼んでいます。
ボトルネックは、トロイの木馬のクライアントプログラムが各ユーザープロセスで自分自身を処方することであり、これを使用して検出することができます。 たとえば、特定のプロセスが感染しているかどうかを判断する手法は、組み込みのvncサーバーの実行中にクライアントボット自体がウィンドウを描画するために使用されます-特別な名前のmutexがプロセスで作成されているかどうかを確認します。 作成された場合、このプロセスは感染しています。 しかし、この名前はクライアントプログラムのインスタンスごとに一意である可能性が高いため、ウイルス対策をルールに組み込むのは非常に簡単です。 「インストール時に、ボットはユーザーのホームディレクトリにそのコピーを作成します。現時点では、ボットファイルはWinAPIを介して隠されていません」。この特定のボットを検出する優れた方法を提供します。 そして一般的に-ユーザーのホームディレクトリのルートには、疑わしいファイルが残ってはいけません! 特に、アンチウイルスがそれについて知らないのは奇妙です。
一般に、このバージョンのzeusの配布スキームはかなり原始的です。ユーザーはスパマーの電子メールまたは感染したpdfドキュメントを介して送信されたリンクをたどり、zeusインストーラープログラムを起動します。これにより、インストーラーが削除され、ウイルスが個別のユーザーごとにウイルスを暗号化しますこのユーザーのこの特定のコンピューターでのみ実行できます。 ネットワークスキャン、フラッシュドライブ、およびその他の新しいものを介した拡散はありません。 これは確かにトロイの木馬の拡散を制限しますが、ゼウスの分布の程度から判断すると、正当化される以上のアンチウイルスに対する耐性をはるかに高めます。
「ユーザープログラムから重要なデータを取得する」ことについて-確かに、そのような機能があります。 確かに、著者は、現在のバージョンのCuteFTPパスワードクラッカーがコメントアウトされていること、つまり、まだ完了していないという事実から判断してビルドに入れず、WsFTPのパスワード復号化が実装されていないことを書き忘れていました。これはsorsのコメントに反映されていますが、これらはすべて些細なことです; )作者がICQ、Skypeパスワード、ソーシャルネットワークから保存されたパスワードを気にしなかったことは奇妙です。 ネットワークなど、他のトロイの木馬はすべてのデータを喜んで盗みます。 どうやら、多くのパスワード復号化アルゴリズムは、リバースエンジニアリング手法、つまり逆アセンブリによって取得されました。 ちなみに、著者はブラウザ間でGoogle chromeについて言及していないため、トロイの木馬データは突然奪われないため、この問題を調査していませんが、おそらくGoogleのブラウザを使用するのが最善です。
さて、上記のすべてから明らかなように、ゼウスは非常に広く普及し、よく作られており、安定しており、秘密であり、さまざまな新しいタスクに簡単に適応します。とりわけ、64ビットを含む大部分のWindowsオペレーティングシステムで動作します。 全体として、一種の単なるユニークな製品です。
そして最後に、この有名なトロイの木馬のソースコードはまだネットワークに漏れていました。つまり、その作成者は法を守る同僚プログラマーと同じレーキになりました。バイヤーの中には屋根ふきのフェルトを失い、屋根ふきのフェルトが意図的にソーサをネットワークに入れたため、誰もがいわば、内部からマルウェアに精通する機会を得たのです。
分析
ご存知のように、コード作成を含むソフトウェア開発は非常に創造的な作業であり、統一された標準やよく練られた道はまったくありません。それはスポーツのようなものです。例えば、文学のような特徴的な強調によってマスターの絵が認識できる場合、小さな男の子が非人間の手に落ちた場合-それはルキアネンコであり、すべての人々が死亡し、ヒーローが都市の廃ruを駆け抜けて犯罪を調査する場合-これ ディックをイリッペバター。 そのため、ソフトウェアのソースコードと付随する詳細があります。プロのプログラマーはそれぞれ独自のスタイルを持っているため、著者について多くのことが言えます。 また、コードの定型化、特徴的な言語構成の使用などに関する企業のテンプレートは、コードの作成者が自分のスタイルを変更するのを防ぐことはできません。なぜなら、それはすでに潜在意識の中、脳の皮質下にあるからです。 それで、私はその作者について何かを見つけようとするために、zeusトロイの木馬のソースコードを分析してみます。
sorsaを一見すると、非常に明確な構造が印象的であり、ソフトウェア開発における著者の素晴らしい経験を示しています。 バージョン管理システムの痕跡は目立ちません。これは、これが作成者からのソースリークではなく、何らかのパケットが何らかのクライアントに販売されたネットワークに販売されたという仮定をもう一度確認します。 結局、著者は4年間働いて、ソース管理なしでバージョン2.0.8.9まで生き延びました。
そもそも、私の手に落ちたzeusパッケージ自体は、いくつかのモジュールで構成されています。
common-すべてのプロジェクトに共通のファイル。メモリマネージャー、文字列の操作、ファイルシステム、プロセス、スレッド、同期オブジェクトなど、作業に必要なほとんどの抽象化の実装が含まれています。 一般的に、非常に有用で必要な基本サービスのセット。
client-被害者のコンピューターに侵入して定着するウイルスクライアント自体またはボット自体。 トロイの木馬は多くのことを実行できる必要があるため、最大のコードはここにあります。
builder-「client」ディレクトリのコンパイルされた内容に基づいたウイルスクライアントの新しいバージョンのビルダー
bcserver-ボットが接続するDedikで作業するためのサーバー。
サーバー[php]-ボットネット管理用のWebインターフェース。
binは、zeusプロジェクトが使用する数少ないサードパーティです。 他のすべてのサードパーティコンポーネントは、BeaEngineエンジンの逆アセンブラであるvncなど、zeus APIの下で書き直されました。 このディレクトリには、fasm、php、7zip、upxが含まれています。
最初に目を引いたのは、ビルドシステムです。 zeusはVisual Studio 10でビルドされていますが、ビルドシステムはphpで記述されています。 phpでのビルドシステムの開発はWindowsシステムでは一般的ではなく、一般的にどのシステムでも一般的ではないため、これは非常に珍しく、めったに遭遇しないソリューションです。 これは、作成者が既製の同様のシステムを使用し、自分の目的のために変更したことを示している可能性があります。 そして、彼はどこでそれを手に入れることができますか? 彼の以前または現在の仕事でのみ、そしておそらく彼はこのシステムの開発に参加した。
コードはほぼ完全にCで記述されており、COMインターフェイスが使用されている場合にのみ、C ++は渋々使用されています。 著者は定期的にTODOshkiを書いていますが、一部の部分はCOMを使用して書き換える必要があると書いています。
すべてのコードは十分にコメントされており、すべてのコメントはjavadocやqtdocなどのある種の自己文書化システムのスタイルで書かれているようですが、ボットの作者の以前の作品で使用された、より原始的で明らかに所有権のあるものです。 コード内のほとんどすべてのコメントはロシア語で書かれていますが、これは非常に示唆的です。なぜなら、著者は国別アルファベットで書かれたコメントを100%禁止しているため、大規模な国際プロジェクトで働いていなかったからです。 utf-8のphpコメント、win-1251のCコードのコメント。 前の段落で説明したように、著者は外国人と仕事をしていなかったため、著者が英語を上手に話せない可能性も非常に高い。 確かに、ここには1つの障害があります。manual_en.htmlファイルは、ある程度まともな英語で書かれていますが、おそらく著者には英語を話すアシスタントがいます。 しかし、もう一度繰り返します-ビルドシステムを含むすべてのzeusのCコードが1人で作成されたことは99%確信しています。 同じ人がボンテンの管理パネルのphpコードを書いた可能性の80%。 コメントの詳細については、それらの多くは、約5年前に流行した「Internet-crap」スタイルのスペルミスでいっぱいです。 どうやらこの哲学は未知の著者の頭にしっかりと埋め込まれていたようです。
繰り返しますが、ゼウスCのコード全体は、ハッカーのチームではなく、メディアで私たちを怖がっていたSpyEye開発者へのゼウスソースの転送について、1人によって書かれたものであると断言します。疑いの余地はありません。コードが最後まで表示される前であっても、そこに何があるかを大まかに想像できることが検証および計算されます。
ある意味では、コード自体も私を喜ばせました-大規模な解説作品もフォーマットされた作品もありません、すべてが簡潔で明確で美しいです、コードが著者によって定期的にレビューされることはすぐに明らかです。
別の特徴的な機能は、システムコールからの高度なコード抽象化であり、一般に、特定のオペレーティングシステムで動作します。 可能なすべてのことは、C ++のクラスの構造と同様に、単一のアーキテクチャに従って開発された個別のプログラムモジュールで実行されます。 また、驚くべきことに、ソフトウェアコンポーネントが非常に高度に統合されています。それらの多くは、プログラムの作成者の高度なプロ意識を示す、非常に異なる機能にもかかわらず、単一のテンプレートに従って作成されます。
ソースファイルに頻繁に出会うかなり苦しい行の長さに驚いた-多くの場合200文字を超える! 一方で、これは著者が少なくとも24インチのモニターを持っていることを示唆していますが、一方で、たとえば、ソースコードのさまざまなリビジョンのdiffなどのユーティリティをどのように使用するかは不明であり、32行では長い行では十分ではありません)。
コードをレビューした後、ゼウス現象が明らかになりました-高い信頼性、簡単な変更可能性、広範囲な配布、現在のオペレーティングシステムへの最小限の依存性:すべてが非常にシンプルで、ゼウスは開発された基本サービスのセット、チームと実装、非表示、対話するための思考メカニズムを備えた非常に高品質の製品プログラムですセンター。 したがって、彼がすべての縞模様と氏族のコンピューター犯罪者に非常に人気があり、明らかに、彼のクリエイターを少なくとも100,000ドル持ってきたことは驚くことではありません。 作者がいくつかのコメントで、ウイルスのいくつかのコンポーネント、たとえばvncのSetColourMapEntriesやsslのSEC_I_CONTEXT_EXPIRED、SEC_I_RENEGOTIATEについてテストする必要がないと文句を言うことは注目に値しますが。 トロイの木馬の作者が住んでいるとされるモスクワは高価な都市ですが、作者の容疑者の収入には何とか適合しません。 一般的に、ゼウスがさらに発展し続けると、マイクロソフトはかつてキドワームの作成者の頭に25万ドルの報酬を発表したので、未知の著者の頭に賞が発表されるようです。 作者についてもう少し-明らかに、この男は以前の仕事を辞めたようです。ある種の修正日は午前4時、午前12時など、要するに朝まで行くためにまともな開発者が寝る必要がある時間です。仕事。 彼らは、開発が行われたコンピューター上で意図的に間違った時間が設定された可能性があることに反対するかもしれません。 ナンセンス! 著者はおそらく彼の開発で複数のコンピューターを使用していますが、時間が経つにつれて、少なくともソースストレージシステムはこれを気に入らないでしょう。 また、仮想マシンを使用している場合でも、複数のコンピューターを使用する必要があり、リモートで簡単に炎症を起こす可能性があるため、作成者はリモートで作業できませんでした。
一般に、make_debug.cmdファイルを起動した時点でコードを操作しているときに最も不快な気持ちを経験し、問題なくすべてをすばやく取得できました。 基本構成を設定したshkolotaは、ボットのインスタンスをリベットし始めることがわかります。 ビルドシステムに敬礼をする必要がありますが、それはバタンとうまくいきました。
非常に興味深い行「C:\ Users \ jam3s \ Desktop \ Zeus \ source \ builder \ resources \ resources.rc」がファイル「source \ builder \ resources \「resources.aps」および「zeus.sln」に見つかりました。これがフルパスですプロジェクトツリーが元の開発者のコンピューターに保存されたディスク上。 ここでは、未知の作成者がソースの場所を特に気にせず、デスクトップに単純にダンプした結果、オペレーティングシステムのユーザー名「jam3s」が邪魔になったことが重要です。 これは「nic」、「mike」、または他の一般的なくだらないものではありません。この名前は非常にユニークです。インターネット、フォーラム、チャット、またはフリーランサーフォーラムで既に登場していても驚かないでしょう。 その後、作成者はさらに「高度」になり、プロジェクトソースツリーを「c:\ zeus」にコピーしました。元のプロジェクトオブジェクトファイルから見つけることができます。 YandexとGoogleで検索してもニックネームjam3sの明らかな性格は明らかになりませんでしたが、著者zeusがそれほど簡単に燃えず、鳥が間違った方向に飛んでいたため、特別な結果は期待していませんでした。
作者がバックコネクトサーバーの修道士を連れて行った場所を見つけようとする別の試みがありました。黒豚や馬のようなものを描いていますが、面白いものを見つけることができませんでした。数回、似たようなフリークのギャラリーで画像が見つかりました
一般に、簡単に言えば、このような一般化されたボトグラファーの肖像を作成できます。
-28〜35歳の若いロシア人。
-彼は多かれ少なかれ大企業で数年間ソフトウェア開発者として働いていましたが、会社は外国人と協力しませんでした。
-90%はモスクワに、80%はサンクトペテルブルクに住んでいます
-英語を知らない、または知識が乏しい。
-nick3 jam3sを使用します。
エピローグ
殺人を目的とする道具には独自の隠された美学があり、線の形や形の輪郭はそのような物体を隠された魅力を裏切り、観察者に賞賛と恐怖を混ぜ合わせていると言われています。 トロイの木馬とルートキットの目に見えないが粘り強い爪から誰も安全を感じることができない、ゼウスのソースコード、これは一般的なサイバネティック時代の最も完璧なツールの1つに精通する過程で同様の感情を経験しました。 たぶん、これらの行を読んでいる間、次のボットネットの所有者の1人があなたの銀行口座にログインしている間辛抱強く待っているvncを通してあなたを注意深く見ていますか? しかし、すべてがそれほど悪いわけではありません。著者zeusの例は、経験豊富で意図的な孤独者、プログラマー、たとえ最低で最も陰湿なアイデアを担っていても不可能ではないことを教えてくれます。
habr-forceが来ますように!