Статья Koadic - Command & Control

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

upload_2017-12-3_20-31-12.png


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

upload_2017-12-3_20-32-7.png


Код:
pip install –r requirements.txt

upload_2017-12-3_20-32-27.png


Код:
./koadic

upload_2017-12-3_20-32-49.png


Справка:

Код:
help

upload_2017-12-3_20-33-34.png


После запуска Koadic, по умолчанию используется модуль mshta, если возникает необходимость его сменить, используем команду:

Код:
use

И выбираем из доступных, необходимый.

upload_2017-12-3_20-34-18.png


Теперь необходимо исключить появление ошибки:

upload_2017-12-3_20-34-29.png


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

Код:
nano /Pentest/koadic/core/session.py

upload_2017-12-3_20-34-53.png


Для своего исследования я оставляю модуль по умолчанию - stager/js/mshta и настрою его необходимым образом:

upload_2017-12-3_20-35-3.png


Запускаем модуль:

Код:
run

upload_2017-12-3_20-35-27.png


Теперь, необходимо выполнить данную команду на целевом хосте в среде CMD.

Немного теории:

· Mshta.exe – это исполняющий файл в Windows, разработанный корпорацией Microsoft и поставляющийся вместе с операционной системой. Элемент является объектом запуска Microsoft HTML Application – программы, которая отвечает за работу HTML-приложений (.hta файлы) и запуск сценариев в Windows.

upload_2017-12-3_20-35-38.png


После выполнения данной команды, на атакующей ОС, в качестве ZOMBIE, появится целевой хост.

upload_2017-12-3_20-35-55.png


Запросим подробную информацию о захваченном хосте:

Код:
zombies 0

upload_2017-12-3_20-36-24.png


Теперь, можно обратиться к командной строке захваченного хоста с помощью модуля - implant/manage/exec_cmd.

Код:
use implant/manage/exec_cmd
info

Выберем команду, которая будет выполнена:

Код:
set CMD dir
run

upload_2017-12-3_20-37-25.png


Имплант отрабатывает успешно, выберем еще один для теста, например, повышение привилегий в системе: - implant/elevate/bypassuac_eventvwr

Код:
use implant/elevate/bypassuac_eventvwr
info
set PAYLOAD 0

upload_2017-12-3_20-37-58.png


И для закрепления, попробуем еще один имплант, он позволит извлечь данные из буфера обмена:

Код:
use implant/gather/clipboard
run

upload_2017-12-3_20-38-37.png


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

Вложения

  • upload_2017-12-3_20-35-44.png
    upload_2017-12-3_20-35-44.png
    1,3 КБ · Просмотры: 312

animi

Green Team
06.12.2016
52
46
BIT
0
нет, понимаю что проблема с кодировкой.
import sys
reload(sys)
sys.setdefaultencoding('utf8')
в core/commands/zombies.py.
Теперь наверное нужно поправить вывод от mimikatz. Антивируса нет, это тестовый стенд kali и windows 7 sp1

implant/elevate /bypassuac_eventvwr - я так понимаю что эта штука дает права системы

не с ав все норм его там нет))) стенд kali и windows 7 без ав
 

animi

Green Team
06.12.2016
52
46
BIT
0
запусти каждую строчку в ручную pip install строка из файла
 

cerruti

One Level
20.11.2018
8
1
BIT
0
Как по обходу АВ у Koadic? Насколько сильно палится? Кто-нибудь тестировал на динамике?
 

cerruti

One Level
20.11.2018
8
1
BIT
0
А как автоматизировать выполнение модулей?

Вот выбрал я stager MSHTA например, выставил set MODULE implant/persist/registry. Но при прогрузке на тестовой тачке выдает PAYLOAD не выбран. Приходится вручную вбивать use implant/persist/registry, потом вручную вбивать set PAYLOAD 0 например, только тогда при запуске на боте автоматически включится модуль. Как это можно автоматизировать на стадии создания stager'a?

И можно ли как то выставить несколько модулей сразу? например persist и exec_cmd сразу?
 
M

magicun

Вы что все сговорились что ли??))

ссылку видно принцип работы интересно услышать. чем разницу с другими держит как настроить. взялись совето пишите развернуто зачтется в карму
итожу с локалтунелем нет работы с коадиком. npm ставил так curl -L | sudo sh
 
Последнее редактирование модератором:

reload

New member
10.10.2019
3
0
BIT
0
а как прокинуть сессию до кали на виртуалке через хост впс? на виртуалку не отстукает же, а отдельный хост с кали делать не хочу.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!