Как установить Pupy

Как установить Pupy

Life-Hack [Жизнь-Взлом]/Хакинг

#Обучение 

 Pupy — это инструмент с открытым исходным кодом для кроссплатформенного удалённого администрирования (в качестве «клиентов» поддерживаются Windows, Linux, OSX, Android) и последующей эксплуатации (post-exploitation). Написан в основном на Python. 

Говоря проще, эта программа, которая может создавать бэкдоры для разных систем, выполнять действия для закрепления на удалённых системах, выполнять эксплойты для сбора данных, повышения привилегий скачивания и закачивания файлов, захвата экрана, захвата нажатий клавиш и т. д. При этом Pupy, как и другие аналогичные инструменты, также прекрасно подходит для легитимного удалённого администрирования систем. 

Потенциальные сферы использования Pupy: 

  • Исследования безопасности 
  • Образование 
  • Тестирование на проникновение 
  • Системной администрирование 
  • Сфокусированные на приватности проекты на python, требующие минимального взаимодействия с постоянным хранилищем (чтобы не оставлять следов на жёстком диске) 
  • И другое… 

Более подробную информацию о Pupy вы найдёте на справочной странице программы: https://kali.tools/?p=4611 

Это одна из нескольких статей о Pupy в которой пошагово рассказывается об установке. В следующих статьях будут рассмотрены принципы работы программы, основные понятия, практические примеры использования. 

Как установить Pupy в Kali Linux 

Автор программы предлагает два варианта установки: непосредственно в систему и с использованием Docker. 

У данной программы есть баг (о нём будет чуть ниже) из-за несовместимости с последней версией одного из модулей Python. Этот баг приводит к тому, что Pupy, фактически, не работает в режиме прослушивания (не может принимать подключения). При использовании Docker, ошибки не выводятся на экран и трудно понять, в чём проблема. Но намного хуже то, что непонятно, как в этом контейнере исправить проблему с библиотекой. 

Поэтому далее я рассмотрю два варианта установки — прямо в систему и с помощью Docker, — но использовать рекомендую вариант установки непосредственно в систему. 

Установка Pupy в Kali Linux без Docker

Выполните следующие команды: 

sudo apt install git libssl1.0-dev libffi-dev python-dev python-pip build-essential swig tcpdump python-virtualenv
git clone --recursive https://github.com/n1nj4sec/pupy
cd pupy
python create-workspace.py -DG pupyw

Накатите фикс для исправления ошибки: 

sudo pip2 install rpyc==3.4.4

Для запуска: 

export PATH=$PATH:~/.local/bin; pupysh
pupyws/bin/pupysh

Установка Pupy в Kali Linux с использованием Docker 

Для установки и запуска в Docker выполните команды: 

git clone https://github.com/alxchk/pupy
cd pupy 

Откройте файл install.sh и замените там строку: 

if [ "$EUID" == 0 ] 

на 

if [ "$EUID" == 100500 ] 

Затем выполните команды: 

./install.sh
sudo pip uninstall backports.ssl-match-hostname
sudo apt-get install python-backports.ssl-match-hostname 

Для запуска программы: 

./start-compose.sh 

Установка в BlackArch 

Установка в BlackArch выполняется следующим образом: 

sudo pacman -S pupy 

Для исправления бага нужно удалить новую версию одного из пакетов Python, при том так, чтобы система не удалила сам Pupy, для которого этот файл является обязательной зависимостью: 

sudo pacman -Rdd python2-rpyc 

И установить версию, не вызывающую проблем: 

sudo pip2 install rpyc==3.4.4 

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

Решение проблемы с ошибкой «Cannot read wireshark manuf database» 

При запуске Pupy посмотрите присутствует ли там строка: 

Cannot read wireshark manuf database 

Если присутствует, то значит имеет место серьёзная ошибка. Подробности об этом баге здесь: https://github.com/n1nj4sec/pupy/issues/622 

Суть проблемы в том, что когда компьютер «Жертвы» пытается подключиться к компьютеру «Атакующего», то появляется следующая ошибка: 

Exception AttributeError: AttributeError("'PupyConnection' object has no attribute '_closed'",) in <object repr() failed> ignored
Exception in thread Authentication Thread (192.168.1.117:49824):
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/share/pupy/network/lib/servers.py", line 135, in _setup_connection
    config=config
  File "/usr/share/pupy/network/lib/connection.py", line 269, in __init__
    Connection.__init__(self, *args, **kwargs)
TypeError: __init__() got an unexpected keyword argument '_lazy'
 
Exception AttributeError: AttributeError("'PupyConnection' object has no attribute '_closed'",) in <object repr() failed> ignored

То есть режим прослушивания для обратного шелла в Pupy фактически не работает. 

Проблема решается понижением версии пакета rpyc до 3.4.4

sudo pip2 install rpyc==3.4.4

Источник


Report Page