###### tags: `INT`
# Особенности работы отдела безопасности сетевых (WEB) приложений
### Задание 1
Сбор информации об узле 10.90.192.19

Дополнительная информация:
```
OpenSSH 8.2p1
| ssh-hostkey:
| 3072 6d:c2:10:f3:10:b7:43:44:73:0d:0b:29:67:c5:52:11 (RSA)
| 256 81:f0:da:d2:b4:02:88:36:c8:94:99:37:85:47:e4:2f (ECDSA)
|_ 256 dc:5a:72:1f:b0:e8:94:97:16:00:b2:d3:b4:ba:4f:27 (ED25519)
OpenSSH 5.9p1
| ssh-hostkey:
|_ 3072 fc:0a:5a:fd:d0:ee:cc:b6:1f:1e:c7:ee:00:fe:b5:d5 (RSA)
nginx 1.18.0
| http-methods:
|_ Supported Methods: GET HEAD
|_http-server-header: nginx/1.18.0 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
| ssl-cert: Subject: organizationName=Com/stateOrProvinceName=MSK/countryName=RU
| Issuer: organizationName=Com/stateOrProvinceName=MSK/countryName=RU
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2022-08-03T09:44:53
| Not valid after: 2023-08-03T09:44:53
| MD5: 9198 706c 09b3 6eb9 2aac 91a7 49d1 8072
|_SHA-1: a71c 56bf 65b6 2909 e580 e017 aaf3 0110 b339 5d6b
```
---
### Задание 2
1. Разобрать код. Что он делает и зачем. В чем заключается специфика безопасной проверки.
**Check1**: На адрес `/bitrix/tools/composite_data.php` отправляется GET-запрос. Если запрос успешный, извлекаются данные о текущей сессии и *id*. Затем формируется POST-запрос на адрес `/bitrix/tools/vote/uf.php`, использующий полученную ранее информацию. Предположительно, целью запроса является повышение привилегий пользователя. После него осуществлется проверка по скрытым(???) параметрам для вынесения вердикта о наличии уязвимости.
**Check2:** Производится подключение к UDP-порту, создается несколько переменных с разными значениями для отправки запроса и тестирования реакции системы на них. Отправляется первый вредоносный запрос, `recvMsg` принимает сообщение из сокета и помещает его в буфер. Если длина буфера отличается от нормального, система уязвима. После этого отправляется невредоносный запрос, а значение `recvmsg` очищается. Если очистка не прошла успешно, система считается уязвимой.
---
2. Наличие каких уязвимостей проверяют Check1 и Check2
**Check1**: RCE.
**Check2:** Buffer overflow.
---
3. Check1: что должно быть вместо строки ???????????????????????????, чтобы вынести вердикт о наличии уязвимости
Предполагаю, что POST-запрос был отправлен с целью повышения привилегий пользователя, и в условии проверяется, был ли получен доступ к панели администрования.
Для Bitrix-систем это: `/bitrix/admin/index.php`.
---
4. Какими еще методами можно удаленно проверить на наличие уязвимостей.
1. Сканирование уязвимостей
2. Ручной пентестинг
---
5. Какие достоинства, риски и ограничения у предложенных методов.
1. *Достоинства*: автоматизированность процесса, формирование отчетов и иногда автоматическое устранение уязвимостей.
*Риски*: сложность внедрения, длительность сканирования, низкое качество обнаружения уязвимостей, деструктивное воздействие на приложение, непонимание сканером функций приложения и семантики страниц, сканеры выдают только общие рекомендации, что не всегда разработчику понять, как снизить уровень риска.
*Ограничения*: не подходит для обнаружения принципиально новых видов уязвимостей, при использовании сторонних сервисов возможности ограничены функционалом сканера.
2. *Достоинства*: эффективность, простота, скорость, четкие рекомендациии по устранению уязвимостей, гибкий подход к решению задач.
*Риски*: человеческий фактор.
*Ограничения*: для проведения масштабного анализа, затрачивается больше времени.