> For the complete documentation index, see [llms.txt](https://nicollaslopes.gitbook.io/estudos/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nicollaslopes.gitbook.io/estudos/master/hashes-e-senhas-windows/swiss-army-knife.md).

# Swiss Army Knife

Uma ferramenta que é um canivete suíço em pentest em redes windows é o **crackmapexec**.

Se quisermos fazer uma enumeração na rede por hosts que possuem SMB ativo, executamos da seguinte forma.

```
┌──(user㉿kali)-[~/Desktop]
└─$ crackmapexec smb 172.16.1.0/24                                                                                                                                                                                                     130 ⨯
[*] Initializing WINRM protocol database
[*] Initializing LDAP protocol database
[*] Initializing MSSQL protocol database
[*] Copying default configuration file
[*] Generating SSL certificate
SMB         172.16.1.107    445    SMB              [*] Windows 6.1 (name:SMB) (domain:) (signing:False) (SMBv1:True)
SMB         172.16.1.60     445    SRVINT           [*] Windows Server 2008 R2 Enterprise 7600 x64 (name:SRVINT) (domain:gbusiness.rede) (signing:True) (SMBv1:True)
SMB         172.16.1.5      445    SERVER5          [*] Unix (name:SERVER5) (domain:SERVER5) (signing:False) (SMBv1:True)
SMB         172.16.1.4      445    WKS01            [*] Windows 5.1 (name:WKS01) (domain:gbusiness.rede) (signing:False) (SMBv1:True)

```

Podemos ver todos os módulos da ferramenta.

```
crackmapexec smb -L
```

Para utilizar apenas em alguns hosts, podemos colocá-los em um arquivo e informar. Também podemos informar um usuário e senha, assim a ferramenta irá tentar conectar com essas credenciais nesses hosts  e exibindo quando tem privilégios administrativos (irá retorna a mensagem **Pwn3d!** caso tiver).

```
cat hosts
172.16.1.241
172.16.1.243
172.16.1.253

crackmapexec smb <hosts> -d <domínio> -u <usuário> -p <senha>
```

Se quisermos usar um módulo para habilitar o rdp.

```
crackmapexec smb <host> -u <usuário> -p <senha> -M rdp -o ACTION=enable
```

Algumas vezes, pode ter um firewall que bloqueia essa ação, com isso, se temos uma shell no alvo podemos utilizar o comando a seguir na máquina alvo.

```
netsh advfirewall add rule name="rpd" protocol=TCP dir=in localport=3389 action=allow
```
