Найти в Дзене

Взлом терминалов qiwi

Приветствую читателей, задался вопросом о взломе терминалов киви, под взломом подаразумеваю
угон средств с электронного кошелька который привязан собственно к этому терминалу. Кто не знает то ПО киви терминалов
авторизуется на определенный кошелек и отправляет электронную валюту с него. Сам киви терминал по железу представляет
из себя обычный ПК с низкими характеристиками по сегодняшним меркам, монитор, 3g модем(хотя система может функционировать хоть по wifi хоть по ethernetу), источник безперебойного питания и некоторые модули защиты, в зависимости от модели терминала, углубляться не будем. По программному обеспечению там windows xp, и софт от киви, работающий на flash'е.
В теории на ум приходят 2 варианта поиметь терминал:

1. Установить малварь.
2. Манипуляции над интернет трафиком.

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

Манипуляции над трафиком извне, например модификаци трафика на ходу с целью той же подмены номера кошелька на свой.

Теперь по возможным методам осуществления данных атак на терминалы:
1. Прямое физ. проникновение в корпус терминала с целью подключения usb устройств, тех же флешек и клавиатур например.
2. Вызвать ошибку в ПО киви/отобразить элементы ОС для непосредственного доступа к операционной системе.
3. Бинарные смс. Атака на (3g модем).
4. Поддельная Базовая станция.(С целью манипуляции над интернет трафиком).
Теперь по подробнее о каждом из этим "методов":
1. Прямое физ. проникновение. Данный вариант маложизнеспособен в современных реалиях, масса камер в помещении
c терминалом, да и много глаз - не кто не даст вам его вскрыть. Даже если получиться установить к примеру usb клавиатуру
то тут тоже не все так просто. По киви блокирует системные комбинации клавиш,(win+r, alt+f4 и тд. так же правую кнопку
мыши и колесико) то есть применить тот же bad usb с целью загрузить малварь просто так не выйдет. Помимо всего прочего
ПО не просто убивает процесс explorer.exe а меняет запись в реестре о загрузки explorer.exe при старте системы на свой
ехешник. Плюс ко всему возможно наличение антивируса, что маловероятно.
2. Вызвать ошибку в ПО/отобразить элементы ОС. Ранее на стром ПО были косяки например: прожимаешь угол где предполжительно находится Пуск и он открывался, длительное нажатие на элементы интерфейса терминала вызывали контекстное меню windows, так же на терминалах с физ. клавиатурами (у киви таких не встречал) банальное нажатие на клавишу шифт могло вызвать
"залипание клавиши windows...", все эти косяки позволяли добраться до ОС windows, так же в самом интерфейсе есть системное
меню но оно под паролем.
3.Бинарные смс. Кто не вкурсе грубо говоря это отправка смс "определенного" вида на симкарту установленную в модеме
термнала(как мы узнаем номер этой симки другой вопрос) с целью установки маленького java приложения в память симкарты,
которое: "заставит" модем прикинуться клавиатурой и выполнить определенную комманду, изменить настройки модема например изменить DNS для редиректа и дургие, углубляться не буду.
Данный метод сложен на мой взгляд так как не все симкарты подверженны данной уязвимости и не все модемы, + я думаю турдно будет найти знающего человека в данной области кто мог бы нам всем помочь с этим. Если кто шарит в этом отпишитесь. Некоторые модели модемов которые скорей всего и установленный в болльшенстве терминалов: Siemens MC35i, MC52iWDT, ATM 2-232, ATM 2-485, TU32, RUH2b.....
4. Поддельная БС. Так как модемы используют в основном в лучшем случае 3g стандарт в худшем 2g, то технически поднять БС не так трудно и дорого, инфа в свободном доступе. Так вот в моей теории если поднять поддельную БС и
модем законектиться на нашу БС появится возможность пропустить интернет трафик терминала через нас, с целью модефицировать его или перенаправить,но тут тоже как понимаете не все так просто, так как ПО использует TLS шифрование, стало быть расшифровать трафик не выйдет и не получиться не модефицировать не перехватить авторизационные данные. Конкретно по шифрованию то там используется TLS v 1.2 c методом шифрования ECDHE_RSA_WITH_AES_256_GCM_SHA384 к слову это мягко говоря надоежное шифрование. По моим наблюдениям при коннекте то в HELLO CLIENT клиент передает что может работать по следующим методам шифрования:
                TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)
                TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)
                TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)
                TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024)
                TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
                TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
                TLS_DH_DSS_WITH_AES_256_GCM_SHA384 (0x00a5)
                TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 (0x00a3)
                TLS_DH_RSA_WITH_AES_256_GCM_SHA384 (0x00a1)
                TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x009f)
                TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x006b)
                TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 (0x006a)
                TLS_DH_RSA_WITH_AES_256_CBC_SHA256 (0x0069)
                TLS_DH_DSS_WITH_AES_256_CBC_SHA256 (0x0068)
                TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x0039)
                TLS_DHE_DSS_WITH_AES_256_CBC_SHA (0x0038)
                TLS_DH_RSA_WITH_AES_256_CBC_SHA (0x0037)
                TLS_DH_DSS_WITH_AES_256_CBC_SHA (0x0036)
                TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0088)
                TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA (0x0087)
                TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0086)
                TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA (0x0085)
                TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 (0xc032)
                TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02e)
                TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 (0xc02a)
                TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 (0xc026)
                TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
                TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
                TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d)
                TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)
                TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
                TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0084)
                TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)
                TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
                TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027)
                TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023)
                TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
                TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
                TLS_DH_DSS_WITH_AES_128_GCM_SHA256 (0x00a4)
                TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 (0x00a2)
                TLS_DH_RSA_WITH_AES_128_GCM_SHA256 (0x00a0)
                TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x009e)
                TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x0067)
                TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 (0x0040)
                TLS_DH_RSA_WITH_AES_128_CBC_SHA256 (0x003f)
                TLS_DH_DSS_WITH_AES_128_CBC_SHA256 (0x003e)
                TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033)
                TLS_DHE_DSS_WITH_AES_128_CBC_SHA (0x0032)
                TLS_DH_RSA_WITH_AES_128_CBC_SHA (0x0031)
                TLS_DH_DSS_WITH_AES_128_CBC_SHA (0x0030)
                TLS_DHE_RSA_WITH_SEED_CBC_SHA (0x009a)
                TLS_DHE_DSS_WITH_SEED_CBC_SHA (0x0099)
                TLS_DH_RSA_WITH_SEED_CBC_SHA (0x0098)
                TLS_DH_DSS_WITH_SEED_CBC_SHA (0x0097)
                TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0045)
                TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA (0x0044)
                TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0043)
                TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA (0x0042)
                TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 (0xc031)
                TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02d)
                TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 (0xc029)
                TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 (0xc025)
                TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
                TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
                TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
                TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)
                TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
                TLS_RSA_WITH_SEED_CBC_SHA (0x0096)
                TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0041)
                TLS_RSA_WITH_IDEA_CBC_SHA (0x0007)
                TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (0xc012)
                TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc008)
                TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x0016)
                TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
                TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA (0x0010)
                TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA (0x000d)
                TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA (0xc00d)
                TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA (0xc003)
                TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
                TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff).
В данном списке по идеи есть уязвимые методы в теории если искусственно заставить работать по менее надежному протоколу то возможен обход шифрования. Так же не кто не отменял движняк с сертификатами.
Если есть люди способные помочь с обходом tls пишите, не бесплатно естесственно, все остальные пишите возможные вариантыпоиметь терминалы, возможно уже есть готовые решения.... За орфографические ошибки просьба не пинать - не мой родной язык.
Так же стоит отметить что ответственность за подобные действия с целью взлома особенно с использованием поддельной БС очень большая.