Статья AVPass — инструмент для обхода антивируса на Android

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

upload_2017-8-1_22-6-26.png


AVPass – в первую очередь, это инструмент для определения моделей систем обнаружения вредоносных программ Android (т. е. Антивирусного программного обеспечения) и обхода логики их обнаружения с использованием принятой информации в сочетании с методами обфускации APK. AVPass не ограничивается функциями сканирования, он может определять правила обнаружения, используя их для маскировки любых вредоносных программ Android под обычные приложения, автоматически преобразуя двоичный файл APK. Чтобы предотвратить утечку логики приложения во время преобразования, AVPass предоставляет режим имитации, он отправляет фрагменты фальшивого вредоносного кода для проверки возможностей антивируса и на основе полученных данных модифицирует вредоносное ПО.

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

AVPass предлагает несколько полезных функций для преобразования любого вредоносного ПО Android, для обхода AV обеспечения. Ниже перечислены основные возможности AVPASS:
  • APK обфускация с более чем 10 модулями
  • Функциональный вывод для системы обнаружения с использованием индивидуальной обфускации
  • Точное определение AV системы с использованием 2k факториального эксперимента
  • Целенаправленная обфускация, для обхода конкретной системы обнаружения
  • Поддержка безопасных запросов с использованием режима имитации
Установка:
Код:
git clone https://github.com/sslab-gatech/avpass
./install-dep.sh
upload_2017-8-1_22-6-58.png


Внесение изменений в настройки, осуществляется путем изменения конфигурационного файла:
Код:
cd src/
nano conf.py
upload_2017-8-1_22-7-23.png


Запуск обфускации определенного приложения:
Код:
python gen_disguise.py -i example.apk individual
upload_2017-8-1_22-7-48.png


Обфускация с использованием предполагаемых правил:
Код:
python gen_disguise -i example.apk withrule  -o output_dir
Зависимости:
  • apktool:
  • numpy:
  • PIL:
  • magic:
  • python-utils:
  • vt:
Информация:

Разработчики добавляют новые функции (Java reflection, complicate string encryptor), для повышения результативности. К сожалению, новые модули несовместимы с некоторыми предыдущими модулями. При тестах были выявлены некоторые ошибки. Поскольку Java reflection скрывает все имена методов, модуль pcm (сменщик пакетов / класса / метода) может инициировать ошибку при запуске obfuscation APK. Чтобы решить эту проблему, мы предоставим модуль pc (package / class) только для обфускации пакетов и имен классов, после использования Java reflection.

До релиза разработчики не рекомендуют использовать Java reflection с модулем pcm.

На этом, все. Спасибо за внимание.
 
C

CypherBug

Приветствую. Не понятна модель имитации. Можете пояснить каким образом модифицируется малварь?
 

yarr

Well-known member
05.10.2017
311
620
BIT
0
Есть небольшой вопрос. Я плохо знаком с SDK и разработкой под Android. Я обфусцировал одну программу с помощью команды python gen_disguise.py -i example.apk individual. Я так понял, что в таком виде она не встанет на Android. В репозитории авторов этой программы написано, что если файл не запускается, то нужо прогнать через zipalign и подписать его, без этого у меня программа не ставится. Собственно установил ziplagin, запустил zipalign -v 4 infile.apk outfile.apk (точную команду не приведу, вывод был положительный, процесс удался). Даже после этого софт не встал на Android. Что я делаю не так? Возможно надо было еще подписать. Кто разбирается подскажите пошагово, пожалуйста. Либо альтернативный вариант обфускации/крипта apk. Только прошу написать какой-никакой мини-PoC, а не фразу "Я юзал ProGuard", то есть нужны ответы от людей, имевших такой опыт, а не "мимопроходил, иди ̶н̶а̶ ̶х̶@й̶ в Google".
 
U

ubuntolog

Кто разобрался, реальная ли тема для крипта apk? Кто бы смог помочь в крипте?
 
U

ubuntolog

Может кто поможет файл криптануть?
 
U

ubuntolog

Все установил на Ubuntu, сделал все по инструкции, команда python gen_disguise.py -i example.apk individual Вроде все прошло без ошибок, но файл на телефон не устанавливается, ошибка синтаксического. Может кто подскажет что делать?

Точнее при установке, пишет в приложении произошла ошибка
 
H

HighGnome

Здравствуйте, при использовании gen_variations.py не создает файлы, в чем проблема? Пишет CALCULATE:..... RESTORE:........
 
F

FinderX

Офтоп
Очень нужен хороший кодер для крипта апк, кто может подсказать или помочь в этом вопросе, прошу отписать в ЛС, заранее благодарен!
 

Shinobi

Green Team
23.11.2017
76
14
BIT
0
Подскажите как правильно обсуфицировать AhMyth Android Rat? Я пробовал, после обсуфикации приложение не установилось попросту
 

AheroN

Green Team
26.05.2019
10
1
BIT
1
Гуру подскажите с Avpass
настраивал по инструкции с github, проверил apktool и vt работают.
пробую криптануть тестовый apk файл, в конце выдает такое сообщение. Может кто сталкивался куда копать.
Запускал так : python gen_disguise.py -i client.apk individual
Код:
Generating client_obfus.apk
I: Using Apktool 2.4.1
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 2): [/tmp/brut_util_Jar_14219555123970583456.tmp, p, --forced-package-id, 127, --min-sdk-version, 10, --target-sdk-version, 22, --version-code, 1, --version-name, 2.18.2.7, --no-version-vectors, -F, /tmp/APKTOOL562430842024688311.tmp, -e, /tmp/APKTOOL1360395633548175661.tmp, -0, arsc, -I, /root/.local/share/apktool/framework/1.apk, -S, /home/avpass/src/temp_obfus/res, -M, /home/avpass/src/temp_obfus/AndroidManifest.xml]
W: /tmp/brut_util_Jar_14219555123970583456.tmp: 1:ELF: not found
W: /tmp/brut_util_Jar_14219555123970583456.tmp: 1: Syntax error: end of file unexpected (expecting ")")

P/S/ настраивал на Kali linux
 

AheroN

Green Team
26.05.2019
10
1
BIT
1
Решение найдено, на другой оси (Debian 9) все сработало. Теперь архивация и подписание, что так же займет время для изучения. Заметил что криптует приложения кривые, не устанавливаются...
 
Последнее редактирование:
02.09.2019
6
0
BIT
1
Приветствую, в этой статье я хочу показать инструмент, который позволит препятствовать обнаружению вредоносного ПО антивирусом на платформе Android.

Посмотреть вложение 10941

AVPass – в первую очередь, это инструмент для определения моделей систем обнаружения вредоносных программ Android (т. е. Антивирусного программного обеспечения) и обхода логики их обнаружения с использованием принятой информации в сочетании с методами обфускации APK. AVPass не ограничивается функциями сканирования, он может определять правила обнаружения, используя их для маскировки любых вредоносных программ Android под обычные приложения, автоматически преобразуя двоичный файл APK. Чтобы предотвратить утечку логики приложения во время преобразования, AVPass предоставляет режим имитации, он отправляет фрагменты фальшивого вредоносного кода для проверки возможностей антивируса и на основе полученных данных модифицирует вредоносное ПО.

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

AVPass предлагает несколько полезных функций для преобразования любого вредоносного ПО Android, для обхода AV обеспечения. Ниже перечислены основные возможности AVPASS:
  • APK обфускация с более чем 10 модулями
  • Функциональный вывод для системы обнаружения с использованием индивидуальной обфускации
  • Точное определение AV системы с использованием 2k факториального эксперимента
  • Целенаправленная обфускация, для обхода конкретной системы обнаружения
  • Поддержка безопасных запросов с использованием режима имитации
Установка:
Код:
git clone https://github.com/sslab-gatech/avpass
./install-dep.sh
Посмотреть вложение 10942

Внесение изменений в настройки, осуществляется путем изменения конфигурационного файла:
Код:
cd src/
nano conf.py
Посмотреть вложение 10943

Запуск обфускации определенного приложения:
Код:
python gen_disguise.py -i example.apk individual
Посмотреть вложение 10944

Обфускация с использованием предполагаемых правил:
Код:
python gen_disguise -i example.apk withrule  -o output_dir
Зависимости:
  • apktool:
  • numpy:
  • PIL:
  • magic:
  • python-utils:
  • vt:
Информация:

Разработчики добавляют новые функции (Java reflection, complicate string encryptor), для повышения результативности. К сожалению, новые модули несовместимы с некоторыми предыдущими модулями. При тестах были выявлены некоторые ошибки. Поскольку Java reflection скрывает все имена методов, модуль pcm (сменщик пакетов / класса / метода) может инициировать ошибку при запуске obfuscation APK. Чтобы решить эту проблему, мы предоставим модуль pc (package / class) только для обфускации пакетов и имен классов, после использования Java reflection.

До релиза разработчики не рекомендуют использовать Java reflection с модулем pcm.

На этом, все. Спасибо за внимание.
а есть виндус решения обхода нати вируса ?
 

Dmitriy Dmitriev

New member
30.10.2022
3
0
BIT
0
Помогите проблему решить,до этого проблема была с line 5 тоесть не был установлен numpy,теперь же ошибка с line 132
---------------------------------------------------------------------
python gen_disguise.py -i client.apk individual
Traceback (most recent call last):
File "gen_disguise.py", line 5, in
import numpy as np
File "/usr/lib/python2.7/dist-packages/numpy/init.py", line 132
raise ImportError(msg) from e
 
Мы в соцсетях:

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