
Доказательство концепции для CVE-2022-48565 - атака на десериализацию XML в python plistlib
Это Proof of Concept (PoC), демонстрирующий уязвимость CVE-2022-48565, которая основана на небезопасной десериализации Plist-файлов в Python. Обрабатывая специально созданные файлы Property List (Plist), злоумышленник может выполнить произвольный код на целевой системе, что потенциально приводит к удаленному выполнению кода (RCE).
В этом репозитории вы найдете четыре PoC-скрипта, каждый из которых демонстрирует различные способы эксплуатации этой уязвимости. Эти примеры показывают, как вредоносный код может быть встроен в Plist-файлы и выполнен на системе.
Вот видео, демонстрирующее Proof of Concept:
Эти PoC-скрипты предназначены только для образовательных целей и исследований безопасности. Используйте эти скрипты в контролируемой среде и никогда на продуктивных системах. Неправильное использование этой уязвимости может привести к серьезным юридическим и этическим последствиям.
Python <=3.9.1
Python 2.x
macOS: Некоторые примеры (например, открытие Calculator или Safari) работают только на macOS, так как используют команды, специфичные для macOS
Клонируйте этот репозиторий:
git clone https://github.com/Einstein2150/CVE-2022-48565-POC
Перейдите в каталог:
cd CVE-2022-48565-POC
Есть четыре PoC-скрипта, каждый из которых демонстрирует различные способы эксплуатации этой уязвимости.
Этот скрипт показывает простой пример, где небезопасная десериализация используется для выполнения команды оболочки, которая выводит сообщение на консоль.
Использование:
bash
python2 cve-2022-48565_poc_echo.py
В этом примере демонстрируется, как злоумышленник может открыть Calculator macOS, десериализуя вредоносный Plist-файл.
Использование:
bash
python2 cve-2022-48565_poc_calc.py
Этот скрипт показывает, как злоумышленник может загрузить файл из внешнего источника и автоматически открыть его в Safari. Команда wget используется для загрузки index.html с сайта foto-video-it.de, который затем открывается в Safari.v
Использование:
bash
python2 cve-2022-48565_poc_wget.py
Этот скрипт имитирует практический сценарий атаки, когда вредоносный Plist-файл хранится внешне и загружается во время выполнения. Это демонстрирует, как злоумышленник может загрузить Plist-файл из внешнего источника и использовать его для выполнения вредоносного кода.
Файл malicious.plist содержит полезную нагрузку и должен находиться в том же каталоге, что и скрипт.
Использование:
bash
python2 cve-2022-48565_poc_external_plist.py
Этот проект лицензируется в соответствии с лицензией MIT. Подробнее см. в файле LICENSE.