erp Глазами Злоумышленника

Post on 16-Jun-2015

1.493 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ERP ГЛАЗАМИ ЗЛОУМЫШЛЕННИКА

Юдин Алексей

Positive Technologies

Цели злоумышленника

Получение информации

Получение материальных благ

Нарушение работы бизнеса

Формирование плацдарма для дальнейших атак

Методы достижения цели

Формирование цели для атаки

Обнаружение

Сбор информации

Поиск уязвимостей

Эксплуатация уязвимостей

Получение профита

Основные цели атаки

Бизнес приложения

Платежные системы

Базы данных

АСУ ТП

Рабочие станции

Особенности архитектуры бизнес приложений

Различные технологические платформы, СУБД, серверы приложений ,клиентское ПО

Большое количество связей между компонентами

Разные протоколы взаимодействия

Большие объемы данных

Распределенная архитектура

Множество технологий разработки

Особенность архитектуры со стороны ИБ

Большая поверхность атак

Сложность администрирования

Длительное тестирование обновлений и внесение изменений

Часть компонентов бизнес приложения самодостаточны (отдельные пользователи, сервисы, группы настроек)

ORACLE E-BUSINESS SUITE

Архитектура OEBS

Особенности OEBS

OEBS – сложное для анализа и очень массивное приложение (миллионы строк кода, многочисленные языки программирования)

Использование разных технологий в технологическом стеке (часто устаревших)

Интеграция с другими бизнес системами

Большое количество функциональных модулей

Особенности системы

Использование пользователя БД – APPS

Наличие пользователей БД APPLSYSPUB и GUEST

Учетные записи с паролями по умолчанию

Конфигурация профилей OEBS не безопасна

Пароли по умолчанию в СУБД

SYSTEM/MANAGER

DBSNMP/DBSNMP

APPS/APPS

APPLSYSPUB/PUB

+ много паролей бизнес модулей типа HR/HR (не все из этих учетных записей имеют права на подключение к СУБД)

Пользователи GUEST и APPLSYSPUB

Пользователь GUEST – пользователь уровня приложений, используется OEBS для служебных целей.Пароль по умолчанию – ORACLE.

Пользователь APPLSYSPUB – пользователь БД, используемый приложением для начальной аутентификации пользователя приложения

Учетная запись APPS

Используется сервером приложений для работы с СУБД

Является привилегированной учетной записью

Пароль учетной записи используется для восстановления мастер пароля (которым шифруются учетные записи бизнес приложения)

Хранится в открытом виде на сервере приложений

Хранение паролей OEBS

Таблица APPLSYS.FND_USER

Столбец Значение Ключ шифрования

ENCRYPTED_FOUNDATION_PASSWORD Пароль APPS Имя пользователя/пароль

ENCRYPTED_USER_PASSWORD Пароль пользователя

Пароль APPS

Хранение паролей

Таблица APPLSYS.FND_USER

Хранение паролей

Таблица APPLSYS.FND_ORACLE_USERID

Столбец Значение Ключ шифрования

ENCRYPTED_ORACLE_PASSWORD Пароль пользователя БД Пароль APPS

Хранение паролей

Таблица APPLSYS.FND_ORACLE_USERID

Сценарий

Цель – получить учетные записи всех пользователей бизнес приложения

В наличии доступ к сетевым сервисам сервера приложений и СУБД

Учетные записи у злоумышленника отсутствуют

Схема восстановления паролей

Получение пароля пользователя Guest

Схема восстановления паролей

Получение пароля пользователя APPS

Схема восстановления паролей

Получение паролей остальных пользователей

Возможные варианты атаки

Получить данные из таблиц APPLSYS.FND_USER и APPLSYS.FND_PROFILE путем SQL инъекций в сервере приложений(веб сервисах)

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

Получить прямой доступ к таблицам через СУБД

Варианты нейтрализации проблемы

Смена всех паролей учетных записей СУБД и сервера приложений

Разграничение доступа к файлам

Ограничение доступа к СУБД только с адресов сервера приложений

Применение патча (Metalink Note 457166.1 ), позволяющего использовать необратимые хеши паролей для хранения учетных данных в таблице fnd_users

SAP NETWEAVER

Архитектура SAP

Цели атаки

Получение привилегированного доступа к системе

• DBA в СУБД• SAP_ALL в приложении SAP• Root или Администратор в ОС

Получение неограниченного доступа к данным бизнес модулей

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

Проблемы безопасности SAP в части аутентификации

Учетные записи по умолчанию

Хранение паролей

Инициализационные пароли

Перехват паролей

Подбор учетных записей и паролей

Массовое блокирование учетных записей

Стандартные учетные записи

SAP* - 06071992

SAP* - PASS

DDIC – 19920706

SAPCPIC – ADMIN

EARLYWATCH - SUPPORT

TMSADM – PASSWORD

Хранение паролей

Пароли ABAP пользователей хранятся в таблицах USR02, USH02, USRPWDHISTORY

Различные алгоритмы хеширования:A,B,D,E,F,G,H,I

Наличие уязвимостей в алгоритмах хеширования

Наличие автоматизированных средств анализа стойкости паролей

Уязвимости алгоритмов хеширования

CODVN A – устаревший алгоритм разработанный SAP – длина пароля <=8, символы в UPPERCASE

CODVN B – устаревший алгоритм на базе MD5, длина пароля <=8 остальная часть пароля обрезается, все символы в UPPERCASE, спецсимволы заменяются на символ ^

Уязвимости алгоритмов хеширования

CODVN D – также устаревший алгоритм предназначался для того чтобы исправить ошибки алгоритма B – в части урезания паролей и использования спец символов

CODVN E – пришел на смену паролям B и D и был призван устранить их проблемы, работает в версиях с 4.6x до 6.x

• SAP Note 874738 - New password hash calculation procedure (code version E)

Уязвимости алгоритмов хеширования

CODVN F – наиболее часто используемый на текущий момент алгоритм хеширования, основан на SHA1, длина пароля до 40 символов , перед хешированием строки переводятся в UTF-8, поэтому символы могут быть практически любые, работает в версиях начиная с 7.00

Уязвимости алгоритмов хеширования

CODVN G = B+F – можно подобрать сначала часть пароля размером в 8 символов по алгоритму B а затем использовать эту часть для подбора пароля по алгоритму G, работает в версиях начиная с 7.00

Уязвимости алгоритмов хеширования

CODVN H – наиболее безопасный алгоритм хеширования – основан на SHA1 с переменной длиной соли, работает в версиях начиная с 7.02

CODVN I = B+F+H – проблемы аналогичные G

Скорость подбора паролей • до 700 000 паролей в секунду для CODVN B• до 300 000 паролей в секунду для CODVN G

Инициализационные пароли

Простые инициализационные пароли: 123456, 1234567, 12345678 …

Неограниченный срок действия инициализационных пароле

• login/password_max_idle_initial=0 (deactivated by default)

• login/password_max_idle_initial=0 (deactivated by default)

Отсутствие требований по сложности для паролей устанавливаемых администратором

Перехват паролей

Перехват паролей c использованием протокола DIAG

• Wireshark plugin SAP DIAG Decompress (2011) (http://www.securitylab.ru/software/409481.php)

• SApCap (2011) (http://www.sensepost.com/labs/tools/poc/sapcap)

• Cain&Abel (2011) (http://oxid.it)

Перехват паролей с использованием протокола RFC

• Attacking SAP by Mariano Nuñez Di Croce (https://www.blackhat.com/presentations/bh-europe-07/Nunez-Di-Croce/Presentation/bh-eu-07-nunez_di_croce-apr19.pdf)

Перехват паролей DIAG

Перехват паролей RFC. Особенности

Не во всех соединениях RFC используется пароль

Для скрытия пароля используется XOR

Ключ восстановления пароля

31 3e c3 60 e1 06 4e 3f 6b 48 c8 12 f5 fc 20 3c 89 61 2f f1 ef 2e af f3 bd ec 7e 25 b6 a0 71 83 a3 ea 7f ec 09 8a 40 21

Сложности автоматизации поиска маркеров паролей в сетевом трафике

Сценарий атаки

Поиск SAP систем и доступных сервисов

Попытка подбора паролей• Проверка стандартных учетных записей• Подбор паролей с использованием списка

сотрудников компании (полученных из AD, телефонных справочников, Email…)

Перехват паролей пользователей (MITM)

Получение и анализ хешей паролей

Схема атаки

Автоматизация атаки. SAP RFCSDK

SAP RFCSDK – библиотека для разработки приложений работающих с SAP системой по протоколу SAP RFC

Содержит утилиту для тестирования RFC - Startrfc.exe

Может использоваться для интеграции с PHP, Perl, VB, С++ ….

StartRFC.exe

StartRFC.exe – получение информации

Подбор клиентов

Перебор паролей и пользователей

StartRFC.exe – успешное подключение

Дальнейшие действия злоумышленника

Проверка авторизаций пользователя для которого был подобран пароль

Обход проверок авторизации

Эксплуатация уязвимостей в SAP приложении

Получение прямого доступа к СУБД

Доступ к файлам и командам ОС

Инструментарий доступный злоумышленнику

Nmap

Sapyto/Bizploit

Wireshark+DIAG plugin

Cain&Abel

John The Ripper

Утилиты для анализа защищенности ОС и СУБД

Что делать?

Настроить профили безопасности в части парольной политики

Периодически проверять пароли пользователей на наличие простых паролей

Использовать таблицу запрещенных паролей USR40

Использовать шифрование между клиентами и серверами приложений

STOP!!! Это еще не все!

Особенности взаимодействия сервера приложений и СУБД

• Для связки сервера приложений и СУБД используется учетная запись SAPSR3 и SAPSR3DB

• Информация об имени и пароле учетной записи хранится в таблице OPS$<SID>ADM.SAPUSER

• Сервис SAP используя специальные механизмы аутентификации Oracle (ОС аутентификация) получает доступ к СУБД и забирает информацию об учетной записи для последующего соединения

Это интересно

Данные о паролях SAPSR3 и SAPSR3DB могут хранится в открытом и шифрованном виде

Шифрование – модифицированный DES с ключом ‘BE HAPPY’ зашитым в код ядра системы

Пользователь OPS$<SID>ADM обладает правами SYSDBA

По требованиям SAP на СУБД Oracle включен режим REMOTE_OS_AUTHENT = TRUEOS_AUTHENT_PREFIX = OPS$

Удаленный вход в СУБД Oracle

Cоздаем локального пользователя с именем <sid>adm

Создаем запись в tnsnames.oratst=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) (HOST=10.125.151.35)(PORT=1527)))(CONNECT_DATA=(SID=TST)))

Копируем tnsnames.ora в папку home пользователя

Выполняем sqlplus sqlplus /@tst

Профит!

Спасибо за внимание!

Юдин Алексей

ayudin@ptsecurity.ru

top related