Ce sont les protocoles de chat en temps réel ouverts et standardisés, chacun avec plusieurs implémentations serveur indépendantes plutôt qu'un produit d'un seul éditeur. Cette forme oriente l'approche offensive : le protocole est public, donc vous le parlez directement sur une socket, et la valeur réside dans la surface en libre-service (inscription ouverte, énumération de la liste de contacts et de l'annuaire, rétrogradation de mécanisme) ainsi que dans les bogues propres au démon déployé. Les trois protocoles fédèrent ou relient des serveurs, donc un seul nœud compromis atteint souvent un réseau plus large d'utilisateurs et de salons.
Triage#
Un seul balayage vous dit quel protocole, et la bannière ou le handshake de flux vous dit quel démon :
nmap -sV -p6667,6697,5222,5269,8448 <target>
# 6667 IRC plaintext 6697 IRC over TLS
# 5222 XMPP client (STARTTLS) 5223 XMPP legacy TLS 5269 XMPP server-to-server
# 8008 Matrix client-server 8448 Matrix federation 443 Matrix behind a reverse proxy
Identifiez en parlant le protocole :
- IRC répond à un handshake brut
NICK/USERavec des réponses numériques et une réponseVERSIONnommant l'ircd (UnrealIRCd, InspIRCd, Charybdis, ngIRCd). Voir IRC. - XMPP répond à un
<stream:stream>d'ouverture avec un bloc<stream:features>dont lefromet les espaces de noms nomment le serveur (ejabberd, Prosody, Openfire). Voir XMPP. - Matrix répond à
GET /_matrix/client/versionset/_matrix/federation/v1/versionavec du JSON nommant Synapse, Dendrite ou Conduit. Voir Matrix.
Pour chacun, les questions récurrentes sont les mêmes : pouvez-vous énumérer les utilisateurs, les salons et les fonctionnalités du serveur sans identifiants ; pouvez-vous vous auto-provisionner ou vous authentifier en tant que quelqu'un ; et le démon spécifique présente-t-il une faille serveur connue.
Sous-thèmes#
- IRC : protocole texte sur 6667/6697, salons, services NickServ/ChanServ, et opérateurs IRC, avec des versions d'ircd piégées et vulnérables.
- XMPP : flux XML sur 5222/5223/5269, découverte de services, SASL et inscription in-band, et failles serveur dans ejabberd, Prosody et Openfire.
- Matrix : API HTTP/JSON sur 8008/8448/443, inscription ouverte et administration par secret partagé, SSRF de média, et abus de fédération contre Synapse, Dendrite et Conduit.