hacktricks/network-services-pentesting/pentesting-rpcbind.md
2024-02-10 21:30:13 +00:00

10 KiB
Raw Blame History

111/TCP/UDP - Pentesting Portmapper

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

기본 정보

Portmapper는 네트워크 서비스 포트를 RPC (원격 프로시저 호출) 프로그램 번호에 매핑하는 데 사용되는 서비스입니다. 이는 유닉스 기반 시스템에서 정보 교환을 용이하게 하는 데 중요한 구성 요소로 작용합니다. Portmapper와 관련된 포트는 공격자에 의해 자주 스캔되며, 가치 있는 정보를 노출시킬 수 있습니다. 이 정보에는 실행 중인 **유닉스 운영 체제 (OS)**의 유형 및 시스템에서 사용 가능한 서비스에 대한 세부 정보가 포함됩니다. 또한, Portmapper는 일반적으로 NFS (네트워크 파일 시스템), NIS (네트워크 정보 서비스) 및 기타 RPC 기반 서비스와 함께 사용되어 네트워크 서비스를 효과적으로 관리합니다.

기본 포트: 111/TCP/UDP, Oracle Solaris에서는 32771입니다.

PORT    STATE SERVICE
111/tcp open  rpcbind

열거

RPCbind은 RPC(Remote Procedure Call) 서비스를 관리하는 데 사용되는 유틸리티입니다. RPCbind는 클라이언트와 서버 간의 통신을 용이하게 하기 위해 포트맵핑을 제공합니다. 이를 통해 클라이언트는 서버의 RPC 서비스를 찾고 사용할 수 있습니다.

RPCbind 서비스를 열거하는 것은 시스템에서 실행 중인 RPC 서비스를 식별하는 과정입니다. 이를 통해 공격자는 시스템에서 사용 가능한 서비스를 파악하고 취약점을 찾을 수 있습니다.

rpcinfo

rpcinfo는 RPC 서비스에 대한 정보를 제공하는 명령어입니다. 다음 명령어를 사용하여 RPCbind 서비스를 열거할 수 있습니다.

rpcinfo -p <target>

위 명령어에서 <target>은 대상 시스템의 IP 주소나 도메인 이름입니다. 이 명령어를 실행하면 RPCbind 서비스에 대한 정보가 표시됩니다. 이 정보에는 서비스의 프로그램 번호, 버전 및 프로토콜이 포함됩니다.

nmap

nmap은 네트워크 스캐닝 도구로, 시스템의 포트 상태를 확인하는 데 사용됩니다. 다음 명령어를 사용하여 RPCbind 서비스를 열거할 수 있습니다.

nmap -p 111 --script rpcinfo <target>

위 명령어에서 <target>은 대상 시스템의 IP 주소나 도메인 이름입니다. 이 명령어를 실행하면 RPCbind 서비스에 대한 정보가 표시됩니다. 이 정보에는 서비스의 프로그램 번호, 버전 및 프로토콜이 포함됩니다.

Metasploit

Metasploit은 다양한 보안 도구와 취약점 검사 도구를 제공하는 프레임워크입니다. Metasploit을 사용하여 RPCbind 서비스를 열거할 수 있습니다. 다음 명령어를 사용하여 Metasploit을 실행하고 RPCbind 서비스를 열거할 수 있습니다.

msfconsole
use auxiliary/scanner/portmap/rpcinfo
set RHOSTS <target>
run

위 명령어에서 <target>은 대상 시스템의 IP 주소나 도메인 이름입니다. 이 명령어를 실행하면 RPCbind 서비스에 대한 정보가 표시됩니다. 이 정보에는 서비스의 프로그램 번호, 버전 및 프로토콜이 포함됩니다.

rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1

가끔은 어떤 정보도 제공하지 않을 수 있고, 다른 경우에는 다음과 같은 정보를 얻을 수 있습니다:

Shodan

  • port:111 portmap

RPCBind + NFS

NFS 서비스를 찾으면 파일을 나열하고 다운로드(그리고 아마 업로드)할 수 있을 것입니다:

이 프로토콜을 테스트하는 방법에 대해 자세히 알아보려면 2049 - Pentesting NFS service를 읽어보세요.

NIS

NIS 취약점을 탐색하는 것은 두 단계의 과정으로 이루어집니다. 먼저 ypbind 서비스를 식별하는 것으로 시작합니다. 이 탐색의 핵심은 NIS 도메인 이름을 발견하는 것이며, 이를 찾지 못하면 진행이 중단됩니다.

탐색 여정은 필요한 패키지를 설치하는 것으로 시작합니다 (apt-get install nis). 그 다음 단계에서는 ypwhich를 사용하여 도메인 이름과 서버 IP로 NIS 서버의 존재를 확인하고, 보안을 위해 이러한 요소들을 익명화해야 합니다.

마지막이자 결정적인 단계는 ypcat 명령을 사용하여 민감한 데이터, 특히 암호화된 사용자 비밀번호를 추출하는 것입니다. 이러한 해시는 John the Ripper와 같은 도구를 사용하여 해독되며, 시스템 접근 및 권한에 대한 통찰력을 제공합니다.

# Install NIS tools
apt-get install nis
# Ping the NIS server to confirm its presence
ypwhich -d <domain-name> <server-ip>
# Extract user credentials
ypcat d <domain-name> h <server-ip> passwd.byname

NIF 파일

마스터 파일 맵(들) 참고 사항
/etc/hosts hosts.byname, hosts.byaddr 호스트 이름과 IP 정보 포함
/etc/passwd passwd.byname, passwd.byuid NIS 사용자 암호 파일
/etc/group group.byname, group.bygid NIS 그룹 파일
/usr/lib/aliases mail.aliases 메일 별칭에 대한 세부 정보

RPC 사용자

만약 다음과 같이 rusersd 서비스가 나열되어 있다면:

박스의 사용자를 열거할 수 있습니다. 자세한 내용은 1026 - Pentesting Rsusersd를 참조하세요.

필터링된 Portmapper 포트 우회

nmap 스캔을 수행하고 포트 111이 필터링된 상태에서 열린 NFS 포트를 발견한 경우, 이러한 포트의 직접적인 공격은 불가능합니다. 그러나 로컬에서 포트매퍼 서비스를 시뮬레이션하고 자신의 컴퓨터에서 대상으로의 터널을 생성함으로써, 표준 도구를 사용하여 공격이 가능해집니다. 이 기술을 사용하면 포트 111의 필터링된 상태를 우회하여 NFS 서비스에 액세스할 수 있습니다. 이 방법에 대한 자세한 안내는 이 링크에서 제공되는 문서를 참조하세요.

Shodan

  • Portmap

연습용 랩

HackTricks 자동 명령어

Protocol_Name: Portmapper    #Protocol Abbreviation if there is one.
Port_Number:  43     #Comma separated if there is more than one.
Protocol_Description: PM or RPCBind        #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for PortMapper
Note: |
Portmapper is a service that is utilized for mapping network service ports to RPC (Remote Procedure Call) program numbers. It acts as a critical component in Unix-based systems, facilitating the exchange of information between these systems. The port associated with Portmapper is frequently scanned by attackers as it can reveal valuable information. This information includes the type of Unix Operating System (OS) running and details about the services that are available on the system. Additionally, Portmapper is commonly used in conjunction with NFS (Network File System), NIS (Network Information Service), and other RPC-based services to manage network services effectively.

https://book.hacktricks.xyz/pentesting/pentesting-rpcbind

Entry_2:
Name: rpc info
Description: May give netstat-type info
Command: whois -h {IP} -p 43 {Domain_Name} && echo {Domain_Name} | nc -vn {IP} 43

Entry_3:
Name: nmap
Description: May give netstat-type info
Command: nmap -sSUC -p 111 {IP}
htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법: