mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 06:30:37 +00:00
110 lines
8.3 KiB
Markdown
110 lines
8.3 KiB
Markdown
# 5671,5672 - Pentesting AMQP
|
|
|
|
<details>
|
|
|
|
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Ander maniere om HackTricks te ondersteun:
|
|
|
|
* As jy jou **maatskappy geadverteer wil sien in HackTricks** of **HackTricks in PDF wil aflaai**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
|
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling van eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Deel jou hacking-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-repos.
|
|
|
|
</details>
|
|
|
|
## Basiese Inligting
|
|
|
|
Van [cloudamqp](https://www.cloudamqp.com/blog/2015-05-18-part1-rabbitmq-for-beginners-what-is-rabbitmq.html):
|
|
|
|
> **RabbitMQ** is 'n **boodskap-ry-software** wat ook bekend staan as 'n _boodskapmakelaar_ of _rybestuurder_. Eenvoudig gestel; dit is sagteware waar rykies gedefinieer word, waaraan aansoeke koppel om 'n boodskap of boodskappe oor te dra.\
|
|
> 'n **Boodskap kan enige soort inligting insluit**. Dit kan byvoorbeeld inligting hê oor 'n proses of taak wat op 'n ander aansoek moet begin (wat selfs op 'n ander bediener kan wees), of dit kan net 'n eenvoudige teksboodskap wees. Die rybestuurdersagteware stoor die boodskappe totdat 'n ontvangende aansoek koppel en 'n boodskap van die ry afhaal. Die ontvangende aansoek verwerk dan die boodskap.\
|
|
Definisie van .
|
|
|
|
**Verstekpoort**: 5672,5671
|
|
```
|
|
PORT STATE SERVICE VERSION
|
|
5672/tcp open amqp RabbitMQ 3.1.5 (0-9)
|
|
```
|
|
## Opstel
|
|
|
|
### Handleiding
|
|
```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)
|
|
```
|
|
### Outomaties
|
|
|
|
AMQP (Asynchronous Messaging and Queueing Protocol) is 'n protokol wat gebruik word vir die kommunikasie tussen toepassings wat boodskappe uitruil. Dit is 'n protokol wat dikwels gebruik word in stelsels wat boodskappe-gebaseerde kommunikasie benodig, soos boodskap-gebaseerde ry-gebaseerde stelsels.
|
|
|
|
AMQP maak gebruik van 'n klient-bedieningsmodel, waar die klient die boodskap stuur en die bediener die boodskap ontvang en verwerk. Dit maak gebruik van 'n stelsel van uitruilings en ryë om die boodskappe tussen toepassings te roeteer.
|
|
|
|
Tydens 'n pentest kan jy AMQP gebruik om te kyk vir moontlike kwesbaarhede en om toegang tot die stelsel te verkry. Hier is 'n paar tegnieke wat jy kan gebruik:
|
|
|
|
- **Portskandering**: Skandeer die poorte 5671 en 5672 om te kyk of die AMQP-diens beskikbaar is.
|
|
- **Identifiseer die AMQP-bedieners**: Identifiseer die bedieners wat AMQP gebruik deur na spesifieke kenmerke in die antwoord te soek.
|
|
- **Verken die AMQP-stelsel**: Gebruik gereedskap soos RabbitMQ Management UI om die AMQP-stelsel te verken en inligting oor die uitruilings, ryë en boodskappe te verkry.
|
|
- **Aanvalle op die AMQP-stelsel**: Voer aanvalle uit soos die stuur van valse boodskappe, die oorbelasting van die bediener met 'n groot aantal boodskappe, of die manipulasie van die boodskappe om ongewenste aksies te veroorsaak.
|
|
|
|
Dit is belangrik om te onthou dat jy toestemming moet hê om AMQP te pentest en dat jy die nodige etiese hacking-praktyke moet volg.
|
|
```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
|
|
```
|
|
### Brute Force
|
|
|
|
* [**AMQP-protokol Brute-Force**](../generic-methodologies-and-resources/brute-force.md#amqp-activemq-rabbitmq-qpid-joram-and-solace)
|
|
* [**STOMP-protokol Brute-Force**](../generic-methodologies-and-resources/brute-force.md#stomp-activemq-rabbitmq-hornetq-and-openmq)
|
|
|
|
## Ander RabbitMQ-poorte
|
|
|
|
In [https://www.rabbitmq.com/networking.html](https://www.rabbitmq.com/networking.html) kan jy vind dat **rabbitmq verskeie poorte gebruik**:
|
|
|
|
* **1883, 8883**: ([MQTT-kliënte](http://mqtt.org) sonder en met TLS, as die [MQTT-invoegtoepassing](https://www.rabbitmq.com/mqtt.html) geaktiveer is. [**Leer meer oor hoe om MQTT te pentest hier**](1883-pentesting-mqtt-mosquitto.md).
|
|
* **4369: epmd**, 'n peer-ontdekkingsdiens wat deur RabbitMQ-nodes en CLI-hulpmiddels gebruik word. [**Leer meer oor hoe om hierdie diens te pentest hier**](4369-pentesting-erlang-port-mapper-daemon-epmd.md).
|
|
* **5672, 5671**: gebruik deur AMQP 0-9-1 en 1.0-kliënte sonder en met TLS
|
|
* **15672**: [HTTP API](https://www.rabbitmq.com/management.html)-kliënte, [bestuurskoppelvlak](https://www.rabbitmq.com/management.html) en [rabbitmqadmin](https://www.rabbitmq.com/management-cli.html) (slegs as die [bestuursinvoegtoepassing](https://www.rabbitmq.com/management.html) geaktiveer is). [**Leer meer oor hoe om hierdie diens te pentest hier**](15672-pentesting-rabbitmq-management.md).
|
|
* 15674: STOMP-oor-WebSockets-kliënte (slegs as die [Web STOMP-invoegtoepassing](https://www.rabbitmq.com/web-stomp.html) geaktiveer is)
|
|
* 15675: MQTT-oor-WebSockets-kliënte (slegs as die [Web MQTT-invoegtoepassing](https://www.rabbitmq.com/web-mqtt.html) geaktiveer is)
|
|
* 15692: Prometheus-metriek (slegs as die [Prometheus-invoegtoepassing](https://www.rabbitmq.com/prometheus.html) geaktiveer is)
|
|
* 25672: gebruik vir inter-node en CLI-hulpmiddelkommunikasie (Erlang-verspreidingsbedienerpoort) en word toegewys uit 'n dinamiese reeks (beperk tot 'n enkele poort standaard, bereken as AMQP-poort + 20000). Tensy eksterne verbindinge op hierdie poorte werklik nodig is (bv. die groep maak gebruik van [federasie](https://www.rabbitmq.com/federation.html) of CLI-hulpmiddels word op masjiene buite die subnet gebruik), moet hierdie poorte nie openlik blootgestel word nie. Sien [netwerkgids](https://www.rabbitmq.com/networking.html) vir meer besonderhede. **Slegs 9 van hierdie poorte is oop op die internet**.
|
|
* 35672-35682: gebruik deur CLI-hulpmiddels (Erlang-verspreidingskliëntpoorte) vir kommunikasie met nodes en word toegewys uit 'n dinamiese reeks (bereken as bedienerverspreidingspoort + 10000 tot bedienerverspreidingspoort + 10010). Sien [netwerkgids](https://www.rabbitmq.com/networking.html) vir meer besonderhede.
|
|
* 61613, 61614: [STOMP-kliënte](https://stomp.github.io/stomp-specification-1.2.html) sonder en met TLS (slegs as die [STOMP-invoegtoepassing](https://www.rabbitmq.com/stomp.html) geaktiveer is). Minder as 10 toestelle met hierdie poort oop en meestal UDP vir DHT-nodes.
|
|
|
|
## Shodan
|
|
|
|
* `AMQP`
|
|
|
|
<details>
|
|
|
|
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Ander maniere om HackTricks te ondersteun:
|
|
|
|
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
|
* Kry die [**amptelike PEASS & HackTricks-uitrusting**](https://peass.creator-spring.com)
|
|
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
|
|
|
|
</details>
|