# 111/TCP/UDP - 渗透测试端口映射器
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 * 你在一家**网络安全公司**工作吗?想要在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来分享你的黑客技巧。**
## 基本信息 在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服务。 ```plaintext nmap -p 111 ``` #### 列举RPC程序 使用rpcinfo命令列举目标主机上注册的RPC程序。 ```plaintext rpcinfo -p ``` #### 列举绑定的端口 使用rpcbind命令列举目标主机上绑定的端口。 ```plaintext rpcbind -p ``` #### 列举绑定的程序 使用rpcbind命令列举目标主机上绑定的程序。 ```plaintext rpcbind -s ``` #### 列举绑定的地址 使用rpcbind命令列举目标主机上绑定的地址。 ```plaintext rpcbind -a ``` #### 列举绑定的版本 使用rpcbind命令列举目标主机上绑定的版本。 ```plaintext rpcbind -v ``` #### 列举绑定的协议 使用rpcbind命令列举目标主机上绑定的协议。 ```plaintext rpcbind -u ``` #### 列举绑定的超时 使用rpcbind命令列举目标主机上绑定的超时。 ```plaintext rpcbind -t ``` #### 列举绑定的安全级别 使用rpcbind命令列举目标主机上绑定的安全级别。 ```plaintext rpcbind -S ``` #### 列举绑定的所有信息 使用rpcbind命令列举目标主机上绑定的所有信息。 ```plaintext rpcbind -l ``` ``` rpcinfo irked.htb nmap -sSUC -p111 192.168.10.1 ``` 有时它不会给你任何信息,而在其他情况下,你会得到像这样的东西: ![](<../.gitbook/assets/image (230).png>) ### Shodan * `port:111 portmap` ## RPCBind + NFS 如果你找到了NFS服务,那么你可能能够列出和下载(也许还能上传)文件: ![](<../.gitbook/assets/image (232).png>) 阅读[2049 - Pentesting NFS service](nfs-service-pentesting.md)以了解更多关于如何测试这个协议的信息。 ## NIS 如果你发现`ypbind`服务正在运行: ![](<../.gitbook/assets/image (233).png>) 你可以尝试利用它。无论如何,首先你需要**猜测机器的NIS "域名"**(当安装了NIS时,会配置一个"域名"),**如果不知道这个域名,你什么也做不了**。 在获取环境的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 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**服务像这样被列出: ![](<../.gitbook/assets/image (231).png>) 你可以枚举该主机的用户。要了解如何操作,请阅读[1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md)。 ## 绕过过滤的Portmapper端口 如果在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) ## Shodan * `Portmap` ## 实践实验室 * 在[**Irked HTB机器**](https://app.hackthebox.com/machines/Irked)上练习这些技术。 ## 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 🎥 * 你在一家**网络安全公司**工作吗?想要在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来分享你的黑客技巧。**