Servidores EPMD Accesibles (Accessible Erlang Port Mapper Daemon Report)

Introducción

Este informe identifica servidores Erlang Port Mapper Daemon (EPMD) accesibles en el puerto 4369/tcp. Este demonio actúa como un servidor de nombres para los hosts involucrados en los  cálculos distribuidos de Erlang. Está incluido en Erlang/OTP. Como lo describe Erlang:

Erlang es un lenguaje de programación que se utiliza para construir sistemas de software en tiempo real masivamente escalables con requisitos de alta disponibilidad. Algunos de sus usos son en telecomunicaciones, banca, comercio electrónico, telefonía informática y mensajería instantánea. El sistema de tiempo de ejecución de Erlang tiene soporte incorporado para concurrencia, distribución y tolerancia a fallas.

OTP es un conjunto de bibliotecas de Erlang y principios de diseño que proporcionan middleware para desarrollar estos sistemas.

EPMD en el puerto 4369/tcp se usa de forma predeterminada en las instalaciones de RabbitMQ y Apache CouchDB.

Proceso de escaneo:

Se escanea enviando una solicitud » \x00\x01\x6e » para recuperar una lista de nodos con sus respectivos puertos al puerto EPMD predeterminado (4369/tcp) y recopilar la respuesta.

Puede replicar el escaneo ejecutando nmap -sV -Pn -n -T4 -p 4369 –script epmd-info < IP >

No se realizan comprobaciones intrusivas en un servicio descubierto.

Mitigación

Es poco probable que necesite tener un servidor EPMD que permita conexiones externas desde Internet (y, por lo tanto, una posible superficie de ataque externa). Si recibe este informe de nuestra parte para su red o circunscripción, asegúrese de bloquear el tráfico a este servicio.

En algunos casos, el acceso puede ser explotable. Un ejemplo reciente es una vulnerabilidad de ejecución remota de código CVSS 9.8 en Apache CouchDB ( CVE-2022-24706 ).

Para obtener más información sobre los esfuerzos de escaneo, consulte la página de resumen de escaneo de Internet.

Nombre de archivo: scan_epmd

CAMPOS

timestampHora en que se sondeó la IP en UTC+0
ipLa dirección IP del dispositivo en cuestión.
protocolProtocolo en el que se produjo la respuesta (siempre TCP)
portPuerto que se está consultando (puerto 4369)
hostnameNombre DNS inverso del dispositivo en cuestión
tagEtiqueta establecida en «epmd»
asnASN de donde reside el dispositivo en cuestión
geoPaís donde reside el dispositivo en cuestión
regionEstado/Provincia/Región administrativa donde reside el dispositivo en cuestión
cityCiudad en la que reside el dispositivo en cuestión
naicsCódigo del sistema de clasificación de la industria de América del Norte
sicCódigo del sistema de clasificación industrial estándar
sectorSector al que pertenece el dispositivo identificado
nodesLista de nodos de Erlang descubiertos, con números de puerto

EJEMLO

"timestamp","ip","protocol","port","hostname","tag","asn","geo","region","city","naics","sic","sector","nodes"
"2010-02-10 00:00:00",192.168.0.1,tcp,4369,node01.example.com,epmd,64512,ZZ,Region,City,0,0,,"ns_1,21100"
"2010-02-10 00:00:01",192.168.0.2,tcp,4369,node02.example.com,epmd,64512,ZZ,Region,City,0,0,"Retail Trade","rabbit,25672"
"2010-02-10 00:00:02",192.168.0.3,tcp,4369,node03.example.com,epmd,64512,ZZ,Region,City,0,0,"Communications, Service Provider, and Hosting Service","vpnu-radius,36657"

Fuente: https://www.shadowserver.org/what-we-do/network-reporting/accessible-erlang-port-mapper-report-daemon/