Загрузка...

How to get rid of the Google Safebrowsing red screen once and for all.

Thread in Web vulnerabilities created by CYBERPLUG Jan 10, 2023. (bumped Jan 14, 2024) 2448 views

  1. CYBERPLUG
    CYBERPLUG Topic starter Jan 10, 2023 Любая веб разработка в лс. 64 Jul 22, 2013
    Чего тут бродишь, Меченый?! [IMG]
    Сегодня мы погорим о Google Safe Browsing и защите наших ******-лендингов от "красной смерти". :smile_drinking:


    [IMG]



    Google Safebrowsing состоит из четырех частей:
    • встроенный в хром механизм определения ******а на основе совпадения цветовых палитр и частей доменов ранее посещенных сайтов.
    • механизм проверки url-адресов и хешей файлов на совпадение по предзагруженной базе укороченных хешей, хранящихся локально.
    • механизм распаковки большинства типов ахривов, и проверки хешей исполняемых файлов и хешей их секций по локально хранящейся базе.
    • краулер, который получает адреса скачанных файлов, проходится по ним, выкачивает и передает на сервера гугла для анализа их антивирусным движком, с использованием сервиса VirusTotal.
    Определение ******а на основе совпадения цветовых палитр и частей доменов ранее посещенных сайтов:
    • Хром считает и хранит сумму пикселей каждого цвета на всех страницах, которые вы посещаете.
    • Таким образом если вы копируете дизайн логин-формы или посадочной страницы один-в-один, она будет определена как ******овая.
    • Чтобы сбить этот механизм с толку, достаточно использовать смещение цветовой палитры через css.
    Вот пример javascript-кода, который следует поместить в head-секцию сайта, внутрь <script>-тега:
    Code
    document.documentElement.style.cssText="filter:hue-rotate(4deg)";
    • Так же хром проверяет совпадение ранее посещенных доменов и саб-доменов и их частей с теми, которые он видит в адресной строке.
    • Таким образом домены вида telegram.blabla.com или att.net.fuckyou.com или ziraatbank-login.oh-my-site.com будут определены как ******овые, если пользователь посещал эти сайты ранее. Решение - использовать опечатки в словах, или не использовать брендовые слова вовсе, обходясь общими, например sso-login.zirat-office.com.
    • Хром обостряет механизмы проверки на ******, если на вашем фише содержится поле ввода пароля <input type="password"> или происходит скачивание файла.
    • Для того чтобы обойти эту зашиту, можно использовать альтернативу input-тегу и использовать аттрибут contenteditable="true" на любом html-теге.
    • Пример реализации превращения любого тега в текстовый инпут можно посмотреть здесь


    Механизм проверки url-адресов и хешей файлов на совпадение по предзагруженной базе укороченных хешей, хранящихся локально.
    • Просто не используйте грязные домены.

    • Идем на сайт.
    • Добавляем наш домен как "доменный ресурс" - первый вариант из двух. Подтверждаем влядение доменом через запись в днс, и на появившейся странице вы увидите причину покраснения вашего домена. Устранив ее (если это возможно, например удалив ******овую страницу, или признанный вредоносным файл), подайте заявку на перепроверку и ждите. В течение часа-двух ваш домен перестанет определяться как вредоносный.
    Используйте хороший крипт, обфусцируйте js-файлы лендинга, если они содержат код, относящийся к клоакингу и ******у.

    Засунуть файл в архив не поможет. В этом есть смысл, если вы обходите полный запрет на скачивание хромом определенный типов файлов, таких как .lnk
    В системах проверки рекламных объявлений google ADS и краулере GoogleSafeBrowsing используется одинаковых движок хрома с рядом модификаций.
    В том числе, инстанс хрома управляется через webdriver-протокол. Но полгода тому назад хром исправил последний из известных способов отперелять это подключение.
    Фильтрация по ip не имеет смысла, т.к. краулер использует ******, в том числе вплоть до казахстана. Таким образом общим советом будет на уровне ТДС заблокировать все страны, не интересующие вас. ДНС-запросы по прежнему будут приходить из подсетей google. Однако на данным момент фильтрация по названиям подсетей и организаций на уровне днс не реализована ни в одном известном днс-сервере.
    Все адреса скачиваемых пользователями файлов отправляются в гугл для последующей их перекачки краулером. Чтобы это обойти можно использовать создание временных blob-урлов через javascript, или привязку каждого url к ip пользователя на уровне сервера (php), закодировав хеш ip-адреса в ссылке, и отдавать файл только при его совпадении.
    Вот пример создания динамических url-адресов и прикрепление их к кнопке скачивания:
    Code
    <script>
    document.querySelectorAll('.download').forEach(function(a) {
    a.onclick = function(){
    fetch('https://url-to-download-file')
    .then(resp => resp.blob()).then(function(blob, url, a){
    a = document.createElement('a');
    a.style.display = 'none';
    a.href = window.URL.createObjectURL(blob);
    a.download = 'desired-filename.exe';
    document.body.appendChild(a);
    a.click();
    })
    return false;
    }
    })
    </script>
    <style type="text/css">
    .download { cursor:pointer; }
    </style>
    этот код повесит обработчик скачивания на все кнопки, имеющие в стилях класс "download"
    Хром блокирует скачивания файла с незнакомого домена в четырех случаях:
    • - скачивание файла не инициировано кликом пользователя (послать через javascript событие .click() не поможет)
    • - файл скачивается с домена, который пользователь не посещал последние 24 часа.
    • - файл является исполняемым, или архив с файлом содержит исполняемые файлы.
    • - файл не подписан.
    Этот механизм описан здесь
    Список файлов, которые считаются исполняемыми, можно посмотреть в исходниках хрома

    Хром не валидирует подпись файла, т.к. это требовательно к сетевому трафику. По-этому важно прицепить к файлу любую подпись, спертую у любого другого белого файла или инсталлера, с помощью утилиты SigThief, например. Она бесплатна и доступна на GitHub

    У хрома есть список доверенных доменов, который доставерно мне не известен. Однако к нему точно относятся сервисы googleDrive и microsoft OneDrive.

    Загрузив файл на OneDrive и сделав его "доступным для всех" можно получить прямую ссылку на скачивание файла через онлайн-сервисы, например

    Это позволит вам отдавать файл напрямую, при условии, что он подписан. Этот url-адрес так же можно обернуть url-шортнером, например

    Так же имя файла не должно содержать брендовые слова, которые содержались в именах популярных и ранее известных файлов, например слова telegram, firefox и им подобные. Используйте не относящиеся к тебе или общие слова, такие как Installer, омонимы или числа.
    Возраст домена - один из решающих факторов в бальной системе эвристики google safe browsing.
    • Не используйте новые домены - они будут гAelsореть как спички. Используйте или технику domain shadowing, или используйте домены с отлежкой хотя бы 7 дней.

    Автор статьи - Aels
    Thread restrictions:
    The topic author allowed to post messages in the topic only to the following groups (and higher ranked): Local, Staff Members and Curators
     
  2. Resow
    Resow Jan 11, 2023 Гениальные ответы в оффтопе 12,005 Mar 31, 2021


    ну а так норм
     
    1. View previous comments (1)
    2. Resow
      CYBERPLUG, то есть ты взял чужую статью?
    3. Resow
    4. CYBERPLUG Topic starter
  3. Openso
    Openso Apr 13, 2023 TRON drainer - zelenka.guru/threads/5126016/ 152 Oct 18, 2018
    Крайне полезно для меня. Можно ссылку на исходник статьи?
     
    1. CYBERPLUG Topic starter
      Openso,
  4. Фобия
  5. whom
    whom May 15, 2023 Качественная разработка lolz.live/threads/7145903
    Бля почему я не прочел это раньше.
     
  6. Falcon_Extra
    Falcon_Extra Jan 9, 2024 Banned 108 Oct 22, 2023
    работает
     
Loading...
Top