27017,27018 - Pentesting MongoDB

Support HackTricks

Sluit aan by HackenProof Discord bediener om met ervare hackers en bug bounty jagters te kommunikeer!

Hacking Inligting Betrek jouself met inhoud wat die opwinding en uitdagings van hacking ondersoek

Regstyds Hack Nuus Bly op hoogte van die vinnig bewegende hacking wêreld deur regstydse nuus en insigte

Laaste Aankondigings Bly ingelig oor die nuutste bug bounties wat bekendgestel word en belangrike platform opdaterings

Sluit by ons aan op Discord en begin vandag saamwerk met top hackers!

Basiese Inligting

MongoDB is 'n oopbron databasisbestuurstelsel wat 'n dokument-georiënteerde databasismodel gebruik om verskillende vorme van data te hanteer. Dit bied buigsaamheid en skaalbaarheid vir die bestuur van ongestructureerde of semi-gestructureerde data in toepassings soos groot data analise en inhoudsbestuur. Standaard poort: 27017, 27018

PORT      STATE SERVICE VERSION
27017/tcp open  mongodb MongoDB 2.6.9 2.6.9

Opname

Handmatig

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:

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

nmap -sV --script "mongo* and default" -p 27017 <IP> #By default all the nmap mongo enumerate scripts are used

Shodan

  • Alle mongodb: "mongodb server information"

  • Soek na volle oop mongodb bedieners: "mongodb server information" -"partially enabled"

  • Slegs gedeeltelik geaktiveerde outentisering: "mongodb server information" "partially enabled"

Login

Standaard vereis mongo nie 'n wagwoord nie. Admin is 'n algemene mongo databasis.

mongo <HOST>
mongo <HOST>:<PORT>
mongo <HOST>:<PORT>/<DB>
mongo <database> -u <username> -p '<password>'

Die nmap-skrip: mongodb-brute sal nagaan of kredensiale benodig word.

nmap -n -sV --script mongodb-brute -p 27017 <ip>

Kyk binne /opt/bitnami/mongodb/mongodb.conf om te weet of geloofsbriewe benodig word:

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 hier vandaan.

Mongo Object ID's is 12-byte hexadesimale strings:

Byvoorbeeld, hier is hoe ons 'n werklike Object ID kan ontleed wat deur 'n toepassing teruggestuur is: 5f2459ac9fa6dc2500314019

  1. 5f2459ac: 1596217772 in desimale = Vrydag, 31 Julie 2020 17:49:32

  2. 9fa6dc: Masjien Identifiseerder

  3. 2500: Proses ID

  4. 314019: 'n Inkrementele teenaar

Van die bogenoemde elemente sal die masjien identifiseerder dieselfde bly solank die databasis op dieselfde fisiese/virtuele masjien draai. Proses ID sal slegs verander as die MongoDB-proses herbegin word. Tydstempel sal elke sekonde opgedateer word. Die enigste uitdaging om Object ID's te raai deur eenvoudig die teenaar en tydstempel waardes te inkrementeer, is die feit dat Mongo DB Object ID's genereer en aan Object ID's op 'n stelselniveau toewys.

Die hulpmiddel https://github.com/andresriancho/mongo-objectid-predict, gegewe 'n begin Object ID (jy kan 'n rekening skep en 'n begin ID kry), stuur ongeveer 1000 waarskynlike Object ID's terug wat moontlik aan die volgende objekte toegeken kon gewees het, so jy moet net hulle bruteforce.

Post

As jy root is, kan jy die mongodb.conf lêer wysig sodat geen akrediteerbare inligting benodig word (noauth = true) en aanmeld sonder akrediteerbare inligting.


Sluit aan by HackenProof Discord bediener om met ervare hackers en bug bounty jagters te kommunikeer!

Hacking Inligting Betrek jouself met inhoud wat die opwinding en uitdagings van hacking ondersoek

Regte Tyd Hack Nuus Bly op hoogte van die vinnig bewegende hacking wêreld deur middel van regte tyd nuus en insigte

Laaste Aankondigings Bly ingelig oor die nuutste bug bounties wat bekendgestel word en belangrike platform opdaterings

Sluit by ons aan op Discord en begin vandag saamwerk met top hackers!

Ondersteun HackTricks

Last updated