Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
enum4linux-ng — Uma versão de próxima geração do enum4linux (uma ferramenta de enumeração Windows/Samba) com funcionalidades adicionais como exportação JSON/YAML. Destinada a profissionais de segurança e jogadores de CTF. | Kitploit
Ferramentas/GitHubGitHub/cddmp/enum4linux-ng
ReconhecimentoColeta de InformaçõesSegurança de RedeCTFTestes de Penetração
GitHubcddmp/enum4linux-ng

enum4linux-ng

Uma versão de próxima geração do enum4linux (uma ferramenta de enumeração Windows/Samba) com funcionalidades adicionais como exportação JSON/YAML. Destinada a profissionais de segurança e jogadores de CTF.

Ver Repositório
1.6k15213há 7 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

enum4linux-ng

Uma versão de próxima geração do enum4linux

enum4linux-ng.py é uma reescrita do enum4linux.pl de Mark Lowe (antigo Portcullis Labs, agora Cisco CX Security Labs), uma ferramenta para enumerar informações de sistemas Windows e Samba, destinada a profissionais de segurança e jogadores de CTF. A ferramenta é principalmente um invólucro em torno das ferramentas Samba nmblookup, net, rpcclient e smbclient.

Eu a fiz para fins educacionais para mim mesmo e para superar problemas com enum4linux.pl. Ela tem a mesma funcionalidade da ferramenta original (embora faça algumas coisas de forma diferente). Diferentemente da ferramenta original, ela analisa toda a saída das ferramentas Samba e permite exportar todos os resultados como arquivo YAML ou JSON. A ideia por trás disso é permitir que outras ferramentas importem os resultados e os processem posteriormente. Está planejado adicionar novos recursos no futuro.

Características

  • suporte para exportação YAML e JSON
  • saída colorida no console (pode ser desativada via NO_COLOR)
  • ldapsearch e polenum implementados nativamente
  • suporte para múltiplos métodos de autenticação
  • suporte para conexões legadas SMBv1
  • detecção automática de suporte a assinatura IPC
  • enumeração 'inteligente' desabilita automaticamente testes que falhariam
  • suporte a timeout
  • verificação de dialeto SMB
  • suporte IPv6 (experimental)

Diferenças

Algumas coisas são implementadas de forma diferente em comparação com o enum4linux original. Estas são as diferenças importantes:

  • membros de grupo não são enumerados por padrão, isso pode ser ativado com -Gm
  • ciclo de RID não faz parte da enumeração padrão (-A), mas pode ser ativado com -R
  • o ciclo de RID pode ser feito mais rápido, agrupando várias consultas SID na mesma chamada rpcclient
  • a nomenclatura dos parâmetros é ligeiramente diferente (ex.: -A em vez de -a)

Créditos

Gostaria de agradecer e dar crédito às pessoas do antigo Portcullis Labs (agora Cisco CX Security Labs), nomeadamente:

  • Mark Lowe por criar o 'enum4linux.pl' original (https://github.com/CiscoCXSecurity/enum4linux)
  • Richard 'deanx' Dean por criar o 'polenum' original (https://labs.portcullis.co.uk/tools/polenum/)

Além disso, gostaria de agradecer e dar crédito a:

  • Craig 'Wh1t3Fox' West por seu fork do 'polenum' (https://github.com/Wh1t3Fox/polenum)

Foi muito divertido ler o seu código! :)

Por último, mas não menos importante, gostaria de agradecer às várias pessoas que contribuíram com código, relataram problemas e forneceram sugestões úteis sobre como melhorar a ferramenta.

Nota legal

Se você usar a ferramenta: Não a use para fins ilegais.

Execução

Um exemplo de execução poderia ser assim:

root@kitploit:~
enum4linux-ng.py -As <target> -oY out

Demonstração

Windows Server 2012 R2

Isso demonstra uma execução contra uma instalação padrão do Windows Server 2012 R2. O seguinte comando está sendo usado:

root@kitploit:~
enum4linux-ng.py 192.168.125.131 -u Tester -p 'Start123!' -oY out

Um usuário 'Tester' com senha 'Start123!' foi criado. O acesso ao firewall foi permitido. Quando a enumeração termina, eu rolo para cima para que os resultados fiquem mais claros. Como nenhuma outra opção de enumeração é especificada, a ferramenta assumirá -A que se comporta de forma semelhante à opção -a do enum4linux. O usuário e a senha são passados. A opção -oY exportará todos os dados enumerados como arquivo YAML para processamento posterior em out.yaml. A ferramenta detecta automaticamente no início que o LDAP não está em execução no host remoto. Portanto, ignorará quaisquer verificações LDAP adicionais que normalmente fariam parte da enumeração padrão.

Demonstração

Metasploitable 2

A segunda demonstração mostra uma execução contra o Metasploitable 2. O seguinte comando está sendo usado:

root@kitploit:~
enum4linux-ng.py 192.168.125.145 -A -C

Desta vez, as opções -A e -C são usadas. Enquanto a primeira se comporta de forma semelhante à opção -a do enum4linux, a segunda ativará a enumeração de serviços. Desta vez, nenhuma credencial foi fornecida. A ferramenta detecta automaticamente que precisa usar SMBv1. Nenhum arquivo YAML ou JSON está sendo escrito. Novamente, eu rolo para cima para que os resultados fiquem mais claros.

Demonstração

Uso

root@kitploit:~
usage: enum4linux-ng.py [-h] [-A] [-As] [-U] [-G] [-Gm] [-S] [-C] [-P] [-O] [-L] [-I] [-R [BULK_SIZE]] [-N] [-w DOMAIN] [-u USER]
                        [-p PW | -K TICKET_FILE | -H NTHASH] [--local-auth] [-d] [-k USERS] [-r RANGES] [-s SHARES_FILE] [-t TIMEOUT] [-v] [--keep]
                        [-oJ OUT_JSON_FILE | -oY OUT_YAML_FILE | -oA OUT_FILE]
                        host

This tool is a rewrite of Mark Lowe's enum4linux.pl, a tool for enumerating information from Windows and Samba systems. It is mainly a wrapper around the Samba
tools nmblookup, net, rpcclient and smbclient. Other than the original tool it allows to export enumeration results as YAML or JSON file, so that it can be
further processed with other tools. The tool tries to do a 'smart' enumeration. It first checks whether SMB or LDAP is accessible on the target. Depending on the
result of this check, it will dynamically skip checks (e.g. LDAP checks if LDAP is not running). If SMB is accessible, it will always check whether a session can
be set up or not. If no session can be set up, the tool will stop enumeration. The enumeration process can be interupted with CTRL+C. If the options -oJ or -oY
are provided, the tool will write out the current enumeration state to the JSON or YAML file, once it receives SIGINT triggered by CTRL+C. The tool was made for
security professionals and CTF players. Illegal use is prohibited.

positional arguments:
  host

options:
  -h, --help         show this help message and exit
  -A                 Do all simple enumeration including nmblookup (-U -G -S -P -O -N -I -L). This option is enabled if you don't provide any other option.
  -As                Do all simple short enumeration without NetBIOS names lookup (-U -G -S -P -O -I -L)
  -U                 Get users via RPC
  -G                 Get groups via RPC
  -Gm                Get groups with group members via RPC
  -S                 Get shares via RPC
  -C                 Get services via RPC
  -P                 Get password policy information via RPC
  -O                 Get OS information via RPC
  -I                 Get printer information via RPC
  -R [BULK_SIZE]     Enumerate users via RID cycling. Optionally, specifies lookup request size.
  -N                 Do an NetBIOS names lookup (similar to nbtstat) and try to retrieve workgroup from output
  -w DOMAIN          Specify workgroup/domain manually (usually found automatically)
  -u USER            Specify username to use (default "")
  -p PW              Specify password to use (default "")
  -K TICKET_FILE     Try to authenticate with Kerberos, only useful in Active Directory environment (Note: DNS must be setup correctly for this option to work)
  -H NTHASH          Try to authenticate with hash
  --local-auth       Authenticate locally to target
  -d                 Get detailed information for users and groups, applies to -U, -G and -R
  -k USERS           User(s) that exists on remote system (default: administrator,guest,krbtgt,domain admins,root,bin,none). Used to get sid with "lookupsids"
  -r RANGES          RID ranges to enumerate (default: 500-550,1000-1050)
  -s SHARES_FILE     Brute force guessing for shares
  -t TIMEOUT         Sets connection timeout in seconds (default: 10s)
  -v                 Verbose, show full samba tools commands being run (net, rpcclient, etc.)
  --keep             Don't delete the Samba configuration file created during tool run after enumeration (useful with -v)
  -oJ OUT_JSON_FILE  Writes output to JSON file (extension is added automatically)
  -oY OUT_YAML_FILE  Writes output to YAML file (extension is added automatically)
  -oA OUT_FILE       Writes output to YAML and JSON file (extensions are added automatically)

Instalação

Existem várias maneiras de instalar a ferramenta. Ou a ferramenta vem como um pacote com sua distribuição Linux ou você precisa fazer uma instalação manual.

Kali Linux

root@kitploit:~
apt install enum4linux-ng 

Archstrike

root@kitploit:~
pacman -S enum4linux-ng

NixOS

(testado no NixOS 20.9)

root@kitploit:~
nix-env -iA nixos.enum4linux-ng

Instalação Manual

Se sua distribuição Linux não oferece um pacote, os seguintes métodos de instalação manual podem ser usados.

Dependências

A ferramenta usa as ferramentas cliente samba, nomeadamente:

  • nmblookup
  • net
  • rpcclient
  • smbclient

Elas devem estar disponíveis para todas as distribuições Linux. O pacote é tipicamente chamado de smbclient, samba-client ou algo semelhante.

Além disso, você precisará dos seguintes pacotes Python:

  • ldap3
  • PyYaml
  • impacket

Para um processamento mais rápido de YAML (opcional!) instale também (deve vir como dependência do PyYaml para a maioria das distribuições Linux):

  • LibYAML

Alguns exemplos para instalações específicas de distribuições Linux estão listados abaixo. Alternativamente, formas independentes de distribuição (python pip, ambiente virtual python e Docker) são possíveis.

Específico de distribuição Linux

Para todos os exemplos de distribuição abaixo, o LibYAML já é uma dependência do pacote PyYaml correspondente e, portanto, será instalado automaticamente.

ArchLinux

root@kitploit:~
pacman -S smbclient python-ldap3 python-yaml impacket

Fedora/CentOS/RHEL

(testado no Fedora Workstation 31)

root@kitploit:~
dnf install samba-common-tools samba-client python3-ldap3 python3-pyyaml python3-impacket

Debian/Ubuntu/Linux Mint

(Para Ubuntu 18.04 ou inferior, use a variante Docker ou ambiente virtual Python)

root@kitploit:~
apt install smbclient python3-ldap3 python3-yaml python3-impacket

Independente de distribuição Linux

Python pip

Dependendo da distribuição Linux, é necessário pip3 ou pip:

root@kitploit:~
pip install pyyaml ldap3 impacket

Alternativa:

root@kitploit:~
pip install -r requirements.txt

Lembre-se de que você ainda precisa instalar as ferramentas samba conforme mencionado acima.

Ambiente virtual Python

root@kitploit:~
git clone https://github.com/cddmp/enum4linux-ng
cd enum4linux-ng
python3 -m venv venv
source venv/bin/activate
pip install wheel
pip install -r requirements.txt

Depois execute via:

root@kitploit:~
python3 enum4linux-ng.py -As <target>

Lembre-se de que você ainda precisa instalar as ferramentas samba conforme mencionado acima. Além disso, certifique-se de executar source venv/bin/activate toda vez que abrir um novo shell. Caso contrário, o interpretador Python errado com as bibliotecas erradas será usado (o do sistema em vez do do ambiente virtual).

Docker

root@kitploit:~
git clone https://github.com/cddmp/enum4linux-ng
cd enum4linux-ng
docker build . --tag enum4linux-ng

Uma vez concluído, um exemplo de execução poderia ser assim:

root@kitploit:~
docker run -t enum4linux-ng -As <target>

Contribuição e Suporte

Ocasionalmente, a ferramenta exibirá mensagens de erro como esta:

Could not <some text here>, please open a GitHub issue

Nesse caso, execute novamente a ferramenta com a opção -v e --keep. Isso permitirá que você veja o comando exato que causou a mensagem de erro. Copie esse comando, execute-o no seu terminal e redirecione a saída para um arquivo. Em seguida, abra um problema no GitHub, colando o comando e anexando o arquivo de saída do erro. Isso ajuda a depurar o problema. Claro, você pode depurar por conta própria e fazer um pull request.

Se a ferramenta for útil para você, fico feliz se você deixar uma estrela!

Baixar ferramenta