hacktricks/network-services-pentesting/pentesting-rpcbind.md

214 lines
8.7 KiB
Markdown
Raw Normal View History

2023-08-03 19:12:22 +00:00
# 111/TCP/UDP - 渗透测试端口映射器
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
* 你在一家**网络安全公司**工作吗想要在HackTricks中**宣传你的公司**吗?或者你想要**获取PEASS的最新版本或下载PDF格式的HackTricks**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品——[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或者**关注**我在**Twitter**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **通过向**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和**[**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享你的黑客技巧。**
2022-04-28 16:01:33 +00:00
</details>
2023-08-03 19:12:22 +00:00
## 基本信息
2023-08-03 19:12:22 +00:00
在Unix系统之间提供信息。该端口经常被探测可用于指纹识别Nix操作系统并获取有关可用服务的信息。该端口与NFS、NIS或任何基于rpc的服务一起使用。
2023-08-03 19:12:22 +00:00
**默认端口:** 111/TCP/UDP在Oracle Solaris中为32771
```
PORT STATE SERVICE
111/tcp open rpcbind
```
2023-08-03 19:12:22 +00:00
## 枚举
### RPCBind
RPCBind是一种远程过程调用RPC服务用于在网络上注册和解析RPC程序。它运行在TCP和UDP端口111上。
#### 端口扫描
使用nmap扫描目标主机的111端口以确定是否运行了RPCBind服务。
```plaintext
nmap -p 111 <target_ip>
```
#### 列举RPC程序
使用rpcinfo命令列举目标主机上注册的RPC程序。
```plaintext
rpcinfo -p <target_ip>
```
#### 列举绑定的端口
使用rpcbind命令列举目标主机上绑定的端口。
```plaintext
rpcbind -p <target_ip>
```
#### 列举绑定的程序
使用rpcbind命令列举目标主机上绑定的程序。
```plaintext
rpcbind -s <target_ip>
```
#### 列举绑定的地址
使用rpcbind命令列举目标主机上绑定的地址。
```plaintext
rpcbind -a <target_ip>
```
#### 列举绑定的版本
2023-08-03 19:12:22 +00:00
使用rpcbind命令列举目标主机上绑定的版本。
2023-08-03 19:12:22 +00:00
```plaintext
rpcbind -v <target_ip>
```
#### 列举绑定的协议
使用rpcbind命令列举目标主机上绑定的协议。
```plaintext
rpcbind -u <target_ip>
```
#### 列举绑定的超时
使用rpcbind命令列举目标主机上绑定的超时。
```plaintext
rpcbind -t <target_ip>
```
#### 列举绑定的安全级别
使用rpcbind命令列举目标主机上绑定的安全级别。
```plaintext
rpcbind -S <target_ip>
```
#### 列举绑定的所有信息
使用rpcbind命令列举目标主机上绑定的所有信息。
```plaintext
rpcbind -l <target_ip>
```
```
rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1
```
2023-08-03 19:12:22 +00:00
有时它不会给你任何信息,而在其他情况下,你会得到像这样的东西:
![](<../.gitbook/assets/image (230).png>)
2022-05-08 23:13:03 +00:00
### Shodan
* `port:111 portmap`
2022-05-08 23:13:03 +00:00
## RPCBind + NFS
2023-08-03 19:12:22 +00:00
如果你找到了NFS服务那么你可能能够列出和下载也许还能上传文件
![](<../.gitbook/assets/image (232).png>)
2023-08-03 19:12:22 +00:00
阅读[2049 - Pentesting NFS service](nfs-service-pentesting.md)以了解更多关于如何测试这个协议的信息。
2022-05-08 23:13:03 +00:00
## NIS
2023-08-03 19:12:22 +00:00
如果你发现`ypbind`服务正在运行:
![](<../.gitbook/assets/image (233).png>)
2023-08-03 19:12:22 +00:00
你可以尝试利用它。无论如何,首先你需要**猜测机器的NIS "域名"**当安装了NIS时会配置一个"域名"**如果不知道这个域名,你什么也做不了**。
2023-08-03 19:12:22 +00:00
在获取环境的NIS域名在本例中为example.org之后使用ypwhich命令来ping NIS服务器并使用ypcat获取敏感材料。你应该将加密的密码哈希值输入到John the Ripper中一旦破解成功就可以用它来评估系统访问和权限。
```bash
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
2023-08-03 19:12:22 +00:00
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
```
2023-08-03 19:12:22 +00:00
| **主文件** | **映射(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 | 详细的邮件别名 |
2023-08-03 19:12:22 +00:00
## RPC用户
2023-08-03 19:12:22 +00:00
如果你发现**rusersd**服务像这样被列出:
![](<../.gitbook/assets/image (231).png>)
2023-08-03 19:12:22 +00:00
你可以枚举该主机的用户。要了解如何操作,请阅读[1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md)。
2023-08-03 19:12:22 +00:00
## 绕过过滤的Portmapper端口
2023-08-03 19:12:22 +00:00
如果在nmap扫描中你看到像NFS这样的开放端口但端口111被过滤你将无法利用这些端口。\
但是如果你可以在本地模拟一个portmapper服务并将NFS端口从你的机器隧道到受害者的机器上你将能够使用常规工具来利用这些服务。\
更多信息请参考[https://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bc](https://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bc)
2022-05-08 23:13:03 +00:00
## Shodan
2020-09-22 19:45:05 +00:00
* `Portmap`
2023-08-03 19:12:22 +00:00
## 实践实验室
2023-08-03 19:12:22 +00:00
* 在[**Irked HTB机器**](https://app.hackthebox.com/machines/Irked)上练习这些技术。
2021-08-12 13:28:09 +00:00
2023-08-03 19:12:22 +00:00
## HackTricks自动命令
```
2021-08-12 13:28:09 +00:00
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
2021-08-15 17:28:15 +00:00
Entry_1:
2023-08-03 19:12:22 +00:00
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.
2021-08-15 17:28:15 +00:00
2023-08-03 19:12:22 +00:00
https://book.hacktricks.xyz/pentesting/pentesting-rpcbind
2021-08-15 17:28:15 +00:00
Entry_2:
2023-08-03 19:12:22 +00:00
Name: rpc info
Description: May give netstat-type info
Command: whois -h {IP} -p 43 {Domain_Name} && echo {Domain_Name} | nc -vn {IP} 43
2021-08-15 17:28:15 +00:00
Entry_3:
2023-08-03 19:12:22 +00:00
Name: nmap
Description: May give netstat-type info
Command: nmap -sSUC -p 111 {IP}
2021-08-12 13:28:09 +00:00
```
2022-04-28 16:01:33 +00:00
<details>
2023-08-03 19:12:22 +00:00
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks云 ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 推特 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
2022-04-28 16:01:33 +00:00
2023-08-03 19:12:22 +00:00
* 你在一家**网络安全公司**工作吗想要在HackTricks中**宣传你的公司**吗?或者你想要**获取PEASS的最新版本或下载HackTricks的PDF**吗?请查看[**订阅计划**](https://github.com/sponsors/carlospolop)
* 发现我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)收藏品——[**The PEASS Family**](https://opensea.io/collection/the-peass-family)
* 获取[**官方PEASS和HackTricks周边产品**](https://peass.creator-spring.com)
* **加入**[**💬**](https://emojipedia.org/speech-balloon/) [**Discord群组**](https://discord.gg/hRep4RUj7f)或[**电报群组**](https://t.me/peass),或者**关注**我在**推特**上的[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **通过向**[**hacktricks repo**](https://github.com/carlospolop/hacktricks) **和**[**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **提交PR来分享你的黑客技巧。**
2022-04-28 16:01:33 +00:00
</details>