mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-24 21:53:54 +00:00
Translated ['network-services-pentesting/pentesting-sap.md'] to ua
This commit is contained in:
parent
031116cfd9
commit
a70dfeca61
1 changed files with 85 additions and 8 deletions
|
@ -18,16 +18,16 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
{% embed url="https://websec.nl/" %}
|
||||
|
||||
|
||||
# Вступ до SAP
|
||||
# Вступ про SAP
|
||||
|
||||
SAP означає Системи, Застосування та Продукти в Обробці Даних. SAP, за визначенням, також є назвою програмного забезпечення ERP \(Планування Ресурсів Підприємства\), а також назвою компанії.
|
||||
SAP означає Системи Застосувань та Продуктів в Обробці Даних. SAP, за визначенням, також є назвою програмного забезпечення ERP \(Планування Ресурсів Підприємства\), а також назвою компанії.
|
||||
Система SAP складається з ряду повністю інтегрованих модулів, які охоплюють практично всі аспекти управління бізнесом.
|
||||
|
||||
Кожен екземпляр SAP \(або SID\) складається з трьох шарів: бази даних, додатку та презентації\), кожен ландшафт зазвичай складається з чотирьох екземплярів: dev, test, QA та production.
|
||||
Кожен з шарів може бути експлуатований до певної міри, але найбільший ефект можна досягти, **атакуючи базу даних**.
|
||||
|
||||
Кожен екземпляр SAP поділяється на клієнтів. Кожен з них має користувача SAP\*, еквівалент "root" для додатку.
|
||||
При початковому створенні цей користувач SAP\* отримує стандартний пароль: “060719992” \(більше стандартних паролів нижче\).
|
||||
Кожен екземпляр SAP поділяється на клієнтів. Кожен з них має користувача SAP\*, еквівалент "root" в додатку.
|
||||
При початковому створенні, цьому користувачу SAP\* надається стандартний пароль: “060719992” \(більше стандартних паролів нижче\).
|
||||
Ви будете здивовані, якщо дізнаєтеся, як часто ці **паролі не змінюються в тестових або розробницьких середовищах**!
|
||||
|
||||
Спробуйте отримати доступ до оболонки будь-якого сервера, використовуючи ім'я користувача <SID>adm.
|
||||
|
@ -37,8 +37,8 @@ SAP означає Системи, Застосування та Продукт
|
|||
|
||||
> Наступний розділ в основному з [https://github.com/shipcod3/mySapAdventures](https://github.com/shipcod3/mySapAdventures) від користувача shipcod3!
|
||||
|
||||
* Перевірте Область Застосування або Короткий Опис Програми для тестування. Зверніть увагу на імена хостів або системні екземпляри для підключення до SAP GUI.
|
||||
* Використовуйте OSINT \(відкрите джерело інформації\), Shodan та Google Dorks, щоб перевірити файли, піддомени та цікаву інформацію, якщо додаток є доступним в Інтернеті або публічним:
|
||||
* Перевірте Обсяг Застосування або Короткий Опис Програми для тестування. Зверніть увагу на імена хостів або системні екземпляри для підключення до SAP GUI.
|
||||
* Використовуйте OSINT \(відкрите джерело інформації\), Shodan та Google Dorks для перевірки файлів, піддоменів та цікавої інформації, якщо додаток є доступним в Інтернеті або публічним:
|
||||
```text
|
||||
inurl:50000/irj/portal
|
||||
inurl:IciEventService/IciEventConf
|
||||
|
@ -79,7 +79,7 @@ msf auxiliary(sap_service_discovery) > run
|
|||
```
|
||||
## Testing the Thick Client / SAP GUI
|
||||
|
||||
Ось команда для підключення до SAP GUI
|
||||
Ось команда для підключення до SAP GUI
|
||||
`sapgui <sap server hostname> <system number>`
|
||||
|
||||
* Перевірте наявність стандартних облікових даних \(У таксономії оцінки вразливостей Bugcrowd це вважається P1 -> Неправильна конфігурація безпеки сервера \| Використання стандартних облікових даних \| Продуктивний сервер\):
|
||||
|
@ -133,7 +133,7 @@ SAP*:Down1oad:000,001
|
|||
DEVELOPER:Down1oad:001
|
||||
BWDEVELOPER:Down1oad:001
|
||||
```
|
||||
* Запустіть Wireshark, а потім автентифікуйтеся на клієнті \(SAP GUI\) за допомогою отриманих облікових даних, оскільки деякі клієнти передають облікові дані без SSL. Є два відомі плагіни для Wireshark, які також можуть розбирати основні заголовки, що використовуються протоколом SAP DIAG: плагін розбору SAP від SecureAuth Labs та плагін SAP DIAG від Positive Research Center.
|
||||
* Запустіть Wireshark, а потім автентифікуйтеся на клієнті \(SAP GUI\) за допомогою отриманих облікових даних, оскільки деякі клієнти передають облікові дані без SSL. Є два відомі плагіни для Wireshark, які можуть розбирати основні заголовки, що використовуються протоколом SAP DIAG: плагін розбору SAP від SecureAuth Labs та плагін SAP DIAG від Positive Research Center.
|
||||
* Перевірте наявність ескалацій привілеїв, наприклад, використовуючи деякі коди транзакцій SAP \(tcodes\) для користувачів з низькими привілеями:
|
||||
* SU01 - Для створення та підтримки користувачів
|
||||
* SU01D - Для відображення користувачів
|
||||
|
@ -191,6 +191,83 @@ BWDEVELOPER:Down1oad:001
|
|||
</SOAP-ENV:Body>
|
||||
</SOAP-ENV:Envelope>
|
||||
```
|
||||
# Параметри конфігурації
|
||||
|
||||
Якщо у вас є правильні дані для входу під час тестування безпеки або вам вдалося увійти в SAP GUI, використовуючи базові облікові дані, ви можете перевірити значення параметрів. Багато базових і користувацьких значень параметрів конфігурації вважаються вразливостями.
|
||||
|
||||
Ви можете перевірити значення параметрів як вручну, так і автоматично, використовуючи скрипти (наприклад, [SAP Parameter Validator](https://github.com/damianStrojek/SAPPV)).
|
||||
|
||||
## Ручна перевірка параметрів
|
||||
|
||||
Перейшовши до коду транзакції `RSPFPAR`, ви можете запитати різні параметри та дізнатися їх значення.
|
||||
|
||||
Таблиця нижче містить визначені параметри та умови, за якими вони відрізняються.
|
||||
|
||||
Наприклад, якщо <i>gw/reg_no_conn_info</i> встановлено на менше ніж 255 (`<255`), то це слід вважати загрозою. Аналогічно, якщо <i>icm/security_log</i> дорівнює двом (`2`), це також буде можливою загрозою.
|
||||
|
||||
| Параметр | Обмеження | Опис |
|
||||
|------------------------------------------------|-------------|------------------------------------------------|
|
||||
| `auth/object_disabling_active` | `Y` | Вказує, чи активне відключення об'єктів. |
|
||||
| `auth/rfc_authority_check` | `<2` | Встановлює рівень перевірки повноважень для RFC. |
|
||||
| `auth/no_check_in_some_cases` | `Y` | Вказує, чи обходяться перевірки в деяких випадках. |
|
||||
| `bdc/bdel_auth_check` | `FALSE` | Визначає, чи застосовуються перевірки авторизації в BDC. |
|
||||
| `gw/reg_no_conn_info` | `<255` | Обмежує кількість символів для інформації про реєстраційний номер з'єднання. |
|
||||
| `icm/security_log` | `2` | Визначає рівень журналу безпеки для ICM (Менеджер Інтернет-комунікацій). |
|
||||
| `icm/server_port_0` | `Display` | Вказує порт сервера для ICM (порт 0). |
|
||||
| `icm/server_port_1` | `Display` | Вказує порт сервера для ICM (порт 1). |
|
||||
| `icm/server_port_2` | `Display` | Вказує порт сервера для ICM (порт 2). |
|
||||
| `login/password_compliance_to_current_policy` | `0` | Зобов'язує дотримуватися політики паролів. |
|
||||
| `login/no_automatic_user_sapstar` | `0` | Вимикає автоматичне призначення користувача SAPSTAR. |
|
||||
| `login/min_password_specials` | `0` | Мінімальна кількість спеціальних символів, що вимагаються в паролях. |
|
||||
| `login/min_password_lng` | `<8` | Мінімальна довжина, що вимагається для паролів. |
|
||||
| `login/min_password_lowercase` | `0` | Мінімальна кількість малих літер, що вимагаються в паролях. |
|
||||
| `login/min_password_uppercase` | `0` | Мінімальна кількість великих літер, що вимагаються в паролях. |
|
||||
| `login/min_password_digits` | `0` | Мінімальна кількість цифр, що вимагаються в паролях. |
|
||||
| `login/min_password_letters` | `1` | Мінімальна кількість літер, що вимагаються в паролях. |
|
||||
| `login/fails_to_user_lock` | `<5` | Кількість невдалих спроб входу перед блокуванням облікового запису користувача. |
|
||||
| `login/password_expiration_time` | `>90` | Час закінчення терміну дії пароля в днях. |
|
||||
| `login/password_max_idle_initial` | `<14` | Максимальний час простою в хвилинах перед вимогою повторного введення пароля (початковий). |
|
||||
| `login/password_max_idle_productive` | `<180` | Максимальний час простою в хвилинах перед вимогою повторного введення пароля (продуктивний). |
|
||||
| `login/password_downwards_compatibility` | `0` | Вказує, чи увімкнено зворотну сумісність для паролів. |
|
||||
| `rfc/reject_expired_passwd` | `0` | Визначає, чи відхиляються прострочені паролі для RFC (Віддалені функціональні виклики). |
|
||||
| `rsau/enable` | `0` | Увімкнення або вимкнення перевірок RS AU (Авторизація). |
|
||||
| `rdisp/gui_auto_logout` | `<5` | Вказує час у хвилинах перед автоматичним виходом з сеансів GUI. |
|
||||
| `service/protectedwebmethods` | `SDEFAULT` | Вказує стандартні налаштування для захищених веб-методів. |
|
||||
| `snc/enable` | `0` | Увімкнення або вимкнення захищеної мережевої комунікації (SNC). |
|
||||
| `ucon/rfc/active` | `0` | Активує або деактивує UCON (Уніфіковане з'єднання) RFC. |
|
||||
|
||||
## Скрипт для перевірки параметрів
|
||||
|
||||
Через велику кількість параметрів також можливо експортувати всі з них у файл .XML і використовувати скрипт [SAPPV (SAP Parameter Validator)](https://github.com/damianStrojek/SAPPV), який перевірить всі вищезгадані параметри та виведе їх значення з відповідним розрізненням.
|
||||
```
|
||||
./SAPPV.sh EXPORT.XML
|
||||
|
||||
Parameter: auth/no_check_in_some_cases
|
||||
User-Defined Value: No data
|
||||
System Default Value: Y
|
||||
Comment: Activation of the Profile Generator
|
||||
Vulnerability: "SAP Parameter Misconfiguration: auth/no_check_in_some_cases"
|
||||
|
||||
Parameter: auth/object_disabling_active
|
||||
User-Defined Value: N
|
||||
System Default Value: N
|
||||
Comment: Value 'N' prohibits disabling of authorization objects
|
||||
Vulnerability: "SAP Parameter Misconfiguration: auth/object_disabling_active"
|
||||
|
||||
Parameter: auth/rfc_authority_check
|
||||
User-Defined Value: 6
|
||||
System Default Value: 6
|
||||
Comment: Execution option for the RFC authority check
|
||||
Vulnerability: "SAP Parameter Misconfiguration: auth/rfc_authority_check"
|
||||
|
||||
Parameter: bdc/bdel_auth_check
|
||||
User-Defined Value: No data
|
||||
System Default Value: FALSE
|
||||
Comment: batch-input: check authorisation for activity DELE when delete TA
|
||||
Vulnerability: "SAP Parameter Misconfiguration: bdc/bdel_auth_check"
|
||||
|
||||
[...]
|
||||
```
|
||||
# Атака!
|
||||
|
||||
* Перевірте, чи працює на старих серверах або технологіях, таких як Windows 2000.
|
||||
|
|
Loading…
Reference in a new issue