Ця тема призначена для всіх, хто хоче дізнатися про мультіаккаунтинг і боттінг. Я постарався розповісти про все, що потрібно знати про цей світ. Неважливо, новачок ви чи ні; моя спроба в цьому дописі – поділитися всім, що я знаю, щоб ви могли почати свій шлях якнайшвидше та отримати загальне уявлення про те, на що слід звернути увагу, з якими перешкодами ви можете зіткнутися і як їх подолати.
Я працюю в цій ніші близько трьох років, створюючи складні боти, скрепери та численні проєкти з реверс-інжинірингу для клієнтів, себе й іноді просто для задоволення! Моя мета – зробити внесок у співтовариство і, можливо, створити середовище (тему) для обговорення сучаснішого підходу до стелс-боттінгу та мультиакаунтінгу.
- Відстеження
- Футпринти
- Фінгерпринти
- Мережева безпека
- Проксі
- WebRTC
- HTTP/3
- TCP/IP Fingerprint
- Віртуальні машини (ВМ)
- Контейнери
- Звичайні браузери
- Антидетект браузери
- Мобілки та мобільні ферми
- Автоматизація та боттінг
- Приватні API та зворотна інженерія
- Реверс інженіринг веб-додатків
- Реверс інженіринг мобільних додатків
- Мої думки з приводу цього методу
- Заключні думки
Відстеження
Що таке відстеження? Що заважає вам зареєструвати тисячу акаунтів і автоматизувати їх? Знати, хто ваші противники, – завжди розумна ідея, щоб ви могли ухвалювати обґрунтовані й логічні рішення, а не просто пускати стріли наосліп.
Я настійно рекомендую вам спочатку вивчити цей розділ, щоб потім, коли ми обговоримо реальні методи, ви могли зробити свідомий вибір на користь того, який рівень скритності вам потрібен, виходячи з ваших потреб. Залежно від сайту або програми, ви можете зіткнутися з усіма, деякими або жодною з перешкод, про які я розповів у цьому розділі.
Єдиний спосіб зробити все правильно – це спочатку поекспериментувати з мінімумом (інструменти, які у вас є під рукою), потім спробувати просунуті налаштування (преміум-проксі тощо), якщо мінімум не спрацює, і нарешті зайняти проміжне становище, експериментуючи та ухвалюючи логічні рішення для початку масштабування.
Футпринти
Це користувацькі сліди, призначені для відстеження та виявлення спамерської поведінки і ботів. Нижче наведено деякі з найпоширеніших слідів і способи боротьби з ними.
а) Метадані та хеші контенту
Будь-який завантажуваний, скачуваний або одержуваний медіафайл містить метадані. Вони можуть бути використані для визначення різних речей, таких як геолокація, джерела контенту тощо. Більшість соціальних мереж також зберігають хеш контенту, який можна використовувати для визначення повторного завантаження одного й того самого контенту.
Щоб впоратися з метаданими, ви можете видалити їх за допомогою різних інструментів і бібліотек або, що ще краще, підмінити метадані новими, щоб вони мали органічніший вигляд.
Для роботи з хешем можна використовувати різні інструменти: піксельні маніпуляції, маніпуляції з кольором, кадрування тощо.
б) Моделі використання
Те, як використовується акаунт, має велике значення. Якщо ви 24 години на добу 7 днів на тиждень стежите за випадковими людьми в Instagram, то це очевидний доказ. Веб-сайти також обмежують кількість дій, які можна виконати за певний проміжок часу. Ви також можете виділитися, якщо ваші дії не збігаються з мільйонами інших користувачів на їхній платформі. Щоб протистояти цьому, будьте якомога більш людяними.
Будьте досить випадковими, але не надто. Наприклад, щоб отримати облікові записи Gmail, вам потрібно спочатку отримати cookies, відвідуючи випадкові сайти, виконуючи пошук у Google, переглядаючи YouTube тощо. Детальніше про це ми розповімо в розділі “Фінгерпринти”.
Фінгерпринти
Фінгерпринтинг передбачає збір численних метаданих із пристрою для створення унікального хешу, який можна використовувати для визначення того, чи пов’язані два або більше облікових записів між собою або чи можна довіряти обліковому запису/профілю. Фінгерпринтинг можна умовно розділити на дві підкатегорії.
а) Активні
Активні відбитки створюються на основі сирих даних про пристрій, які активно збирають застосунки та веб-сайти. Залежно від платформи (браузерної або мобільної), вони можуть збирати такі дані, як агент користувача, відсоток заряду батареї, кількість CPU, canvas, WebGL, метадані GPU, метадані аудіо, мову, часовий пояс, властивості екрана і багато іншого! У наступних розділах ми обговоримо, як це можна підробити.
б) Пасивні
Історія браузера, вік профілю браузера, швидкість набору тексту і рухи миші також можуть відстежуватися/контролюватися фоновими агентами для отримання оцінки довіри. У рідкісних випадках усе має значення, включно з кількістю соціальних облікових записів, створених за допомогою електронної пошти, і отриманим у результаті цього балом шахрайства.
Вам доведеться несолодко, якщо ваш показник довіри буде низьким, а показник шахрайства – високим. Щоб протистояти цьому, будьте якомога більш людяними; я не можу не підкреслити це! Ставте вік ваших профілів і файлів cookie! Якщо ви націлені на кілька платформ, створіть псевдонім, який взаємодіятиме з усіма соціальними мережами (як людина), замість того щоб явно націлюватися на одну.
Мережева безпека
Далі про мережеву безпеку та усе, що з цим пов’язано.
Проксі
Веб-сайти також можуть відстежувати, звідки надходять запити і які облікові записи пов’язані з тими чи іншими IP-адресами та підмережами. Вони також можуть знати, чи використовуєте ви IP, чия підмережа була відзначена, має низький показник довіри або якщо IP є публічним/центральним.
Як перший захід ви завжди повинні використовувати хороший проксі. Існує приблизно три типи проксі: ЦОД, резидентні та мобільні. Далі їх можна розділити на статичні та обертові.
Проксі для центрів обробки даних зазвичай найдешевші, але вони не підійдуть для більшості соціальних мереж. Існує багато суперечок між резидентними та мобільними проксі для соціальних мереж, і я б сказав, що все залежить від конкретного випадку використання. Якщо ви хочете зареєструвати багато акаунтів і не дбаєте про те, щоб використовувати їх миттєво, резидентних проксі повинно бути достатньо, хоча те ж саме можна зробити і за допомогою мобільних проксі.
Але якщо ви хочете активно використовувати акаунти (автоматично або вручну), то мобільні проксі – ваш найкращий вибір! Просто зареєструйтеся/зайдіть, використовуйте акаунт, змініть IP і повторіть цикл із новим акаунтом. Для застосунків соціальних мереж в ідеалі потрібно використовувати мобільний проксі, який буде ротувати IP в межах однієї підмережі. Акаунти, які стрибають із країни в країну, явно підозрілі.
Деякі використовують VPN, але я не можу це коментувати, оскільки ніколи не пробував і використовував частіше мобільні проксі. Не соромтеся експериментувати з цим для вашого конкретного випадку використання.
WebRTC
Під час використання проксі в браузерах необхідно маскувати або підміняти витоки webRTC. WebRTC розкриває ваш IP навіть за увімкненого проксі. Ви можете встановити розширення, яке відключає webRTC для звичайного браузера.
Браузери з функцією Anti-Detect зазвичай підтримують підміну webRTC; вам просто потрібно увімкнути її в налаштуваннях профілю. Під час використання H3-сумісних клієнтів і проксі-серверів вам не доведеться турбуватися про це, адже UDP буде “проксіруватися”, і ваш IP буде повністю замасковано.
HTTP/3
Багато веб-сайтів переходять на HTTP/3, новий протокол запитів. Більшість проксі-провайдерів не підтримують його, а якщо і підтримують, то ваш клієнт, найімовірніше, не підтримує проксування запитів H3. Проксування протоколу H3 є обов’язковим для таких платформ, як Instagram.
Щоб розв’язати цю проблему, спочатку вам знадобиться проксі-провайдер, що підтримує UDP, або будь-які VPN-протоколи, як-от ShadowSocks або OpenVPN. Ці протоколи підтримують UDP при використанні підтримуваних клієнтів. Якщо ваш проксі підтримує UDP, ви можете використовувати програмне забезпечення на кшталт ProxyCAP для маршрутизації TCP і UDP трафіку через ваш проксі. Для VPN-протоколів ви будете використовувати рекомендований клієнт для маршрутизації трафіку.
TCP/IP Fingerprint
Так, ваші IP-адреси теж передають відбитки пальців! Веб-сайти можуть дізнатися, яку ОС ви використовуєте, за вашим відбитком TCP і звірити його з вашим агентом користувача. Якщо ви використовуєте проксі-сервер, то, як правило, це буде Linux, незалежно від вашої ОС. Для деяких рідкісних випадків вам може знадобитися підробити ці відбитки. Це може бути підроблено тільки вашим проксі-провайдером, і деякі рідкісні провайдери підтримують підміну ОС для своїх проксі.
Віртуальні машини (ВМ)
Цей одвічний метод передбачає просте використання будь-якого програмного забезпечення гіпервізора для створення виділеного середовища для нового профілю. Ви все ще повинні маскувати свій IP за допомогою проксі, але гіпервізор робить більшу частину підміни за вас. Для створення облікових записів можна створювати віртуальні машини з різними системними характеристиками.
а) Веб-сайти
Багато популярних гіпервізорів, таких як Virtual Box, VMware, Proxmox і QEMU, можна використовувати для створення виділених віртуальних машин для облікових записів.
Існує також Qubes OS, де кожен ініціалізований екземпляр браузера запускається в новій, свіжій ВМ.
б) Додатки
Для мобільних додатків можна використовувати емулятори на кшталт bluestacks.
Цей метод підходить, якщо вам потрібні швидкі одноразові облікові записи, але ви не хочете платити за браузери з функцією захисту від виявлення. Однак віртуальні машини вимогливі до ресурсів і повільно завантажуються, тому я не раджу використовувати їх для будь-яких операцій, які потребують масштабування.
Контейнери
Цей метод ґрунтується на технології контейнеризації, яка доступна в основному в Linux. Контейнери – це не що інше, як дуже легковагі віртуальні машини. Одним із найпопулярніших способів використання цієї технології є використання Docker.
Ви можете запустити екземпляри браузера в контейнерах, прокинути порт WSS і підключити сценарій автоматизації безпосередньо до екземпляра браузера в контейнері. Ви також можете укласти свій сценарій автоматизації в контейнер і підключитися до браузера безпосередньо з контейнера. Існують проекти на кшталт docker-android, які дають змогу емулювати android всередині самого docker.
Цей метод підходить для тих випадків, коли потрібне середнє масштабування, оскільки контейнери легкі, а браузери – ні. Крім того, він не такий складний, як зворотне проектування, і швидше прототипується. Однак слід враховувати, що під час знищення контейнера оточення втрачається, тому його слід використовувати здебільшого тоді, коли відтворення оточення os не потрібне.
Одного разу я створив рішення для ботів Zoom, оскільки Zoom не вимагає входу в систему, щоб приєднатися до зустрічі, не потрібно було підтримувати стан. Це була ідеальна ситуація для використання цього методу. У якийсь момент у нас було близько 10 тисяч ботів, які працювали паралельно за допомогою цього методу. Ми могли б швидко масштабувати цю систему до будь-якої кількості ботів залежно від попиту, якби в нас було достатньо проксі-серверів і доступних ресурсів.
Звичайні браузери
Для деяких платформ достатньо звичайного браузера Firefox із кількома додатковими плагінами для скритності. Якщо ви хочете використовувати Chrome, ви можете звернути увагу на такі проекти, як Ungoogled Chromium. Але вам доведеться робити багато підмін вручну.
Існує проєкт під назвою FakeBrowser і FakeChrome, який більше не працює, але якщо ви вмієте читати код, то зможете переписати більшість вивертів, що посилаються на цей проєкт. Також на ринку з’явився новий інструмент під назвою fingerprint switcher. Ви можете пошукати його, але на момент написання цієї статті він підтримує тільки Windows.
Цей метод підходить для тих випадків, коли потрібне середнє масштабування, оскільки, знову ж таки, це браузер. Цей спосіб дає змогу швидко створювати прототипи, але він трохи складний, оскільки ви самі керуєте стелсом. Однак це набагато швидше і простіше, ніж зворотний інжиніринг. Деякий час тому я розробив рішення на основі цього методу для компанії, що займається SMM-панелями; після подолання проблеми невидимості розробка і підтримка решти продукту стали простою справою.
Антидетект браузери
Якщо вам не дуже хочеться робити все самому і ви готові заплатити комусь за всі складнощі, ви можете вибрати антидетект браузери. Зверніть увагу, що в антидетект браузерів є свої обмеження, і вони можуть не працювати на деяких платформах.
Це чудове рішення, якщо ви дбаєте про створення та/або управління тільки обмеженим набором облікових записів. Однак при масштабуванні воно може виявитися дорогим. Не всі браузери для захисту від виявлення підтримують автоматизацію, тому на це слід звернути увагу.
Мобілки та мобільні ферми
Це золота жила, якщо ви зможете зрозуміти, як змусити її працювати. Деякі з найякісніших акаунтів можуть бути створені і підтримуватися за допомогою мобільних ферм. Вам знадобиться зламаний мобільний телефон і деякі інструменти для зміни його характеристик на льоту, щоб створити кілька акаунтів на одному пристрої, один за одним.
Масштабувати цю установку до 500 або 1000 пристроїв?! Я ніколи не йшов цим шляхом, але я знаю два шляхи, які я б рекомендував вам пройти, щоб дізнатися більше.
- AllOutAnime’s Journey
- evex’s Journey
Це може бути дорогувато порівняно з іншими методами, але це також єдиний спосіб автоматизувати деякі платформи, такі як Instagram.
Автоматизація та боттінг
- Автоматизація браузера. Існує кілька фреймворків для автоматизації браузерів, зокрема Selenium, Puppeteer і Playwright. Документація щодо них доволі зрозуміла. Мій фаворит – Playwright, і я настійно рекомендую уникати Selenium (його можна змусити працювати, але все одно це багато роботи).
- Автоматизація Android. Я вже використовував Appium, але у виробництві поки що нічого немає, тож зверніться до посилань, про які я говорив у главі “Мобілки та мобільні ферми”.
- Автоматизація графічного інтерфейсу. Для автоматизації емуляторів Android можна використовувати ADB (необов’язково, оскільки деякі додатки перевіряють, чи ввімкнено опції розробника) і будь-які фреймворки для автоматизації графічного інтерфейсу, як-от AutoIt або pywin32. Ця автоматизація значною мірою залежить від захоплення екрана, OCR і розпізнавання зображень, але вона дуже ефективна. Деякий час тому я зробив скрипт реєстрації в Instagram, використовуючи цей метод. Ви навіть можете підключитися до bluestacks і запускати нові профілі з різними конфігураціями, змінивши деякі ключі реєстру Windows.
Приватні API та зворотна інженерія
Це перехоплення і вилучення приватних API з будь-якої програми або веб-сайту і відтворення їх шляхом зміни запиту. Деякі корисні запити можуть містити зашифровані дані, тому для відтворення їхньої функціональності вам може знадобитися вивчити вихідний код.
Реверс інженіринг веб-додатків
Тут і говорити нічого: інструменти розробника Chrome – ваш друг! Ви також можете використовувати такі інструменти, як Burp Suite або HTTP Toolkit для перехоплення запитів, оскільки вони мають більш просунуті методи фільтрації.
Залежно від ситуації, ви можете використовувати різні методи для вилучення певної функціональності. Іноді достатньо налагоджувача Chrome, в інших випадках вам доведеться писати деобфускатор самостійно.
Реверс інженіринг мобільних додатків
Найбільшою перешкодою є SSL Pinning. Ви можете легко обійти його за допомогою Frida. Якщо це не спрацює, декомпілюйте та модифікуйте застосунок, щоб він довіряв сертифікатам користувача.
Перекомпілюйте застосунок, підпишіть, встановіть і перехоплюйте запити, як зазвичай, за допомогою Burpsuite, Proxyman або HTTP Toolkit. Візьміть за звичку читати код smali, щоб за необхідності проводити статичний аналіз. Використовуючи Frida, ви можете підключатися до функцій і розуміти їхню поведінку, щоб повторити їхню функціональність.
Мої думки з приводу цього методу
Це мій особистий фаворит. Кінцева реалізація дуже легка і, отже, дуже масштабована. Але вона також надзвичайно складна, залежно від того, на який соціальний сайт ви націлені.
Заключні думки
Не існує правильної відповіді на питання про боттінг і мультиакаунтинг. Усе залежить від ваших потреб, масштабу вашої діяльності та додатка/веб-сайту, на який ви орієнтуєтеся. Але все, що тут описано, має дати вам уявлення про те, на що слід звернути увагу, і ухвалити рішення, що відповідає вашим вимогам.
Що ще почитати на тему:
+ Reverse Engineering
– Github: jamiebuilds/babel-handbook
– Github: iddoeldor/frida-snippets
+ Stealth Evasion
– Github: CheshireCaat/browser-with-fingerprints
– Github: kkoooqq/fakebrowser
– Github: kkoooqq/fakechrome
– Github: ungoogled-software/ungoogled-chromium
– Github: apify/fingerprint-suite
+ Автоматизація емулятора
– Github: SergeyPotapov01/bot_Clash_Royale
– Github: MyBotRun/MyBot









