mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 20:53:37 +00:00
343 lines
23 KiB
Markdown
343 lines
23 KiB
Markdown
# 22 - Pentesting SSH/SFTP
|
||
|
||
{% 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)
|
||
|
||
<details>
|
||
|
||
<summary>Support HackTricks</summary>
|
||
|
||
* 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.
|
||
|
||
</details>
|
||
{% endhint %}
|
||
|
||
<figure><img src="../.gitbook/assets/i3.png" alt=""><figcaption></figcaption></figure>
|
||
|
||
**Bug bounty tip**: **iscriviti** a **Intigriti**, una premium **bug bounty platform creata da hacker, per hacker**! Unisciti a noi su [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) oggi, e inizia a guadagnare ricompense fino a **$100,000**!
|
||
|
||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||
|
||
## Basic Information
|
||
|
||
**SSH (Secure Shell o Secure Socket Shell)** è un protocollo di rete che consente una connessione sicura a un computer su una rete non sicura. È essenziale per mantenere la riservatezza e l'integrità dei dati quando si accede a sistemi remoti.
|
||
|
||
**Default port:** 22
|
||
```
|
||
22/tcp open ssh syn-ack
|
||
```
|
||
**Server SSH:**
|
||
|
||
* [openSSH](http://www.openssh.org) – OpenBSD SSH, fornito in BSD, distribuzioni Linux e Windows da Windows 10
|
||
* [Dropbear](https://matt.ucc.asn.au/dropbear/dropbear.html) – implementazione SSH per ambienti con risorse di memoria e processore limitate, fornita in OpenWrt
|
||
* [PuTTY](https://www.chiark.greenend.org.uk/\~sgtatham/putty/) – implementazione SSH per Windows, il client è comunemente usato ma l'uso del server è più raro
|
||
* [CopSSH](https://www.itefix.net/copssh) – implementazione di OpenSSH per Windows
|
||
|
||
**Librerie SSH (implementazione lato server):**
|
||
|
||
* [libssh](https://www.libssh.org) – libreria C multipiattaforma che implementa il protocollo SSHv2 con binding in [Python](https://github.com/ParallelSSH/ssh-python), [Perl](https://github.com/garnier-quentin/perl-libssh/) e [R](https://github.com/ropensci/ssh); è utilizzata da KDE per sftp e da GitHub per l'infrastruttura git SSH
|
||
* [wolfSSH](https://www.wolfssl.com/products/wolfssh/) – libreria server SSHv2 scritta in ANSI C e mirata per ambienti embedded, RTOS e con risorse limitate
|
||
* [Apache MINA SSHD](https://mina.apache.org/sshd-project/index.html) – libreria java Apache SSHD basata su Apache MINA
|
||
* [paramiko](https://github.com/paramiko/paramiko) – libreria protocollo SSHv2 in Python
|
||
|
||
## Enumerazione
|
||
|
||
### Acquisizione Banner
|
||
```bash
|
||
nc -vn <IP> 22
|
||
```
|
||
### Automated ssh-audit
|
||
|
||
ssh-audit è uno strumento per l'audit della configurazione del server e del client SSH.
|
||
|
||
[https://github.com/jtesta/ssh-audit](https://github.com/jtesta/ssh-audit) è un fork aggiornato di [https://github.com/arthepsy/ssh-audit/](https://github.com/arthepsy/ssh-audit/)
|
||
|
||
**Caratteristiche:**
|
||
|
||
* Supporto per i protocolli SSH1 e SSH2;
|
||
* analizza la configurazione del client SSH;
|
||
* acquisisce il banner, riconosce il dispositivo o il software e il sistema operativo, rileva la compressione;
|
||
* raccoglie algoritmi di scambio chiavi, chiavi host, crittografia e codici di autenticazione dei messaggi;
|
||
* output delle informazioni sugli algoritmi (disponibile da, rimosso/disabilitato, non sicuro/debole/legacy, ecc);
|
||
* output delle raccomandazioni sugli algoritmi (aggiungi o rimuovi in base alla versione del software riconosciuta);
|
||
* output delle informazioni sulla sicurezza (problemi correlati, elenco CVE assegnati, ecc);
|
||
* analizza la compatibilità delle versioni SSH basata sulle informazioni sugli algoritmi;
|
||
* informazioni storiche da OpenSSH, Dropbear SSH e libssh;
|
||
* funziona su Linux e Windows;
|
||
* nessuna dipendenza
|
||
```bash
|
||
usage: ssh-audit.py [-1246pbcnjvlt] <host>
|
||
|
||
-1, --ssh1 force ssh version 1 only
|
||
-2, --ssh2 force ssh version 2 only
|
||
-4, --ipv4 enable IPv4 (order of precedence)
|
||
-6, --ipv6 enable IPv6 (order of precedence)
|
||
-p, --port=<port> port to connect
|
||
-b, --batch batch output
|
||
-c, --client-audit starts a server on port 2222 to audit client
|
||
software config (use -p to change port;
|
||
use -t to change timeout)
|
||
-n, --no-colors disable colors
|
||
-j, --json JSON output
|
||
-v, --verbose verbose output
|
||
-l, --level=<level> minimum output level (info|warn|fail)
|
||
-t, --timeout=<secs> timeout (in seconds) for connection and reading
|
||
(default: 5)
|
||
$ python3 ssh-audit <IP>
|
||
```
|
||
[Guarda in azione (Asciinema)](https://asciinema.org/a/96ejZKxpbuupTK9j7h8BdClzp)
|
||
|
||
### Chiave SSH pubblica del server
|
||
```bash
|
||
ssh-keyscan -t rsa <IP> -p <PORT>
|
||
```
|
||
### Algoritmi di Cifratura Deboli
|
||
|
||
Questo viene scoperto per impostazione predefinita da **nmap**. Ma puoi anche usare **sslcan** o **sslyze**.
|
||
|
||
### Script Nmap
|
||
```bash
|
||
nmap -p22 <ip> -sC # Send default nmap scripts for SSH
|
||
nmap -p22 <ip> -sV # Retrieve version
|
||
nmap -p22 <ip> --script ssh2-enum-algos # Retrieve supported algorythms
|
||
nmap -p22 <ip> --script ssh-hostkey --script-args ssh_hostkey=full # Retrieve weak keys
|
||
nmap -p22 <ip> --script ssh-auth-methods --script-args="ssh.user=root" # Check authentication methods
|
||
```
|
||
### Shodan
|
||
|
||
* `ssh`
|
||
|
||
## Forza bruta di nomi utente, password e chiavi private
|
||
|
||
### Enumerazione dei nomi utente
|
||
|
||
In alcune versioni di OpenSSH puoi effettuare un attacco temporale per enumerare gli utenti. Puoi utilizzare un modulo di metasploit per sfruttare questo:
|
||
```
|
||
msf> use scanner/ssh/ssh_enumusers
|
||
```
|
||
### [Brute force](../generic-methodologies-and-resources/brute-force.md#ssh)
|
||
|
||
Alcune credenziali ssh comuni [qui](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ssh-betterdefaultpasslist.txt) e [qui](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/top-20-common-SSH-passwords.txt) e di seguito.
|
||
|
||
### Private Key Brute Force
|
||
|
||
Se conosci alcune chiavi private ssh che potrebbero essere utilizzate... proviamole. Puoi usare lo script nmap:
|
||
```
|
||
https://nmap.org/nsedoc/scripts/ssh-publickey-acceptance.html
|
||
```
|
||
O il modulo ausiliario MSF:
|
||
```
|
||
msf> use scanner/ssh/ssh_identify_pubkeys
|
||
```
|
||
Or use `ssh-keybrute.py` (python3 nativo, leggero e con algoritmi legacy abilitati): [snowdroppe/ssh-keybrute](https://github.com/snowdroppe/ssh-keybrute).
|
||
|
||
#### Le badkeys conosciute possono essere trovate qui:
|
||
|
||
{% embed url="https://github.com/rapid7/ssh-badkeys/tree/master/authorized" %}
|
||
|
||
#### Chiavi SSH deboli / PRNG prevedibile di Debian
|
||
|
||
Alcuni sistemi presentano difetti noti nel seme casuale utilizzato per generare materiale crittografico. Questo può comportare una riduzione drammatica dello spazio delle chiavi che può essere bruteforcato. Set di chiavi pre-generate generate su sistemi Debian colpiti da PRNG deboli sono disponibili qui: [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh).
|
||
|
||
Dovresti guardare qui per cercare chiavi valide per la macchina vittima.
|
||
|
||
### Kerberos
|
||
|
||
**crackmapexec** utilizzando il protocollo `ssh` può usare l'opzione `--kerberos` per **autenticarsi tramite kerberos**.\
|
||
Per ulteriori informazioni esegui `crackmapexec ssh --help`.
|
||
|
||
## Credenziali predefinite
|
||
|
||
| **Vendor** | **Usernames** | **Passwords** |
|
||
| ---------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||
| APC | apc, device | apc |
|
||
| Brocade | admin | admin123, password, brocade, fibranne |
|
||
| Cisco | admin, cisco, enable, hsa, pix, pnadmin, ripeop, root, shelladmin | admin, Admin123, default, password, secur4u, cisco, Cisco, \_Cisco, cisco123, C1sco!23, Cisco123, Cisco1234, TANDBERG, change\_it, 12345, ipics, pnadmin, diamond, hsadb, c, cc, attack, blender, changeme |
|
||
| Citrix | root, nsroot, nsmaint, vdiadmin, kvm, cli, admin | C1trix321, nsroot, nsmaint, kaviza, kaviza123, freebsd, public, rootadmin, wanscaler |
|
||
| D-Link | admin, user | private, admin, user |
|
||
| Dell | root, user1, admin, vkernel, cli | calvin, 123456, password, vkernel, Stor@ge!, admin |
|
||
| EMC | admin, root, sysadmin | EMCPMAdm7n, Password#1, Password123#, sysadmin, changeme, emc |
|
||
| HP/3Com | admin, root, vcx, app, spvar, manage, hpsupport, opc\_op | admin, password, hpinvent, iMC123, pvadmin, passw0rd, besgroup, vcx, nice, access, config, 3V@rpar, 3V#rpar, procurve, badg3r5, OpC\_op, !manage, !admin |
|
||
| Huawei | admin, root | 123456, admin, root, Admin123, Admin@storage, Huawei12#$, HwDec@01, hwosta2.0, HuaWei123, fsp200@HW, huawei123 |
|
||
| IBM | USERID, admin, manager, mqm, db2inst1, db2fenc1, dausr1, db2admin, iadmin, system, device, ufmcli, customer | PASSW0RD, passw0rd, admin, password, Passw8rd, iadmin, apc, 123456, cust0mer |
|
||
| Juniper | netscreen | netscreen |
|
||
| NetApp | admin | netapp123 |
|
||
| Oracle | root, oracle, oravis, applvis, ilom-admin, ilom-operator, nm2user | changeme, ilom-admin, ilom-operator, welcome1, oracle |
|
||
| VMware | vi-admin, root, hqadmin, vmware, admin | vmware, vmw@re, hqadmin, default |
|
||
|
||
## SSH-MitM
|
||
|
||
Se sei nella rete locale come la vittima che si connetterà al server SSH utilizzando nome utente e password, potresti provare a **eseguire un attacco MitM per rubare quelle credenziali:**
|
||
|
||
**Percorso dell'attacco:**
|
||
|
||
* **Reindirizzamento del traffico:** L'attaccante **dirotta** il traffico della vittima verso la propria macchina, intercettando effettivamente il tentativo di connessione al server SSH.
|
||
* **Intercettazione e registrazione:** La macchina dell'attaccante funge da **proxy**, **catturando** i dettagli di accesso dell'utente fingendo di essere il legittimo server SSH.
|
||
* **Esecuzione dei comandi e inoltro:** Infine, il server dell'attaccante **registra le credenziali dell'utente**, **inoltra i comandi** al vero server SSH, **li esegue** e **invia i risultati** all'utente, facendo sembrare il processo fluido e legittimo.
|
||
|
||
[**SSH MITM**](https://github.com/jtesta/ssh-mitm) fa esattamente ciò che è descritto sopra.
|
||
|
||
Per catturare e eseguire il vero MitM, potresti utilizzare tecniche come ARP spoofing, DNS spoofing o altre descritte negli [**attacchi di spoofing di rete**](../generic-methodologies-and-resources/pentesting-network/#spoofing).
|
||
|
||
## SSH-Snake
|
||
|
||
Se desideri attraversare una rete utilizzando chiavi private SSH scoperte sui sistemi, utilizzando ogni chiave privata su ciascun sistema per nuovi host, allora [**SSH-Snake**](https://github.com/MegaManSec/SSH-Snake) è ciò di cui hai bisogno.
|
||
|
||
SSH-Snake esegue automaticamente e ricorsivamente le seguenti operazioni:
|
||
|
||
1. Sul sistema attuale, trova eventuali chiavi private SSH,
|
||
2. Sul sistema attuale, trova eventuali host o destinazioni (user@host) che potrebbero accettare le chiavi private,
|
||
3. Tenta di SSH in tutte le destinazioni utilizzando tutte le chiavi private scoperte,
|
||
4. Se una destinazione è connessa con successo, ripete i passaggi #1 - #4 sul sistema connesso.
|
||
|
||
È completamente auto-replicante e auto-propagante -- e completamente senza file.
|
||
|
||
## Configurazioni errate
|
||
|
||
### Accesso root
|
||
|
||
È comune che i server SSH consentano l'accesso dell'utente root per impostazione predefinita, il che rappresenta un rischio significativo per la sicurezza. **Disabilitare l'accesso root** è un passo critico per mettere in sicurezza il server. L'accesso non autorizzato con privilegi amministrativi e gli attacchi di forza bruta possono essere mitigati apportando questa modifica.
|
||
|
||
**Per disabilitare l'accesso root in OpenSSH:**
|
||
|
||
1. **Modifica il file di configurazione SSH** con: `sudoedit /etc/ssh/sshd_config`
|
||
2. **Cambia l'impostazione** da `#PermitRootLogin yes` a **`PermitRootLogin no`**.
|
||
3. **Ricarica la configurazione** utilizzando: `sudo systemctl daemon-reload`
|
||
4. **Riavvia il server SSH** per applicare le modifiche: `sudo systemctl restart sshd`
|
||
|
||
### Forza bruta SFTP
|
||
|
||
* [**Forza bruta SFTP**](../generic-methodologies-and-resources/brute-force.md#sftp)
|
||
|
||
### Esecuzione di comandi SFTP
|
||
|
||
C'è una comune svista che si verifica con le configurazioni SFTP, dove gli amministratori intendono che gli utenti scambino file senza abilitare l'accesso alla shell remota. Nonostante impostino gli utenti con shell non interattive (ad esempio, `/usr/bin/nologin`) e li confinino in una directory specifica, rimane una falla di sicurezza. **Gli utenti possono eludere queste restrizioni** richiedendo l'esecuzione di un comando (come `/bin/bash`) immediatamente dopo il login, prima che la loro shell non interattiva designata prenda il controllo. Questo consente l'esecuzione non autorizzata di comandi, minando le misure di sicurezza previste.
|
||
|
||
[Esempio da qui](https://community.turgensec.com/ssh-hacking-guide/):
|
||
```bash
|
||
ssh -v noraj@192.168.1.94 id
|
||
...
|
||
Password:
|
||
debug1: Authentication succeeded (keyboard-interactive).
|
||
Authenticated to 192.168.1.94 ([192.168.1.94]:22).
|
||
debug1: channel 0: new [client-session]
|
||
debug1: Requesting no-more-sessions@openssh.com
|
||
debug1: Entering interactive session.
|
||
debug1: pledge: network
|
||
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
|
||
debug1: Sending command: id
|
||
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
|
||
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
|
||
uid=1000(noraj) gid=100(users) groups=100(users)
|
||
debug1: channel 0: free: client-session, nchannels 1
|
||
Transferred: sent 2412, received 2480 bytes, in 0.1 seconds
|
||
Bytes per second: sent 43133.4, received 44349.5
|
||
debug1: Exit status 0
|
||
|
||
$ ssh noraj@192.168.1.94 /bin/bash
|
||
```
|
||
Ecco un esempio di configurazione SFTP sicura (`/etc/ssh/sshd_config` – openSSH) per l'utente `noraj`:
|
||
```
|
||
Match User noraj
|
||
ChrootDirectory %h
|
||
ForceCommand internal-sftp
|
||
AllowTcpForwarding no
|
||
PermitTunnel no
|
||
X11Forwarding no
|
||
PermitTTY no
|
||
```
|
||
Questa configurazione consentirà solo SFTP: disabilitando l'accesso alla shell forzando il comando di avvio e disabilitando l'accesso TTY, ma anche disabilitando ogni tipo di port forwarding o tunneling.
|
||
|
||
### SFTP Tunneling
|
||
|
||
Se hai accesso a un server SFTP, puoi anche tunnelare il tuo traffico attraverso questo, ad esempio utilizzando il comune port forwarding:
|
||
```bash
|
||
sudo ssh -L <local_port>:<remote_host>:<remote_port> -N -f <username>@<ip_compromised>
|
||
```
|
||
### SFTP Symlink
|
||
|
||
Il **sftp** ha il comando "**symlink**". Pertanto, se hai **diritti di scrittura** in una cartella, puoi creare **symlink** di **altre cartelle/file**. Poiché sei probabilmente **intrappolato** all'interno di un chroot, questo **non sarà particolarmente utile** per te, ma, se puoi **accedere** al **symlink** creato da un **servizio** **no-chroot** (ad esempio, se puoi accedere al symlink dal web), potresti **aprire i file collegati tramite il web**.
|
||
|
||
Ad esempio, per creare un **symlink** da un nuovo file **"**_**froot**_**" a "**_**/**_**"**:
|
||
```bash
|
||
sftp> symlink / froot
|
||
```
|
||
Se puoi accedere al file "_froot_" tramite web, sarai in grado di elencare la cartella root ("/") del sistema.
|
||
|
||
### Metodi di autenticazione
|
||
|
||
In ambienti ad alta sicurezza è una pratica comune abilitare solo l'autenticazione basata su chiave o l'autenticazione a due fattori piuttosto che la semplice autenticazione basata su password. Ma spesso i metodi di autenticazione più forti sono abilitati senza disabilitare quelli più deboli. Un caso frequente è l'abilitazione di `publickey` nella configurazione di openSSH e la sua impostazione come metodo predefinito, ma senza disabilitare `password`. Quindi, utilizzando la modalità verbosa del client SSH, un attaccante può vedere che un metodo più debole è abilitato:
|
||
```bash
|
||
ssh -v 192.168.1.94
|
||
OpenSSH_8.1p1, OpenSSL 1.1.1d 10 Sep 2019
|
||
...
|
||
debug1: Authentications that can continue: publickey,password,keyboard-interactive
|
||
```
|
||
Ad esempio, se è impostato un limite di errore di autenticazione e non hai mai la possibilità di accedere al metodo della password, puoi utilizzare l'opzione `PreferredAuthentications` per forzare l'uso di questo metodo.
|
||
```bash
|
||
ssh -v 192.168.1.94 -o PreferredAuthentications=password
|
||
...
|
||
debug1: Next authentication method: password
|
||
```
|
||
Esaminare la configurazione del server SSH è necessario per verificare che siano autorizzati solo i metodi previsti. Utilizzare la modalità verbosa sul client può aiutare a vedere l'efficacia della configurazione.
|
||
|
||
### Config files
|
||
```bash
|
||
ssh_config
|
||
sshd_config
|
||
authorized_keys
|
||
ssh_known_hosts
|
||
known_hosts
|
||
id_rsa
|
||
```
|
||
## Fuzzing
|
||
|
||
* [https://packetstormsecurity.com/files/download/71252/sshfuzz.txt](https://packetstormsecurity.com/files/download/71252/sshfuzz.txt)
|
||
* [https://www.rapid7.com/db/modules/auxiliary/fuzzers/ssh/ssh\_version\_2](https://www.rapid7.com/db/modules/auxiliary/fuzzers/ssh/ssh\_version\_2)
|
||
|
||
## Riferimenti
|
||
|
||
* Puoi trovare guide interessanti su come rinforzare SSH in [https://www.ssh-audit.com/hardening\_guides.html](https://www.ssh-audit.com/hardening\_guides.html)
|
||
* [https://community.turgensec.com/ssh-hacking-guide](https://community.turgensec.com/ssh-hacking-guide)
|
||
|
||
<figure><img src="../.gitbook/assets/i3.png" alt=""><figcaption></figcaption></figure>
|
||
|
||
**Suggerimento bug bounty**: **iscriviti** a **Intigriti**, una premium **bug bounty platform creata da hacker, per hacker**! Unisciti a noi su [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) oggi, e inizia a guadagnare bounty fino a **$100,000**!
|
||
|
||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||
|
||
## HackTricks Comandi Automatici
|
||
```
|
||
Protocol_Name: SSH
|
||
Port_Number: 22
|
||
Protocol_Description: Secure Shell Hardening
|
||
|
||
Entry_1:
|
||
Name: Hydra Brute Force
|
||
Description: Need Username
|
||
Command: hydra -v -V -u -l {Username} -P {Big_Passwordlist} -t 1 {IP} ssh
|
||
|
||
Entry_2:
|
||
Name: consolesless mfs enumeration
|
||
Description: SSH enumeration without the need to run msfconsole
|
||
Note: sourced from https://github.com/carlospolop/legion
|
||
Command: msfconsole -q -x 'use auxiliary/scanner/ssh/ssh_version; set RHOSTS {IP}; set RPORT 22; run; exit' && msfconsole -q -x 'use scanner/ssh/ssh_enumusers; set RHOSTS {IP}; set RPORT 22; run; exit' && msfconsole -q -x 'use auxiliary/scanner/ssh/juniper_backdoor; set RHOSTS {IP}; set RPORT 22; run; exit'
|
||
|
||
```
|
||
{% hint style="success" %}
|
||
Impara e pratica il hacking AWS:<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">\
|
||
Impara e pratica il hacking GCP: <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)
|
||
|
||
<details>
|
||
|
||
<summary>Supporta HackTricks</summary>
|
||
|
||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
||
|
||
</details>
|
||
{% endhint %}
|