hacktricks/network-services-pentesting/5671-5672-pentesting-amqp.md
2024-02-11 02:07:06 +00:00

8.3 KiB

5671,5672 - Pentesting AMQP

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Basiese Inligting

Van cloudamqp:

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

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.

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

Ander RabbitMQ-poorte

In https://www.rabbitmq.com/networking.html kan jy vind dat rabbitmq verskeie poorte gebruik:

Shodan

  • AMQP
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: