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

51
ERP ГЛАЗАМИ ЗЛОУМЫШЛЕННИКА Юдин Алексей Positive Technologies

Upload: positive-hack-days

Post on 16-Jun-2015

1.493 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: ERP Глазами Злоумышленника

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

Юдин Алексей

Positive Technologies

Page 2: ERP Глазами Злоумышленника

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

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

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

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

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

Page 3: ERP Глазами Злоумышленника

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

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

Обнаружение

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

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

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

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

Page 4: ERP Глазами Злоумышленника

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

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

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

Базы данных

АСУ ТП

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

Page 5: ERP Глазами Злоумышленника

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

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

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

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

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

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

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

Page 6: ERP Глазами Злоумышленника

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

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

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

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

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

Page 7: ERP Глазами Злоумышленника

ORACLE E-BUSINESS SUITE

Page 8: ERP Глазами Злоумышленника

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

Page 9: ERP Глазами Злоумышленника

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

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

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

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

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

Page 10: ERP Глазами Злоумышленника

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

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

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

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

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

Page 11: ERP Глазами Злоумышленника

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

SYSTEM/MANAGER

DBSNMP/DBSNMP

APPS/APPS

APPLSYSPUB/PUB

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

Page 12: ERP Глазами Злоумышленника

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

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

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

Page 13: ERP Глазами Злоумышленника

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

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

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

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

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

Page 14: ERP Глазами Злоумышленника

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

Таблица APPLSYS.FND_USER

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

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

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

Пароль APPS

Page 15: ERP Глазами Злоумышленника

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

Таблица APPLSYS.FND_USER

Page 16: ERP Глазами Злоумышленника

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

Таблица APPLSYS.FND_ORACLE_USERID

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

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

Page 17: ERP Глазами Злоумышленника

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

Таблица APPLSYS.FND_ORACLE_USERID

Page 18: ERP Глазами Злоумышленника

Сценарий

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

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

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

Page 19: ERP Глазами Злоумышленника

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

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

Page 20: ERP Глазами Злоумышленника

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

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

Page 21: ERP Глазами Злоумышленника

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

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

Page 22: ERP Глазами Злоумышленника

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

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

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

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

Page 23: ERP Глазами Злоумышленника

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

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

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

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

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

Page 24: ERP Глазами Злоумышленника

SAP NETWEAVER

Page 25: ERP Глазами Злоумышленника

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

Page 26: ERP Глазами Злоумышленника

Цели атаки

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

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

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

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

Page 27: ERP Глазами Злоумышленника

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

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

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

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

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

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

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

Page 28: ERP Глазами Злоумышленника

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

SAP* - 06071992

SAP* - PASS

DDIC – 19920706

SAPCPIC – ADMIN

EARLYWATCH - SUPPORT

TMSADM – PASSWORD

Page 29: ERP Глазами Злоумышленника

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

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

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

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

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

Page 30: ERP Глазами Злоумышленника

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

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

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

Page 31: ERP Глазами Злоумышленника

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

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

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

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

Page 32: ERP Глазами Злоумышленника

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

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

Page 33: ERP Глазами Злоумышленника

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

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

Page 34: ERP Глазами Злоумышленника

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

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

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

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

Page 35: ERP Глазами Злоумышленника

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

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

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

• login/password_max_idle_initial=0 (deactivated by default)

• login/password_max_idle_initial=0 (deactivated by default)

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

Page 36: ERP Глазами Злоумышленника

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

Перехват паролей 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)

Page 37: ERP Глазами Злоумышленника

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

Page 38: ERP Глазами Злоумышленника

Перехват паролей 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

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

Page 39: ERP Глазами Злоумышленника

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

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

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

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

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

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

Page 40: ERP Глазами Злоумышленника

Схема атаки

Page 41: ERP Глазами Злоумышленника

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

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

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

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

Page 42: ERP Глазами Злоумышленника

StartRFC.exe

Page 43: ERP Глазами Злоумышленника

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

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

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

Page 44: ERP Глазами Злоумышленника

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

Page 45: ERP Глазами Злоумышленника

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

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

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

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

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

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

Page 46: ERP Глазами Злоумышленника

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

Nmap

Sapyto/Bizploit

Wireshark+DIAG plugin

Cain&Abel

John The Ripper

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

Page 47: ERP Глазами Злоумышленника

Что делать?

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

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

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

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

Page 48: ERP Глазами Злоумышленника

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

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

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

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

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

Page 49: ERP Глазами Злоумышленника

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

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

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

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

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

Page 50: ERP Глазами Злоумышленника

Удаленный вход в СУБД 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

Профит!

Page 51: ERP Глазами Злоумышленника

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

Юдин Алексей

[email protected]