hacktricks/network-services-pentesting/135-pentesting-msrpc.md

156 lines
9.4 KiB
Markdown

# 135, 593 - MSRPC 펜테스팅
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 제로부터 전문가까지 배우세요!</summary>
HackTricks를 지원하는 다른 방법:
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하고 싶다면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
* **💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f)에 가입하거나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나** 트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)를 팔로우하세요.
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
</details>
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
경험 많은 해커 및 버그 바운티 헌터와 소통하려면 [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 서버에 가입하세요!
**해킹 통찰력**\
해킹의 스릴과 도전에 대해 탐구하는 콘텐츠와 상호 작용
**실시간 해킹 뉴스**\
빠르게 변화하는 해킹 세계의 최신 뉴스와 통찰력을 유지하세요
**최신 공지**\
최신 버그 바운티 출시 및 중요한 플랫폼 업데이트에 대해 정보를 유지하세요
**[**디스코드**](https://discord.com/invite/N3FrSbmwdy)에 참여하여 오늘 최고의 해커들과 협업을 시작하세요!
## 기본 정보
Microsoft 원격 프로시저 호출(MSRPC) 프로토콜은 클라이언트-서버 모델로, 프로그램이 네트워크의 구체적인 내용을 이해하지 않고 다른 컴퓨터에 위치한 프로그램으로부터 서비스를 요청할 수 있도록 하는 프로토콜로, 처음에는 오픈 소스 소프트웨어에서 파생되었고 나중에 Microsoft에서 개발 및 저작권을 보유하였습니다.
RPC 엔드포인트 매퍼는 TCP 및 UDP 포트 135를 통해 액세스할 수 있으며, TCP 139 및 445에서 SMB(널 또는 인증된 세션)로 액세스할 수 있으며, TCP 포트 593에서 웹 서비스로 액세스할 수 있습니다.
```
135/tcp open msrpc Microsoft Windows RPC
```
## MSRPC는 어떻게 작동합니까?
클라이언트 응용 프로그램에 의해 시작된 MSRPC 프로세스는 로컬 스텁 프로시저를 호출하여 클라이언트 런타임 라이브러리와 상호 작용하여 요청을 준비하고 서버로 전송합니다. 이 과정에는 매개변수를 표준 네트워크 데이터 표현 형식으로 변환하는 것이 포함됩니다. 서버가 원격인 경우 런타임 라이브러리가 전송 프로토콜을 선택하여 RPC가 네트워크 스택을 통해 전달되도록 합니다.
![https://0xffsec.com/handbook/images/msrpc.png](https://0xffsec.com/handbook/images/msrpc.png)
## **노출된 RPC 서비스 식별**
RPC 로케이터 서비스 및 개별 엔드포인트를 쿼리하여 TCP, UDP, HTTP 및 SMB를 통해 노출된 RPC 서비스를 식별할 수 있습니다. rpcdump와 같은 도구를 사용하여 **IFID** 값으로 표시된 고유한 RPC 서비스를 식별하고 서비스 세부 정보 및 통신 바인딩을 확인할 수 있습니다.
```
D:\rpctools> rpcdump [-p port] <IP>
**IFID**: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
Annotation: Messenger Service
UUID: 00000000-0000-0000-0000-000000000000
Binding: ncadg_ip_udp:<IP>[1028]
```
RPC 로케이터 서비스에 액세스하는 것은 특정 프로토콜을 통해 가능합니다: 포트 135를 통해 액세스하기 위해 ncacn_ip_tcp 및 ncadg_ip_udp, SMB 연결을 위해 ncacn_np 및 웹 기반 RPC 통신을 위해 ncacn_http이 있습니다. 다음 명령어는 Metasploit 모듈을 활용하여 MSRPC 서비스를 감사하고 상호 작용하는 방법을 보여줍니다. 주로 포트 135에 초점을 맞춥니다:
```bash
use auxiliary/scanner/dcerpc/endpoint_mapper
use auxiliary/scanner/dcerpc/hidden
use auxiliary/scanner/dcerpc/management
use auxiliary/scanner/dcerpc/tcp_dcerpc_auditor
rpcdump.py <IP> -p 135
```
모든 옵션은 `tcp_dcerpc_auditor`를 제외하고 135번 포트의 MSRPC를 대상으로 특별히 설계되었습니다.
#### 주목할만한 RPC 인터페이스
* **IFID**: 12345778-1234-abcd-ef00-0123456789ab
* **Named Pipe**: `\pipe\lsarpc`
* **Description**: 사용자를 나열하는 데 사용되는 LSA 인터페이스.
* **IFID**: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
* **Named Pipe**: `\pipe\lsarpc`
* **Description**: 도메인 및 신뢰 관계를 나열하는 데 사용되는 LSA 디렉터리 서비스 (DS) 인터페이스.
* **IFID**: 12345778-1234-abcd-ef00-0123456789ac
* **Named Pipe**: `\pipe\samr`
* **Description**: 계정 잠금 정책과 관계없이 공개 SAM 데이터베이스 요소 (예: 사용자 이름)에 액세스하고 사용자 암호를 무차별 대입하는 데 사용되는 LSA SAMR 인터페이스.
* **IFID**: 1ff70682-0a51-30e8-076d-740be8cee98b
* **Named Pipe**: `\pipe\atsvc`
* **Description**: 원격으로 명령을 실행하는 데 사용되는 작업 스케줄러.
* **IFID**: 338cd001-2244-31f1-aaaa-900038001003
* **Named Pipe**: `\pipe\winreg`
* **Description**: 시스템 레지스트리에 액세스하고 수정하는 데 사용되는 원격 레지스트리 서비스.
* **IFID**: 367abb81-9844-35f1-ad32-98f038001003
* **Named Pipe**: `\pipe\svcctl`
* **Description**: 서비스 제어 관리자 및 서버 서비스로 원격으로 서비스 시작 및 중지 및 명령 실행에 사용됨.
* **IFID**: 4b324fc8-1670-01d3-1278-5a47bf6ee188
* **Named Pipe**: `\pipe\srvsvc`
* **Description**: 서비스 제어 관리자 및 서버 서비스로 원격으로 서비스 시작 및 중지 및 명령 실행에 사용됨.
* **IFID**: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
* **Named Pipe**: `\pipe\epmapper`
* **Description**: DCOM 인터페이스로 WM을 통해 암호 무차별 대입 및 정보 수집에 사용됨.
### IP 주소 식별
[https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver)를 사용하면 _**IOXIDResolver**_ 인터페이스 내의 _**ServerAlive2**_ 메서드를 남용할 수 있습니다. 이 방법은 인터페이스 정보를 HTB 상자 _APT_에서 **IPv6** 주소로 가져오는 데 사용되었습니다. 0xdf APT writeup에서 rpcmap.py를 사용한 대체 방법을 확인하려면 [여기](https://0xdf.gitlab.io/2021/04/10/htb-apt.html)를 참조하십시오.
### 유효한 자격 증명으로 RCE 실행
유효한 사용자의 자격 증명이 있는 경우 [impacket framework](https://github.com/fortra/impacket/blob/master/examples/dcomexec.py)에서 `dcomexec.py`를 사용하여 기계에서 원격 코드를 실행할 수 있습니다.
**다양한 사용 가능한 객체로 시도해보세요**
* ShellWindows
* ShellBrowserWindow
* MMC20
## 포트 593
**rpctools**의 **rpcdump.exe**는 이 포트와 상호 작용할 수 있습니다.
## 참고 자료
* [https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/)
* [https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/](https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/)
* [https://0xffsec.com/handbook/services/msrpc/](https://0xffsec.com/handbook/services/msrpc/)
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
[**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) 서버에 가입하여 경험 많은 해커 및 버그 바운티 헌터와 소통하세요!
**해킹 통찰**\
해킹의 즐거움과 도전에 대해 탐구하는 콘텐츠에 참여하세요
**실시간 해킹 뉴스**\
실시간 뉴스와 통찰을 통해 빠르게 변화하는 해킹 세계를 따라가세요
**최신 공지**\
최신 버그 바운티 출시 및 중요한 플랫폼 업데이트에 대해 알아두세요
**[**Discord**](https://discord.com/invite/N3FrSbmwdy)**에 가입하여 최고의 해커들과 협업을 시작하세요!
<details>
<summary><strong>**htARTE (HackTricks AWS Red Team Expert)**</strong>를 통해 제로부터 AWS 해킹을 배우세요!</summary>
HackTricks를 지원하는 다른 방법:
* **회사를 HackTricks에서 광고하거나 PDF로 다운로드하려면** [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구입하세요
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)를 팔로우하세요.
* 해킹 트릭을 제출하여 **HackTricks****HackTricks Cloud** github 저장소에 PR을 제출하세요.
</details>