mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 12:43:23 +00:00
Translated ['network-services-pentesting/pentesting-sap.md'] to kr
This commit is contained in:
parent
98ff08826c
commit
f2ec37bb47
1 changed files with 81 additions and 4 deletions
|
@ -23,10 +23,10 @@ GCP 해킹 배우기 및 연습하기: <img src="/.gitbook/assets/grte.png" alt=
|
|||
SAP는 데이터 처리의 시스템 응용 프로그램 및 제품을 의미합니다. 정의상 SAP는 ERP \(Enterprise Resource Planning\) 소프트웨어의 이름이자 회사의 이름입니다.
|
||||
SAP 시스템은 비즈니스 관리의 거의 모든 측면을 포괄하는 여러 개의 완전히 통합된 모듈로 구성됩니다.
|
||||
|
||||
각 SAP 인스턴스 \(또는 SID\)는 데이터베이스, 애플리케이션 및 프레젠테이션의 세 가지 계층으로 구성되며, 각 환경은 일반적으로 개발, 테스트, QA 및 프로덕션의 네 개 인스턴스로 구성됩니다.
|
||||
각 SAP 인스턴스 \(또는 SID\)는 데이터베이스, 애플리케이션 및 프레젠테이션의 세 가지 계층으로 구성됩니다. 각 환경은 일반적으로 개발, 테스트, QA 및 프로덕션의 네 개 인스턴스로 구성됩니다.
|
||||
각 계층은 어느 정도 악용될 수 있지만, **데이터베이스를 공격하는 것이 가장 큰 효과를 얻을 수 있습니다.**
|
||||
|
||||
각 SAP 인스턴스는 클라이언트로 나뉘어 있습니다. 각 클라이언트는 사용자 SAP\*를 가지고 있으며, 이는 애플리케이션의 "루트"에 해당합니다.
|
||||
각 SAP 인스턴스는 클라이언트로 나뉩니다. 각 클라이언트는 사용자 SAP\*를 가지고 있으며, 이는 애플리케이션의 "루트"에 해당합니다.
|
||||
초기 생성 시, 이 사용자 SAP\*는 기본 비밀번호 "060719992"를 받습니다 \(아래에 더 많은 기본 비밀번호가 있습니다\).
|
||||
테스트 또는 개발 환경에서 이러한 **비밀번호가 얼마나 자주 변경되지 않는지 알면 놀랄 것입니다!**
|
||||
|
||||
|
@ -155,7 +155,7 @@ BWDEVELOPER:Down1oad:001
|
|||
* 웹 취약점 테스트를 위한 Jason Haddix의 [“The Bug Hunters Methodology”](https://github.com/jhaddix/tbhm)를 확인합니다.
|
||||
* 동사 변조를 통한 인증 우회? 아마도 :)
|
||||
* `http://SAP:50000/webdynpro/resources/sap.com/XXX/JWFTestAddAssignees#`를 열고 “Choose” 버튼을 클릭한 후 열린 창에서 “Search”를 누릅니다. SAP 사용자 목록을 볼 수 있어야 합니다(취약점 참조: [ERPSCAN-16-010](https://erpscan.com/advisories/erpscan-16-010-sap-netweaver-7-4-information-disclosure/)).
|
||||
* 자격 증명이 HTTP를 통해 제출되었나요? 그렇다면 Bugcrowd의 [취약점 평가 분류](https://bugcrowd.com/vulnerability-rating-taxonomy)에 따라 P3로 간주됩니다: 손상된 인증 및 세션 관리 | HTTP를 통한 약한 로그인 기능. 힌트: [http://SAP:50000/startPage](http://sap:50000/startPage) 또는 로그인 포털도 확인하세요 :)
|
||||
* 자격 증명이 HTTP를 통해 제출되었나요? 그렇다면 Bugcrowd의 [Vulnerability Rating Taxonomy](https://bugcrowd.com/vulnerability-rating-taxonomy)에 따라 P3로 간주됩니다: 손상된 인증 및 세션 관리 | HTTP를 통한 약한 로그인 기능. 힌트: [http://SAP:50000/startPage](http://sap:50000/startPage) 또는 로그인 포털도 확인하세요 :)
|
||||
|
||||
![SAP Start Page](https://raw.githubusercontent.com/shipcod3/mySapAdventures/master/screengrabs/startPage.jpeg)
|
||||
|
||||
|
@ -191,10 +191,87 @@ BWDEVELOPER:Down1oad:001
|
|||
</SOAP-ENV:Body>
|
||||
</SOAP-ENV:Envelope>
|
||||
```
|
||||
# Configuration Parameters
|
||||
|
||||
만약 펜테스트 중에 올바른 로그인 세부정보가 있거나 기본 자격 증명을 사용하여 SAP GUI에 로그인할 수 있다면, 매개변수 값을 확인할 수 있습니다. 많은 기본 및 사용자 정의 구성 매개변수 값은 취약점으로 간주됩니다.
|
||||
|
||||
매개변수 값은 수동 및 자동으로 확인할 수 있으며, 스크립트(예: [SAP Parameter Validator](https://github.com/damianStrojek/SAPPV))를 사용할 수 있습니다.
|
||||
|
||||
## Manual Parameter Checking
|
||||
|
||||
트랜잭션 코드 `RSPFPAR`로 이동하여 다양한 매개변수를 쿼리하고 그 값을 조회할 수 있습니다.
|
||||
|
||||
아래 표에는 정의된 매개변수와 구분되는 조건이 포함되어 있습니다.
|
||||
|
||||
예를 들어, <i>gw/reg_no_conn_info</i>가 255 미만(`<255`)으로 설정되어 있으면 위협으로 간주해야 합니다. 마찬가지로, <i>icm/security_log</i>가 2(`2`)와 같으면 가능한 위협이 됩니다.
|
||||
|
||||
| Parameter | Constraint | Description |
|
||||
|------------------------------------------------|-------------|------------------------------------------------|
|
||||
| `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를 활성화하거나 비활성화합니다. |
|
||||
|
||||
## Script for Parameter Checking
|
||||
|
||||
매개변수 수가 많기 때문에 모든 매개변수를 .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"
|
||||
|
||||
[...]
|
||||
```
|
||||
# Attack!
|
||||
|
||||
* Windows 2000과 같은 오래된 서버나 기술에서 실행되는지 확인하십시오.
|
||||
* 가능한 익스플로잇 / 공격을 계획하십시오. SAP 발견을 위한 많은 Metasploit 모듈(보조 모듈)과 익스플로잇이 있습니다:
|
||||
* 가능한 익스플로잇 / 공격을 계획하십시오. SAP 탐색을 위한 많은 Metasploit 모듈(보조 모듈)과 익스플로잇이 있습니다:
|
||||
```text
|
||||
msf > search sap
|
||||
Matching Modules
|
||||
|
|
Loading…
Reference in a new issue