Генерация запросов

Discussion in 'Безопасность и Анонимность' started by Lolinas, 30 Aug 2021.

  1. Lolinas

    Lolinas Member

    Joined:
    20 Oct 2019
    Messages:
    126
    Likes Received:
    54
    Reputations:
    19
    Говорят, если создать «шум» в сетевом трафике, то труднее будет отыскать впн или тор соединения. На что влияет этот «шум»? У провайдеров хранятся логи (по-разному, от 3 месяцев до 2 лет) и в автоматическом режиме они архивируются и скидываются в мусороприемник какого ни будь сервера. Допустим у провайдера 1000 клиентов и за целый день каждый сгенерирует около 1000 запросов. В итоге мы имеем миллион строк в текстовом файле (около 100МБ). На деле, и тех и этих может быть гораздо больше. Когда на этом сервере заканчивается место, очень часто удаляются самые старые файлы. Выходит, что чем больше мы запросов произведем, тем быстрее засорим жесткие диски сервера. Но мы не знаем объём хранилища. Да, возможно, провайдеры хранят их на облаках, но это единицы. Все остальные придерживаются правила – меньше вклад и больше прибыль.
    На просторах интернета несколько генераторов трафика - web-traffic-generator, needl, noisy. Вот только они все написаны на питоне, и каким образом их запустить на windows не известно. Почему-то такого рода софт трудно найти, поэтому попытался своими силами что-то написать, используя скриптовый язык autoit

    Весь код не стану описывать, так как это может занять еще страниц 10, кто разбирается в программировании все быстро поймет. Опишу только основные моменты. Для примера, возьмем несколько форумов, youtube, google и пачку адресов сайтов. Всего вышло семь объектов, один из которых случайно запускается при повторении цикла.

    Рассмотрим вкратце на примере lostfilm

    Эта строка создает запрос на страницу лостфильма, страница может быть случайная от 1 до 5000. Аналогично и для остальных форумов, только цифры другие.

    Для youtube несколько сложнее. Чтобы сослаться на видео нужно ввести некий адрес из 11 символов, например, ютуби/watch?v=Dt9vh_eRTgd.

    Деление посимвольно происходит в этой строке

    потом идет сборка

    Вот и получается ссылка.

    Кстати, видео по данной ссылке может и не существовать, но страница с рекомендациями других видео загрузится.

    Имеется также список сайтов (около 500), которые загружаются на своей главной странице

    [​IMG]

    Теперь рассмотрим самое сложное – поиск в google. В скриптах питона, авторы использовали поиск лишь по одному слову. Что ж, попробуем взять целую фразу. Итак, начнем разбираться; имеются несколько файлов, которые строят «на лету» фразу для поиска. Для этого создадим 4 текстовых файла, в которых пропишем фразы

    word1.txt – наименование товара

    [​IMG]

    word2.txt – производитель

    [​IMG]

    word3.txt – цель поиска

    [​IMG]

    word4.txt – город

    [​IMG]

    Приведу пример фразы сгенерированной для поиска – «Видеокарта Elitegroup продать в Таганрог». Ничего страшного, что такой видеокарты не существует, но google все равно выдаст ответ на этот запрос. Теперь по поводу построения кода
    Подсчитывает количество строк в первом файле (аналогично для остальных)

    Заполняем массив построчно из файла

    Основная сборка случайных ячеек из 4х массивов

    Так как у google есть очень много доменов (около 100), то добавим их в новый файл

    [​IMG]

    Случайно выбираем домен из ранее созданного массива

    Окончательная строка поиска будет выглядеть так

    Кстати, во время поиска всплывают много переменных – source, ei, oq, gs_lcp, sclient их тоже можно генерировать случайным образом

    В общем-то генерация пошла


    [​IMG]

    В основном цикле установлена пауза в 10 секунд. Можно выставить свое значение и скомпилировать программу для запуска нескольких копий одновременно. Но все делается, разумеется, на свой страх и риск. Не известно, как поведет себя провайдер, да и хосты станут блокировать ваш ip.
     
    Spinus likes this.
  2. CyberTro1n

    CyberTro1n Elder - Старейшина

    Joined:
    20 Feb 2016
    Messages:
    1,077
    Likes Received:
    854
    Reputations:
    14
    Нахуя ты этот расклад в общество льёшь? Харош. Замута тип топ. На днях о ней думал.
    Тут будь осторожен...
     
  3. Lolinas

    Lolinas Member

    Joined:
    20 Oct 2019
    Messages:
    126
    Likes Received:
    54
    Reputations:
    19
    Рассмотрим обновленный скрипт, который имеет большую внутреннюю базу и автоматический сбор ссылок
    Отличием нового скрипта от прошлого является упорядоченность. Функция _rand_gen_search_txt() имеет четыре решения, которые случайным образом составляются из текстовых файлов. Первая покупка или продажа овощей в городе. Рассмотрим на примере овощей. Есть файл со списком всех фруктов, овощей, ягод, плодов и случайно оттуда выбирается одно название, например, «смородина». Также из другого списка с глаголами выбирается одно слово, пусть будет «приобрести». Теперь из громадного списка городов выбирается один – Хуст. И генерируется строка по шаблону – товар + глагол + город. Применяется комбинаторика, дабы менялись слова местами и получаем массив с шестью возможными комбинациями. Из которых также случайно выбирается одна строка, которая и будет конечным ответом в этой функции

    [​IMG]

    Компьютерные комплектующие покупка\продажа в городе. Аналогичным способом проделываем для комплектующих

    [​IMG]

    Типичные компьютерные вопросы с операционной системой

    [​IMG]

    И вопросы на общую тематику (около 850 вопросов)

    [​IMG]

    Чтобы проверить что мы там ищем, можно записать информацию в файл FileWrite($test,$last_query), и потом просто открыть в браузере

    [​IMG]

    Для поисковиков, типа Google существуют множество идентификаторов, которые не понятно, что означают, как генерируются, но суть одна, они идентифицируют каждый запрос с определённым ip и браузером. Для google используются эти source, sclient, ei, gs_lcp, ved, uact. Что же, узнаем сколько символом они могут быть, и какие именно символы используются и генерируем их каждый раз при запросе.

    Теперь рассмотрим функцию _auto(). Изначально, она создана для ленивого пользователя (то есть меня), который не желает создавать текстовые файлы, заполнять их текстом, писать код для генерации всех слов. Суть этой функции простой – ходить по страницам и сохранять все ссылки, потом ходить по всем сохраненным ссылкам и снова сохранять и т.д. Например, мы ввели в google поисковую фразу, и нам отобразилась страница и множеством ссылками. Программа открывает каждую из этих ссылок и на открытых страницах имеем еще ссылки. Если поставить скрипт на ночь, то к утру будет обвал программы из-за нехватки ОЗУ. В первый раз программа насчитала 1636 ссылок, после того, как скрипт посетил все 1636 страниц и считал оттуда все ссылки, их стало 46619 (около 50мин на сбор). Кстати, очевидным будет то, что ссылки могут повторятся, но функция _ArrayUnique удаляет повторы, поэтому эти числа говорят про ~46тысяч не повторяющихся страниц. Если запустить третий круг сбора, то там выйдет, наверное, миллион

    [​IMG]

    Поэтому совместим функцию автоматического сбора с остальными функциями с некоторыми ограничениями. Рассмотрим функцию поподробнее

    $deep – количество циклов сбора ссылок (предыдущая картинка)
    $many_link – количество ссылок, используемых для перехода. Так как ссылок может быть очень много, то можно воспользоваться ограничителем
    $input_string – информация, полученная из интернета с помощью функции inetread (например, страница поиска google, что на картинке взята оттуда)

    Теперь рассмотрим сам код

    Цикл, который повторяет всю функцию определенное количество раз, то есть это глубина

    Здесь мы из полученной информации из интернета вытаскиваем ссылки и сразу же фильтруем на повторы

    Если не удалось найти не одной ссылки, то цикл прекращается

    Выбираем те ссылки, в которых не встречаются слова yandex, vk, google и т.д. Дабы скрипт не зацикливался на одном только сайте

    Если ссылок меньше восьми или входящая информация меньше восьми килобайт (например, картинка или страница с ошибкой доступа или 404) то цикл завершается

    Здесь решается задача в выборе количества ссылок

    Основной цикл, который собственно и спамит. Условие ниже означает то, что переменная $input_string присваивает только те ответы, которые длиннее 3000 символом и меньше миллиона

    Счетчик, если порядковый номер цикла будет больше чем глубина сбора, то цикл прекращает работу

    Посмотрим, что покажет yogadns за неделю тестирования скрипта

    [​IMG]
     
    #3 Lolinas, 13 Sep 2021
    Last edited: 25 Jul 2022
    Spinus likes this.
  4. Lolinas

    Lolinas Member

    Joined:
    20 Oct 2019
    Messages:
    126
    Likes Received:
    54
    Reputations:
    19
    Ну вот дошли руки и до сборки всех текстовых файлов в единый. Достаточно запустить и процесс пойдет. Для удобства был создан файл конфигурации в котором есть некоторые настройки. Можно менять ua и включать гуи интерфейс, а вот глубину и пределы для генерации случайных цифр лучше не трогать. Если программа будет запущена на виртуальной машине, то следует выделить достаточное количество озу (~4гб) и не использовать динамическую память. Так как файл может загрузиться очень быстро (ну зависит от скорости интернета) и память просто не успеет выделить и получим ошибку об нехватки памяти.

    Наверное, самый распространенный вопрос, а как будет относится провайдер к этому? Никак, провайдеру важно количество занятых портов на сервере. Мы все сидим за натом. Допустим, самая обычная сетка класса ц, к свитчу подключено 250 пользователей. Каждый из них держит открытым 100 соединений, в итоге на свитче 25к открытых портов, а это уже чуть меньше половины допустимых. Это актуально является для раздатчиков торентов. Посмотрите, сколько соединений открыто при раздаче пару десятков торентов, а тут еще какой-то юзер включи спам программу. Поэтому не стоит злоупотреблять и запускать много копий программы одновременно. Даже если это случится, то в большинстве случаев провайдер позвонит клиенту и скажет "ай-я-яй".

    Почему я написал эту программу, ведь есть аналоги? Да, есть, но они не работают на винде и имеют унылый функционал. А тут функция автоматического поиска ссылок на страницах и переход по ним в дальнейшем.
    https://mega.nz/file/0CAhUQYS#C7Y8tFM3hdnAibOQS6SyQNfgk_W0t-WquEFcstreli4
     
    CyberTro1n and Spinus like this.
  5. Lolinas

    Lolinas Member

    Joined:
    20 Oct 2019
    Messages:
    126
    Likes Received:
    54
    Reputations:
    19
    Cсылка. Немного дополнил программу. Добавлены ua, можно даже дописывать их в конце ини файла, просто пишем 33=новый ua. Ua случайно выбирается из этого списка при каждом запросе.

    [​IMG]

    Также добавлена информация в сплывающей подсказке

    [​IMG]

    Тут три строки. В первой указано общее количество запросов и размер скачанных данных. Во второй указана поисковая фраза и какой поисковик использовался. В третьей указано круг: номер текущей ссылки этого круга / всего ссылок на этом кругу, затем сама текущая ссылка. Часть ссылки может быть невидна, это все из-за того, что windows ограничивает всплывающую подсказку 128 символами.
     
    Suicide likes this.