<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>вольтаж</title><generator>teletype.in</generator><description><![CDATA[Кибершумные заметки о безопасности веба и разума]]></description><image><url>https://img4.teletype.in/files/b5/7d/b57dceda-3a8a-40ca-a1f6-cdd0305f9b08.png</url><title>вольтаж</title><link>https://teletype.in/@hackthishit</link></image><link>https://teletype.in/@hackthishit?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=hackthishit</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/hackthishit?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/hackthishit?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Fri, 05 Jun 2026 10:02:21 GMT</pubDate><lastBuildDate>Fri, 05 Jun 2026 10:02:21 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@hackthishit/ssh-rce-via-race</guid><link>https://teletype.in/@hackthishit/ssh-rce-via-race?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=hackthishit</link><comments>https://teletype.in/@hackthishit/ssh-rce-via-race?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=hackthishit#comments</comments><dc:creator>hackthishit</dc:creator><title>SSH RCE via Race Condition (CVE-2024-6387)</title><pubDate>Tue, 06 Aug 2024 14:43:18 GMT</pubDate><media:content medium="image" url="https://img4.teletype.in/files/7c/eb/7ceb43ae-6f26-4876-bdfd-eec75d1a1c11.png"></media:content><category>CVE Breakdown</category><description><![CDATA[<img src="https://img3.teletype.in/files/ee/c2/eec25ca1-0cf4-4d3b-b97c-0ba3b440af99.jpeg"></img>1 июля, исследователи Qualys обнаружили как добиться удаленного исполнения кода в SSH 8.5p1 через состояние гонки в обработчике сигнала SIGALRM.]]></description><content:encoded><![CDATA[
  <p id="1Xr4">1 июля, исследователи Qualys обнаружили как добиться удаленного исполнения кода в SSH 8.5p1 через состояние гонки в обработчике сигнала <em>SIGALRM.</em></p>
  <blockquote id="dWS1">Состояние гонки - когда несколько частей программы могут одновременно изменять один и тот же ресурс, без какой-либо синхронизации в формате &quot;сначала меняю значение Я, а потом ТЫ&quot;</blockquote>
  <p id="dlXi">Что интересно, эта уязвимость уже была в 2006, получив CVE-2006-5051 и будучи исправленной патчем 4.4p1</p>
  <figure id="j7x4" class="m_column">
    <img src="https://img1.teletype.in/files/c2/c2/c2c2a288-c5ef-499c-a81a-e863e6090dd9.png" width="975" />
    <figcaption>deja vu i&#x27;ve been in this place before</figcaption>
  </figure>
  <p id="g4jk">но потом &quot;случайно&quot; вернулась в прод, от чего Qualys прозвали уязвимость <strong>regreSSHion.</strong></p>
  <p id="wpwT"></p>
  <hr />
  <h2 id="Yt7t">Опасный обработчик сигнала</h2>
  <p id="1mx0"></p>
  <p id="h1aT">В конфиге для <em>sshd</em> есть опция <em>LoginGraceTime</em>, описывающая за сколько секунд пользователь должен успеть аутентифицироваться перед его отключением от сервера. По умолчанию, за 120 секунд.</p>
  <p id="ThQ5">Если пользователь аутентифицируется больше 120 секунд, то <u>асинхронно</u> вызывается SIGALRM обработчик для прерывания соединения. </p>
  <p id="2ajT">Однако, этот обработчки также прерывает <u>синхронные</u> функции, небезопасные для <u>асинхронных сигналов</u> (<em>non-async-signal-safe</em>), такие как syslog()</p>
  <p id="0hKk">В Qualys обнаружили, что во время состояния гонки возможно добиться повреждения кучи с FILE структурой и перенаправить исполнения программы.</p>
  <p id="DZXX"></p>
  <figure id="IySF" class="m_custom">
    <img src="https://img2.teletype.in/files/9d/38/9d3879ad-baf6-4ebb-95ac-45583eafd49a.png" width="506.99999999999994" />
    <figcaption>как себя ощущает syslog() при каждой попытке эксплуатации</figcaption>
  </figure>
  <p id="2cyd"></p>
  <hr />
  <h2 id="vtFK">Повреждение кучи</h2>
  <p id="34kd"></p>
  <p id="r0AP">В управлении памятью есть два основных концепта</p>
  <ul id="FcdH">
    <li id="1JYp">стек, с упорядоченной памятью</li>
    <li id="BrFx">куча (heap), когда информация хранится как попало</li>
  </ul>
  <p id="qdSc"></p>
  <p id="NScF">И первая проблема у атакующих, это добиться определенного расположения чанков в <em>куче</em> памяти. Добиваются этого через длительный обмен валидных и не очень сертификатов, при обмене ключами для аутентификации.</p>
  <p id="4teD"></p>
  <figure id="XMfP" class="m_column">
    <img src="https://img3.teletype.in/files/e7/97/e797b76d-885b-4d85-badd-609c83c8188b.png" width="989" />
  </figure>
  <p id="LXsH">В итоговой куче должен быть свободный кусок памяти в 8КБ и после свободный  мелкий кусок в 320байт, разделенные &quot;чанк барьерами&quot; (barrier chunk), что позволяют создать отдельные свободные куски памяти</p>
  <p id="plKm"></p>
  <figure id="Baju" class="m_column">
    <img src="https://img3.teletype.in/files/69/ef/69ef5eb6-afb9-410c-8d3b-e329524c1245.png" width="854" />
  </figure>
  <p id="M3K2"></p>
  <p id="8Z4j">Прыгаем на подключение к серверу.</p>
  <ol id="lK09">
    <li id="sMGQ">атакующий превышает время для аутентификации во время подключения, указанное в <em>LoginGraceTime</em></li>
    <li id="nbCD">вызывается асинхронный <em>SIGALRM</em> обработчик, что вызывает синхронный <code>syslog()</code></li>
  </ol>
  <p id="hkYu"></p>
  <p id="75pS">Здесь атакующий встречается с новым испытанием, ведь теперь ему надо попасть в исполнение <code>malloc()</code> внутри <code>syslog()</code>, между 4327 и 4339 строкой, когда malloc() аллоцировал память, но не успел сдвинуть её.</p>
  <p id="Z424"></p>
  <figure id="59Hk" class="m_custom">
    <img src="https://img1.teletype.in/files/8f/44/8f442a81-f28a-4124-95b4-734b9b13fa7a.png" width="596.3826086956522" />
  </figure>
  <p id="bcTB">Что приводит к делению доступного нам куска памяти в 8КБ на 2 чанка по 4КБ. В одном аллоцированная память, а другой становится &quot;свободным остатком&quot;</p>
  <figure id="4iSZ" class="m_column">
    <img src="https://img4.teletype.in/files/35/18/35181f2f-1cb7-4e0a-a563-9bb91cf909c1.png" width="853" />
  </figure>
  <p id="UHLB">И тут происходит странная ситуация.  Прервав исполнение <code>malloc()</code>, &quot;свободный чанк&quot; привязывается к списку &quot;свободной для перезаписи памяти&quot;, в то время как атакующий всё ещё имеет доступ к этой области памяти.</p>
  <p id="7Yxp">Зная, что эта память перезапишется, атакующий искусственно увеличивает размер &quot;свободного для перезаписи&quot; чанка, чтобы тот захватывал мелкий кусок свободной памяти в 320бит, который был подготовлен ещё в начале атаки.</p>
  <p id="1bhT"></p>
  <figure id="FnWa" class="m_column">
    <img src="https://img4.teletype.in/files/38/7a/387a6490-eb6f-4ddf-8462-185759ff36a5.png" width="855" />
  </figure>
  <p id="AOsR"></p>
  <p id="QUSN">Думаешь хватит сложностей для атаки? Не тут то было</p>
  <p id="0i5K">Эти все операции должны произойти перед тем, как <u>асинхронный</u> обработчик <em>SIGALRM</em> вызовет небезопасные для асинхронного вызова - <u>синхронные</u> функции <code>__tzfile_read()</code> и <code>fopen()</code></p>
  <p id="kR7E"></p>
  <p id="UV2E">Если всё сошлось, то</p>
  <ol id="3W3G">
    <li id="0smt"><code>fopen()</code> аллоцирует свою <em>FILE</em> структуру в наш мелкий кусок памяти на 320бит</li>
    <li id="3yDL"><code>__fread_unlocked()</code> перезапишет &quot;свободный кусок памяти&quot; с 4КБ буфером на чтение, затрагивая часть FILE структуры от fopen()</li>
  </ol>
  <figure id="WznC" class="m_column">
    <img src="https://img3.teletype.in/files/ed/5d/ed5d1216-6102-4b48-a496-30d74b4b7067.png" width="852" />
  </figure>
  <p id="i6eK">3. атакующий, имея доступ к буферу, перезаписывает часть <em>FILE</em> структуры и дальше, ещё более душно, перенаправляет flow исполнение программы куда ему нужно для исполнения кода</p>
  <p id="S3BS"></p>
  <p id="cS22">Вот и всё. Всего-то пару операций, туда-сюда и ты исполнился от рута!</p>
  <p id="aemp">Ладно, давай откроем форточку и суммируем атаку по картинке ниже</p>
  <p id="T8mL"></p>
  <figure id="ALhU" class="m_column">
    <img src="https://img4.teletype.in/files/78/fc/78fcfa39-3681-479c-b53e-8a74426cc443.png" width="2482" />
  </figure>
  <p id="j7fv"></p>
  <hr />
  <h2 id="91PX">Так ли страшно?</h2>
  <p id="NVQg"></p>
  <p id="wrOp">Кроме того, что на системе должен быть glibc, большую роль играет архитектура процессора. </p>
  <p id="se9R"></p>
  <h3 id="al9Y">Для 32-битных систем</h3>
  <ul id="5dQQ">
    <li id="Q1d0">3-4 часа для победы в гонке за ~10 000 попыток, при 100 соединений в окне 120 секунд</li>
    <li id="qM52">6-8 часов чтобы найти нужный адрес и 1 раз исполнится от рута </li>
    <ul id="xx2V">
      <li id="NBS5">спасибо ASLR, за рандомизацию стека, кучи, кода библиотек и программы, усложняя атакующем находить их в памяти</li>
    </ul>
  </ul>
  <p id="rAsO"></p>
  <h3 id="RZTV">Для 64-битных систем</h3>
  <ol id="8MQJ">
    <li id="h0U7">Нет подтверждения, что оно возможно</li>
    <li id="Xrl4">Адресов больше (32бит = 2^32 &lt; 64бит = 2^48)</li>
    <li id="Zv7Z">_</li>
  </ol>
  <figure id="CBUR" class="m_original">
    <img src="https://img1.teletype.in/files/05/18/0518f7d7-8653-4c5f-b406-393507423ce0.gif" width="480" />
  </figure>
  <hr />
  <p id="BZmg">Теперь точно всё. Если твой голод подобных разборов не утолился, то прочитай мой более простой <a href="https://t.me/hackthishit/83" target="_blank">разбор нашумевшего бэкдора в библиотеке xz</a></p>
  <p id="7sKt"></p>
  <figure id="ZlHf">
    <iframe src="https://t.me/hackthishit/83?embed=1&userpic=1"></iframe>
  </figure>
  <p id="pIa6"></p>
  <p id="0u3z">Появились вопросы по уязвимости? Читай <a href="https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt" target="_blank">разбор от Qualys</a></p>
  <p id="5TRl">Появились вопросы не по уязвимости? Пиши <a href="https://t.me/w0ltage" target="_blank">@w0ltage</a></p>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@hackthishit/hacks-reflection</guid><link>https://teletype.in/@hackthishit/hacks-reflection?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=hackthishit</link><comments>https://teletype.in/@hackthishit/hacks-reflection?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=hackthishit#comments</comments><dc:creator>hackthishit</dc:creator><title>Все совершают ошибки, или как я сдал 0 багов на хаксе</title><pubDate>Sun, 10 Dec 2023 14:39:39 GMT</pubDate><media:content medium="image" url="https://img3.teletype.in/files/e7/a3/e7a3eb5e-a5cf-4489-b1cc-7ba249730c57.png"></media:content><description><![CDATA[<img src="https://img1.teletype.in/files/47/84/478469e2-f92f-4ab0-8156-a2367cfb378b.png"></img>В потоке эфемерных советов, крутых инструментов и историй успеха, соскучился по историям не_успеха, тупым ситуациям и мыслям об этом.]]></description><content:encoded><![CDATA[
  <figure id="PchC" class="m_original">
    <img src="https://img1.teletype.in/files/47/84/478469e2-f92f-4ab0-8156-a2367cfb378b.png" width="1920" />
    <figcaption>literally standoff hacks experience</figcaption>
  </figure>
  <p id="2ew8">В потоке <em>эфемерных</em> советов, крутых инструментов и историй успеха, соскучился по историям не_успеха, тупым ситуациям и мыслям об этом.</p>
  <p id="nEVJ">Проанализировал свои действия на хаксе, собрал мысли в пункты и по каждому расписал как попал в ситуацию из названия + как мог избежать + что понял.</p>
  <p id="uCR8"></p>
  <p id="pyHz">В единую миску текста, перемешал следующие м<em>ю</em>сли ::</p>
  <nav>
    <ul>
      <li class="m_level_1"><a href="#CTF-расширяет,-а-Bug-Bounty-тянет-в-глубину">Как не утонуть в бесконечном реконе и фаззинге</a></li>
      <li class="m_level_2"><a href="#l0Qh">Как остановить ящерный мозг?</a></li>
      <li class="m_level_1"><a href="#eggZ">Потребление контента и overthinking</a></li>
      <li class="m_level_2"><a href="#Что-мог-сделать?">Как перестать думать и начать прогрессировать?</a></li>
      <li class="m_level_1"><a href="#Эти-люди-существуют!">Эти люди существуют!</a></li>
      <li class="m_level_1"><a href="#Лучше-сдать-информатив,-чем-упустить-баг">Зачем сдавать информативы?</a></li>
      <li class="m_level_3"><a href="#Выводы?-Что-можно-было-сделать?">Выводы? Точно ли надо сдавать информативы?</a></li>
      <li class="m_level_1"><a href="#БОНУСНЫЕ-ЭПИЗОДЫ">БОНУСНЫЕ ЭПИЗОДЫ</a></li>
      <li class="m_level_2"><a href="#Zs3V">Про синдром самозванца</a></li>
      <li class="m_level_1"><a href="#Как-я-90-минут-подключал-ноут-к-VPN-к-финале-хакса">Как я 90 минут подключал ноут к VPN в финале хакса</a></li>
      <li class="m_level_2"><a href="#Что-дальше?">Что дальше?</a></li>
    </ul>
  </nav>
  <p id="Fipy"></p>
  <hr />
  <h2 id="CTF-расширяет,-а-Bug-Bounty-тянет-в-глубину">Как не утонуть в бесконечном реконе и фаззинге</h2>
  <p id="FK4o"></p>
  <p id="zuHo">Решая десятки, а то и сотни CTF тасков + написывая отчёты по ним, я неосознанно вбивал в голову паттерн </p>
  <blockquote id="nJ92">быстро пройтись по приложению -&gt; найти <em>выбивающийся</em> функционал -&gt; найти аномалию -&gt; раскрутить -&gt; сдать флаг</blockquote>
  <p id="oEk4"></p>
  <p id="XjG6"><strong>Что же происходило при подходе к живой цели? </strong></p>
  <p id="vetS">Внутренняя<em> похекерская ящерица</em> видела <em>over 9000</em> паттернов выбивающегося функционала, призывала <a href="https://t.me/dangercurve/24" target="_blank">СТФерскую интуицию</a> и вместе они сходила с ума, перегружая мозг бесконечным реконом и фаззингом, в надежде поймать low-hanging fruit.</p>
  <p id="lOJF"></p>
  <p id="UIS0">Почему это происходило? </p>
  <p id="hHlK">Потому что CTF развивает навыки вширь, поддаваясь и расширяя кругозор, в то время как багбаунти тянет в глубь, позиционируя себя неприступной стена, но у которой пару кирпичей в фундаменте сделаны из пенопласта.</p>
  <p id="Zlot">Веду к тому, что в CTF возможно забрать флаг без углублений в работу приложения, а зная множество техник и выкрутасов. В багбаунти же надо разбираться как работает приложение, чтобы его поломать.</p>
  <p id="YOSY"></p>
  <h3 id="l0Qh"><strong>Как остановить ящерный мозг?</strong></h3>
  <p id="nB2i"><strong>Во-первых</strong>, чеклисты, чеклисты и даже mindmap чеклисты. </p>
  <p id="pdwE">Стоило обозначить шаги для первичного анализа приложения и оглушив <em>внутреннего ящера </em>битой, со словами : :</p>
  <blockquote id="3sNi">Твои low-hanging fruits спрятались чуть глубже в приложении. <br />Разберись как работает приложение и закончи чеклист.</blockquote>
  <p id="WI20">и <em>ящер </em>умолк, а я перестал тонуть в бесконечном реконе и фаззинге. </p>
  <p id="V4h5">Начал понимать как работает приложение, как взаимодействуют компоненты и где могут быть уязвимости. Это и позволило найти первый баг, но об этом позже.</p>
  <p id="iCRh"></p>
  <p id="0VYR">Чеклисты разделил на два типа</p>
  <ul id="e0t1">
    <li id="AeEi">перечень шагов, приводящих к единому или набору результатов. пишу в обычном markdown. каждый шаг - чекбокс с описанием</li>
    <li id="HnJ8">карта действий, с прикрепленными результатами</li>
  </ul>
  <p id="VTuY"></p>
  <p id="tBLG">Второй вариант легче показать, чем объяснить. </p>
  <figure id="sXUA" class="m_original">
    <img src="https://img2.teletype.in/files/97/cf/97cf3735-9fa6-4671-be76-4b515ceceab7.png" width="5970" />
    <figcaption>карта действий по первичному анализу приложения</figcaption>
  </figure>
  <p id="1XI8">В отличие от &quot;шагов в тексте&quot;, &quot;карта действий&quot; помогает быстрее ориентироваться среди результатов анализа и вспоминать с чем работаю.</p>
  <p id="W9OC">Сами &quot;карты&quot; создаю в <a href="https://obsidian.md/" target="_blank">Obsidian</a> Canvas. Это кибер-полотно, с возможностью расставлять блоки с текстом, вставлять заметки из хранилище, связывать их линиями и вставлять preview веб-страниц!</p>
  <p id="LrvN"></p>
  <p id="Ld1k">Как говорят в <strong>легендарном</strong> подкасте про багхантинг <a href="https://www.youtube.com/@criticalthinkingpodcast" target="_blank">critical thinking</a>:</p>
  <blockquote id="jCxH">You need to get &quot;intimate&quot; with a web application to find a juicy bugs</blockquote>
  <p id="v2ln"></p>
  <p id="jg2Q"><strong>Во-вторых</strong>, делай перерывы. Всякий раз, ловя себя на &quot;распылении&quot;, это были моменты усталости и не понимания что делать.</p>
  <p id="pjOZ">Надо было остановиться, встать из-за стола и сходить прогуляться. Дав себе отдохнуть, переключить и позволить взглянуть на приложение &quot;со стороны&quot;. </p>
  <p id="79Tg">Даже если переключишься на другое дело, твоё подсознание продолжит пахать в фоне, генерируя возможные способы решения задачи. Моё подсознание десятки раз подсказывало мне как решить тот или иной таск, пока мылся в душе.</p>
  <p id="5Lrx"></p>
  <p id="9VqA">Сколько и когда отдыхать? С этим придётся экспериментировать. </p>
  <p id="yAng">Я обычно работаю 2ч и отдыхаю 20мин, однако, если вхожу в <em>поток</em>, то могу работать часами напролет без отдыха. В такие моменты наиболее велика вероятность распыления, но и продуктивность тоже невероятна высока. </p>
  <p id="ipJK"></p>
  <hr />
  <h2 id="eggZ">Потребление контента и overthinking</h2>
  <p id="6uvI"></p>
  <p id="GLn1">Готовясь к хаксу, стал загружать в голову подкасты <em><a href="https://www.youtube.com/@criticalthinkingpodcast" target="_blank">critical thinking</a> + <a href="https://www.youtube.com/@JackRhysider" target="_blank">darknet diaries</a></em>, паттерны с райтапов решенных лаб, багбаунти отчётов (спасибо <a href="https://www.youtube.com/@BugBountyReportsExplained" target="_blank"><em>BBRE</em></a>), кучу сообщений <a href="https://t.me/WebPwnChat" target="_blank"><em>вебпвнчата</em></a> и конечно же, сохранил &quot;очень важные&quot; посты в <em>saved messages.</em></p>
  <p id="2VQr">Это конечно круто, что я теперь, как попугай, могу повторять термины жестких веберов, и даже иногда в тему, но какой смысл, если не получается находить баги? </p>
  <p id="c097">А смысла нет, ведь это всё - симптомы overthinking (надумывания), когда пытаешься предугадать все исходы и подготовиться к каждому из них. Пока я тратил 100 единиц усилий на &quot;подготовку&quot;, другие проёбывались и получали опыт, тратя лишь 1 единицу усилий</p>
  <p id="FFyG">Если тебе знакомо это ощущение, то <strong>настоятельно рекомендую</strong> прочитать <a href="https://teletype.in/@uxlive/overthinking" target="_blank">эту статью про Overthinking</a>, от легендарного UX-спеца.</p>
  <p id="lKch"></p>
  <h3 id="Что-мог-сделать?">Как перестать думать и начать прогрессировать?</h3>
  <p id="ql5s">Помогло перечитать модуль <a href="https://academy.hackthebox.com/module/9/" target="_blank">Learning Process от HackTheBox Academy</a>, с мыслью </p>
  <blockquote id="kXnY">Фокусируйся на практике, с небольшим теоритическим перекусом, чтобы после обратно нырять в практику</blockquote>
  <p id="ubux"></p>
  <p id="4Od9">Если ещё не читал этот модуль про самообучение, то давай, открывай новую вкладку, регистрируй аккаунт на <a href="https://academy.hackthebox.com/" target="_blank">HTB Academy</a>, открывай <a href="https://academy.hackthebox.com/module/9/" target="_blank">модуль</a> и возвращайся сюда. Прочитаешь после моих пластов текста.</p>
  <p id="gzyJ"></p>
  <p id="7mWu">Надо ли полностью отказываться от внешнего контента? </p>
  <p id="EwPM">Не знаю. Думаю, надо оставлять место для вдохновения и мыслей, расширяющих понимание возможного, но не позволять теории превышать практику.</p>
  <p id="Rn7J"></p>
  <hr />
  <h2 id="Эти-люди-существуют!">Эти люди существуют!</h2>
  <p id="Oxn7"></p>
  <p id="4vuB">Побывав на <a href="https://youtu.be/NKCiczIZ76E" target="_blank">Standoff Talks</a> и Hacks, понял, что крутые безопасники - не фантастические существа из интернета, а реальные люди, не сильно отличающиеся от меня.</p>
  <p id="Voli">Причём, мне необязательно быть крутейшим хакером в комнате, чтобы приятно пообщаться с триажерами VK, Тинькофф, Standoff365, <a href="https://t.me/poxek" target="_blank">авторами</a> <a href="https://t.me/hahacking" target="_blank">крутейших</a> <a href="https://t.me/SidneyJobChannel" target="_blank">каналов</a> по безопасности и продукт овнерами багбаунти платформ BI.ZONE и Standoff365</p>
  <p id="o3N3"></p>
  <p id="VPvw">В голове произошел окончательный <em>ментальный сдвиг </em>: :</p>
  <blockquote id="NadQ">Если они смогли, то и я смогу. Если у них получается, значит я что-то делаю не так и надо продолжать пытаться.</blockquote>
  <p id="h0Nx">Тоже самое относится и к тебе. <strong>У тебя тоже получится.</strong></p>
  <p id="8UlQ"></p>
  <hr />
  <h2 id="Лучше-сдать-информатив,-чем-упустить-баг">Зачем сдавать информативы?</h2>
  <p id="ITJS"></p>
  <p id="1iax">За весь хакс, нашёл лишь один <em>жидкий-low</em> баг, позволяющий включить администратору функционал (старые версии API), недоступные через UI.</p>
  <p id="SKNp">По итогу, не смог раскрутить до &quot;импакта&quot; и не сдал, ибо &quot;<em>нет же импакта, да и в описании программы сказано, что не принимают возможность сделать действие, недоступное через UI без выявленных рисков безопасности</em>&quot;</p>
  <p id="MxMW"><strong>ОДНАКО!</strong> Позже спросил у триажеров про этот &quot;баг&quot;, на что получил:</p>
  <blockquote id="BdLz">- Знаем такой, его уже сдали. Тоже бы мог сдать и получить дубликат.</blockquote>
  <blockquote id="NKtC">- В описании программы, в пункте про &quot;действия не через UI&quot;, подразумевались только unreleased features, найденные в где-то в коде фронтенда.</blockquote>
  <p id="qWzq"></p>
  <p id="CSA8">Казалось бы, только я потерял баг, но нет, это повторилось у нескольких других хакеров с хакса. До сих пор очётливо помню, как <a href="https://t.me/bugbeer" target="_blank">автор самого пивного канала по безопасности</a>, сказала : : </p>
  <blockquote id="FfXv">Если бы я сдала тот информатив, то мне бы заплатили 150к...</blockquote>
  <p id="55sW"></p>
  <h4 id="Выводы?-Что-можно-было-сделать?">Выводы? Точно ли надо сдавать информативы?</h4>
  <ul id="dVbd">
    <li id="wNto">Во-первых, стоит написать триажеру с вопросом &quot;стоит ли сдавать&quot;, после действовать в зависимости от ответа.</li>
    <li id="Ebie">Если нет контакта триажера и нет идей как раскручивать, то сдать &quot;информатив&quot;.</li>
    <ul id="rSRH">
      <li id="8d5y">кстати, триажеры VK попробуют помочь раскрутить баг, даже если тот информатив, но подаёт надежды выше информатива</li>
    </ul>
  </ul>
  <p id="DY1r"></p>
  <hr />
  <h2 id="БОНУСНЫЕ-ЭПИЗОДЫ">БОНУСНЫЕ ЭПИЗОДЫ</h2>
  <p id="Про-синдром-самозванца"></p>
  <h3 id="Zs3V">Про синдром самозванца</h3>
  <p id="T5YM">До и во время хакса, во мне впервые разыгрался синдром самозванца. Он постоянно напирал : :</p>
  <blockquote id="BSDL">УУУ, я не найду багов и они узнают, что я не такой крутой багхантер и тогда будет плохо, УУУ</blockquote>
  <p id="ZF7m"></p>
  <p id="5Imm">Когда же всё закончилось, всем было <strong>плевать</strong>. Мой мир не схлопнулся и отношение ко мне не изменилось, когда я не сдал багов. В этот самый момент, синдром самозванца исчез и пообещал не возвращаться.</p>
  <p id="yhoy"></p>
  <hr />
  <h2 id="Как-я-90-минут-подключал-ноут-к-VPN-к-финале-хакса">Как я 90 минут подключал ноут к VPN в финале хакса</h2>
  <p id="bI3t"></p>
  <p id="1GCq">Считаю это апогеем тупых ситуаций со мной, но от того не менее смешной и интересной одновременно. Назвал бы его &quot;хакатон костылей&quot;. </p>
  <p id="w4i2">В тексте всё просто и прозаично, но за кадром я успел сгореть, уйти в депрессию, восстать из пепла, снова сгореть и собрать один большой костыль из маленьких (лего) костылей.</p>
  <p id="qwvv">Ближе к делу. Больше года я работал на стареньком Thinkpad T420 с Arch Linux без всяких проблем. Получалось даже запускать EVE-NG с 5 виртуалками одновременно!</p>
  <p id="3VRF"></p>
  <p id="Eo1k">Впрочем, на финальный день хакса, решил сменить слабенький Thinkpad T420 на рабочий ноутбук, обосновывая &quot;тот мощнее + там лицензионный бурп и WSL с настроенными инструментами&quot;.</p>
  <p id="v6cP">Принёс, подключил, и стал ждать, пока Толя поведает нам секретный скоуп финального дня хакса. Спустя пару десятков минут, Толя поднимается на сцену и говорит : :</p>
  <blockquote id="gHkW">Cегодня будем ломать настолько секретный скоуп, что вам понадобится OpenVPN! Ещё, в удаленной сети нет DNS, поэтому вам придётся добавить хосты в <code>hosts</code></blockquote>
  <p id="XgsQ">Казалось бы, надо просто поставить OpenVPN, добавить хосты в файл и подключиться... и тут до меня доходит, что на тот момент, мне ещё не выдали права локального администратора, нужные для установки OpenVPN и редактирования <code>hosts</code> файла</p>
  <p id="a5h5"></p>
  <p id="wFse">Пришлось выкручиваться. Задача стояла следующая : :</p>
  <blockquote id="mOro">Предоставить ноутбуку доступ к хостам в удаленной сети, без установки OpenVPN (для установки нужны права админа) и настроить обращение к виртуальным хостам сервера через /etc/hosts</blockquote>
  <p id="gox3"></p>
  <p id="Rqin">На опыте предыдущих <s>проёбов</s> stupid situations (расскажу в другой раз), я знал, что &quot;предоставить ноутбук доступ к хостам в удаленной сети без установки VPN клиента&quot; возможно через подключение телефона к VPN и раздачи точки доступа через VPN tethering. При таком сетапе, все подключенные устройства будут иметь доступ к удаленной сети VPN&#x27;a.</p>
  <p id="74ty"></p>
  <p id="oV7v">По памяти быстренько скачал приложение <a href="https://play.google.com/store/apps/details?id=be.mygod.vpnhotspot&hl=en&gl=US" target="_blank">VPN Hotspot</a>, раздал точку доступа и подключил к ней ноутбук. Пропинговал хост в скоупе, на что пришёл ответ.</p>
  <p id="NIdF">Первая часть проблемы решена!</p>
  <p id="8s3f"></p>
  <p id="bFeQ">Далее, нужно придумать как закинуть хосты файл <code>c:\windows\system32\drivers\etc\hosts</code> + настроить проксирования траффика браузера через бурп.</p>
  <p id="eHMd">Сначала посетила мысль </p>
  <blockquote id="BQam">Точно есть расширение браузера, имитирующие hosts файл. </blockquote>
  <p id="FhV4">Перепробовал несколько расширений Chrome браузера для имитации изменения файла <code>hosts</code>, но все они не работали как надо. </p>
  <p id="izJ7">Следующей идеей было </p>
  <blockquote id="g1Vd">Что если отредактировать <em><code>/etc/hosts</code></em> на виртуалке и поднять прокси сервер (<a href="https://mitmproxy.org/" target="_blank">mitmproxy</a>) на той же виртуалке, чтобы виртуалка была выходным узлом для траффика и применяла на него свой локальный <code>/etc/hosts</code></blockquote>
  <p id="Sxpy"></p>
  <p id="OKxZ">Окей, а как впихнуть сюда бурп?</p>
  <p id="pwCB">Учитывая, что бурп - тот же прокси сервер, то как и в других прокси-серверах, в них возможно настроить перенаправление траффика на другой прокси сервер!</p>
  <p id="qIDr">В бурпе это тоже возможно. За это отвечает функционал Upstream Proxy, в разделе настроек Proxy, заставляющий бурп - отправлять все запросы через указанный прокси.</p>
  <p id="xS2Q">Открыл настройки, перешёл к Upstream Proxy и настроил отправку запросов через прокси на виртуалке, с отредактированным <em><code>/etc/hosts</code></em>.</p>
  <p id="4Gj5"></p>
  <p id="scQS">Осталось проверить. <br />Вбиваю домен в адресную строку, <br />жму enter и <strong>ОНО РАБОТАЕТ!</strong></p>
  <p id="srIw">Итоговое решение выглядит так</p>
  <figure id="YHSk" class="m_original">
    <img src="https://img2.teletype.in/files/96/6e/966e550e-b01b-4cbb-a32e-510eaceb6aa2.png" width="1421" />
    <figcaption>average windows enjoyer</figcaption>
  </figure>
  <p id="e0qn">И да, виртуалка заменилась на WSL, ибо виртуалка в VMware почему-то зависала каждые 10 минут.</p>
  <p id="QKms">Итого, чтобы вставить кавычку на сайте, кавычке приходилось проходить путь &quot;хром -&gt; бурп -&gt; виртуалка -&gt; хост в удалённой сети, будучи подключенным к точке доступа телефона, раздающей VPN соединение&quot; и обратно.</p>
  <p id="ulDs">Сколько времени ушло на это? От объявления скоупа и до получения доступа с ноутбука к доменам скоупа прошло 1 час и 26 минут из доступных 4ч похека + 80% ментальных сил.</p>
  <p id="niMm">Следующие 3ч34мин прошли в режиме &quot;распыление&quot;, где на оставшиеся 20% ментальных сил, я пытался ухватиться за low-hanging fruits.</p>
  <p id="Nn0s"></p>
  <hr />
  <h3 id="Что-дальше?">Что дальше?</h3>
  <p id="YYIN">Остаётся написать на бумаге <a href="https://www.youtube.com/watch?v=iQQyFWtD0n8" target="_blank"><em>I have failed</em>, <em>but I will try again tomorrow</em></a>и не сдаваться. Ты тоже не сдавайся. Все совершают ошибки, все проебываются и попадают в тупые ситуации, но лишь некоторые учаться на них, становясь лучше.</p>
  <p id="KPP7">Надеюсь какие-то из этих мыслей и ситуаций помогут в нужный момент, или уже помогли и ты зарядился энергией делать то, что к чему постоянно готовился.</p>
  <p id="gIAl">Как появятся вопросы, предложения, мемы или захочешь что-нибудь обсудить, смело пиши мне на <a href="https://t.me/tokiakasus" target="_blank">@tokiakasus</a> + подписывайся на <a href="https://t.me/hackthishit" target="_blank">@hackthishit</a>, чтобы видеть <em>БОЛЬШЕ</em> контента по безопасности веба, инфры и головы.</p>

]]></content:encoded></item></channel></rss>