Такие инструменты, как metasploit, отлично подходят для эксплуатации компьютеров, но что происходит после того, как вы получили доступ к компьютеру? Backdoorme отвечает на этот вопрос, выпуская множество бэкдоров для установления постоянного доступа на длительные периоды времени.
Как только SSH-соединение установлено с целью, сильные стороны Backdoorme могут проявиться. К сожалению, Backdoorme не является инструментом для получения root-доступа — он только сохраняет этот доступ после его получения.
Пожалуйста, используйте Backdoorme только с явного разрешения — не взламывайте без спроса.
Использование
Backdoorme разделен на две части: бэкдоры и модули.
Бэкдоры — это небольшие фрагменты кода, которые прослушивают порт и перенаправляют в интерпретатор, например bash. Существует множество бэкдоров, написанных на различных языках для разнообразия.
Модули делают бэкдоры более мощными, запуская их чаще, например, каждые несколько минут или при каждой загрузке компьютера. Это помогает установить постоянный доступ.
Демонстрация:
Настройка
Для запуска backdoorme сначала убедитесь, что у вас есть необходимые зависимости.
Для Python 3.5+:
$ sudo apt-get install python3 python3-pip python3-tk nmap
$ cd backdoorme/
$ virtualenv --python=python3.5 env
$ source env/bin/activate
(env) $ pip install -r requirements.txt
Для Python 2.7:
$ sudo python dependencies.py
Начало работы
Запуск backdoorme:
$ python master.py
Чтобы добавить цель:
>> addtarget
Target Hostname: 10.1.0.2
Username: victim
Password: password123
+ Target 1 Set!
>>
Бэкдоры
Чтобы использовать бэкдор, просто выполните ключевое слово "use".
>> use shell/metasploit
+ Using current target 1.
+ Using Metasploit backdoor...
(msf) >>
Оттуда вы можете установить параметры, относящиеся к бэкдору. Выполните "show options" или "help", чтобы увидеть список параметров, которые можно настроить. Чтобы установить параметр, просто используйте ключевое слово "set".
(msf) >> show options
Backdoor options:
Option Value Description Required
------ ----- ----------- --------
name initd name of the backdoor False
...
(msf) >> set name apache
+ name => apache
(msf) >> show options
Backdoor options:
Option Value Description Required
------ ----- ----------- --------
name apache name of the backdoor False
...
Как и в metasploit, бэкдоры организованы по категориям.
- Auxiliary
- keylogger — Добавляет keylogger в систему и предоставляет возможность отправлять результаты по электронной почте.
- simplehttp — устанавливает Python SimpleHTTP сервер на клиенте.
- user — добавляет нового пользователя на цель.
- web — устанавливает Apache сервер на клиенте.
- Escalation
- setuid — бэкдор SetUID работает путем установки бита setuid на бинарный файл, пока пользователь имеет root-доступ, так что когда этот бинарный файл позже запускается пользователем без root-доступа, он выполняется с root-доступом. По умолчанию этот бэкдор устанавливает бит setuid на nano, так что если root-доступ будет потерян, атакующий может снова подключиться по SSH как непривилегированный пользователь и все еще сможет запустить nano (или любой выбранный бинарный файл) с root-доступом. ('nano /etc/shadow'). Обратите внимание, что изначально требуется root-доступ для развертывания этого бэкдора повышения привилегий.
- shell — бэкдор shell — это бэкдор повышения привилегий, похожий на (но более специфичный, чем) своего собрата SetUID. Он дублирует оболочку bash в скрытый бинарный файл и устанавливает SUID-бит. Обратите внимание, что изначально требуется root-доступ для развертывания этого бэкдора повышения привилегий. Чтобы использовать, находясь в SSH как непривилегированный пользователь, просто выполните ".bash -p", и вы получите root-доступ.
- Shell
- bash — использует простой bash-скрипт для подключения к определенной комбинации IP и порта и перенаправляет вывод в bash.
- bash2 — немного другая (и более надежная) версия вышеуказанного bash-бэкдора, которая не запрашивает пароль на стороне клиента.
- sh — Похож на первый bash-бэкдор, но перенаправляет ввод в /bin/sh.
- sh2 — Похож на второй bash-бэкдор, но перенаправляет ввод в /bin/sh.
- metasploit — использует msfvenom для создания бинарного файла reverse_tcp на цели, затем запускает его для подключения к оболочке meterpreter.
- java — создает сокетное соединение с использованием библиотек Java и компилирует бэкдор на цели.
- ruby — использует библиотеки Ruby для создания соединения, затем перенаправляет в /bin/bash.
- netcat — использует netcat для перенаправления стандартного ввода и вывода в /bin/sh, предоставляя пользователю интерактивную оболочку.
- netcat_traditional — использует опцию -e netcat-traditional для создания обратной оболочки.
- perl — скрипт на Perl, который перенаправляет вывод в bash и переименовывает процесс, чтобы выглядеть менее заметно.
- php — запускает php-бэкдор, который отправляет вывод в bash. Он не устанавливает автоматически веб-сервер, а использует модуль web.
- python — использует короткий python-скрипт для выполнения команд и отправки вывода обратно пользователю.
- web — отправляет веб-сервер на цель, затем загружает php reverse_tcp бэкдор msfvenom и подключается к хосту. Хотя это тоже php-бэкдор, он отличается от вышеуказанного php-бэкдора.
- Access
- remove_ssh — удаляет SSH-сервер на клиенте. Часто полезно использовать в конце сессии backdoorme, чтобы удалить все следы.
- ssh_key — создает RSA-ключ и копирует его на цель для SSH-подключения без пароля.
- ssh_port — добавляет новый порт для SSH.
- Windows
- windows — Использует msfvenom для создания бэкдора под Windows.
Модули
Каждый бэкдор может быть дополнен модулями, чтобы сделать его более мощным. Чтобы добавить модуль, просто используйте ключевое слово "add".
(msf) >> add poison
+ Poison module added
Каждый модуль имеет дополнительные параметры, которые можно настроить, и если снова выполнить "help", вы сможете увидеть или установить любые дополнительные опции.
(msf) >> help
...
Poison module options:
Option Value Description Required
------ ----- ----------- --------
name ls name of command to poison False
location /bin where to put poisoned files into False
В настоящее время включены следующие модули:
- Poison
- Выполняет отравление бинарных файлов на целевом компьютере — компилирует исполняемый файл, который вызывает системную утилиту и существующий бэкдор.
- Например, если модуль отравления бинарных файлов активирован с "ls", он скомпилирует и переместит бинарный файл с именем "ls", который будет запускать как существующий бэкдор, так и оригинальную "ls", что заставит пользователя запускать существующий бэкдор чаще.
- Cron
- Добавляет существующий бэкдор в crontab root-пользователя для запуска с заданной периодичностью.
- Web
- Настраивает веб-сервер и размещает веб-страницу, которая запускает бэкдор.
- Просто посетите сайт с открытым слушателем, и бэкдор начнет работу.
- User
- Добавляет нового пользователя на цель.
- Startup
- Позволяет запускать бэкдоры с помощью файлов bashrc и init.
- Whitelist
- Добавляет IP в белый список, так что только этот IP может подключаться к бэкдору.