AWS - MQ Enum

Support HackTricks

Amazon MQ

Introduction to Message Brokers

메시지 브로커는 서로 다른 소프트웨어 시스템 간의 통신을 촉진하는 중개자 역할을 합니다. 이러한 시스템은 다양한 플랫폼에서 구축되고 서로 다른 언어로 프로그래밍될 수 있습니다. 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의 강력함과 유연성은 다양한 메시징 요구 사항에 적합하게 만듭니다.

Enumeration

# 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

TODO: RabbitMQ와 ActiveMQ를 내부적으로 열거하는 방법과 모든 큐에서 수신하고 데이터를 전송하는 방법을 표시하십시오 (방법을 아는 경우 PR을 보내십시오)

Privesc

AWS - MQ Privesc

인증되지 않은 접근

AWS - MQ Unauthenticated Enum

지속성

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

참고자료

HackTricks 지원하기

Last updated