---
# System prepended metadata

title: Модуль №13
tags: [MOE]

---

# Использование сторонних компонентов с известными уязвимостями


## Описание уязвимостей этого типа

Уязвимости, которые возникают с течением времени в программном обеспечении. Так как за время существования приложения находятся недостатки, которые могут быть использованы злоумышленниками для проведения атак.

## Причины возникновения уязвимостей

Могут происходить из-за:

- отсутствия механизмов проверки версионности используемых компонентов
- отсутствия информации о опубликованной уязвимости
- недостаточной оценке критичности уязвимости

## Демонстрация общедоступных систем публикации уязвимостей

- https://nvd.nist.gov
- https://cve.mitre.org
- https://www.exploit-db.com
- ...

## Последствия эксплуатации уязвимостей

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

- результат (выполнение команд, отказ в обслуживании и т.д.)
- распространенность ПО, где обнаружена уязвимость
- популярность компании, где была найдена уязвимость

## Примеры эксплуатации уязвимостей, которые привели к большим утечкам данных


- Log4Shell
- Follina
- Spring4Shell
- Google Chrome Zero-Day
- F5 BIG-IP
- Microsoft Office Bug
- ProxyNotShell
- Zimbra Collaboration Suite Bugs
- Atlassian Confluence RCE Flaw
- Zyxel RCE Vulnerability


## Основные нашумевшие уязвимости (FREAK, POODLE, ShellShock, EventStream, Zip-Slip)

**FREAK** - атака на понижение версии используемого шифрования для TLS.

**CVE-2015-0204** - тоесть уязвимы будут все сервера и клиенты, которые используют версии openSSL ниже 1.01k. Так же считается, что данная уязвимость есть вообще во всех пакетах для работы с TLS, которые выходили до 2014 года.

[Тут можно посмотреть насколько уязвимость популярна сегодня](https://en.fofa.info/result?qbase64=IkNWRS0yMDE1LTAyMDQi)


**POODLE** - вид атаки на понижение версии шифроваиня для TLS через использование MiTM техник

**CVE-2014-3566** - уязвимость, которая имеет несколько вариантов, так как после патча, был разработан метод эксплуатации, который использовал режим работы CBC AES для проведения Padding Oracle атаки.


**ShellShock** - уязвимость в процессинге запросов на сервер, где для этого применялся Shell.

**EventStream** - атака на поставщика, подразумевает, что злоумышленник занимается подменой известных пакетов или библиотек для работы приложения.

**Zip-Slip** - уязвимость в ПО, которое использует для своей работы решения для архивации данных.

Обычно работает с:

- .tar
- .jar
- .war
- .cpio
- .apk
- .rar
- .7z

Небольшой список уязвимых приложений и компонентов можно найти [тут](https://github.com/snyk/zip-slip-vulnerability).

## Оценка безопасности компонента

Может быть произведена только, если применяются подходы для постоянного обеспечения безопасности приложений и **Patch Management**.

Так же можно применить несколько простых правил:
- Удалять неиспользуемые зависимости, неиспользуемые функции, компоненты, файлы и т.д. Эта процедура поможет уменьшить `поверхность атаки`.
- согласовение версий `frontend` и `backend` и отслеживание известных уязвимостей для ПО
- получение компонентов и библиотек из официальных или доверенных источников
- мониторинг уязвимостей и проверка патчей - публикация информации об узявимости может не содержать подробностей о применимости патча для старых версий

## Пример эксплуатации веб-приложения с известной уязвимостью

Развернуть приложенние можно из [этого](https://github.com/vulhub/vulhub/tree/master/cacti/CVE-2022-46169) репозитория.

Для атаки будет использоваться фреймворк Metasploit:

- открыть terminal
- найти эксплойт - https://github.com/rapid7/metasploit-framework/blob/89378d54c8596aa7896741b12e314391a19b3c95/modules/exploits/linux/http/cacti_unauthenticated_cmd_injection.rb#L20
- создать файл в директории exploits и скопировать содержимое файла из предыдущего пункта - для kali linux это путь - /usr/share/metasploit-framework/exploits/
- запустить команду set PAYLOAD payload/linux/x64/exec
- запустить команду set CMD "echo 'Test' >> /tmp/test.txt"
- запустить команду set RHOST ip.add.dr
- запустить команду exploit

ip.add.dr - адрес уязвимого контейнера от cacti.