###### tags: `INT` # Особенности работы отдела безопасности сетевых (WEB) приложений ### Задание 1 Сбор информации об узле 10.90.192.19 ![](https://i.imgur.com/Gl9NH8z.png) Дополнительная информация: ``` 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. *Достоинства*: эффективность, простота, скорость, четкие рекомендациии по устранению уязвимостей, гибкий подход к решению задач. *Риски*: человеческий фактор. *Ограничения*: для проведения масштабного анализа, затрачивается больше времени.