hacktricks/network-services-pentesting/27017-27018-mongodb.md

7.4 KiB

27017,27018 - Kupima Usalama wa MongoDB

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Jiunge na HackenProof Discord server ili kuwasiliana na wadukuzi wenye uzoefu na wawindaji wa tuzo za mdudu!

Machapisho ya Kudukua
Shiriki na yaliyomo yanayochimba kina katika msisimko na changamoto za kudukua

Taarifa za Kudukua Halisi
Kaa sawa na ulimwengu wa kudukua wenye kasi kupitia habari za wakati halisi na ufahamu

Matangazo Mapya
Baki mwelekezi na tuzo mpya za mdudu zinazoanzishwa na sasisho muhimu za jukwaa

Jiunge nasi kwenye Discord na anza kushirikiana na wadukuzi bora leo!

Taarifa Msingi

MongoDB ni mfumo wa usimamizi wa open source wa database ambao hutumia mfano wa database uliolenga hati kushughulikia aina mbalimbali za data. Inatoa mabadiliko na uwezo wa kusimamia data isiyopangwa au iliyo na muundo wa nusu-kupangwa katika maombi kama uchambuzi wa data kubwa na usimamizi wa maudhui. Bandari ya chaguo: 27017, 27018

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

Uchambuzi

Kwa Mkono

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

Baadhi ya amri za MongoDB:

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

Kiotomatiki

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

Shodan

  • Zote mongodb: "taarifa za seva ya mongodb"
  • Tafuta seva kamili za mongodb zilizofunguliwa: "taarifa za seva ya mongodb" -"imezimwa sehemu"
  • Chagua sehemu tu ya uthibitishaji: "taarifa za seva ya mongodb" "imezimwa sehemu"

Kuingia

Kwa chaguo-msingi mongo haitaji nenosiri.
Admin ni kawaida katika database ya mongo.

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

Skripti ya nmap: mongodb-brute itaangalia ikiwa anahitajika creds.

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

Kujaribu nguvu

Angalia ndani ya /opt/bitnami/mongodb/mongodb.conf kujua ikiwa sifa zinahitajika:

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

Utabiri wa Mongo Objectid

Mfano kutoka hapa.

Mongo Object IDs ni vitambulisho vya hexadecimal vya byte 12:

http://techidiocy.com/_id-objectid-in-mongodb/

Kwa mfano, hapa ndivyo tunavyoweza kuchambua Object ID halisi iliyotolewa na programu: 5f2459ac9fa6dc2500314019

  1. 5f2459ac: 1596217772 kwa decimal = Ijumaa, 31 Julai 2020 17:49:32
  2. 9fa6dc: Kitambulisho cha Mashine
  3. 2500: Kitambulisho cha Mchakato
  4. 314019: Kinyume cha kawaida

Kati ya vipengele vilivyotajwa, kitambulisho cha mashine kitabaki sawa kwa muda mrefu kama database inaendesha mashine halisi/virtual ile ile. Kitambulisho cha mchakato kitabadilika tu ikiwa mchakato wa MongoDB unazimwa na kuanzishwa upya. Muda utasasishwa kila sekunde. Changamoto pekee katika kudhani Vitambulisho vya Vitu kwa kuzidi tu kwa thamani ya kinyume cha kawaida na muda, ni ukweli kwamba Mongo DB inazalisha Vitambulisho vya Vitu na kuyapanga kwenye kiwango cha mfumo.

Zana https://github.com/andresriancho/mongo-objectid-predict, ikipewa Object ID ya kuanzia (unaweza kuunda akaunti na kupata ID ya kuanzia), inarudisha takriban Vitambulisho vya Vitu 1000 vinavyoweza kuwa vimepewa vitu vifuatavyo, hivyo unahitaji tu kuziweka kwa nguvu.

Chapisha

Ikiwa wewe ni mzizi unaweza kurekebisha faili ya mongodb.conf ili hakuna sifa zinahitajika (noauth = true) na kuingia bila sifa.


Jiunge na HackenProof Discord server ili kuwasiliana na wadukuzi wenye uzoefu na wawindaji wa tuzo za mdudu!

Machapisho ya Udukuzi
Shiriki na maudhui yanayochimba kina katika msisimko na changamoto za udukuzi

Habari za Udukuzi za Wakati Halisi
Kaa up-to-date na ulimwengu wa udukuzi wenye kasi kupitia habari za wakati halisi na ufahamu

Matangazo Mapya Zaidi
Baki mwelewa na tuzo mpya za mdudu zinazoanzishwa na sasisho muhimu za jukwaa

Jiunge nasi kwenye Discord na anza kushirikiana na wadukuzi bora leo!

Jifunze udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks: