hacktricks/network-services-pentesting/pentesting-rpcbind.md
2023-08-03 19:12:22 +00:00

8.7 KiB
Raw Blame History

111/TCP/UDP - 渗透测试端口映射器

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

基本信息

在Unix系统之间提供信息。该端口经常被探测可用于指纹识别Nix操作系统并获取有关可用服务的信息。该端口与NFS、NIS或任何基于rpc的服务一起使用。

默认端口: 111/TCP/UDP在Oracle Solaris中为32771

PORT    STATE SERVICE
111/tcp open  rpcbind

枚举

RPCBind

RPCBind是一种远程过程调用RPC服务用于在网络上注册和解析RPC程序。它运行在TCP和UDP端口111上。

端口扫描

使用nmap扫描目标主机的111端口以确定是否运行了RPCBind服务。

nmap -p 111 <target_ip>

列举RPC程序

使用rpcinfo命令列举目标主机上注册的RPC程序。

rpcinfo -p <target_ip>

列举绑定的端口

使用rpcbind命令列举目标主机上绑定的端口。

rpcbind -p <target_ip>

列举绑定的程序

使用rpcbind命令列举目标主机上绑定的程序。

rpcbind -s <target_ip>

列举绑定的地址

使用rpcbind命令列举目标主机上绑定的地址。

rpcbind -a <target_ip>

列举绑定的版本

使用rpcbind命令列举目标主机上绑定的版本。

rpcbind -v <target_ip>

列举绑定的协议

使用rpcbind命令列举目标主机上绑定的协议。

rpcbind -u <target_ip>

列举绑定的超时

使用rpcbind命令列举目标主机上绑定的超时。

rpcbind -t <target_ip>

列举绑定的安全级别

使用rpcbind命令列举目标主机上绑定的安全级别。

rpcbind -S <target_ip>

列举绑定的所有信息

使用rpcbind命令列举目标主机上绑定的所有信息。

rpcbind -l <target_ip>
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命令来ping NIS服务器并使用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
主文件 映射(s) 备注
/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扫描中你看到像NFS这样的开放端口但端口111被过滤你将无法利用这些端口。
但是如果你可以在本地模拟一个portmapper服务并将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云 ☁️ -🐦 推特 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥