Загрузка...

Как избавиться от красного экрана Google Safebrowsing раз и навсегда.

Тема в разделе Веб уязвимости создана пользователем CYBERPLUG 10 янв 2023. (поднята 14 янв 2024) 2324 просмотра

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


    [IMG]



    Google Safebrowsing состоит из четырех частей:
    • встроенный в хром механизм определения ******а на основе совпадения цветовых палитр и частей доменов ранее посещенных сайтов.
    • механизм проверки url-адресов и хешей файлов на совпадение по предзагруженной базе укороченных хешей, хранящихся локально.
    • механизм распаковки большинства типов ахривов, и проверки хешей исполняемых файлов и хешей их секций по локально хранящейся базе.
    • краулер, который получает адреса скачанных файлов, проходится по ним, выкачивает и передает на сервера гугла для анализа их антивирусным движком, с использованием сервиса VirusTotal.
    Определение ******а на основе совпадения цветовых палитр и частей доменов ранее посещенных сайтов:
    • Хром считает и хранит сумму пикселей каждого цвета на всех страницах, которые вы посещаете.
    • Таким образом если вы копируете дизайн логин-формы или посадочной страницы один-в-один, она будет определена как ******овая.
    • Чтобы сбить этот механизм с толку, достаточно использовать смещение цветовой палитры через css.
    Вот пример javascript-кода, который следует поместить в head-секцию сайта, внутрь <script>-тега:
    Код
    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-адресов и прикрепление их к кнопке скачивания:
    Код
    <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
    Ограничение ответов в теме:
    Автор темы разрешил отвечать в теме только этим группам (и вышестоящим): Местный, Команда форума и Кураторы.
     
    10 янв 2023 Изменено
  2. Resow
    Resow 11 янв 2023 Гениальные ответы в оффтопе 11 530 31 мар 2021


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