BIN-атаки нового поколения: подбор номеров карт через API и брутфорс

Good Carder

Professional
Messages
903
Reaction score
520
Points
93
От кардера — кардерам. Вы знаете, что такое BIN-атака? Это когда кардер перебирает возможные номера карт в пределах одного BIN-диапазона, надеясь наткнуться на валидную карту. Раньше это требовало огромных вычислительных ресурсов и времени. В 2026 году API-шлюзы и распределённые ботнеты сделали BIN-атаки доступными каждому. За несколько часов можно проверить миллионы комбинаций и найти сотни живых карт.

В этой статье я разберу современные методы BIN-атак: как подбирать номера карт через API (Stripe, Braintree, Adyen), как автоматизировать брутфорс с помощью прокси-ротации, как обходить защиту от rate limiting и как не попасть под бан. Вы узнаете, какие BIN самые уязвимые, как использовать неполные данные из утечек для донастройки брутфорса и как превратить BIN-атаку в стабильный источник карт.


Часть 1. Что такое BIN-атака и почему она снова актуальна​

BIN-атака — это генерация и проверка большого количества номеров карт, принадлежащих одному BIN-диапазону. Первые 6 цифр фиксированы, остальные 10–12 цифр перебираются. Если платёжный шлюз не блокирует массовые запросы, можно найти валидные карты, которые ещё не скомпрометированы.

В 2018–2020 годах BIN-атаки были популярны, но шлюзы усилили защиту (rate limiting, капча, блокировка по IP). В 2025–2026 годах атаки вернулись благодаря:
  1. Распределённым ботнетам (тысячи IP, каждый делает по 1–2 запроса в минуту).
  2. Использованию API вместо веб-форм (API имеет часто менее строгие лимиты).
  3. Специализированным чекерам (скрипты, оптимизированные под конкретные шлюзы).
  4. Утечкам частичных данных (известен номер карты, кроме последних 4 цифр, или CVV).

Почему это выгодно: живая карта, найденная через BIN-атаку, стоит $0.01–0.05 в затратах на проверку, а продать её можно за $20–50. Рентабельность до 1000 раз.

Часть 2. Уязвимые BIN: какие диапазоны легче всего поддаются атаке​

Не все BIN одинаково хороши для брутфорса. Лучшие кандидаты:
  • BIN с низким фрод-скоро (менее 30 по IPQualityScore). Такие карты редко блокируются шлюзом.
  • BIN, у которых нет проверки CVV2 (или она опциональна). Например, некоторые подарочные карты, карты лояльности.
  • BIN, поддерживающие $0 авторизацию (можно проверить карту без списания средств).
  • BIN, недавно выпущенные (новые диапазоны, которые ещё не попали в чёрные списки).

Примеры уязвимых BIN (2026):
BINБанкТипПочему уязвим
414720ChaseCreditNon‑3DS, низкий фрод-скор
476485VanillaPrepaidНет проверки CVV при $0 auth
528703Vanilla MastercardPrepaidСтарый диапазон, ещё не заблокирован
451568Visa PrepaidPrepaidЧасто используется для BIN-атак
536425MastercardCreditNon‑3DS, слабая AVS

Где брать актуальные списки BIN: закрытые Telegram-каналы, форумы (Exploit, XSS, Carder.su), платные BIN-базы, бесплатная BIN-база - BinX.vip.

Часть 3. Инструменты для BIN-атаки​

3.1. Stripe как идеальный шлюз для брутфорса​

Stripe предоставляет API для создания PaymentMethod и SetupIntent. Для BIN-атаки используйте SetupIntent — он не списывает деньги, но проверяет валидность карты.

Как работает: отправляете запрос с номером карты (первые 6 цифр фиксированы, остальные перебираете), сроком и CVV (можно сгенерировать случайно). Stripe возвращает ошибку invalid_number, если номер не проходит Luhn, или do_not_honor, если карта не существует. Если карта существует, Stripe может вернуть generic_decline (требуется дополнительная проверка) или insufficient_funds (карта жива).

Пример скрипта на Python для брутфорса Stripe:

Python:
from curl_cffi import requests
import random
import time

def check_card(bin, last4, proxy):
    card_number = bin + last4
    # Генерируем случайные срок и CVV
    exp_month = random.randint(1,12)
    exp_year = 2028
    cvc = f"{random.randint(0,999):03d}"
   
    response = requests.post(
        "https://api.stripe.com/v1/payment_methods",
        headers={"Authorization": "Bearer sk_live_..."},
        data={
            "type": "card",
            "card[number]": card_number,
            "card[exp_month]": exp_month,
            "card[exp_year]": exp_year,
            "card[cvc]": cvc
        },
        impersonate="chrome120",
        proxies={"https": proxy}
    )
   
    if response.status_code == 200:
        return True, card_number
    else:
        error = response.json().get('error', {}).get('code')
        if error == 'invalid_number':
            return False, None
        elif error == 'do_not_honor':
            # Карта существует, но мертва (потенциально можно продать)
            return True, card_number
        else:
            return False, None

3.2. Braintree и Adyen​

Аналогичные API есть у Braintree (создание payment_method_nonce) и Adyen (/payments с amount=0). Принцип тот же.

3.3. OpenBullet 2 с конфигами для BIN-атаки​

OpenBullet — фреймворк для массовой проверки. Существуют готовые конфиги для Stripe BIN-атак, которые генерируют номера карт, ротируют прокси и сохраняют живые.

Часть 4. Обход защиты от rate limiting и блокировок​

Современные шлюзы имеют защиту: при большом количестве запросов с одного IP или одного API-ключа они блокируют доступ.

Методы обхода:

4.1. Распределение нагрузки через пул прокси​

Каждый запрос должен идти с уникального резидентного прокси. Не более 5–10 запросов на прокси в минуту.

Python:
proxies = [
    'http://user:pass@proxy1:8080',
    'http://user:pass@proxy2:8080',
    # ... 100+ прокси
]

for last4 in generate_last4():
    proxy = random.choice(proxies)
    check_card(bin, last4, proxy)
    time.sleep(0.5)  # задержка между запросами

4.2. Множество Stripe-аккаунтов​

Один Stripe-аккаунт может выдержать 100–200 запросов в час перед блокировкой. Создайте 20–30 аккаунтов (через разные email, прокси, с минимальными данными). Ротируйте API-ключи.

4.3. Имитация человеческого поведения​

Добавляйте случайные задержки (0.5–2 секунды), меняйте User-Agent, используйте разные отпечатки TLS (curl_cffi).

4.4. Использование нестандартных полей​

Некоторые шлюзы разрешают тестовые запросы без CVV или с фейковым сроком. Экспериментируйте.

Часть 5. Стратегии генерации номеров карт​

5.1. Последовательный перебор​

Перебираем все возможные комбинации от 0000000000 до 9999999999 для BIN 414720. Это 10 миллиардов вариантов — слишком много. Нужно сузить диапазон.

5.2. Использование неполных данных из утечек​

У вас есть утечка, где известны первые 10 цифр карты, но скрыты последние 6. Вы можете сгенерировать 1 миллион вариантов для последних 6 цифр и проверить через API. Шанс найти валидную карту — 1–5%.

5.3. Генерация по шаблону Luhn​

Алгоритм Луна определяет контрольную цифру номера карты. Можно сгенерировать номера, проходящие проверку Луна, и отбросить остальные (95% номеров отсеется).

Python:
def luhn_checksum(card_number):
    def digits_of(n):
        return [int(d) for d in str(n)]
    digits = digits_of(card_number)
    odd_digits = digits[-1::-2]
    even_digits = digits[-2::-2]
    checksum = sum(odd_digits)
    for d in even_digits:
        checksum += sum(digits_of(d*2))
    return checksum % 10

def is_luhn_valid(card_number):
    return luhn_checksum(card_number) == 0

5.4. Использование известных BIN-паттернов​

Для некоторых BIN (например, подарочных карт) номера генерируются не случайно, а по определённому алгоритму (приращение, фиксированный префикс). Изучайте документацию или анализируйте утечки.

Часть 6. Риски и как их минимизировать​

6.1. Блокировка API-ключа​

Stripe может заблокировать аккаунт за подозрительную активность. Используйте тестовые ключи (sk_test_*) — они безопаснее, но не всегда дают реалистичные ответы.

Решение: создавайте новые аккаунты через временные email (10minutemail) и прокси.

6.2. Юридические риски​

BIN-атаки — это прямое мошенничество. Если вас вычислят, ответственность может быть серьёзной. Не используйте свой реальный IP, реальные email, реальные платёжные данные.

6.3. Ложные срабатывания​

Некоторые шлюзы возвращают do_not_honor даже на несуществующие карты. Нужно проверять найденные карты через другой шлюз или микро-чек.

Часть 7. Чек-лист для BIN-атаки​

  • Выберите BIN с низким фрод-скоро, non‑3DS, желательно prepaid или подарочный.
  • Создайте пул резидентных прокси (50+ IP, каждый не более 5 запросов в минуту).
  • Зарегистрируйте 10–20 Stripe-аккаунтов через разные email и прокси.
  • Напишите скрипт для генерации номеров карт (последовательно или по шаблону).
  • Используйте асинхронность для ускорения, но не более 10–20 параллельных запросов.
  • Ротируйте прокси и API-ключи после каждых 100–200 запросов.
  • Сохраняйте найденные карты в отдельный файл.
  • Проверьте найденные карты через реальный микро-чек ($0.50 на Wikipedia).
  • Продайте живые карты на даркнете или используйте для вбива.

Резюме​

BIN-атаки нового поколения — это мощный метод добычи карт, доступный каждому, у кого есть немного кода и пул прокси. Stripe, Braintree и Adyen всё ещё уязвимы, если правильно распределять нагрузку и использовать множество аккаунтов. Затраты на проверку одной карты — доли цента, а продажная цена — десятки долларов. Но будьте осторожны: BIN-атаки легко детектятся, если не соблюдать OPSEC. Один сгоревший аккаунт — не проблема, а вот десятки сгоревших IP могут привлечь внимание.

Быстрая памятка на одну строку:
«BIN-атака — игра чисел. 10 миллиардов комбинаций на BIN, но Luhn отсекает 95%. 100 прокси, 20 Stripe-аккаунтов, 10 потоков — 10 тысяч проверок в час. 1 живая карта на 10 тысяч проверок = $30 при затратах $0.50. BIN-атака — это не взлом, это терпение и математика»
 
Last edited by a moderator:
Top