## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-TTFFDD-XBADMANNERS
# XBadManners
## Описание CVE
CVE-2018-16323 — утечка памяти при обработке XBM-изображений. После преобразования XBM-изображения в другой формат можно извлечь байты утёкшей памяти из данных изображения.
Обнаружена d4d.
## Инструмент
Довольно простой инструмент для генерации PoC для CVE-2018-16323. Каталог `samples` содержит несколько готовых PoC, которые легко использовать. Для использования этого инструмента необходимо установить imagemagick:
root@kitploit:~
apt-get -y install imagemagick
И проверьте его:
root@kitploit:~
convert -v
Подойдёт любая версия.
## Использование:
root@kitploit:~
Usage poc generator: ./XBadManners.sh gen WIDTHxHEIGHT NAME.xbm [minimal]
Example gen: ./XBadManners.sh gen 512x512 poc.xbm
Example gen: ./XBadManners.sh gen 1024x1024 poc_minimal.xbm minimal
Usage result recovery: ./XBadManners.sh recover SAVED_PREVIEW.png|jpeg|gif|etc
Example recovery: ./XBadManners.sh recover avatar.png
Режим `minimal` позволяет сгенерировать минимально возможное тело XBM для вставки в BurpSuite или куда угодно. Режим minimal протестирован и отлично работает. В этом режиме можно задавать любые ширину и высоту.
Обратите внимание, что с помощью одного изображения можно извлечь много памяти. Единственное ограничение — лимит максимального размера создаваемого изображения на стороне бэкенда.
Можно попробовать восстановить `preview.png`. Если в выводе появятся читаемые слова, значит всё работает нормально.
### Пошаговая инструкция
1. Запустите `./XBadManners.sh gen 512x512 poc.xbm`
2. Загрузите PoC на сервер.
3. Скачайте превью и запустите `./XBadManners.sh recover result.png`
Отличный признак, если превью заметно меняется от одной загрузки к другой.
## Ограничения
Режим восстановления создан для быстрой проверки и должен работать со всеми форматами изображений, поддерживаемыми ImageMagick, но тестировался только для png, jpeg и gif. Логику извлечения памяти из изображения можно настроить, изменив скрипт (он простой, но уродливый).
## Как это выглядит?

XBM — чёрно-белый формат. Поэтому любой результат будет выглядеть как нечто вроде зебры (если у вас хорошее воображение). По сути, чем больше чёрного, тем больше данных извлечено.
## Затронуты CVE-2018-16323
Любая сборка ImageMagick после этого коммита и до этого коммита уязвима.
## Ссылки
* https://nvd.nist.gov/vuln/detail/CVE-2018-16323
* https://www.cvedetails.com/cve/CVE-2018-16323/
* Наша статья о безопасности ImageMagick https://medium.com/@ilja.bv/yet-another-memory-leak-in-imagemagick-or-how-to-exploit-cve-2018-16323-a60f048a1e12