Всем привет! Этой статье хочу рассмотреть достаточно полезный инструмент, для проведения тестов на проникновение, в частности, это постэкплуатационная утилита, ниже подробнее.
Koadic, или COM Command & Control, представляет собой постэкплуатационный инструмент для Windows, подобный другим инструментам для проведения тестирования на проникновение, таким как Meterpreter и Powershell Empire. Основное различие заключается в том, что Koadic выполняет большую часть своих операций с помощью Windows Script Host (JScript / VBScript) с совместимостью в ядре, для поддержки установки по умолчанию в Windows 2000 без каких-либо обновлений (и, возможно, даже версий NT4) в Windows 10 ОС.
Можно полноценно использовать полезную нагрузку в памяти, с этапа 0 до конца, а также использовать криптографически защищенную связь через SSL и TLS (в зависимости от того, что активировала ОС жертвы).
Koadic совместим как с Python 2, так и с Python 3.
Функционал:
1. Захват зомби хостов
2. Повышение привилегий (обход UAC)
3. Дамп паролей SAM/SECURITY
4. Сканирование локальной сети на открытые SMB-порты
5. Переключение на другую машину
Модули:
Захватывают цели и позволяют использовать импланты.
1. stager/js/mshta –полезная нагрузка в памяти с использованием MSHTA.exe HTML-приложений
2. stager/js/regsvr – полезная нагрузка в памяти с помощью regsvr32.exe COM + scriptlets
3. stager/js/rundll32_js –полезная нагрузка в памяти с помощью rundll32.exe
4. stager/js/disk – полезная нагрузка с использованием файлов на диске
Импланты:
· implant/elevate /bypassuac_eventvwr - Использует эксплойт eventvwr.exe enigma0x3 для обхода UAC в Windows 7, 8 и 10.
· implant/elevate/bypassuac_sdclt - Использует эксплойт sdclt.exe для enigma0x3 для обхода UAC в Windows 10.
· implant/fun/zombie - Открывает The Cranberries YouTube в скрытом окне.
· implant/fun/voice - Воспроизведение сообщения по тексту в речь.
· implant/gather/clipboard - Получает текущее содержимое пользовательского буфера обмена.
· implant/gather/hashdump_sam - Извлекает хэшированные пароли из SAM.
· implant/gather/hashdump_dc – Дампинг хэшей контроллера домена из файла NTDS.dit.
· implant/inject/mimikatz_dynwrapx - Инъективно загружает DLL для запуска powerkatz.dll (используя Dynamic Wrapper X).
· implant/inject/mimikatz_dotnet2js - Внедряет DLL с отражающей загрузкой для запуска powerkatz.dll.
· implant/inject/shellcode_excel - Выполняет произвольную загрузку shellcode (если установлен Excel).
· implant/manage/enable_rdesktop - Включает удаленный рабочий стол в целевой среде.
· implant/manage/exec_cmd – Выполняет произвольную команду на целевом хосте.
· implant/pivot/stage_wmi - Захват зомби-хоста на другой машине, используя WMI.
· implant/pivot/exec_psexec - Выполнение команд на другой машине, используя psexec из sysinternals.
· implant/scan/tcp – Сканирует порты на целевом хосте.
· implant/utils/download_file - Загружает файл с целевого хоста
· implant/utils/upload_file - Загружает файл с атакующей ОС на целевой хост.
Атакующая ОС: Kali Linux 2017.3
Целевой хост: Windows 8.1: Full Update.
Рабочая среда: Локальная сеть, Интернет.
Установка и запуск:
Справка:
После запуска Koadic, по умолчанию используется модуль mshta, если возникает необходимость его сменить, используем команду:
И выбираем из доступных, необходимый.
Теперь необходимо исключить появление ошибки:
Эта ошибка возникает вследствие использования русского языка в целевой системе, решается очень просто:
Для своего исследования я оставляю модуль по умолчанию - stager/js/mshta и настрою его необходимым образом:
Запускаем модуль:
Теперь, необходимо выполнить данную команду на целевом хосте в среде CMD.
Немного теории:
· Mshta.exe – это исполняющий файл в Windows, разработанный корпорацией Microsoft и поставляющийся вместе с операционной системой. Элемент является объектом запуска Microsoft HTML Application – программы, которая отвечает за работу HTML-приложений (.hta файлы) и запуск сценариев в Windows.
После выполнения данной команды, на атакующей ОС, в качестве ZOMBIE, появится целевой хост.
Запросим подробную информацию о захваченном хосте:
Теперь, можно обратиться к командной строке захваченного хоста с помощью модуля - implant/manage/exec_cmd.
Выберем команду, которая будет выполнена:
Имплант отрабатывает успешно, выберем еще один для теста, например, повышение привилегий в системе: - implant/elevate/bypassuac_eventvwr
И для закрепления, попробуем еще один имплант, он позволит извлечь данные из буфера обмена:
Мое мнение, инструмент довольно удобен. Есть несколько негативных моментов, которые, я уверен, увижу в комментариях. На том все, спасибо за внимание.
Koadic, или COM Command & Control, представляет собой постэкплуатационный инструмент для Windows, подобный другим инструментам для проведения тестирования на проникновение, таким как Meterpreter и Powershell Empire. Основное различие заключается в том, что Koadic выполняет большую часть своих операций с помощью Windows Script Host (JScript / VBScript) с совместимостью в ядре, для поддержки установки по умолчанию в Windows 2000 без каких-либо обновлений (и, возможно, даже версий NT4) в Windows 10 ОС.
Можно полноценно использовать полезную нагрузку в памяти, с этапа 0 до конца, а также использовать криптографически защищенную связь через SSL и TLS (в зависимости от того, что активировала ОС жертвы).
Koadic совместим как с Python 2, так и с Python 3.
Функционал:
1. Захват зомби хостов
2. Повышение привилегий (обход UAC)
3. Дамп паролей SAM/SECURITY
4. Сканирование локальной сети на открытые SMB-порты
5. Переключение на другую машину
Модули:
Захватывают цели и позволяют использовать импланты.
1. stager/js/mshta –полезная нагрузка в памяти с использованием MSHTA.exe HTML-приложений
2. stager/js/regsvr – полезная нагрузка в памяти с помощью regsvr32.exe COM + scriptlets
3. stager/js/rundll32_js –полезная нагрузка в памяти с помощью rundll32.exe
4. stager/js/disk – полезная нагрузка с использованием файлов на диске
Импланты:
· implant/elevate /bypassuac_eventvwr - Использует эксплойт eventvwr.exe enigma0x3 для обхода UAC в Windows 7, 8 и 10.
· implant/elevate/bypassuac_sdclt - Использует эксплойт sdclt.exe для enigma0x3 для обхода UAC в Windows 10.
· implant/fun/zombie - Открывает The Cranberries YouTube в скрытом окне.
· implant/fun/voice - Воспроизведение сообщения по тексту в речь.
· implant/gather/clipboard - Получает текущее содержимое пользовательского буфера обмена.
· implant/gather/hashdump_sam - Извлекает хэшированные пароли из SAM.
· implant/gather/hashdump_dc – Дампинг хэшей контроллера домена из файла NTDS.dit.
· implant/inject/mimikatz_dynwrapx - Инъективно загружает DLL для запуска powerkatz.dll (используя Dynamic Wrapper X).
· implant/inject/mimikatz_dotnet2js - Внедряет DLL с отражающей загрузкой для запуска powerkatz.dll.
· implant/inject/shellcode_excel - Выполняет произвольную загрузку shellcode (если установлен Excel).
· implant/manage/enable_rdesktop - Включает удаленный рабочий стол в целевой среде.
· implant/manage/exec_cmd – Выполняет произвольную команду на целевом хосте.
· implant/pivot/stage_wmi - Захват зомби-хоста на другой машине, используя WMI.
· implant/pivot/exec_psexec - Выполнение команд на другой машине, используя psexec из sysinternals.
· implant/scan/tcp – Сканирует порты на целевом хосте.
· implant/utils/download_file - Загружает файл с целевого хоста
· implant/utils/upload_file - Загружает файл с атакующей ОС на целевой хост.
Атакующая ОС: Kali Linux 2017.3
Целевой хост: Windows 8.1: Full Update.
Рабочая среда: Локальная сеть, Интернет.
Установка и запуск:
Код:
git clone https://github.com/zerosum0x0/koadic
cd koadic/
ls –a
Код:
pip install –r requirements.txt
Код:
./koadic
Справка:
Код:
help
После запуска Koadic, по умолчанию используется модуль mshta, если возникает необходимость его сменить, используем команду:
Код:
use
И выбираем из доступных, необходимый.
Теперь необходимо исключить появление ошибки:
Эта ошибка возникает вследствие использования русского языка в целевой системе, решается очень просто:
Код:
nano /Pentest/koadic/core/session.py
Для своего исследования я оставляю модуль по умолчанию - stager/js/mshta и настрою его необходимым образом:
Запускаем модуль:
Код:
run
Теперь, необходимо выполнить данную команду на целевом хосте в среде CMD.
Немного теории:
· Mshta.exe – это исполняющий файл в Windows, разработанный корпорацией Microsoft и поставляющийся вместе с операционной системой. Элемент является объектом запуска Microsoft HTML Application – программы, которая отвечает за работу HTML-приложений (.hta файлы) и запуск сценариев в Windows.
После выполнения данной команды, на атакующей ОС, в качестве ZOMBIE, появится целевой хост.
Запросим подробную информацию о захваченном хосте:
Код:
zombies 0
Теперь, можно обратиться к командной строке захваченного хоста с помощью модуля - implant/manage/exec_cmd.
Код:
use implant/manage/exec_cmd
info
Выберем команду, которая будет выполнена:
Код:
set CMD dir
run
Имплант отрабатывает успешно, выберем еще один для теста, например, повышение привилегий в системе: - implant/elevate/bypassuac_eventvwr
Код:
use implant/elevate/bypassuac_eventvwr
info
set PAYLOAD 0
И для закрепления, попробуем еще один имплант, он позволит извлечь данные из буфера обмена:
Код:
use implant/gather/clipboard
run
Мое мнение, инструмент довольно удобен. Есть несколько негативных моментов, которые, я уверен, увижу в комментариях. На том все, спасибо за внимание.