> For the complete documentation index, see [llms.txt](https://docs.pabloarrabal.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pabloarrabal.com/reconocimiento/protocolos-servicios/22-ssh.md).

# 22 - SSH

{% hint style="info" %}

## Conexión

### Credenciales

```
ssh usuario@ip_host
```

### Clave id\_rsa

```
ssh -i /ruta/id_rsa usuario@ip_host
```

En el caso de que nos aparezca una advertencia como esta:

<img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2F4xXf7ZuSljiTw1DQp78F%2Fimage.png?alt=media&amp;token=9f06dc55-ca0e-45a2-8344-a9ff9091d723" alt="" data-size="original">

Deberemos de modificar los permisos:

* El directorio /home/xxx/.ssh permisos (700) -> `sudo chmod 700 ~/.ssh`&#x20;
* Las Keys permisos (600) -> `sudo chmod 600 ~/.shh/`&#x20;
* La lista de host conocidos permisos (644) -> `sudo chmod 644 ~/.shh/known_hosts`<br>
  {% endhint %}

{% hint style="success" %}

## Transferencias de archivos entre hosts por SSH con scp

### De host a victima

```perl
spc /ruta/archivo/local usuariovictima@ipvictima:/ruta/maquina/victima
```

### De victima a host

```perl
spc usuariovictima@ipvictima:/ruta/archivo/victima /ruta/maquina/host
```

{% endhint %}

## Enumeración del servicio

### Nmap

Podemos enumerar los detalles del servicio con nmap. El servicio SSH (Secure Shell), se encuentra en el puerto 22

```
nmap -sCV -p22 127.0.0.1
```

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2F2Zz6CmCGwcFs1dpkPzz8%2Fimage.png?alt=media&amp;token=82317ee9-ec8c-41b8-ae25-ffa38e73f0b5" alt=""><figcaption><p>Captura de pantalla de Nmap</p></figcaption></figure>

### NetCat

Podemos usar netcat para identificar la versión del servicio. Pâra ello ejecutaremos el siguiente comando:

```bash
nc 192.168.1.1
```

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2Feavgi4LNkrIWrzAjZRnF%2Fimage.png?alt=media&amp;token=00fa5bfa-1634-4044-8116-bea196792e51" alt=""><figcaption></figcaption></figure>

## Enumeración de los metodos de autenticación

### Nmap

Mediante el siguiente comando, podemos enumerar los métodos existentes para que un usuario concreto se autentifique:

```bash
nmap -p 22 --script ssh-auth-methods --script-args="ssh.user=usuario-ejemplo" 192.168.1.1
```

<figure><img src="https://271831323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbbtAYwqVMCAFE0gptbZ0%2Fuploads%2F7H44LdEUs1UtUXi1SaYK%2Fimage.png?alt=media&amp;token=dd938ce7-13d6-46e0-95c3-cc95c46c5acd" alt=""><figcaption></figcaption></figure>
