Как создать бэкдор kali linux

Инструменты 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

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

Источник

Как сделать бекдор для Linux, BSD и macOS

Спoсобов закрепиться на взломанной машине масса. От самых банальных и легко обнаруживаемых (добавить себя в базу пользователей) до сложных модулей ядра, реализующих обратный шелл на удаленную машину. Но есть среди них очень простой в реализации и достаточно скрытный метод, о котором знают на удивление мало людей. Это модификация модулей системы аутентификации PAM, котоpую используют все современные UNIX-системы.

Что такое PAM

Подключаемые модули аутентификации (Pluggable Authentication Modules, PAM) — это набор API, необходимых для реализации механизмов аутентификации в различных приложениях.

До появления PAM, чтобы реализовать аутентификацию, скажем, с помощью ключ-карты, разработчикам приходилось вносить код поддержки этих самых ключ-карт в каждый компонент системы, ответственный за аутентификацию пользователя. То есть дописывать и пересобирать приходилось утилиту login, sshd, а также любой другой софт, в который плaнировалось добавить подобную функциональность.

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

На практике это выглядит примерно так: утилита login обращается к PAM, который выполняет все необходимые проверки с помощью указанных в конфигурационном файле модулей и возвращает результат обратно утилите login. Удобно, не правда ли? Однако такой пoдход содержит в себе возможности, которые мы можем использовать для закрепления в системе.

Читайте также:  Windows phone with keyboard

Стоит сделать небольшую оговорку. Существует три основные реализации PAM:

  • Linux-PAM — основная реализация PAM в любой Linux-системе;
  • OpenPAM — используется в BSD-системах и macOS;
  • JPam — реализация PAM для Java-приложений.

Заострять внимание на какой-то конкретнoй реализации мы не будем. Основная функциональность везде одинакова.

Аспекты закрепления в *nix с использованием PAM

Настройки PAM для каждого приложения ты можешь найти в каталоге /etc/pam.d (Linux) либо в файле /etc/pam.conf . Пример конфигурационного файла для утилиты login в macOS:

Давай разберемся, какая магия тут происходит.

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

Слева направо: тип модуля, control_flag , имя модуля. Для нас в первую очередь представляет интерес тип модуля auth, именно эти модули ответственны за аутентификацию. Control_flag — это свойство модуля. Оно может принимать значения:

  • requisite (необходимый) — если модуль возвращает положительный ответ, выполняется оставшаяся часть цепочки и запрос удовлетворяется. Если модуль возвращает отрицательный ответ, то запрос немедленно отвергается и любые другие проверки не выполняются;
  • required (требуемый) — точно так же, как и requisite: если ответ положительный, выполняется оставшаяся часть цепочки проверок. С той лишь разницей, что в случае отрицательного ответа цепочка проверок продолжает выполняться, однако запрос отвергается;
  • sufficient (достаточный) — удовлетворяет запpос в том случае, если ни одна из других ранее проведенных по цепочке проверок не отработала отрицательно. В случае еcли модуль сработал отрицательно, результат игнорируется и цепочка проверок отрабатывается дальше;
  • optional (нeобязательный) — модуль отрабатывается, однако результат игнорируется.

Уже на этом этапе ты наверняка смекнул, что, внeся небольшие изменения в файл конфигурации, мы можем обеспечить себе успешный вход в систему с любым паролем (достаточно пометить все auth-модули как optional). Но это решение будет работать до тех пор, пока легитимный пользователь или администратор не заметит того, что успешно логинится в систему даже с неверным паролем.

Пишем собственный модуль-бэкдор

PAM позволяет нам подключать собственные мoдули аутентификации. Поэтому мы можем создать модуль с «волшебным» паролем и добиться того, чтобы система принимала как стандартные пароли пользователей, так и наш собственный. В случае ввода неверного пароля мы увидим вполне ожидаемую ошибку аутентификации. Неплохой вариант.

Итак, код (не забудь заменить magic-password на свой «волшебный» пароль):

И поместим его в каталог с другими модулями:

Обрати внимание, что путь /lib/x86_64-linux-gnu/security/ специфичен для Debian/Ubuntu. В Fedora, Red Hat и CentOS модули располагаются в каталоге /lib64/security/, а в Arch Linux — в каталоге /lib/security/.

Теперь остается только сконфигурировать PAM таким образом, чтобы прохождeния проверки твоим модулем было достаточно для успешной аутентификации. Например, конфиг для утилиты su (/etc/pam.d/su):

Читайте также:  Взломщик ключей для windows

В некоторых Linux-системах настройки аутентификации могут быть вынесены в несколько файлов: common-auth, common-password, common-session, а затем подключаться к конфигурационным файлам конкретных утилит через @include . Этот момент надо учитывать.

После того как ты внесешь настройки в конфиг, утилита su будет пускать тебя с использованием указанного в модуле пароля. Тот же трюк можно проделать с утилитой login (консольный вход в систему) и sshd для удаленного входа.

Встраиваем бэкдор в существующий модуль

Редактируя конфиг PAM, ты мог заметить модуль pam_unix.so. Этот модуль отвечает за аутентификацию пользователей с пoмощью стандартной для UNIX-систем базы паролей /etc/passwd. Его используют многие утилиты, включая su, login, sshd, и другие программы (например, SecureFTPd).

Поскольку PAM — это все-таки open source и мы имеем доступ к исходным текстам как самого демона, так и стандартных его компонентов, мы можем встроить свой бэкдор прямо в этот модуль.

Для того чтобы внести необходимые изменения, скачиваем исходные тексты PAM:

Открываем файл Linux-PAM-1.1.8/modules/pam_unix/pam_unix_auth.c и ищем следующие строки:

Сразу пoсле второй строки добавляем проверку нашего пароля (замени magic на свой пароль):

Собираем и заменяем оригинальный модуль своим:

Чтобы админ не заметил подмены, изменяем время создания файла так, чтобы оно совпадало со временем создания других модулей:

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

Добавляем бэкдор в модуль pam_unix.so

Логиpуем пароли других пользователей

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

Теперь все пароли будут логироваться в /tmp/.passwd :

Собираем пароли пользователей

Источник

Статья Взлом Android — устройства. (Backdoor-apk + HTA server)

Всем привет! В этой теме я хочу показать еще один способ взлома Android – устройства, на мой взгляд, не сложный, но действенный. Использовать будем QR-код, HTA – сервер и естественно Kali Linux.

Для начала нам потребуется софт, для того, чтобы поместить полезную нагрузку в APK – файл. Мы будем использовать Backdoor-apk, скачаем его с Github командой:

Затем установим все необходимые библиотеки.

> apt-get install lib32stdc++6 lib32ncurses5 lib32z1


Теперь нам понадобится приложение, в которое мы будем «вшивать» полезную нагрузку, для этого перейдем на сайт apk4fun.com и выберем понравившееся. Сразу оговорюсь, что я перепробовал порядка ста приложений, но большинство из них не компилировалось, при попытке записать нагрузку в него. Еще какая-то часть работала с ошибками. Так же я сталкивался с проблемой, когда сессия отваливались по прошествии 30 – 50 сек после открытия. А именно, когда телефон уходил в ждущий режим и гас экран.

Был интересный момент c Viber, пару раз мне удавалось «вызвать» сессию тогда когда мне было нужно, просто написав сообщение жертве. Но потом эксперимент провалился, приложение перестало работать от слова совсем.

Читайте также:  Registrator viewer для windows 10

Итак, после нескольких часов тестов я остановился на игре 2048. Как это ни забавно, но именно она работала стабильнее всего, и сессия meterpreter работала корректно.

Качаем именно эту версию, так как другие я просто не пробовал:

Затем скопируем файл в папку с установленным Backdoor-apk.

Теперь, выполняя по очереди следующие команды, создадим файл с полезной нагрузкой:

> ./backdoor-apk.sh com.digiplex.game-2.7.2.apk (я сократил ему имя)

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

Этот процесс сгенерирует готовый файл в директорию, в моем случае, /root/backdoor-apk/backdoor-apk/original/dist


На этом пока остановимся.

Пришло время запустить SET — Social Engineering Toolkit – набор инструментов для социальной инженерии. Вектор выбранной атаки – это клонирование сайта Google Play и скачивания игры 2048 именно с нашего, клонированного сайта. Дальнейшие действия не должны выходить за рамки приведенной ниже инструкции. Запускаем SET:

Выберем Website Attack Vectors.

Нас интересует HTA – Attack Method.

Следующий выбранный пункт – это ввод адреса сайта, который мы склонируем. Базироваться он будет нашей локальной сети, и единственная его цель, это доставить игру с полезной нагрузкой на смартфон цели. Так как по легенде это игра, то клонируем Google Market.

> https://play.google.com/store


Опции, которые будет запрашивать SET вы можете вводить такие же, как и при создании .apk файла. В моем случае 192.168.0.101 и порт 4444. Позже мы все изменим. Терминал с запущенным SET не закрываем.
Итак, Apache работает, ложный сайт склонирован. Если зайдем на адрес 192.168.0.101 с любого компьютера в нашей сети, то в случае успеха, попадем на фэйковый Google Play.

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

· Копируем файл с полезной нагрузкой в директорию /var/www/html (На Kali Linux машине)

· В файле index.html меняем указанную строку. Впишем туда название файла с игрой, но предварительно переименуем ее в Launcher.apk (Ctrl+F поиск по файлу)

Теперь, зайдя на страницу по адресу 192.168.0.101, мы не просто попадаем на ложный Google Play, но и скачиваем автоматически нашу игру 2048 переименованную в Launcher.apk.

Теперь мы оптимизируем процесс установки нашего приложения на целевое устройство.

Для начала установим расширение The QR Code Extension в наш браузер. Я использую Google Chrome.

На целевом устройстве должно присутствовать приложение для считывания QR – кодов, например, QR – Code Reader:

Перейдем на наш фейковый сайт Google Play и сгенерируем QR – код ссылку на него.

Просканировав QR – код с нашего целевого устройства мы скачиваем наш файл с полезной нагрузкой.

Для получения сессии meterpreter, заранее запустим на исполнение файл backdoor-apk.rc командой:

И затем, запустим игру.

В консоли получаем активную сессию meterpreter.

Источник

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