mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-23 05:03:35 +00:00
129 lines
5.9 KiB
Markdown
129 lines
5.9 KiB
Markdown
# 27017,27018 - Pentesting MongoDB
|
|
|
|
<details>
|
|
|
|
<summary><strong>Leer AWS hak vanaf 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 [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
|
|
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|
* Ontdek [**Die PEASS Familie**](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>
|
|
|
|
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Sluit aan by [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) bediener om te kommunikeer met ervare hackers en foutbeloningsjagters!
|
|
|
|
**Hakinsigte**\
|
|
Tree in kontak met inhoud wat die opwinding en uitdagings van hak bevat
|
|
|
|
**Haknuus in Werklikheid**\
|
|
Bly op hoogte van die snelveranderende hakwêreld deur werklikheidsnuus en insigte
|
|
|
|
**Nuutste Aankondigings**\
|
|
Bly ingelig met die nuutste foutbelonings wat bekendgestel word en noodsaaklike platformopdaterings
|
|
|
|
**Sluit by ons aan op** [**Discord**](https://discord.com/invite/N3FrSbmwdy) en begin vandag saamwerk met top hackers!
|
|
```
|
|
PORT STATE SERVICE VERSION
|
|
27017/tcp open mongodb MongoDB 2.6.9 2.6.9
|
|
```
|
|
## Opsomming
|
|
|
|
### Handleiding
|
|
```python
|
|
from pymongo import MongoClient
|
|
client = MongoClient(host, port, username=username, password=password)
|
|
client.server_info() #Basic info
|
|
#If you have admin access you can obtain more info
|
|
admin = client.admin
|
|
admin_info = admin.command("serverStatus")
|
|
cursor = client.list_databases()
|
|
for db in cursor:
|
|
print(db)
|
|
print(client[db["name"]].list_collection_names())
|
|
#If admin access, you could dump the database also
|
|
```
|
|
**Sommige MongoDB-opdragte:**
|
|
```bash
|
|
show dbs
|
|
use <db>
|
|
show collections
|
|
db.<collection>.find() #Dump the collection
|
|
db.<collection>.count() #Number of records of the collection
|
|
db.current.find({"username":"admin"}) #Find in current db the username admin
|
|
```
|
|
### Outomaties
|
|
```bash
|
|
nmap -sV --script "mongo* and default" -p 27017 <IP> #By default all the nmap mongo enumerate scripts are used
|
|
```
|
|
### Shodan
|
|
|
|
* Alle mongodb: `"mongodb bediener inligting"`
|
|
* Soek na volledig oop mongodb bedieners: `"mongodb bediener inligting" -"gedeeltelik geaktiveer"`
|
|
* Slegs gedeeltelik geaktiveerde outentifikasie: `"mongodb bediener inligting" "gedeeltelik geaktiveer"`
|
|
|
|
## Aanteken
|
|
|
|
Standaard vereis mongo nie 'n wagwoord nie.\
|
|
**Admin** is 'n algemene mongo databasis.
|
|
```bash
|
|
mongo <HOST>
|
|
mongo <HOST>:<PORT>
|
|
mongo <HOST>:<PORT>/<DB>
|
|
mongo <database> -u <username> -p '<password>'
|
|
```
|
|
Die nmap-skrip: _**mongodb-brute**_ sal nagaan of geloofsbriewe benodig word.
|
|
```bash
|
|
nmap -n -sV --script mongodb-brute -p 27017 <ip>
|
|
```
|
|
### [**Brute force**](../generic-methodologies-and-resources/brute-force.md#mongo)
|
|
|
|
Kyk binne in _/opt/bitnami/mongodb/mongodb.conf_ om te weet of geloofsbriewe benodig word:
|
|
```bash
|
|
grep "noauth.*true" /opt/bitnami/mongodb/mongodb.conf | grep -v "^#" #Not needed
|
|
grep "auth.*true" /opt/bitnami/mongodb/mongodb.conf | grep -v "^#\|noauth" #Not needed
|
|
```
|
|
## Mongo Objectid Voorspel
|
|
|
|
Voorbeeld [van hier](https://techkranti.com/idor-through-mongodb-object-ids-prediction/).
|
|
|
|
Mongo Object IDs is **12-byte heksadesimale** strings:
|
|
|
|
![http://techidiocy.com/\_id-objectid-in-mongodb/](../.gitbook/assets/id-and-ObjectIds-in-MongoDB.png)
|
|
|
|
Byvoorbeeld, hier is hoe ons 'n werklike Object ID wat deur 'n aansoek teruggegee is, kan ontled: 5f2459ac9fa6dc2500314019
|
|
|
|
1. 5f2459ac: 1596217772 in desimaal = Vrydag, 31 Julie 2020 17:49:32
|
|
2. 9fa6dc: Masjien Identifiseerder
|
|
3. 2500: Proses ID
|
|
4. 314019: 'n inkrementele teller
|
|
|
|
Van die bogenoemde elemente, sal die masjien identifiseerder dieselfde bly solank die databasis op dieselfde fisiese/virtuele masjien loop. Proses ID sal net verander as die MongoDB proses herlaai word. Tydstempel sal elke sekonde opgedateer word. Die enigste uitdaging in die raai van Object IDs deur eenvoudig die teller en tydstempel waardes te inkrementeer, is die feit dat Mongo DB Object IDs genereer en Object IDs op 'n stelselvlak toeken.
|
|
|
|
Die gereedskap [https://github.com/andresriancho/mongo-objectid-predict](https://github.com/andresriancho/mongo-objectid-predict), gegewe 'n begin Object ID (jy kan 'n rekening skep en 'n begin ID kry), stuur terug omtrent 1000 waarskynlike Object IDs wat moontlik aan die volgende voorwerpe toegewys kon gewees het, sodat jy hulle net hoef te bruteforce.
|
|
|
|
## Plaas
|
|
|
|
As jy root is kan jy die **mongodb.conf** lêer **verander** sodat geen geloofsbriewe benodig word (_noauth = true_) en **aanmeld sonder geloofsbriewe**.
|
|
|
|
***
|
|
|
|
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Sluit aan by [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) bediener om met ervare hackers en foutbeloningsjagters te kommunikeer!
|
|
|
|
**Hacken Insigte**\
|
|
Gaan in gesprek met inhoud wat in die opwinding en uitdagings van hacken duik
|
|
|
|
**Reële Tyd Hack Nuus**\
|
|
Bly op hoogte van die snelbewegende hackwêreld deur middel van nuus en insigte in reële tyd
|
|
|
|
**Nuutste Aankondigings**\
|
|
Bly ingelig met die nuutste foutbelonings wat bekendgestel word en noodsaaklike platformopdaterings
|
|
|
|
**Sluit by ons aan op** [**Discord**](https://discord.com/invite/N3FrSbmwdy) en begin vandag saamwerk met top hackers!
|