Удаленное выполнение кода с помощью Impacket

Дата: 24.06.2020. Автор: Игорь Б. Категории: Главное по информационной безопасности, Статьи по информационной безопасности.

В этой статье говорится о том, как удаленно подключиться к компьютеру пользователя с помощью библиотек Python “Impacket”, скачать которые можно, перейдя по ссылке.

Содержание

  • Что такое Impacket?
  • atexec.py
  • psexec.py
  • smbexec.py
  • wmiexec.py

Что такое Impacket?

Impacket – это набор классов Python для работы с сетевыми протоколами. Impacket ориентирован на обеспечение низкоуровневого программного доступа к пакетам, а для некоторых протоколов (например, SMB1-3 и MSRPC) – на саму реализацию протокола.

Пакеты могут быть выстроены с нуля, а также проанализированы из необработанных данных, а объектно-ориентированный API упростит работу с глубокими иерархиями протоколов. Библиотека предоставляет набор инструментов в качестве примеров того, что можно сделать в ее контексте.

Atexec.py

Impacket имеет библиотеку Atexec.py, которая помогает злоумышленникам удаленно получать доступ к хост-машине пользователя с помощью протокола DCE / RPC, используемого хостами CIFS для доступа и управления службой AT-Scheduler и выполнения произвольной системной команды.

Синтаксис: python atexec.py domain/username:password@hostIP

python atexec.py ignite/administrator:Ignite@987@192.168.1.105 systeminfo

Как можно увидеть на картинке, была получена информация о системе после ввода приведенной выше команды.

PsExec.py

PSEXEC вместе с RemComSvc способны с помощью скрипта Python получить доступ к удаленной хост-машине. Для этого нужно выполнить следующую команду.

Синтаксис: python psexec.py domain/username:password@hostIP

python psexec.py ignite/administrator:Ignite@987@192.168.1.105

Как можно заметить, пользователь получил системный шелл с помощью приведенной выше команды.

Smbexec.py

Smbexec.py использует аналогичный подход, но без использования RemComSvc. Этот скрипт работает в двух режимах:

  • режим общего доступа: указываются необходимые параметры, и все действия производятся посредством общего доступа.
  • режим сервера: если по какой-либо причине общий доступ невозможен, этот скрипт запустит локальный SMB-сервер, поэтому выходные данные выполненных команд будут отправлены целевой машиной обратно в локальную общую папку. Нужно иметь в виду, что хакеру понадобится root-доступ для привязки к порту номер 445 на локальной машине.

Синтаксис: рython smbexec.py domain/username:password@hostIP

python smbexec.py ignite/administrator:Ignite@987@192.168.1.105

Как можно увидеть на картинке, была получена информация о системе после ввода приведенной выше команды.

Wmiexec.py

Аналогичный подходу smbexec, он выполняет команды через WMI. Главное преимущество заключается в том, что работа идет под учетной записью пользователя (именно – администратора), а не системы. Кроме этого, этот подход не станет причиной создания заметных сообщений в журнале событий, которые smbexec.py часто оставляет после себя при настройке. Недостатком является то, что Wmiexec.py нуждается в DCOM, следовательно, пользователь должен иметь возможность получить доступ к портам DCOM на целевой машине.

Синтаксис: рython wmiexec.py domain/username:password@hostIP

python wmiexec.py ignite/administrator:Ignite@987@192.168.1.105 dir

Как можно заметить, информация о системе также была получена.

Автор переведенной статьи: Raj Chandel

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Поделиться ссылкой

Игорь Б

Об авторе Игорь Б

Автор на портале cisoclub.ru. Добавляйте ваш материал на сайт в разделе "Разместить публикацию".
Читать все записи автора Игорь Б

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

два × 2 =