hacktricks/network-services-pentesting/5671-5672-pentesting-amqp.md

98 lines
7.1 KiB
Markdown
Raw Normal View History

# 5671,5672 - Pentesting AMQP
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
</details>
## Informações Básicas
De [cloudamqp](https://www.cloudamqp.com/blog/2015-05-18-part1-rabbitmq-for-beginners-what-is-rabbitmq.html):
> **RabbitMQ** é um **software de fila de mensagens** também conhecido como um _corretor de mensagens_ ou _gerenciador de filas_. Simplificando; é um software onde filas são definidas, às quais as aplicações se conectam para transferir uma mensagem ou mensagens.\
> Uma **mensagem pode incluir qualquer tipo de informação**. Poderia, por exemplo, ter informações sobre um processo ou tarefa que deve iniciar em outra aplicação (que poderia até estar em outro servidor), ou poderia ser apenas uma mensagem de texto simples. O software do gerenciador de filas armazena as mensagens até que uma aplicação receptora se conecte e retire uma mensagem da fila. A aplicação receptora então processa a mensagem.\
Definição de .
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
**Porta padrão**: 5672,5671
```
PORT STATE SERVICE VERSION
5672/tcp open amqp RabbitMQ 3.1.5 (0-9)
```
## Enumeração
### Manual
```python
import amqp
#By default it uses default credentials "guest":"guest"
conn = amqp.connection.Connection(host="<IP>", port=5672, virtual_host="/")
conn.connect()
for k, v in conn.server_properties.items():
print(k, v)
```
### Automático
```bash
nmap -sV -Pn -n -T4 -p 5672 --script amqp-info <IP>
PORT STATE SERVICE VERSION
5672/tcp open amqp RabbitMQ 3.1.5 (0-9)
| amqp-info:
| capabilities:
| publisher_confirms: YES
| exchange_exchange_bindings: YES
| basic.nack: YES
| consumer_cancel_notify: YES
| copyright: Copyright (C) 2007-2013 GoPivotal, Inc.
| information: Licensed under the MPL. See http://www.rabbitmq.com/
| platform: Erlang/OTP
| product: RabbitMQ
| version: 3.1.5
| mechanisms: PLAIN AMQPLAIN
|_ locales: en_US
```
### Ataque de Força Bruta
* [**Ataque de Força Bruta no Protocolo AMQP**](../generic-methodologies-and-resources/brute-force.md#amqp-activemq-rabbitmq-qpid-joram-and-solace)
* [**Ataque de Força Bruta no Protocolo STOMP**](../generic-methodologies-and-resources/brute-force.md#stomp-activemq-rabbitmq-hornetq-and-openmq)
## Outras portas do RabbitMQ
Em [https://www.rabbitmq.com/networking.html](https://www.rabbitmq.com/networking.html) você pode encontrar que o **rabbitmq usa várias portas**:
* **1883, 8883**: ([clientes MQTT](http://mqtt.org) sem e com TLS, se o [plugin MQTT](https://www.rabbitmq.com/mqtt.html) estiver habilitado. [**Saiba mais sobre como fazer pentest no MQTT aqui**](1883-pentesting-mqtt-mosquitto.md).
* **4369: epmd**, um serviço de descoberta de pares usado por nós RabbitMQ e ferramentas CLI. [**Saiba mais sobre como fazer pentest neste serviço aqui**](4369-pentesting-erlang-port-mapper-daemon-epmd.md).
* **5672, 5671**: usadas por clientes AMQP 0-9-1 e 1.0 sem e com TLS
* **15672**: clientes de [API HTTP](https://www.rabbitmq.com/management.html), [interface de gerenciamento](https://www.rabbitmq.com/management.html) e [rabbitmqadmin](https://www.rabbitmq.com/management-cli.html) (apenas se o [plugin de gerenciamento](https://www.rabbitmq.com/management.html) estiver habilitado). [**Saiba mais sobre como fazer pentest neste serviço aqui**](15672-pentesting-rabbitmq-management.md).
* 15674: clientes STOMP-over-WebSockets (apenas se o [plugin Web STOMP](https://www.rabbitmq.com/web-stomp.html) estiver habilitado)
* 15675: clientes MQTT-over-WebSockets (apenas se o [plugin Web MQTT](https://www.rabbitmq.com/web-mqtt.html) estiver habilitado)
* 15692: métricas do Prometheus (apenas se o [plugin Prometheus](https://www.rabbitmq.com/prometheus.html) estiver habilitado)
* 25672: usado para comunicação entre nós e ferramentas CLI (porta do servidor de distribuição Erlang) e é alocado a partir de uma faixa dinâmica (limitado a uma única porta por padrão, calculado como porta AMQP + 20000). A menos que conexões externas nessas portas sejam realmente necessárias (por exemplo, o cluster usa [federação](https://www.rabbitmq.com/federation.html) ou ferramentas CLI são usadas em máquinas fora da sub-rede), essas portas não devem ser expostas publicamente. Consulte o [guia de rede](https://www.rabbitmq.com/networking.html) para mais detalhes. **Apenas 9 dessas portas estão abertas na internet**.
* 35672-35682: usadas por ferramentas CLI (portas de cliente de distribuição Erlang) para comunicação com nós e são alocadas a partir de uma faixa dinâmica (calculada como porta de distribuição do servidor + 10000 a porta de distribuição do servidor + 10010). Consulte o [guia de rede](https://www.rabbitmq.com/networking.html) para mais detalhes.
* 61613, 61614: [clientes STOMP](https://stomp.github.io/stomp-specification-1.2.html) sem e com TLS (apenas se o [plugin STOMP](https://www.rabbitmq.com/stomp.html) estiver habilitado). Menos de 10 dispositivos com esta porta aberta e principalmente UDP para nós DHT.
## Shodan
2020-10-01 14:38:08 +00:00
* `AMQP`
<details>
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas de apoiar o HackTricks:
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>