106 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 111/TCP/UDP - Pentesting Portmapper
{{#include ../banners/hacktricks-training.md}}
## Basic Information
**Portmapper** - це служба, яка використовується для відображення портів мережевих служб на номери програм **RPC** (Remote Procedure Call). Вона є критично важливим компонентом у **Unix-подібних системах**, що полегшує обмін інформацією між цими системами. **Порт**, пов'язаний з **Portmapper**, часто сканується зловмисниками, оскільки може розкрити цінну інформацію. Ця інформація включає тип **Unix Operating System (OS)**, що працює, та деталі про служби, які доступні в системі. Крім того, **Portmapper** зазвичай використовується разом з **NFS (Network File System)**, **NIS (Network Information Service)** та іншими **RPC-based services** для ефективного управління мережевими службами.
**Default port:** 111/TCP/UDP, 32771 in Oracle Solaris
```
PORT STATE SERVICE
111/tcp open rpcbind
```
## Перерахування
```
rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1
```
Іноді це не дає вам жодної інформації, в інших випадках ви отримаєте щось на зразок цього:
![](<../images/image (553).png>)
### Shodan
- `port:111 portmap`
## RPCBind + NFS
Якщо ви знайдете сервіс NFS, то, ймовірно, зможете перерахувати та завантажити (а можливо, і завантажити) файли:
![](<../images/image (872).png>)
Читати[ 2049 - Pentesting NFS service](nfs-service-pentesting.md), щоб дізнатися більше про те, як тестувати цей протокол.
## NIS
Дослідження вразливостей **NIS** включає двоетапний процес, починаючи з ідентифікації сервісу `ypbind`. Ключовим моментом цього дослідження є виявлення **імені домену NIS**, без якого прогрес зупиняється.
![](<../images/image (859).png>)
Подорож дослідження починається з установки необхідних пакетів (`apt-get install nis`). Наступний крок вимагає використання `ypwhich`, щоб підтвердити наявність NIS сервера, пінгуючи його з іменем домену та IP-адресою сервера, забезпечуючи анонімність цих елементів для безпеки.
Останній і вирішальний крок включає команду `ypcat` для витягування чутливих даних, зокрема зашифрованих паролів користувачів. Ці хеші, після зламу за допомогою інструментів, таких як **John the Ripper**, відкривають інформацію про доступ до системи та привілеї.
```bash
# 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**, зазначений таким чином:
![](<../images/image (1041).png>)
Ви можете перерахувати користувачів на машині. Щоб дізнатися, як це зробити, прочитайте [1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md).
## Обхід фільтрованого порту portmapper
Під час проведення **nmap сканування** та виявлення відкритих NFS портів з фільтрованим портом 111, безпосередня експлуатація цих портів є неможливою. Однак, **імітувавши сервіс portmapper локально та створивши тунель з вашої машини** до цільової, експлуатація стає можливою за допомогою стандартних інструментів. Ця техніка дозволяє обійти фільтрований стан порту 111, що забезпечує доступ до NFS сервісів. Для детальних вказівок щодо цього методу зверніться до статті за [цим посиланням](https://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bc).
## Shodan
- `Portmap`
## Лабораторії для практики
- Практикуйте ці техніки на [**Irked HTB machine**](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: |
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.wiki/en/network-services-pentesting/pentesting-rpcbind.html
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}
```
{{#include ../banners/hacktricks-training.md}}