Confluence-CVE-2022-26134
Этот репозиторий рассказывает об эксплуатации zero-day уязвимости Atlassian Confluence, а также о её защите и анализе с точки зрения SecOps или Blue Team.
Содержание
О проекте
В выходные, приуроченные ко Дню памяти (Memorial Day) в США, Volexity провела расследование инцидента, связанного с двумя веб-серверами одного из своих клиентов, выходящими в интернет и работающими под управлением Atlassian Confluence Server. Расследование началось после обнаружения подозрительной активности на хостах, включая запись JSP-вебшеллов на диск. Volexity незамедлительно использовала Volexity Surge Collect Pro для сбора содержимого памяти системы и ключевых файлов с систем Confluence Server для анализа. После тщательного изучения собранных данных Volexity смогла определить, что компрометация сервера была вызвана эксплуатацией уязвимости злоумышленником для удалённого выполнения кода. Впоследствии Volexity удалось воспроизвести этот эксплойт и выявить zero-day уязвимость, затрагивающую полностью обновлённые версии Confluence Server.
После обнаружения и проверки этой уязвимости Volexity связалась с Atlassian и сообщила соответствующие детали 31 мая 2022 года. Atlassian подтвердила уязвимость и присвоила ей идентификатор CVE-2022-26134. Подтверждено, что уязвимость работает в текущих версиях Confluence Server и Data Center.
Хронология
- Бюллетень от 2 июня, 13:00 по тихоокеанскому времени (20:00 UTC), не описывает характер уязвимости и сообщает, что обнаружена «текущая активная эксплуатация». Патча нет.
- Volexity обнаруживает zero-day в Confluence 03/06/2022 (GMT)
- 03/06/2022 (GMT) Atlassian:
- Уточнила затронутые версии
- Добавила правило WAF
- Добавила ориентировочные сроки выпуска исправлений
- 03/06/2022 мы наблюдали активные попытки эксплуатации и публикации POC по всему интернету.
- 3 июня 2022, 8:00 по PDT (тихоокеанское время, UTC-7), Atlassian предоставила информацию о мерах по смягчению последствий, включая замену jar- и class-файлов.
- 3 июня 2022, 10:00 по PDT (тихоокеанское время, UTC-7), Atlassian обновила информацию с указанием исправленных версий и удалила временные рекомендации по добавлению правила WAF.
- 3 июня 2022, 16:00 по PDT (тихоокеанское время, UTC-7), Atlassian обновила информацию, чтобы уточнить ограничения при поэтапных обновлениях (rolling upgrades).
Технические подробности см. ЗДЕСЬ
Понимание эксплойта
- Вы можете обратиться к блогу Volexity ЗДЕСЬ, чтобы понять полный принцип работы этого эксплойта и детали анализа.
- Посмотрите это ВИДЕО, чтобы понять эксплойт и методы его устранения.
Список IOC
- Поскольку это zero-day уязвимость, которую можно эксплуатировать очень легко, не существует исчерпывающего списка IOC. По результатам исследований сообщества было замечено, что после эксплуатации злоумышленники пытались развернуть XMRIG, KINSING, MIRAI и т.д.
- Строка эксплойта «по-видимому» содержит строку ${. Этот шаблон не URL-кодирован и не является URL-безопасным, поэтому в логах он будет выглядеть как: $%7B.
- В блоге Volexity упоминается файл Confluence: noop.jsp
- Наличие вебшелла с расширением .jsp без указания пути. Например, ЭТОТ
- Некоторые IP-адреса:
154.146.34.145
154.16.105.147
156.146.34.46
156.146.34.52
156.146.34.9
156.146.56.136
198.147.22.148
198.147.22.148
221.178.126.244
45.43.19.91
59.163.248.170
64.64.228.239
66.115.182.102
66.115.182.111
67.149.61.16
98.32.230.38
193.106.191.48
- Хэши файлов вредоносного noop.jsp:
f39b321472b8dac2452e4c0bc687cb5aa401ac6687520fdc9fd523a17477886d
f8df4dd46f02dc86d37d46cf4793e036
- Широкомасштабная эксплуатация Atlassian Confluence CVE-2022-26134, а именно подтверждённо рабочая, наблюдалась 4 июня 2022 года. Уникальные IP-адреса можно найти ЗДЕСЬ
Стратегия обнаружения
- Если у вас есть выходящие в интернет Confluence Server и Data Center без установленных исправлений, разумно считать их скомпрометированными.
- Ищите НОВЫЕ файлы в каталоге Confluence на диске, имеющие расширение .jsp или любое другое.
- Ищите подозрительные дочерние процессы в логах Tomcat.
DeviceProcessEvents
| where InitiatingProcessFileName has_any( @"tomcat9.exe")
//| where ProcessCommandLine has_any (@"whoami.exe",@"nslookup.exe")
- Ищите строку
${ в (install directory)/logs/*.log
- В логах доступа попробуйте
egrep -a -i -f pattern.txt *.log , где в pattern.txt должно быть сохранено ${, или просто попробуйте grep "\${" log file path или grep "$%7B" log file path
- Возможно, к вам поступят веб-запросы к noop.js, поэтому вы можете попробовать
findstr -i noop.jsp "logpath"
- Каталоги установки у вас могут отличаться, поэтому попробуйте найти
$jspname_jsp.java в каталоге confluence_install_dir/work/Standalone/. Например, если вы найдёте шелл с именем hack.jsp, вы должны увидеть hack_jsp.java. Если hack.jsp больше нет на диске, попробуйте поискать в веб-логах обращения к нему. Это покажет, когда он был доступен/удалён.
./admin/findspaceattachments.jsp
./admin/cluster/hashclustername.jsp
./admin/default.jsp
./classpath.jsp
./errors/notfound.jsp
./500page.jsp
./errors.jsp
./noop.jsp
поэтому ищите новые созданные файлы, которых нет в списке выше.
- Проверяйте файлы на диске, которых нет в списке, и в логах доступа с ответами 200. Кроме того, проверяйте, не были ли изменены какие-либо из этих файлов. В частности, noop.jsp популярен и обычно имеет размер около 103 байт.
- Если вы обнаружили, что файл noop.jsp вызвал срабатывание, воспользуйтесь этим СКРИПТОМ, чтобы определить, подозрителен ли он.
- Вы можете использовать этот СКРИПТ для быстрого сканирования ваших логов на предмет потенциального злоумышленника. ПРИМЕЧАНИЕ — список IP-адресов следует проверить перед использованием; также список не является исчерпывающим.
- Проверьте несколько случаев, чтобы найти
.java файлы в каталоге ./confluence/org/apache/jsp/, которых там быть не должно.
- Ищите дерево процессов и выполнение процессов на любом хосте, где вы обнаружили попытку эксплуатации. Следует искать дерево процессов вида:
java->bash->python->bash
- Bash-процесс, порождённый python-процессом, родителем которого был другой bash, а корневым процессом — java. Такой тип выполнения должен быть выявлен.
Планы по смягчению последствий
- На момент первого коммита этого репозитория Atlassian выпустила исправленные версии Confluence Server и Data Center ЗДЕСЬ
- Если вы не можете немедленно обновить Confluence, то в качестве временного обходного решения вы можете смягчить проблему CVE-2022-26134, обновив следующие файлы, как описано ЗДЕСЬ
- В качестве немедленного шага создайте план реагирования на инциденты, чтобы выявить ваши экземпляры, доступные из интернета, и выполнить обнаружение. Также поместите сервер в IP-белый список или под VPN, чтобы уменьшить поверхность риска.
Ссылки