Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SAP hands on lab_ru

2,107 views

Published on

  • Be the first to comment

  • Be the first to like this

SAP hands on lab_ru

  1. 1. Hands-on LabАнализ SAP систем Юдин Алексей Positive Technologies
  2. 2. LABS Поиск сервисов. Получение информации. Удаленный подбор паролей. Перехват данных аутентификации (RFC/DIAG). Обход авторизаций. VBA+RFC. Анализ полученного доступа. Доступ к хешам паролей пользователей. Подбор паролей “offline”. Получение данных из другого манданта. Доступ к файлам ОС. Запуск команд ОС
  3. 3. ОБНАРУЖЕНИЕСЕРВИСОВ
  4. 4. Инструментарий Nmap RFCSDK/NWRFCSDK Vbs/Python SAP Frontend 7.20
  5. 5. Сценарий Сканирование портов Получение информации о сервисах Подбор мандантов Подбор пользователей (RFC) Подбор пользователей (GUI)
  6. 6. Сканирование портов Поиск SAP систем http://scn.sap.com/docs/DOC-17124 • SAP DIAG - 32xx-3299 TCP • SAP RFC - 33xx-3399 TCP • ICM HTTP - 80xx TCP • Message Server HTTP -81xx • HTTP – 5xxxx ОС • SSH/Telnet/Rlogin – 22/23/512-514 СУБД • Oracle 1521-1530
  7. 7. Автоматизация. Использование SAP RFCSDK SAP RFCSDK – библиотека для разработки приложений работающих с SAP системой по протоколу SAP RFC Содержит утилиту для тестирования RFC - Startrfc.exe Может использоваться для интеграции с PHP, Perl, VB, С++, Python
  8. 8. StartRFC.exe
  9. 9. StartRFC.exe. Получение информации
  10. 10. StartRFC.exe. Подбор мандантов и паролей Подбор мандантов Перебор паролей и пользователей
  11. 11. Стандартные учетные записи SAP* - 06071992 SAP* - PASS DDIC – 19920706 SAPCPIC – ADMIN EARLYWATCH - SUPPORT TMSADM – PASSWORD
  12. 12. SAPGUI Scripting Поддержка включена в SAP Frontend по умолчанию Для перебора паролей достаточно знания VBS Для автоматизации действий в SAP системе требуется включение sapgui_userscripting Может использоваться VBS/JScript
  13. 13. SAPGUI Scripting. VBS Пример подбор пароля через DIAG Используем функцию OpenConnectionByConnectionString В соответствующие поля вводим учетные данные - findById Контролируем результат выполнения скрипта (ошибка/не ошибка) Выводим результат
  14. 14. Пример VBS
  15. 15. Использование Python Пример получения данных из структур SAP Пример получения данных из таблиц SAP Нужен RFC SDK, компилятор С/C++, NWRFC for Python Контролируем результат выполнения (ошибка/не ошибка) Выводим результат в консоль/файл
  16. 16. Пример Python
  17. 17. ПЕРЕХВАТ ДАННЫХ
  18. 18. Инструменты Wireshark SAP DIAG plugin for Wireshark Microsoft Excel + VBA
  19. 19. Перехват паролей Перехват паролей 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)
  20. 20. Перехват паролей DIAG
  21. 21. Перехват данных 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
  22. 22. Перехват паролей RFC
  23. 23. Использование VBA Пример получения данных из структур SAP Пример получения данных из таблиц SAP Нужен SAP GUI или .ocx компоненты для импорта Контролируем результат выполнения (ошибка/не ошибка) Выводим результат в Excel
  24. 24. Пример VBA
  25. 25. ПОДБОР ПАРОЛЕЙ ПОИЗВЕСТНОМУ ХЕШУ
  26. 26. Инструменты SAP Frontend Perl John the Ripper. Сommunity Enhanced
  27. 27. Анализ полученного доступа Нашли учетную запись Осуществляем попытку входа В случае успешного входа анализируем права (в первую очередь запускаем транзакцию SA38/SE38/SE16/SE17/ST04) Смотрим свои права и привилегии через RSUSR002
  28. 28. RSUSR002
  29. 29. Собираем хеши паролей Таблицы с хешами: USR02,USH02,USRPWDHISTORY Способы получения: • SE16/SE16N/SE17 • ST04/SQL Command Editor • RFC • Database Level… • OS Level/получение данных из файла ОС Инструменты: SAPGUI, MIL Read Table, VBS, SQLplus ….
  30. 30. SE16
  31. 31. ST04.SQL Command Editor
  32. 32. Получение данных с использованием SA38/SE38 Запускаем тр. SE93 получаем программу запуска. Открываем таблицу STSC получаем программу запуска. SA38/SE38 запускаем программу напрямую.
  33. 33. SE93 Maintain transaction
  34. 34. STSC SAP Transaction Codes
  35. 35. Получение данных из таблиц через SQ01/SQ02 В тр. SQ02 создаем новый инфонабор (таблица) Переходим в тр. SQ01, выбираем созданный инфонабор. Определяем список полей для вывода Запускаем отчет, получаем результат.
  36. 36. SQ01/SQ02
  37. 37. SQ01/SQ02
  38. 38. SQ01/SQ02
  39. 39. SQ01/SQ02
  40. 40. SQ01/SQ02
  41. 41. SQ01/SQ02
  42. 42. Уязвимости алгоритмов хеширования CODVN A – устаревший алгоритм разработанный SAP – длина пароля <=8, символы в UPPERCASE CODVN B – устаревший алгоритм на базе MD5, длина пароля <=8 остальная часть пароля обрезается, все символы в UPPERCASE, спецсимволы заменяются на символ ^
  43. 43. Уязвимости алгоритмов хеширования CODVN D – также устаревший алгоритм предназначался для того чтобы исправить ошибки алгоритма B – в части урезания паролей и использования спец символов CODVN E – пришел на смену паролям B и D и был призван устранить их проблемы, работает в версиях с 4.6x до 6.x • SAP Note 874738 - New password hash calculation procedure (code version E)
  44. 44. Уязвимости алгоритмов хеширования CODVN F – наиболее часто используемый на текущий момент алгоритм хеширования, основан на SHA1, длина пароля до 40 символов , перед хешированием строки переводятся в UTF- 8, поэтому символы могут быть практически любые, работает в версиях начиная с 7.00
  45. 45. Уязвимости алгоритмов хеширования CODVN G = B+F – можно подобрать сначала часть пароля размером в 8 символов по алгоритму B а затем использовать эту часть для подбора пароля по алгоритму G, работает в версиях начиная с 7.00
  46. 46. Уязвимости алгоритмов хеширования CODVN H – наиболее безопасный алгоритм хеширования – основан на SHA1 с переменной длиной соли, работает в версиях начиная с 7.02 CODVN I = B+F+H – проблемы аналогичные G Скорость подбора паролей • до 700 000 паролей в секунду для CODVN B • до 300 000 паролей в секунду для CODVN G
  47. 47. John The Ripper. Community Enhanced John the Ripper 1.7.9-jumbo-5 включает анализ алгоритмов генерации хешей паролей SAP систем типа B и F Словари паролей Openwall wordlists collection full version - paid download Используются возможность разделения задачи на несколько CPU.
  48. 48. Тестирование паролей Выгружаем USR02 (поля BNAME/BCODE/PASSCODE) Формируем файлы формата username:username<space>$HASHCODE Выбираем словарь или создаем свой Запускаем john the ripper
  49. 49. Результаты тестирования
  50. 50. ДОСТУП К ФАЙЛАМ ИКОМАНДАМ ОС
  51. 51. Просмотр директорий. Тр. AL11 SE37 запуск функционального модуля. CG3Y/CG3Z транзакции
  52. 52. Directory Listing
  53. 53. Directory Listing
  54. 54. Get Files
  55. 55. Put Files
  56. 56. Запуск команд ОС Запускаем транзакцию SM51 Набираем в поле транзакций grep Вводим текст вида nnn” ? & <OS command> &
  57. 57. Запуск команд ОС
  58. 58. Запуск команд ОС
  59. 59. Запуск команд ОС
  60. 60. Запуск команд ОС Запускаем транзакцию SM49/SM69 Создаем свой вариант запуска Запускаем с нужными опциями Вывод в дальнейшем можно сохранить локально.
  61. 61. Запуск команд ОС
  62. 62. Запуск команд ОС
  63. 63. Запуск команд ОС
  64. 64. Запуск команд ОС Запускаем транзакцию SA38 Вводим программу RSBDCOS0 В поле вводим программу OS Получаем вывод программы.
  65. 65. Запуск команд ОС
  66. 66. Запуск команд ОС
  67. 67. Спасибо за внимание!Юдин Алексейayudin@ptsecurity.ru

×