hacktricks/network-services-pentesting/pentesting-rpcbind.md
2023-07-07 23:42:27 +00:00

10 KiB
Raw Blame History

111/TCP/UDP - ペンテスト ポートマッパー

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

基本情報

Unixベースのシステム間で情報を提供します。このポートは頻繁にプローブされ、Nix OSの指紋を取得したり、利用可能なサービスに関する情報を取得するために使用されることがあります。このポートはNFS、NIS、または任意のRPCベースのサービスと共に使用されます。

デフォルトポート: 111/TCP/UDP、Oracle Solarisでは32771です。

PORT    STATE SERVICE
111/tcp open  rpcbind

列挙

RPCbindは、ネットワーク上のサービスを特定するために使用されるプロトコルです。RPCbindは、ポート111でリッスンし、RPCRemote Procedure Callサービスのポート番号をクライアントに提供します。

RPCbindの列挙方法

  1. rpcinfoコマンドを使用して、RPCbindサービスが実行されているホストを特定します。

    rpcinfo -p <target_ip>
    

    このコマンドは、指定したIPアドレスのホスト上で実行されているRPCサービスのリストを表示します。

  2. nmapスクリプトを使用して、RPCbindサービスを特定します。

    nmap -p 111 --script rpcinfo <target_ip>
    

    このコマンドは、指定したIPアドレスのホスト上で実行されているRPCサービスのリストを表示します。

  3. rpcbindコマンドを使用して、RPCbindサービスが提供するポート番号を特定します。

    rpcbind -p
    

    このコマンドは、ローカルホスト上で実行されているRPCサービスのポート番号を表示します。

RPCbindの列挙結果の解釈

RPCbindの列挙結果には、ホスト上で実行されているRPCサービスのリストが含まれます。各サービスには、プログラム番号、バージョン番号、ポート番号、およびプロトコルが表示されます。

これらの情報を使用して、攻撃者は特定のサービスに対して攻撃を実行するための情報を収集することができます。また、特定のサービスが脆弱性を持っているかどうかを判断するための手がかりも得ることができます。

rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1

時には情報が得られないこともありますが、他の場合には次のような情報が得られることがあります:

Shodan

  • port:111 portmap

RPCBind + NFS

サービスNFSを見つけた場合、おそらくファイルの一覧表示やダウンロードおよびアップロードができるでしょう

このプロトコルをテストする方法については、2049 - Pentesting NFS serviceを読んでください。

NIS

サービスypbindが実行されている場合:

それを悪用することができます。ただし、まずはマシンのNISの「ドメイン名」を推測する必要がありますNISがインストールされると「ドメイン名」が設定されます。「ドメイン名」を知らないと何もできません。

環境のNISドメイン名この場合はexample.orgを取得したら、ypwhichコマンドを使用してNISサーバーにpingを送信し、ypcatを使用して機密情報を取得します。暗号化されたパスワードハッシュをJohn the Ripperに入力し、解読されたら、システムへのアクセスと特権を評価するために使用できます。

root@kali:~# apt-get install nis
root@kali:~# ypwhich -d example.org 192.168.10.1
potatohead.example.org
root@kali:~# ypcat d example.org h 192.168.10.1 passwd.byname
tiff:noR7Bk6FdgcZg:218:101::/export/home/tiff:/bin/bash
katykat:d.K5tGUWCJfQM:2099:102::/export/home/katykat:/bin/bash
james:i0na7pfgtxi42:332:100::/export/home/james:/bin/tcsh
florent:nUNzkxYF0Hbmk:199:100::/export/home/florent:/bin/csh
dave:pzg1026SzQlwc:182:100::/export/home/dave:/bin/bash
yumi:ZEadZ3ZaW4v9.:1377:160::/export/home/yumi:/bin/bash
マスターファイル マップ ノート
/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を参照してください。

フィルタリングされたポートマッパーポートのバイパス

nmapスキャン中にNFSなどのオープンポートが表示されるが、ポート111がフィルタリングされている場合、これらのポートを悪用することはできません。
しかし、ローカルでポートマッパーサービスをシミュレートし、自分のマシンから被害者のマシンにNFSポートをトンネリングすることができれば、通常のツールを使用してこれらのサービスを悪用することができます。
詳細はhttps://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bcを参照してください。

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: |
Provides information between Unix based systems. Port is often probed, it can be used to fingerprint the Nix OS, and to obtain information about available services. Port used with NFS, NIS, or any rpc-based service.

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}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥