AWS - MQ Enum

HackTricks 지원

Amazon MQ

메시지 브로커 소개

메시지 브로커는 서로 다른 소프트웨어 시스템 간의 통신을 중개하여 다양한 플랫폼에서 프로그래밍된 시스템 간의 통신을 용이하게 합니다. Amazon MQ는 AWS에서 메시지 브로커의 배포, 운영 및 유지 관리를 간소화합니다. Apache ActiveMQRabbitMQ에 대한 관리 서비스를 제공하여 신속한 프로비저닝 및 자동 소프트웨어 버전 업데이트를 보장합니다.

AWS - RabbitMQ

RabbitMQ는 메시지 큐 소프트웨어로서, 메시지 브로커 또는 _큐 매니저_로도 알려져 있습니다. 이는 기본적으로 큐가 구성된 시스템입니다. 응용 프로그램은 이러한 큐와 상호 작용하여 메시지를 보내고 받습니다. 이 문맥에서 메시지는 다른 응용 프로그램에서 프로세스를 시작하는 명령부터 간단한 텍스트 메시지까지 다양한 정보를 전달할 수 있습니다. 메시지는 수신 응용 프로그램에 의해 검색되고 처리될 때까지 큐 매니저 소프트웨어에 의해 보유됩니다. AWS는 RabbitMQ 서버를 호스팅하고 관리하기 쉬운 솔루션을 제공합니다.

AWS - ActiveMQ

Apache ActiveMQ®는 다재다능함으로 유명한 주요 오픈 소스, Java 기반 메시지 브로커입니다. 다양한 산업 표준 프로토콜을 지원하여 다양한 언어 및 플랫폼에서 광범위한 클라이언트 호환성을 제공합니다. 사용자는 다음을 수행할 수 있습니다:

  • JavaScript, C, C++, Python, .Net 등으로 작성된 클라이언트와 연결합니다.

  • AMQP 프로토콜을 활용하여 다른 플랫폼의 응용 프로그램을 통합합니다.

  • 웹 응용 프로그램 메시지 교환을 위해 웹소켓을 통한 STOMP 사용합니다.

  • MQTT를 사용하여 IoT 장치를 관리합니다.

  • 기존 JMS 인프라를 유지 관리하고 기능을 확장합니다.

ActiveMQ의 견고성과 유연성은 다양한 메시징 요구 사항에 적합합니다.

열거

# List brokers
aws mq list-brokers

# Get broker info
aws mq describe-broker --broker-id <broker-id>
## Find endpoints in .BrokerInstances
## Find if public accessible in .PubliclyAccessible

# List usernames (only for ActiveMQ)
aws mq list-users --broker-id <broker-id>

# Get user info (PASSWORD NOT INCLUDED)
aws mq describe-user --broker-id <broker-id> --username <username>

# Lits configurations (only for ActiveMQ)
aws mq list-configurations
## Here you can find if simple or LDAP authentication is used

# Creacte Active MQ user
aws mq create-user --broker-id <value> --password <value> --username <value> --console-access

할 일: RabbitMQ 및 ActiveMQ를 내부적으로 열거하고 모든 큐에서 데이터를 수신하는 방법을 나타내고 있습니다. (이를 수행하는 방법을 알고 계시다면 PR을 보내주세요)

권한 상승

AWS - MQ Privesc

인증되지 않은 액세스

AWS - MQ Unauthenticated Enum

지속성

RabbitMQ 웹 콘솔에 액세스할 수 있는 자격 증명을 알고 있다면 관리자 권한을 가진 새 사용자를 생성할 수 있습니다.

참고 자료

HackTricks 지원

Last updated